Socket
Socket
Sign inDemoInstall

@notenoughupdates/discord-akairo

Package Overview
Dependencies
4
Maintainers
1
Versions
140
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 9.0.0 to 9.0.1

tsconfig-eslint.json

12

dist/package.json
{
"name": "@notenoughupdates/discord-akairo",
"version": "9.0.0",
"version": "9.0.1",
"description": "A highly customizable bot framework for Discord.js.",

@@ -52,6 +52,8 @@ "main": "./dist/src/index.js",

"scripts": {
"test": "yarn run lint",
"test": "yarn lint",
"lint": "yarn eslint ./src",
"format": "yarn prettier --write .",
"build": "yarn rimraf node_modules\\discord-akairo-message-util && yarn rimraf dist && yarn tsc && shx cp src/index.mjs dist/src/index.mjs"
"format": "yarn prettier . --write",
"build": "yarn rimraf node_modules/discord-akairo-message-util && yarn rimraf dist && yarn tsc && shx cp src/index.mjs dist/src/index.mjs",
"prepare": "yarn build",
"prepublishOnly": "yarn test"
},

@@ -92,3 +94,3 @@ "repository": {

"sourceType": "module",
"project": "./tsconfig.json",
"project": "./tsconfig-eslint.json",
"extraFileExtensions": [

@@ -95,0 +97,0 @@ ".mjs"

@@ -24,3 +24,3 @@ "use strict";

super(id, { category: options?.category });
const { onlyNsfw = false, aliases = [], args = this._args || this.args || [], quoted = true, separator, channel = null, ownerOnly = false, superUserOnly = false, editable = true, typing = false, cooldown = null, ratelimit = 1, argumentDefaults = {}, description = "", prefix = this.prefix, clientPermissions = this.clientPermissions, userPermissions = this.userPermissions, regex = this.regex, condition = this.condition || (() => false), before = this.before || (() => undefined), lock, ignoreCooldown, ignorePermissions, flags = [], optionFlags = [], slash = false, slashOptions, slashEphemeral = false, slashGuilds = [] } = options ?? {};
const { onlyNsfw = false, aliases = [], args = this._args || this.args || [], quoted = true, separator, channel = null, ownerOnly = false, superUserOnly = false, editable = true, typing = false, cooldown = null, ratelimit = 1, argumentDefaults = {}, description = "", prefix = this.prefix, clientPermissions = this.clientPermissions, userPermissions = this.userPermissions, regex = this.regex, condition = this.condition || (() => false), before = this.before || (() => undefined), lock, ignoreCooldown, ignorePermissions, flags = [], optionFlags = [], slash = false, slashOptions, slashEphemeral = false, slashGuilds = [], slashOnly = false } = options ?? {};
this.aliases = aliases ?? [];

@@ -72,2 +72,3 @@ const { flagWords, optionFlagWords } = Array.isArray(args)

this.slashGuilds = slashGuilds;
this.slashOnly = slashOnly;
}

@@ -182,2 +183,14 @@ /**

argumentRunner;
/**
* Only allows this command to be executed as a slash command.
*/
slashOnly;
/**
* Generator for arguments.
* When yielding argument options, that argument is ran and the result of the processing is given.
* The last value when the generator is done is the resulting `args` for the command's `exec`.
* @param message - Message that triggered the command.
* @param parsed - Parsed content.
* @param state - Argument processing state.
*/
*args(message, parsed, state) { }

@@ -236,2 +249,2 @@ /**

exports.default = Command;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdHJ1Y3QvY29tbWFuZHMvQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHlFQUFpRDtBQUlqRCxtRUFBb0U7QUFDcEUsb0VBQXlGO0FBQ3pGLGdGQUFpRjtBQUVqRixvRUFBcUU7QUFHckU7Ozs7R0FJRztBQUNILE1BQThCLE9BQVEsU0FBUSxzQkFBWTtJQUN6RDs7OztPQUlHO0lBQ0gsWUFBWSxFQUFVLEVBQUUsT0FBd0I7UUFDL0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUzQyxNQUFNLEVBQ0wsUUFBUSxHQUFHLEtBQUssRUFDaEIsT0FBTyxHQUFHLEVBQUUsRUFDWixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFDcEMsTUFBTSxHQUFHLElBQUksRUFDYixTQUFTLEVBQ1QsT0FBTyxHQUFHLElBQUssRUFDZixTQUFTLEdBQUcsS0FBSyxFQUNqQixhQUFhLEdBQUcsS0FBSyxFQUNyQixRQUFRLEdBQUcsSUFBSSxFQUNmLE1BQU0sR0FBRyxLQUFLLEVBQ2QsUUFBUSxHQUFHLElBQUssRUFDaEIsU0FBUyxHQUFHLENBQUMsRUFDYixnQkFBZ0IsR0FBRyxFQUFFLEVBQ3JCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUNwQixpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQzFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUN0QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFDbEIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDM0MsTUFBTSxHQUFHLElBQUksQ0FBQyxN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RUFDM0IsS0FBMEIsSUFDa0IsQ0FBQztJQUU5Qzs7T0FFRztJQUNJLGlCQUFpQixDQUFvQjtJQUU1Qzs7O09BR0c7SUFDSSxNQUFNLENBQUMsT0FBZ0IsSUFBUSxDQUFDO0lBRXZDOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxPQUFnQjtRQUNoQyxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFJTSxJQUFJLENBQUMsT0FBZ0MsRUFBRSxJQUFTO1FBQ3RELE1BQU0sSUFBSSxxQkFBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksU0FBUyxDQUFDLE9BQXNCLEVBQUUsR0FBRyxJQUFXO1FBQ3RELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSSxxQkFBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzdFO0lBQ0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsT0FBZ0IsRUFBRSxPQUFlO1FBQzdDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDYSxNQUFNO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBc0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDYSxNQUFNO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBYSxDQUFDO0lBQ2xDLENBQUM7Q0FDRDtBQTFURCwwQkEwVEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAgZXNsaW50LWRpc2FibGUgZnVuYy1uYW1lcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25EYXRhLCBNZXNzYWdlLCBQZXJtaXNzaW9uUmVzb2x2YWJsZSwgU25vd2ZsYWtlIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcbmltcG9ydCBBa2Fpcm9FcnJvciBmcm9tIFwiLi4vLi4vdXRpbC9Ba2Fpcm9FcnJvclwiO1xuaW1wb3J0IEFrYWlyb01lc3NhZ2UgZnJvbSBcIi4uLy4uL3V0aWwvQWthaXJvTWVzc2FnZVwiO1xuaW1wb3J0IENhdGVnb3J5IGZyb20gXCIuLi8uLi91dGlsL0NhdGVnb3J5XCI7XG5pbXBvcnQgQWthaXJvQ2xpZW50IGZyb20gXCIuLi9Ba2Fpcm9DbGllbnRcIjtcbmltcG9ydCBBa2Fpcm9Nb2R1bGUsIHsgQWthaXJvTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuLi9Ba2Fpcm9Nb2R1bGVcIjtcbmltcG9ydCBBcmd1bWVudCwgeyBBcmd1bWVudE9wdGlvbnMsIERlZmF1bHRBcmd1bWVudE9wdGlvbnMgfSBmcm9tIFwiLi9hcmd1bWVudHMvQXJndW1lbnRcIjtcbmltcG9ydCBBcmd1bWVudFJ1bm5lciwgeyBBcmd1bWVudFJ1bm5lclN0YXRlIH0gZnJvbSBcIi4vYXJndW1lbnRzL0FyZ3VtZW50UnVubmVyXCI7XG5pbXBvcnQgQ29tbWFuZEhhbmRsZXIsIHsgSWdub3JlQ2hlY2tQcmVkaWNhdGUsIFByZWZpeFN1cHBsaWVyIH0gZnJvbSBcIi4vQ29tbWFuZEhhbmRsZXJcIjtcbmltcG9ydCBDb250ZW50UGFyc2VyLCB7IENvbnRlbnRQYXJzZXJSZXN1bHQgfSBmcm9tIFwiLi9Db250ZW50UGFyc2VyXCI7XG5pbXBvcnQgRmxhZyBmcm9tIFwiLi9GbGFnXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbW1hbmQuXG4gKiBAcGFyYW0gaWQgLSBDb21tYW5kIElELlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciB0aGUgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgYWJzdHJhY3QgY2xhc3MgQ29tbWFuZCBleHRlbmRzIEFrYWlyb01vZHVsZSB7XG5cdC8qKlxuXHQgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gYXJncyAtIEV2YWx1YXRlZCBhcmd1bWVudHMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCBvcHRpb25zPzogQ29tbWFuZE9wdGlvbnMpIHtcblx0XHRzdXBlcihpZCwgeyBjYXRlZ29yeTogb3B0aW9ucz8uY2F0ZWdvcnkgfSk7XG5cblx0XHRjb25zdCB7XG5cdFx0XHRvbmx5TnNmdyA9IGZhbHNlLFxuXHRcdFx0YWxpYXNlcyA9IFtdLFxuXHRcdFx0YXJncyA9IHRoaXMuX2FyZ3MgfHwgdGhpcy5hcmdzIHx8IFtdLFxuXHRcdFx0cXVvdGVkID0gdHJ1ZSxcblx0XHRcdHNlcGFyYXRvcixcblx0XHRcdGNoYW5uZWwgPSBudWxsISxcblx0XHRcdG93bmVyT25seSA9IGZhbHNlLFxuXHRcdFx0c3VwZXJVc2VyT25seSA9IGZhbHNlLFxuXHRcdFx0ZWRpdGFibGUgPSB0cnVlLFxuXHRcdFx0dHlwaW5nID0gZmFsc2UsXG5cdFx0XHRjb29sZG93biA9IG51bGwhLFxuXHRcdFx0cmF0ZWxpbWl0ID0gMSxcblx0XHRcdGFyZ3VtZW50RGVmYXVsdHMgPSB7fSxcblx0XHRcdGRlc2NyaXB0aW9uID0gXCJcIixcblx0XHRcdHByZWZpeCA9IHRoaXMucHJlZml4LFxuXHRcdFx0Y2xpZW50UGVybWlzc2lvbnMgPSB0aGlzLmNsaWVudFBlcm1pc3Npb25zLFxuXHRcdFx0dXNlclBlcm1pc3Npb25zID0gdGhpcy51c2VyUGVybWlzc2lvbnMsXG5cdFx0XHRyZWdleCA9IHRoaXMucmVnZXgsXG5cdFx0XHRjb25kaXRpb24gPSB0aGlzLmNvbmRpdGlvbiB8fCAoKCkgPT4gZmFsc2UpLFxuXHRcdFx0YmVmb3JlID0gdGhpcy5iZWZvcmUgfHwgKCgpID0+IHVuZGVmaW5lZCksXG5cdFx0XHRsb2NrLFxuXHRcdFx0aWdub3JlQ29vbGRvd24sXG5cdFx0XHRpZ25vcmVQZXJtaXNzaW9ucyxcblx0XHRcdGZsYWdzID0gW10sXG5cdFx0XHRvcHRpb25GbGFncyA9IFtdLFxuXHRcdFx0c2xhc2ggPSBmYWxzZSxcblx0XHRcdHNsYXNoT3B0aW9ucyxcblx0XHRcdHNsYXNoRXBoZW1lcmFsID0gZmFsc2UsXG5cdFx0XHRzbGFzaEd1aWxkcyA9IFtdXG5cdFx0fTogQ29tbWFuZE9wdGlvbnMgPSBvcHRpb25zID8/IHt9O1xuXHRcdHRoaXMuYWxpYXNlcyA9IGFsaWFzZXMgPz8gW107XG5cdFx0Y29uc3QgeyBmbGFnV29yZHMsIG9wdGlvbkZsYWdXb3JkcyB9ID0gQXJyYXkuaXNBcnJheShhcmdzKVxuXHRcdFx0PyBDb250ZW50UGFyc2VyLmdldEZsYWdzKGFyZ3MpXG5cdFx0XHQ6IHsgZmxhZ1dvcmRzOiBmbGFncywgb3B0aW9uRmxhZ1dvcmRzOiBvcHRpb25GbGFncyB9O1xuXHRcdHRoaXMuY29udGVudFBhcnNlciA9IG5ldyBDb250ZW50UGFyc2VyKHtcblx0XHRcdGZsYWdXb3Jkcyxcblx0XHRcdG9wdGlvbkZsYWdXb3Jkcyxcblx0XHRcdHF1b3RlZCxcblx0XHRcdHNlcGFyYXRvclxuXHRcdH0pO1xuXHRcdHRoaXMuYXJndW1lbnRSdW5uZXIgPSBuZXcgQXJndW1lbnRSdW5uZXIodGhpcyk7XG5cdFx0dGhpcy5hcmd1bWVudEdlbmVyYXRvciA9IChcblx0XHRcdEFycmF5LmlzQXJyYXkoYXJncylcblx0XHRcdFx0PyBBcmd1bWVudFJ1bm5lci5mcm9tQXJndW1lbnRzKGFyZ3MubWFwKGFyZyA9PiBbYXJnLmlkISwgbmV3IEFyZ3VtZW50KHRoaXMsIGFyZyldKSlcblx0XHRcdFx0OiBhcmdzLmJpbmQodGhpcylcblx0XHQpIGFzIEFyZ3VtZW50R2VuZXJhdG9yO1xuXHRcdHRoaXMub25seU5zZncgPSBCb29sZWFuKG9ubHlOc2Z3KTtcblx0XHR0aGlzLmNoYW5uZWwgPSBjaGFubmVsITtcblx0XHR0aGlzLm93bmVyT25seSA9IEJvb2xlYW4ob3duZXJPbmx5KTtcblx0XHR0aGlzLnN1cGVyVXNlck9ubHkgPSBCb29sZWFuKHN1cGVyVXNlck9ubHkpO1xuXHRcdHRoaXMuZWRpdGFibGUgPSBCb29sZWFuKGVkaXRhYmxlKTtcblx0XHR0aGlzLnR5cGluZyA9IEJvb2xlYW4odHlwaW5nKTtcblx0XHR0aGlzLmNvb2xkb3duID0gY29vbGRvd24hO1xuXHRcdHRoaXMucmF0ZWxpbWl0ID0gcmF0ZWxpbWl0O1xuXHRcdHRoaXMuYXJndW1lbnREZWZhdWx0cyA9IGFyZ3VtZW50RGVmYXVsdHM7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbiA9IEFycmF5LmlzQXJyYXkoZGVzY3JpcHRpb24pID8gZGVzY3JpcHRpb24uam9pbihcIlxcblwiKSA6IGRlc2NyaXB0aW9uO1xuXHRcdHRoaXMucHJlZml4ID0gdHlwZW9mIHByZWZpeCA9PT0gXCJmdW5jdGlvblwiID8gcHJlZml4LmJpbmQodGhpcykgOiBwcmVmaXg7XG5cdFx0dGhpcy5jbGllbnRQZXJtaXNzaW9ucyA9IHR5cGVvZiBjbGllbnRQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gY2xpZW50UGVybWlzc2lvbnMuYmluZCh0aGlzKSA6IGNsaWVudFBlcm1pc3Npb25zO1xuXHRcdHRoaXMudXNlclBlcm1pc3Npb25zID0gdHlwZW9mIHVzZXJQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gdXNlclBlcm1pc3Npb25zLmJpbmQodGhpcykgOiB1c2VyUGVybWlzc2lvbnM7XG5cdFx0dGhpcy5yZWdleCA9IHR5cGVvZiByZWdleCA9PT0gXCJmdW5jdGlvblwiID8gcmVnZXguYmluZCh0aGlzKSA6IHJlZ2V4O1xuXHRcdHRoaXMuY29uZGl0aW9uID0gY29uZGl0aW9uLmJpbmQodGhpcyk7XG5cdFx0dGhpcy5iZWZvcmUgPSBiZWZvcmUuYmluZCh0aGlzKTtcblx0XHR0aGlzLmxvY2sgPSBsb2NrO1xuXHRcdGlmICh0eXBlb2YgbG9jayA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0dGhpcy5sb2NrID0ge1xuXHRcdFx0XHRndWlsZDogKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKTogc3RyaW5nID0+IG1lc3NhZ2UuZ3VpbGQhICYmIG1lc3NhZ2UuZ3VpbGQuaWQhLFxuXHRcdFx0XHRjaGFubmVsOiAobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UpOiBzdHJpbmcgPT4gbWVzc2FnZS5jaGFubmVsIS5pZCxcblx0XHRcdFx0dXNlcjogKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKTogc3RyaW5nID0+IG1lc3NhZ2UuYXV0aG9yLmlkXG5cdFx0XHR9W2xvY2tdO1xuXHRcdH1cblx0XHRpZiAodGhpcy5sb2NrKSB0aGlzLmxvY2tlciA9IG5ldyBTZXQoKTtcblx0XHR0aGlzLmlnbm9yZUNvb2xkb3duID0gdHlwZW9mIGlnbm9yZUNvb2xkb3duID09PSBcImZ1bmN0aW9uXCIgPyBpZ25vcmVDb29sZG93bi5iaW5kKHRoaXMpIDogaWdub3JlQ29vbGRvd247XG5cdFx0dGhpcy5pZ25vcmVQZXJtaXNzaW9ucyA9IHR5cGVvZiBpZ25vcmVQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gaWdub3JlUGVybWlzc2lvbnMuYmluZCh0aGlzKSA6IGlnbm9yZVBlcm1pc3Npb25zO1xuXHRcdHRoaXMuc2xhc2hPcHRpb25zID0gc2xhc2hPcHRpb25zO1xuXHRcdHRoaXMuc2xhc2hFcGhlbWVyYWwgPSBzbGFzaEVwaGVtZXJhbDtcblx0XHR0aGlzLnNsYXNoID0gc2xhc2g7XG5cdFx0dGhpcy5zbGFzaEd1aWxkcyA9IHNsYXNoR3VpbGRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbW1hbmQgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgYWxpYXNlczogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIERlZmF1bHQgcHJvbXB0IG9wdGlvbnMuXG5cdCAqL1xuXHRwdWJsaWMgYXJndW1lbnREZWZhdWx0czogRGVmYXVsdEFyZ3VtZW50T3B0aW9ucztcblxuXHQvKipcblx0ICogQ2F0ZWdvcnkgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGNhdGVnb3J5OiBDYXRlZ29yeTxzdHJpbmcsIENvbW1hbmQ+O1xuXG5cdC8qKlxuXHQgKiBVc2FibGUgb25seSBpbiB0aGlzIGNoYW5uZWwgdHlwZS5cblx0ICovXG5cdHB1YmxpYyBjaGFubmVsPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgQWthaXJvIGNsaWVudC5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGNsaWVudDogQWthaXJvQ2xpZW50O1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCB0byBydW4gY29tbWFuZCBieSB0aGUgY2xpZW50LlxuXHQgKi9cblx0cHVibGljIGNsaWVudFBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcblxuXHQvKipcblx0ICogQ29vbGRvd24gaW4gbWlsbGlzZWNvbmRzLlxuXHQgKi9cblx0cHVibGljIGNvb2xkb3duPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBkZXNjcmlwdGlvbjogYW55O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGNvbW1hbmQgY2FuIGJlIHJhbiBieSBhbiBlZGl0LlxuXHQgKi9cblx0cHVibGljIGVkaXRhYmxlOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBUaGUgZmlsZXBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBmaWxlcGF0aDogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgaGFuZGxlci5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGhhbmRsZXI6IENvbW1hbmRIYW5kbGVyO1xuXG5cdC8qKlxuXHQgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBpZDogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB1c2VyKHMpIHRvIGlnbm9yZSBjb29sZG93biBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdHB1YmxpYyBpZ25vcmVDb29sZG93bj86IFNub3dmbGFrZSB8IFNub3dmbGFrZVtdIHwgSWdub3JlQ2hlY2tQcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIElEIG9mIHVzZXIocykgdG8gaWdub3JlIGB1c2VyUGVybWlzc2lvbnNgIGNoZWNrcyBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdHB1YmxpYyBpZ25vcmVQZXJtaXNzaW9ucz86IFNub3dmbGFrZSB8IFNub3dmbGFrZVtdIHwgSWdub3JlQ2hlY2tQcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIFRoZSBrZXkgc3VwcGxpZXIgZm9yIHRoZSBsb2NrZXIuXG5cdCAqL1xuXHRwdWJsaWMgbG9jaz86IEtleVN1cHBsaWVyIHwgXCJjaGFubmVsXCIgfCBcImd1aWxkXCIgfCBcInVzZXJcIjtcblxuXHQvKipcblx0ICogU3RvcmVzIHRoZSBjdXJyZW50IGxvY2tzLlxuXHQgKi9cblx0cHVibGljIGxvY2tlcj86IFNldDxzdHJpbmc+O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGUgY29tbWFuZCBjYW4gb25seSBiZSBydW4gaW4gIE5TRlcgY2hhbm5lbHMuXG5cdCAqL1xuXHRwdWJsaWMgb25seU5zZnc6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFVzYWJsZSBvbmx5IGJ5IHRoZSBjbGllbnQgb3duZXIuXG5cdCAqL1xuXHRwdWJsaWMgb3duZXJPbmx5OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBDb21tYW5kIHByZWZpeCBvdmVyd3JpdGUuXG5cdCAqL1xuXHRwdWJsaWMgcHJlZml4Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBQcmVmaXhTdXBwbGllcjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gY29uc2lkZXIgcXVvdGVzLlxuXHQgKi9cblx0cHVibGljIHF1b3RlZCE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFVzZXMgYWxsb3dlZCBiZWZvcmUgY29vbGRvd24uXG5cdCAqL1xuXHRwdWJsaWMgcmF0ZWxpbWl0OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIFRoZSByZWdleCB0cmlnZ2VyIGZvciB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgcmVnZXg/OiBSZWdFeHAgfCBSZWdleFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBNYXJrIGNvbW1hbmQgYXMgc2xhc2ggY29tbWFuZCBhbmQgc2V0IGluZm9ybWF0aW9uLlxuXHQgKi9cblx0cHVibGljIHNsYXNoPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBzbGFzaCBjb21tYW5kIHJlc3BvbnNlcyBmb3IgdGhpcyBjb21tYW5kIHNob3VsZCBiZSBlcGhlbWVyYWwgb3Igbm90LlxuXHQgKi9cblx0cHVibGljIHNsYXNoRXBoZW1lcmFsPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQXNzaWduIHNsYXNoIGNvbW1hbmRzIHRvIFNwZWNpZmljIGd1aWxkcy4gVGhpcyBvcHRpb24gd2lsbCBtYWtlIHRoZSBjb21tYW5kcyBub3QgcmVnaXN0ZXIgZ2xvYmFsbHksIGJ1dCBvbmx5IGluIHRoZSBjaG9zZW4gc2VydmVycy5cblx0ICovXG5cdHB1YmxpYyBzbGFzaEd1aWxkcz86IFNub3dmbGFrZVtdO1xuXG5cdC8qKlxuXHQgKiBPcHRpb25zIGZvciB1c2luZyB0aGUgc2xhc2ggY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBzbGFzaE9wdGlvbnM/OiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25EYXRhW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBzdXBlclVzZXJzKHMpIG9ubHkuXG5cdCAqL1xuXHRwdWJsaWMgc3VwZXJVc2VyT25seTogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gdHlwZSBkdXJpbmcgY29tbWFuZCBleGVjdXRpb24uXG5cdCAqL1xuXHRwdWJsaWMgdHlwaW5nOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCB0byBydW4gY29tbWFuZCBieSB0aGUgdXNlci5cblx0ICovXG5cdHB1YmxpYyB1c2VyUGVybWlzc2lvbnM/OiBQZXJtaXNzaW9uUmVzb2x2YWJsZSB8IFBlcm1pc3Npb25SZXNvbHZhYmxlW10gfCBNaXNzaW5nUGVybWlzc2lvblN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBBcmd1bWVudCBvcHRpb25zIG9yIGdlbmVyYXRvci5cblx0ICovXG5cdHB1YmxpYyBfYXJncz86IEFyZ3VtZW50T3B0aW9uc1tdIHwgQXJndW1lbnRHZW5lcmF0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBjb250ZW50IHBhcnNlci5cblx0ICovXG5cdHB1YmxpYyBjb250ZW50UGFyc2VyOiBDb250ZW50UGFyc2VyO1xuXG5cdC8qKlxuXHQgKiBUaGUgYXJndW1lbnQgcnVubmVyLlxuXHQgKi9cblx0cHVibGljIGFyZ3VtZW50UnVubmVyOiBBcmd1bWVudFJ1bm5lcjtcblxuXHRwdWJsaWMgKmFyZ3MoXG5cdFx0bWVzc2FnZTogTWVzc2FnZSxcblx0XHRwYXJzZWQ6IENvbnRlbnRQYXJzZXJSZXN1bHQsXG5cdFx0c3RhdGU6IEFyZ3VtZW50UnVubmVyU3RhdGVcblx0KTogSXRlcmFibGVJdGVyYXRvcjxBcmd1bWVudE9wdGlvbnMgfCBGbGFnPiB7fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0b3IgZm9yIGFyZ3VtZW50cy5cblx0ICovXG5cdHB1YmxpYyBhcmd1bWVudEdlbmVyYXRvcjogQXJndW1lbnRHZW5lcmF0b3I7XG5cblx0LyoqXG5cdCAqIFJ1bnMgYmVmb3JlIGFyZ3VtZW50IHBhcnNpbmcgYW5kIGV4ZWN1dGlvbi5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIGJlaW5nIGhhbmRsZWQuXG5cdCAqL1xuXHRwdWJsaWMgYmVmb3JlKG1lc3NhZ2U6IE1lc3NhZ2UpOiBhbnkge31cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSByYW4gYnkgdXNpbmcgYW4gYXJiaXRyYXJ5IGNvbmRpdGlvbi5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIGJlaW5nIGhhbmRsZWQuXG5cdCAqL1xuXHRwdWJsaWMgY29uZGl0aW9uKG1lc3NhZ2U6IE1lc3NhZ2UpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSwgYXJnczogYW55KTogYW55O1xuXHRwdWJsaWMgZXhlYyhtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KTogYW55O1xuXHRwdWJsaWMgZXhlYyhtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KTogYW55IHtcblx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNcIik7XG5cdH1cblxuXHQvKipcblx0ICogRXhlY3V0ZSB0aGUgc2xhc2ggY29tbWFuZFxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgZm9yIHNsYXNoIGNvbW1hbmRcblx0ICogQHBhcmFtIGFyZ3MgLSBTbGFzaCBjb21tYW5kIG9wdGlvbnNcblx0ICovXG5cdHB1YmxpYyBleGVjU2xhc2gobWVzc2FnZTogQWthaXJvTWVzc2FnZSwgLi4uYXJnczogYW55W10pOiBhbnkge1xuXHRcdGlmICh0aGlzLnNsYXNoKSB7XG5cdFx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNTbGFzaFwiKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGNvbnRlbnQgdXNpbmcgdGhlIGNvbW1hbmQncyBhcmd1bWVudHMuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0byB1c2UuXG5cdCAqIEBwYXJhbSBjb250ZW50IC0gU3RyaW5nIHRvIHBhcnNlLlxuXHQgKi9cblx0cHVibGljIHBhcnNlKG1lc3NhZ2U6IE1lc3NhZ2UsIGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8RmxhZyB8IGFueT4ge1xuXHRcdGNvbnN0IHBhcnNlZCA9IHRoaXMuY29udGVudFBhcnNlci5wYXJzZShjb250ZW50KTtcblx0XHRyZXR1cm4gdGhpcy5hcmd1bWVudFJ1bm5lci5ydW4obWVzc2FnZSwgcGFyc2VkLCB0aGlzLmFyZ3VtZW50R2VuZXJhdG9yKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWxvYWRzIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIG92ZXJyaWRlIHJlbG9hZCgpOiBQcm9taXNlPENvbW1hbmQ+IHtcblx0XHRyZXR1cm4gc3VwZXIucmVsb2FkKCkgYXMgUHJvbWlzZTxDb21tYW5kPjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIG92ZXJyaWRlIHJlbW92ZSgpOiBDb21tYW5kIHtcblx0XHRyZXR1cm4gc3VwZXIucmVtb3ZlKCkgYXMgQ29tbWFuZDtcblx0fVxufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gdXNlIGZvciBjb21tYW5kIGV4ZWN1dGlvbiBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kT3B0aW9ucyBleHRlbmRzIEFrYWlyb01vZHVsZU9wdGlvbnMge1xuXHQvKipcblx0ICogQ29tbWFuZCBuYW1lcy5cblx0ICovXG5cdGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogQXJndW1lbnQgb3B0aW9ucyBvciBnZW5lcmF0b3IuXG5cdCAqL1xuXHRhcmdzPzogQXJndW1lbnRPcHRpb25zW10gfCBBcmd1bWVudEdlbmVyYXRvcjtcblxuXHQvKipcblx0ICogVGhlIGRlZmF1bHQgYXJndW1lbnQgb3B0aW9ucy5cblx0ICovXG5cdGFyZ3VtZW50RGVmYXVsdHM/OiBEZWZhdWx0QXJndW1lbnRPcHRpb25zO1xuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBydW4gYmVmb3JlIGFyZ3VtZW50IHBhcnNpbmcgYW5kIGV4ZWN1dGlvbi5cblx0ICovXG5cdGJlZm9yZT86IEJlZm9yZUFjdGlvbjtcblxuXHQvKipcblx0ICogUmVzdHJpY3RzIGNoYW5uZWwgdG8gZWl0aGVyICdndWlsZCcgb3IgJ2RtJy5cblx0ICovXG5cdGNoYW5uZWw/OiBcImd1aWxkXCIgfCBcImRtXCI7XG5cblx0LyoqXG5cdCAqIFBlcm1pc3Npb25zIHJlcXVpcmVkIGJ5IHRoZSBjbGllbnQgdG8gcnVuIHRoaXMgY29tbWFuZC5cblx0ICovXG5cdGNsaWVudFBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gcnVuIG9uIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCBkaXJlY3RseSBjb21tYW5kcy5cblx0ICovXG5cdGNvbmRpdGlvbj86IEV4ZWN1dGlvblByZWRpY2F0ZTtcblxuXHQvKipcblx0ICogVGhlIGNvbW1hbmQgY29vbGRvd24gaW4gbWlsbGlzZWNvbmRzLlxuXHQgKi9cblx0Y29vbGRvd24/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIERlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0ZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBhbnkgfCBhbnlbXTtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgbWVzc2FnZSBlZGl0cyB3aWxsIHJ1biB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRlZGl0YWJsZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEZsYWdzIHRvIHVzZSB3aGVuIHVzaW5nIGFuIEFyZ3VtZW50R2VuZXJhdG9yXG5cdCAqL1xuXHRmbGFncz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB1c2VyKHMpIHRvIGlnbm9yZSBjb29sZG93biBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdGlnbm9yZUNvb2xkb3duPzogU25vd2ZsYWtlIHwgU25vd2ZsYWtlW10gfCBJZ25vcmVDaGVja1ByZWRpY2F0ZTtcblxuXHQvKipcblx0ICogSUQgb2YgdXNlcihzKSB0byBpZ25vcmUgYHVzZXJQZXJtaXNzaW9uc2AgY2hlY2tzIG9yIGEgZnVuY3Rpb24gdG8gaWdub3JlLlxuXHQgKi9cblx0aWdub3JlUGVybWlzc2lvbnM/OiBTbm93Zmxha2UgfCBTbm93Zmxha2VbXSB8IElnbm9yZUNoZWNrUHJlZGljYXRlO1xuXG5cdC8qKlxuXHQgKiBUaGUga2V5IHR5cGUgb3Iga2V5IGdlbmVyYXRvciBmb3IgdGhlIGxvY2tlci4gSWYgbG9jayBpcyBhIHN0cmluZywgaXQncyBleHBlY3RlZCBvbmUgb2YgJ2d1aWxkJywgJ2NoYW5uZWwnLCBvciAndXNlcidcblx0ICovXG5cdGxvY2s/OiBLZXlTdXBwbGllciB8IFwiZ3VpbGRcIiB8IFwiY2hhbm5lbFwiIHwgXCJ1c2VyXCI7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIG9ubHkgYWxsb3cgdGhlIGNvbW1hbmQgdG8gYmUgcnVuIGluIE5TRlcgY2hhbm5lbHMuXG5cdCAqL1xuXHRvbmx5TnNmdz86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIE9wdGlvbiBmbGFncyB0byB1c2Ugd2hlbiB1c2luZyBhbiBBcmd1bWVudEdlbmVyYXRvci5cblx0ICovXG5cdG9wdGlvbkZsYWdzPzogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBvd25lcihzKSBvbmx5LlxuXHQgKi9cblx0b3duZXJPbmx5PzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIHByZWZpeChlcykgdG8gb3ZlcndyaXRlIHRoZSBnbG9iYWwgb25lIGZvciB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRwcmVmaXg/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFByZWZpeFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byBjb25zaWRlciBxdW90ZXMuXG5cdCAqL1xuXHRxdW90ZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBBbW91bnQgb2YgY29tbWFuZCB1c2VzIGFsbG93ZWQgdW50aWwgY29vbGRvd24uXG5cdCAqL1xuXHRyYXRlbGltaXQ/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIEEgcmVnZXggdG8gbWF0Y2ggaW4gbWVzc2FnZXMgdGhhdCBhcmUgbm90IGRpcmVjdGx5IGNvbW1hbmRzLiBUaGUgYXJncyBvYmplY3Qgd2lsbCBoYXZlIGBtYXRjaGAgYW5kIGBtYXRjaGVzYCBwcm9wZXJ0aWVzLlxuXHQgKi9cblx0cmVnZXg/OiBSZWdFeHAgfCBSZWdleFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBDdXN0b20gc2VwYXJhdG9yIGZvciBhcmd1bWVudCBpbnB1dC5cblx0ICovXG5cdHNlcGFyYXRvcj86IHN0cmluZztcblxuXHQvKipcblx0ICogTWFyayBjb21tYW5kIGFzIHNsYXNoIGNvbW1hbmQgYW5kIHNldCBpbmZvcm1hdGlvbi5cblx0ICovXG5cdHNsYXNoPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBzbGFzaCBjb21tYW5kIHJlc3BvbnNlcyBmb3IgdGhpcyBjb21tYW5kIHNob3VsZCBiZSBlcGhlbWVyYWwgb3Igbm90LlxuXHQgKi9cblx0c2xhc2hFcGhlbWVyYWw/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBBc3NpZ24gc2xhc2ggY29tbWFuZHMgdG8gU3BlY2lmaWMgZ3VpbGRzLiBUaGlzIG9wdGlvbiB3aWxsIG1ha2UgdGhlIGNvbW1hbmRzIGRvIG5vdCByZWdpc3RlciBnbG9iYWxseSwgYnV0IG9ubHkgdG8gdGhlIGNob3NlbiBzZXJ2ZXJzLlxuXHQgKi9cblx0c2xhc2hHdWlsZHM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogT3B0aW9ucyBmb3IgdXNpbmcgdGhlIHNsYXNoIGNvbW1hbmQuXG5cdCAqL1xuXHRzbGFzaE9wdGlvbnM/OiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25EYXRhW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBzdXBlclVzZXJzKHMpIG9ubHkuXG5cdCAqL1xuXHRzdXBlclVzZXJPbmx5PzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gdHlwZSBpbiBjaGFubmVsIGR1cmluZyBleGVjdXRpb24uXG5cdCAqL1xuXHR0eXBpbmc/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCBieSB0aGUgdXNlciB0byBydW4gdGhpcyBjb21tYW5kLlxuXHQgKi9cblx0dXNlclBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRvIHJ1biBiZWZvcmUgYXJndW1lbnQgcGFyc2luZyBhbmQgZXhlY3V0aW9uLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuICovXG5leHBvcnQgdHlwZSBCZWZvcmVBY3Rpb24gPSAobWVzc2FnZTogTWVzc2FnZSkgPT4gYW55O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdXNlZCB0byBzdXBwbHkgdGhlIGtleSBmb3IgdGhlIGxvY2tlci5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cbiAqIEBwYXJhbSBhcmdzIC0gRXZhbHVhdGVkIGFyZ3VtZW50cy5cbiAqL1xuZXhwb3J0IHR5cGUgS2V5U3VwcGxpZXIgPSAobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UsIGFyZ3M6IGFueSkgPT4gc3RyaW5nO1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdXNlZCB0byBjaGVjayBpZiB0aGUgY29tbWFuZCBzaG91bGQgcnVuIGFyYml0cmFyaWx5LlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGNoZWNrLlxuICovXG5leHBvcnQgdHlwZSBFeGVjdXRpb25QcmVkaWNhdGUgPSAobWVzc2FnZTogTWVzc2FnZSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGlmIGEgbWVzc2FnZSBoYXMgcGVybWlzc2lvbnMgZm9yIHRoZSBjb21tYW5kLlxuICogQSBub24tbnVsbCByZXR1cm4gdmFsdWUgc2lnbmlmaWVzIHRoZSByZWFzb24gZm9yIG1pc3NpbmcgcGVybWlzc2lvbnMuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCB0eXBlIE1pc3NpbmdQZXJtaXNzaW9uU3VwcGxpZXIgPSAobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UpID0+IFByb21pc2U8YW55PiB8IGFueTtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHVzZWQgdG8gcmV0dXJuIGEgcmVndWxhciBleHByZXNzaW9uLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGdldCByZWdleCBmb3IuXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2V4U3VwcGxpZXIgPSAobWVzc2FnZTogTWVzc2FnZSkgPT4gUmVnRXhwO1xuXG4vKipcbiAqIEdlbmVyYXRvciBmb3IgYXJndW1lbnRzLlxuICogV2hlbiB5aWVsZGluZyBhcmd1bWVudCBvcHRpb25zLCB0aGF0IGFyZ3VtZW50IGlzIHJhbiBhbmQgdGhlIHJlc3VsdCBvZiB0aGUgcHJvY2Vzc2luZyBpcyBnaXZlbi5cbiAqIFRoZSBsYXN0IHZhbHVlIHdoZW4gdGhlIGdlbmVyYXRvciBpcyBkb25lIGlzIHRoZSByZXN1bHRpbmcgYGFyZ3NgIGZvciB0aGUgY29tbWFuZCdzIGBleGVjYC5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cbiAqIEBwYXJhbSBwYXJzZWQgLSBQYXJzZWQgY29udGVudC5cbiAqIEBwYXJhbSBzdGF0ZSAtIEFyZ3VtZW50IHByb2Nlc3Npbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCB0eXBlIEFyZ3VtZW50R2VuZXJhdG9yID0gKFxuXHRtZXNzYWdlOiBNZXNzYWdlLFxuXHRwYXJzZWQ6IENvbnRlbnRQYXJzZXJSZXN1bHQsXG5cdHN0YXRlOiBBcmd1bWVudFJ1bm5lclN0YXRlXG4pID0+IEl0ZXJhYmxlSXRlcmF0b3I8QXJndW1lbnRPcHRpb25zIHwgRmxhZz47XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdHJ1Y3QvY29tbWFuZHMvQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHlFQUFpRDtBQUlqRCxtRUFBb0U7QUFDcEUsb0VBQXlGO0FBQ3pGLGdGQUFpRjtBQUVqRixvRUFBcUU7QUFHckU7Ozs7R0FJRztBQUNILE1BQThCLE9BQVEsU0FBUSxzQkFBWTtJQUN6RDs7OztPQUlHO0lBQ0gsWUFBWSxFQUFVLEVBQUUsT0FBd0I7UUFDL0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUzQyxNQUFNLEVBQ0wsUUFBUSxHQUFHLEtBQUssRUFDaEIsT0FBTyxHQUFHLEVBQUUsRUFDWixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFDcEMsTUFBTSxHQUFHLElBQUksRUFDYixTQUFTLEVBQ1QsT0FBTyxHQUFHLElBQUssRUFDZixTQUFTLEdBQUcsS0FBSyxFQUNqQixhQUFhLEdBQUcsS0FBSyxFQUNyQixRQUFRLEdBQUcsSUFBSSxFQUNmLE1BQU0sR0FBRyxLQUFLLEVBQ2QsUUFBUSxHQUFHLElBQUssRUFDaEIsU0FBUyxHQUFHLENBQUMsRUFDYixnQkFBZ0IsR0FBRyxFQUFFLEVBQ3JCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUNwQixpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQzFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUN0QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFDbEIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDM0MsTUFBTSxHQUFHLElBQUksQ0FBQyxN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QztJQUNsQyxDQUFDO0NBQ0Q7QUF6VUQsMEJBeVVDIiwic291cmNlc0NvbnRlbnQiOlsiLyogIGVzbGludC1kaXNhYmxlIGZ1bmMtbmFtZXMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uRGF0YSwgTWVzc2FnZSwgUGVybWlzc2lvblJlc29sdmFibGUsIFNub3dmbGFrZSB9IGZyb20gXCJkaXNjb3JkLmpzXCI7XG5pbXBvcnQgQWthaXJvRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWwvQWthaXJvRXJyb3JcIjtcbmltcG9ydCBBa2Fpcm9NZXNzYWdlIGZyb20gXCIuLi8uLi91dGlsL0FrYWlyb01lc3NhZ2VcIjtcbmltcG9ydCBDYXRlZ29yeSBmcm9tIFwiLi4vLi4vdXRpbC9DYXRlZ29yeVwiO1xuaW1wb3J0IEFrYWlyb0NsaWVudCBmcm9tIFwiLi4vQWthaXJvQ2xpZW50XCI7XG5pbXBvcnQgQWthaXJvTW9kdWxlLCB7IEFrYWlyb01vZHVsZU9wdGlvbnMgfSBmcm9tIFwiLi4vQWthaXJvTW9kdWxlXCI7XG5pbXBvcnQgQXJndW1lbnQsIHsgQXJndW1lbnRPcHRpb25zLCBEZWZhdWx0QXJndW1lbnRPcHRpb25zIH0gZnJvbSBcIi4vYXJndW1lbnRzL0FyZ3VtZW50XCI7XG5pbXBvcnQgQXJndW1lbnRSdW5uZXIsIHsgQXJndW1lbnRSdW5uZXJTdGF0ZSB9IGZyb20gXCIuL2FyZ3VtZW50cy9Bcmd1bWVudFJ1bm5lclwiO1xuaW1wb3J0IENvbW1hbmRIYW5kbGVyLCB7IElnbm9yZUNoZWNrUHJlZGljYXRlLCBQcmVmaXhTdXBwbGllciB9IGZyb20gXCIuL0NvbW1hbmRIYW5kbGVyXCI7XG5pbXBvcnQgQ29udGVudFBhcnNlciwgeyBDb250ZW50UGFyc2VyUmVzdWx0IH0gZnJvbSBcIi4vQ29udGVudFBhcnNlclwiO1xuaW1wb3J0IEZsYWcgZnJvbSBcIi4vRmxhZ1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kLlxuICogQHBhcmFtIGlkIC0gQ29tbWFuZCBJRC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIENvbW1hbmQgZXh0ZW5kcyBBa2Fpcm9Nb2R1bGUge1xuXHQvKipcblx0ICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cblx0ICogQHBhcmFtIGFyZ3MgLSBFdmFsdWF0ZWQgYXJndW1lbnRzLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoaWQ6IHN0cmluZywgb3B0aW9ucz86IENvbW1hbmRPcHRpb25zKSB7XG5cdFx0c3VwZXIoaWQsIHsgY2F0ZWdvcnk6IG9wdGlvbnM/LmNhdGVnb3J5IH0pO1xuXG5cdFx0Y29uc3Qge1xuXHRcdFx0b25seU5zZncgPSBmYWxzZSxcblx0XHRcdGFsaWFzZXMgPSBbXSxcblx0XHRcdGFyZ3MgPSB0aGlzLl9hcmdzIHx8IHRoaXMuYXJncyB8fCBbXSxcblx0XHRcdHF1b3RlZCA9IHRydWUsXG5cdFx0XHRzZXBhcmF0b3IsXG5cdFx0XHRjaGFubmVsID0gbnVsbCEsXG5cdFx0XHRvd25lck9ubHkgPSBmYWxzZSxcblx0XHRcdHN1cGVyVXNlck9ubHkgPSBmYWxzZSxcblx0XHRcdGVkaXRhYmxlID0gdHJ1ZSxcblx0XHRcdHR5cGluZyA9IGZhbHNlLFxuXHRcdFx0Y29vbGRvd24gPSBudWxsISxcblx0XHRcdHJhdGVsaW1pdCA9IDEsXG5cdFx0XHRhcmd1bWVudERlZmF1bHRzID0ge30sXG5cdFx0XHRkZXNjcmlwdGlvbiA9IFwiXCIsXG5cdFx0XHRwcmVmaXggPSB0aGlzLnByZWZpeCxcblx0XHRcdGNsaWVudFBlcm1pc3Npb25zID0gdGhpcy5jbGllbnRQZXJtaXNzaW9ucyxcblx0XHRcdHVzZXJQZXJtaXNzaW9ucyA9IHRoaXMudXNlclBlcm1pc3Npb25zLFxuXHRcdFx0cmVnZXggPSB0aGlzLnJlZ2V4LFxuXHRcdFx0Y29uZGl0aW9uID0gdGhpcy5jb25kaXRpb24gfHwgKCgpID0+IGZhbHNlKSxcblx0XHRcdGJlZm9yZSA9IHRoaXMuYmVmb3JlIHx8ICgoKSA9PiB1bmRlZmluZWQpLFxuXHRcdFx0bG9jayxcblx0XHRcdGlnbm9yZUNvb2xkb3duLFxuXHRcdFx0aWdub3JlUGVybWlzc2lvbnMsXG5cdFx0XHRmbGFncyA9IFtdLFxuXHRcdFx0b3B0aW9uRmxhZ3MgPSBbXSxcblx0XHRcdHNsYXNoID0gZmFsc2UsXG5cdFx0XHRzbGFzaE9wdGlvbnMsXG5cdFx0XHRzbGFzaEVwaGVtZXJhbCA9IGZhbHNlLFxuXHRcdFx0c2xhc2hHdWlsZHMgPSBbXSxcblx0XHRcdHNsYXNoT25seSA9IGZhbHNlXG5cdFx0fTogQ29tbWFuZE9wdGlvbnMgPSBvcHRpb25zID8/IHt9O1xuXHRcdHRoaXMuYWxpYXNlcyA9IGFsaWFzZXMgPz8gW107XG5cdFx0Y29uc3QgeyBmbGFnV29yZHMsIG9wdGlvbkZsYWdXb3JkcyB9ID0gQXJyYXkuaXNBcnJheShhcmdzKVxuXHRcdFx0PyBDb250ZW50UGFyc2VyLmdldEZsYWdzKGFyZ3MpXG5cdFx0XHQ6IHsgZmxhZ1dvcmRzOiBmbGFncywgb3B0aW9uRmxhZ1dvcmRzOiBvcHRpb25GbGFncyB9O1xuXHRcdHRoaXMuY29udGVudFBhcnNlciA9IG5ldyBDb250ZW50UGFyc2VyKHtcblx0XHRcdGZsYWdXb3Jkcyxcblx0XHRcdG9wdGlvbkZsYWdXb3Jkcyxcblx0XHRcdHF1b3RlZCxcblx0XHRcdHNlcGFyYXRvclxuXHRcdH0pO1xuXHRcdHRoaXMuYXJndW1lbnRSdW5uZXIgPSBuZXcgQXJndW1lbnRSdW5uZXIodGhpcyk7XG5cdFx0dGhpcy5hcmd1bWVudEdlbmVyYXRvciA9IChcblx0XHRcdEFycmF5LmlzQXJyYXkoYXJncylcblx0XHRcdFx0PyBBcmd1bWVudFJ1bm5lci5mcm9tQXJndW1lbnRzKGFyZ3MubWFwKGFyZyA9PiBbYXJnLmlkISwgbmV3IEFyZ3VtZW50KHRoaXMsIGFyZyldKSlcblx0XHRcdFx0OiBhcmdzLmJpbmQodGhpcylcblx0XHQpIGFzIEFyZ3VtZW50R2VuZXJhdG9yO1xuXHRcdHRoaXMub25seU5zZncgPSBCb29sZWFuKG9ubHlOc2Z3KTtcblx0XHR0aGlzLmNoYW5uZWwgPSBjaGFubmVsITtcblx0XHR0aGlzLm93bmVyT25seSA9IEJvb2xlYW4ob3duZXJPbmx5KTtcblx0XHR0aGlzLnN1cGVyVXNlck9ubHkgPSBCb29sZWFuKHN1cGVyVXNlck9ubHkpO1xuXHRcdHRoaXMuZWRpdGFibGUgPSBCb29sZWFuKGVkaXRhYmxlKTtcblx0XHR0aGlzLnR5cGluZyA9IEJvb2xlYW4odHlwaW5nKTtcblx0XHR0aGlzLmNvb2xkb3duID0gY29vbGRvd24hO1xuXHRcdHRoaXMucmF0ZWxpbWl0ID0gcmF0ZWxpbWl0O1xuXHRcdHRoaXMuYXJndW1lbnREZWZhdWx0cyA9IGFyZ3VtZW50RGVmYXVsdHM7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbiA9IEFycmF5LmlzQXJyYXkoZGVzY3JpcHRpb24pID8gZGVzY3JpcHRpb24uam9pbihcIlxcblwiKSA6IGRlc2NyaXB0aW9uO1xuXHRcdHRoaXMucHJlZml4ID0gdHlwZW9mIHByZWZpeCA9PT0gXCJmdW5jdGlvblwiID8gcHJlZml4LmJpbmQodGhpcykgOiBwcmVmaXg7XG5cdFx0dGhpcy5jbGllbnRQZXJtaXNzaW9ucyA9IHR5cGVvZiBjbGllbnRQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gY2xpZW50UGVybWlzc2lvbnMuYmluZCh0aGlzKSA6IGNsaWVudFBlcm1pc3Npb25zO1xuXHRcdHRoaXMudXNlclBlcm1pc3Npb25zID0gdHlwZW9mIHVzZXJQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gdXNlclBlcm1pc3Npb25zLmJpbmQodGhpcykgOiB1c2VyUGVybWlzc2lvbnM7XG5cdFx0dGhpcy5yZWdleCA9IHR5cGVvZiByZWdleCA9PT0gXCJmdW5jdGlvblwiID8gcmVnZXguYmluZCh0aGlzKSA6IHJlZ2V4O1xuXHRcdHRoaXMuY29uZGl0aW9uID0gY29uZGl0aW9uLmJpbmQodGhpcyk7XG5cdFx0dGhpcy5iZWZvcmUgPSBiZWZvcmUuYmluZCh0aGlzKTtcblx0XHR0aGlzLmxvY2sgPSBsb2NrO1xuXHRcdGlmICh0eXBlb2YgbG9jayA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0dGhpcy5sb2NrID0ge1xuXHRcdFx0XHRndWlsZDogKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKTogc3RyaW5nID0+IG1lc3NhZ2UuZ3VpbGQhICYmIG1lc3NhZ2UuZ3VpbGQuaWQhLFxuXHRcdFx0XHRjaGFubmVsOiAobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UpOiBzdHJpbmcgPT4gbWVzc2FnZS5jaGFubmVsIS5pZCxcblx0XHRcdFx0dXNlcjogKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKTogc3RyaW5nID0+IG1lc3NhZ2UuYXV0aG9yLmlkXG5cdFx0XHR9W2xvY2tdO1xuXHRcdH1cblx0XHRpZiAodGhpcy5sb2NrKSB0aGlzLmxvY2tlciA9IG5ldyBTZXQoKTtcblx0XHR0aGlzLmlnbm9yZUNvb2xkb3duID0gdHlwZW9mIGlnbm9yZUNvb2xkb3duID09PSBcImZ1bmN0aW9uXCIgPyBpZ25vcmVDb29sZG93bi5iaW5kKHRoaXMpIDogaWdub3JlQ29vbGRvd247XG5cdFx0dGhpcy5pZ25vcmVQZXJtaXNzaW9ucyA9IHR5cGVvZiBpZ25vcmVQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gaWdub3JlUGVybWlzc2lvbnMuYmluZCh0aGlzKSA6IGlnbm9yZVBlcm1pc3Npb25zO1xuXHRcdHRoaXMuc2xhc2hPcHRpb25zID0gc2xhc2hPcHRpb25zO1xuXHRcdHRoaXMuc2xhc2hFcGhlbWVyYWwgPSBzbGFzaEVwaGVtZXJhbDtcblx0XHR0aGlzLnNsYXNoID0gc2xhc2g7XG5cdFx0dGhpcy5zbGFzaEd1aWxkcyA9IHNsYXNoR3VpbGRzO1xuXHRcdHRoaXMuc2xhc2hPbmx5ID0gc2xhc2hPbmx5O1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbW1hbmQgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgYWxpYXNlczogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIERlZmF1bHQgcHJvbXB0IG9wdGlvbnMuXG5cdCAqL1xuXHRwdWJsaWMgYXJndW1lbnREZWZhdWx0czogRGVmYXVsdEFyZ3VtZW50T3B0aW9ucztcblxuXHQvKipcblx0ICogQ2F0ZWdvcnkgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGNhdGVnb3J5OiBDYXRlZ29yeTxzdHJpbmcsIENvbW1hbmQ+O1xuXG5cdC8qKlxuXHQgKiBVc2FibGUgb25seSBpbiB0aGlzIGNoYW5uZWwgdHlwZS5cblx0ICovXG5cdHB1YmxpYyBjaGFubmVsPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgQWthaXJvIGNsaWVudC5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGNsaWVudDogQWthaXJvQ2xpZW50O1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCB0byBydW4gY29tbWFuZCBieSB0aGUgY2xpZW50LlxuXHQgKi9cblx0cHVibGljIGNsaWVudFBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcblxuXHQvKipcblx0ICogQ29vbGRvd24gaW4gbWlsbGlzZWNvbmRzLlxuXHQgKi9cblx0cHVibGljIGNvb2xkb3duPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBkZXNjcmlwdGlvbjogYW55O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGNvbW1hbmQgY2FuIGJlIHJhbiBieSBhbiBlZGl0LlxuXHQgKi9cblx0cHVibGljIGVkaXRhYmxlOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBUaGUgZmlsZXBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBmaWxlcGF0aDogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgaGFuZGxlci5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGhhbmRsZXI6IENvbW1hbmRIYW5kbGVyO1xuXG5cdC8qKlxuXHQgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBpZDogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB1c2VyKHMpIHRvIGlnbm9yZSBjb29sZG93biBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdHB1YmxpYyBpZ25vcmVDb29sZG93bj86IFNub3dmbGFrZSB8IFNub3dmbGFrZVtdIHwgSWdub3JlQ2hlY2tQcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIElEIG9mIHVzZXIocykgdG8gaWdub3JlIGB1c2VyUGVybWlzc2lvbnNgIGNoZWNrcyBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdHB1YmxpYyBpZ25vcmVQZXJtaXNzaW9ucz86IFNub3dmbGFrZSB8IFNub3dmbGFrZVtdIHwgSWdub3JlQ2hlY2tQcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIFRoZSBrZXkgc3VwcGxpZXIgZm9yIHRoZSBsb2NrZXIuXG5cdCAqL1xuXHRwdWJsaWMgbG9jaz86IEtleVN1cHBsaWVyIHwgXCJjaGFubmVsXCIgfCBcImd1aWxkXCIgfCBcInVzZXJcIjtcblxuXHQvKipcblx0ICogU3RvcmVzIHRoZSBjdXJyZW50IGxvY2tzLlxuXHQgKi9cblx0cHVibGljIGxvY2tlcj86IFNldDxzdHJpbmc+O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGUgY29tbWFuZCBjYW4gb25seSBiZSBydW4gaW4gIE5TRlcgY2hhbm5lbHMuXG5cdCAqL1xuXHRwdWJsaWMgb25seU5zZnc6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFVzYWJsZSBvbmx5IGJ5IHRoZSBjbGllbnQgb3duZXIuXG5cdCAqL1xuXHRwdWJsaWMgb3duZXJPbmx5OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBDb21tYW5kIHByZWZpeCBvdmVyd3JpdGUuXG5cdCAqL1xuXHRwdWJsaWMgcHJlZml4Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBQcmVmaXhTdXBwbGllcjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gY29uc2lkZXIgcXVvdGVzLlxuXHQgKi9cblx0cHVibGljIHF1b3RlZCE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFVzZXMgYWxsb3dlZCBiZWZvcmUgY29vbGRvd24uXG5cdCAqL1xuXHRwdWJsaWMgcmF0ZWxpbWl0OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIFRoZSByZWdleCB0cmlnZ2VyIGZvciB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgcmVnZXg/OiBSZWdFeHAgfCBSZWdleFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBNYXJrIGNvbW1hbmQgYXMgc2xhc2ggY29tbWFuZCBhbmQgc2V0IGluZm9ybWF0aW9uLlxuXHQgKi9cblx0cHVibGljIHNsYXNoPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBzbGFzaCBjb21tYW5kIHJlc3BvbnNlcyBmb3IgdGhpcyBjb21tYW5kIHNob3VsZCBiZSBlcGhlbWVyYWwgb3Igbm90LlxuXHQgKi9cblx0cHVibGljIHNsYXNoRXBoZW1lcmFsPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQXNzaWduIHNsYXNoIGNvbW1hbmRzIHRvIFNwZWNpZmljIGd1aWxkcy4gVGhpcyBvcHRpb24gd2lsbCBtYWtlIHRoZSBjb21tYW5kcyBub3QgcmVnaXN0ZXIgZ2xvYmFsbHksIGJ1dCBvbmx5IGluIHRoZSBjaG9zZW4gc2VydmVycy5cblx0ICovXG5cdHB1YmxpYyBzbGFzaEd1aWxkcz86IFNub3dmbGFrZVtdO1xuXG5cdC8qKlxuXHQgKiBPcHRpb25zIGZvciB1c2luZyB0aGUgc2xhc2ggY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBzbGFzaE9wdGlvbnM/OiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25EYXRhW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBzdXBlclVzZXJzKHMpIG9ubHkuXG5cdCAqL1xuXHRwdWJsaWMgc3VwZXJVc2VyT25seTogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gdHlwZSBkdXJpbmcgY29tbWFuZCBleGVjdXRpb24uXG5cdCAqL1xuXHRwdWJsaWMgdHlwaW5nOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCB0byBydW4gY29tbWFuZCBieSB0aGUgdXNlci5cblx0ICovXG5cdHB1YmxpYyB1c2VyUGVybWlzc2lvbnM/OiBQZXJtaXNzaW9uUmVzb2x2YWJsZSB8IFBlcm1pc3Npb25SZXNvbHZhYmxlW10gfCBNaXNzaW5nUGVybWlzc2lvblN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBBcmd1bWVudCBvcHRpb25zIG9yIGdlbmVyYXRvci5cblx0ICovXG5cdHB1YmxpYyBfYXJncz86IEFyZ3VtZW50T3B0aW9uc1tdIHwgQXJndW1lbnRHZW5lcmF0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBjb250ZW50IHBhcnNlci5cblx0ICovXG5cdHB1YmxpYyBjb250ZW50UGFyc2VyOiBDb250ZW50UGFyc2VyO1xuXG5cdC8qKlxuXHQgKiBUaGUgYXJndW1lbnQgcnVubmVyLlxuXHQgKi9cblx0cHVibGljIGFyZ3VtZW50UnVubmVyOiBBcmd1bWVudFJ1bm5lcjtcblxuXHQvKipcblx0ICogT25seSBhbGxvd3MgdGhpcyBjb21tYW5kIHRvIGJlIGV4ZWN1dGVkIGFzIGEgc2xhc2ggY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBzbGFzaE9ubHk6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRvciBmb3IgYXJndW1lbnRzLlxuXHQgKiBXaGVuIHlpZWxkaW5nIGFyZ3VtZW50IG9wdGlvbnMsIHRoYXQgYXJndW1lbnQgaXMgcmFuIGFuZCB0aGUgcmVzdWx0IG9mIHRoZSBwcm9jZXNzaW5nIGlzIGdpdmVuLlxuXHQgKiBUaGUgbGFzdCB2YWx1ZSB3aGVuIHRoZSBnZW5lcmF0b3IgaXMgZG9uZSBpcyB0aGUgcmVzdWx0aW5nIGBhcmdzYCBmb3IgdGhlIGNvbW1hbmQncyBgZXhlY2AuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cblx0ICogQHBhcmFtIHBhcnNlZCAtIFBhcnNlZCBjb250ZW50LlxuXHQgKiBAcGFyYW0gc3RhdGUgLSBBcmd1bWVudCBwcm9jZXNzaW5nIHN0YXRlLlxuXHQgKi9cblx0cHVibGljICphcmdzKFxuXHRcdG1lc3NhZ2U6IE1lc3NhZ2UsXG5cdFx0cGFyc2VkOiBDb250ZW50UGFyc2VyUmVzdWx0LFxuXHRcdHN0YXRlOiBBcmd1bWVudFJ1bm5lclN0YXRlXG5cdCk6IEl0ZXJhYmxlSXRlcmF0b3I8QXJndW1lbnRPcHRpb25zIHwgRmxhZz4ge31cblxuXHQvKipcblx0ICogR2VuZXJhdG9yIGZvciBhcmd1bWVudHMuXG5cdCAqL1xuXHRwdWJsaWMgYXJndW1lbnRHZW5lcmF0b3I6IEFyZ3VtZW50R2VuZXJhdG9yO1xuXG5cdC8qKlxuXHQgKiBSdW5zIGJlZm9yZSBhcmd1bWVudCBwYXJzaW5nIGFuZCBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBiZWluZyBoYW5kbGVkLlxuXHQgKi9cblx0cHVibGljIGJlZm9yZShtZXNzYWdlOiBNZXNzYWdlKTogYW55IHt9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgcmFuIGJ5IHVzaW5nIGFuIGFyYml0cmFyeSBjb25kaXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBiZWluZyBoYW5kbGVkLlxuXHQgKi9cblx0cHVibGljIGNvbmRpdGlvbihtZXNzYWdlOiBNZXNzYWdlKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyBleGVjKG1lc3NhZ2U6IE1lc3NhZ2UsIGFyZ3M6IGFueSk6IGFueTtcblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UsIGFyZ3M6IGFueSk6IGFueTtcblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UsIGFyZ3M6IGFueSk6IGFueSB7XG5cdFx0dGhyb3cgbmV3IEFrYWlyb0Vycm9yKFwiTk9UX0lNUExFTUVOVEVEXCIsIHRoaXMuY29uc3RydWN0b3IubmFtZSwgXCJleGVjXCIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGUgdGhlIHNsYXNoIGNvbW1hbmRcblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIGZvciBzbGFzaCBjb21tYW5kXG5cdCAqIEBwYXJhbSBhcmdzIC0gU2xhc2ggY29tbWFuZCBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgZXhlY1NsYXNoKG1lc3NhZ2U6IEFrYWlyb01lc3NhZ2UsIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcblx0XHRpZiAodGhpcy5zbGFzaCkge1xuXHRcdFx0dGhyb3cgbmV3IEFrYWlyb0Vycm9yKFwiTk9UX0lNUExFTUVOVEVEXCIsIHRoaXMuY29uc3RydWN0b3IubmFtZSwgXCJleGVjU2xhc2hcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBjb250ZW50IHVzaW5nIHRoZSBjb21tYW5kJ3MgYXJndW1lbnRzLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdG8gdXNlLlxuXHQgKiBAcGFyYW0gY29udGVudCAtIFN0cmluZyB0byBwYXJzZS5cblx0ICovXG5cdHB1YmxpYyBwYXJzZShtZXNzYWdlOiBNZXNzYWdlLCBjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPEZsYWcgfCBhbnk+IHtcblx0XHRjb25zdCBwYXJzZWQgPSB0aGlzLmNvbnRlbnRQYXJzZXIucGFyc2UoY29udGVudCk7XG5cdFx0cmV0dXJuIHRoaXMuYXJndW1lbnRSdW5uZXIucnVuKG1lc3NhZ2UsIHBhcnNlZCwgdGhpcy5hcmd1bWVudEdlbmVyYXRvcik7XG5cdH1cblxuXHQvKipcblx0ICogUmVsb2FkcyB0aGUgY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBvdmVycmlkZSByZWxvYWQoKTogUHJvbWlzZTxDb21tYW5kPiB7XG5cdFx0cmV0dXJuIHN1cGVyLnJlbG9hZCgpIGFzIFByb21pc2U8Q29tbWFuZD47XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlcyB0aGUgY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBvdmVycmlkZSByZW1vdmUoKTogQ29tbWFuZCB7XG5cdFx0cmV0dXJuIHN1cGVyLnJlbW92ZSgpIGFzIENvbW1hbmQ7XG5cdH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIHVzZSBmb3IgY29tbWFuZCBleGVjdXRpb24gYmVoYXZpb3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZE9wdGlvbnMgZXh0ZW5kcyBBa2Fpcm9Nb2R1bGVPcHRpb25zIHtcblx0LyoqXG5cdCAqIENvbW1hbmQgbmFtZXMuXG5cdCAqL1xuXHRhbGlhc2VzPzogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIEFyZ3VtZW50IG9wdGlvbnMgb3IgZ2VuZXJhdG9yLlxuXHQgKi9cblx0YXJncz86IEFyZ3VtZW50T3B0aW9uc1tdIHwgQXJndW1lbnRHZW5lcmF0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBkZWZhdWx0IGFyZ3VtZW50IG9wdGlvbnMuXG5cdCAqL1xuXHRhcmd1bWVudERlZmF1bHRzPzogRGVmYXVsdEFyZ3VtZW50T3B0aW9ucztcblxuXHQvKipcblx0ICogRnVuY3Rpb24gdG8gcnVuIGJlZm9yZSBhcmd1bWVudCBwYXJzaW5nIGFuZCBleGVjdXRpb24uXG5cdCAqL1xuXHRiZWZvcmU/OiBCZWZvcmVBY3Rpb247XG5cblx0LyoqXG5cdCAqIFJlc3RyaWN0cyBjaGFubmVsIHRvIGVpdGhlciAnZ3VpbGQnIG9yICdkbScuXG5cdCAqL1xuXHRjaGFubmVsPzogXCJndWlsZFwiIHwgXCJkbVwiO1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCBieSB0aGUgY2xpZW50IHRvIHJ1biB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRjbGllbnRQZXJtaXNzaW9ucz86IFBlcm1pc3Npb25SZXNvbHZhYmxlIHwgUGVybWlzc2lvblJlc29sdmFibGVbXSB8IE1pc3NpbmdQZXJtaXNzaW9uU3VwcGxpZXI7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIHJ1biBvbiBtZXNzYWdlcyB0aGF0IGFyZSBub3QgZGlyZWN0bHkgY29tbWFuZHMuXG5cdCAqL1xuXHRjb25kaXRpb24/OiBFeGVjdXRpb25QcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIFRoZSBjb21tYW5kIGNvb2xkb3duIGluIG1pbGxpc2Vjb25kcy5cblx0ICovXG5cdGNvb2xkb3duPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZC5cblx0ICovXG5cdGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgYW55IHwgYW55W107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IG1lc3NhZ2UgZWRpdHMgd2lsbCBydW4gdGhpcyBjb21tYW5kLlxuXHQgKi9cblx0ZWRpdGFibGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBGbGFncyB0byB1c2Ugd2hlbiB1c2luZyBhbiBBcmd1bWVudEdlbmVyYXRvclxuXHQgKi9cblx0ZmxhZ3M/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogSUQgb2YgdXNlcihzKSB0byBpZ25vcmUgY29vbGRvd24gb3IgYSBmdW5jdGlvbiB0byBpZ25vcmUuXG5cdCAqL1xuXHRpZ25vcmVDb29sZG93bj86IFNub3dmbGFrZSB8IFNub3dmbGFrZVtdIHwgSWdub3JlQ2hlY2tQcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIElEIG9mIHVzZXIocykgdG8gaWdub3JlIGB1c2VyUGVybWlzc2lvbnNgIGNoZWNrcyBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdGlnbm9yZVBlcm1pc3Npb25zPzogU25vd2ZsYWtlIHwgU25vd2ZsYWtlW10gfCBJZ25vcmVDaGVja1ByZWRpY2F0ZTtcblxuXHQvKipcblx0ICogVGhlIGtleSB0eXBlIG9yIGtleSBnZW5lcmF0b3IgZm9yIHRoZSBsb2NrZXIuIElmIGxvY2sgaXMgYSBzdHJpbmcsIGl0J3MgZXhwZWN0ZWQgb25lIG9mICdndWlsZCcsICdjaGFubmVsJywgb3IgJ3VzZXInXG5cdCAqL1xuXHRsb2NrPzogS2V5U3VwcGxpZXIgfCBcImd1aWxkXCIgfCBcImNoYW5uZWxcIiB8IFwidXNlclwiO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byBvbmx5IGFsbG93IHRoZSBjb21tYW5kIHRvIGJlIHJ1biBpbiBOU0ZXIGNoYW5uZWxzLlxuXHQgKi9cblx0b25seU5zZnc/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBPcHRpb24gZmxhZ3MgdG8gdXNlIHdoZW4gdXNpbmcgYW4gQXJndW1lbnRHZW5lcmF0b3IuXG5cdCAqL1xuXHRvcHRpb25GbGFncz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBjbGllbnQgb3duZXIocykgb25seS5cblx0ICovXG5cdG93bmVyT25seT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFRoZSBwcmVmaXgoZXMpIHRvIG92ZXJ3cml0ZSB0aGUgZ2xvYmFsIG9uZSBmb3IgdGhpcyBjb21tYW5kLlxuXHQgKi9cblx0cHJlZml4Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBQcmVmaXhTdXBwbGllcjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gY29uc2lkZXIgcXVvdGVzLlxuXHQgKi9cblx0cXVvdGVkPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQW1vdW50IG9mIGNvbW1hbmQgdXNlcyBhbGxvd2VkIHVudGlsIGNvb2xkb3duLlxuXHQgKi9cblx0cmF0ZWxpbWl0PzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBBIHJlZ2V4IHRvIG1hdGNoIGluIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCBkaXJlY3RseSBjb21tYW5kcy4gVGhlIGFyZ3Mgb2JqZWN0IHdpbGwgaGF2ZSBgbWF0Y2hgIGFuZCBgbWF0Y2hlc2AgcHJvcGVydGllcy5cblx0ICovXG5cdHJlZ2V4PzogUmVnRXhwIHwgUmVnZXhTdXBwbGllcjtcblxuXHQvKipcblx0ICogQ3VzdG9tIHNlcGFyYXRvciBmb3IgYXJndW1lbnQgaW5wdXQuXG5cdCAqL1xuXHRzZXBhcmF0b3I/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIE1hcmsgY29tbWFuZCBhcyBzbGFzaCBjb21tYW5kIGFuZCBzZXQgaW5mb3JtYXRpb24uXG5cdCAqL1xuXHRzbGFzaD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgc2xhc2ggY29tbWFuZCByZXNwb25zZXMgZm9yIHRoaXMgY29tbWFuZCBzaG91bGQgYmUgZXBoZW1lcmFsIG9yIG5vdC5cblx0ICovXG5cdHNsYXNoRXBoZW1lcmFsPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQXNzaWduIHNsYXNoIGNvbW1hbmRzIHRvIFNwZWNpZmljIGd1aWxkcy4gVGhpcyBvcHRpb24gd2lsbCBtYWtlIHRoZSBjb21tYW5kcyBkbyBub3QgcmVnaXN0ZXIgZ2xvYmFsbHksIGJ1dCBvbmx5IHRvIHRoZSBjaG9zZW4gc2VydmVycy5cblx0ICovXG5cdHNsYXNoR3VpbGRzPzogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIE9wdGlvbnMgZm9yIHVzaW5nIHRoZSBzbGFzaCBjb21tYW5kLlxuXHQgKi9cblx0c2xhc2hPcHRpb25zPzogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uRGF0YVtdO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBjbGllbnQgc3VwZXJVc2VycyhzKSBvbmx5LlxuXHQgKi9cblx0c3VwZXJVc2VyT25seT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIHR5cGUgaW4gY2hhbm5lbCBkdXJpbmcgZXhlY3V0aW9uLlxuXHQgKi9cblx0dHlwaW5nPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogUGVybWlzc2lvbnMgcmVxdWlyZWQgYnkgdGhlIHVzZXIgdG8gcnVuIHRoaXMgY29tbWFuZC5cblx0ICovXG5cdHVzZXJQZXJtaXNzaW9ucz86IFBlcm1pc3Npb25SZXNvbHZhYmxlIHwgUGVybWlzc2lvblJlc29sdmFibGVbXSB8IE1pc3NpbmdQZXJtaXNzaW9uU3VwcGxpZXI7XG5cblx0LyoqXG5cdCAqIE9ubHkgYWxsb3cgdGhpcyBjb21tYW5kIHRvIGJlIHVzZWQgYXMgYSBzbGFzaCBjb21tYW5kLiBBbHNvIG1ha2VzIGBzbGFzaGAgYHRydWVgXG5cdCAqL1xuXHRzbGFzaE9ubHk/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdG8gcnVuIGJlZm9yZSBhcmd1bWVudCBwYXJzaW5nIGFuZCBleGVjdXRpb24uXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCB0eXBlIEJlZm9yZUFjdGlvbiA9IChtZXNzYWdlOiBNZXNzYWdlKSA9PiBhbnk7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIHN1cHBseSB0aGUga2V5IGZvciB0aGUgbG9ja2VyLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIGFyZ3MgLSBFdmFsdWF0ZWQgYXJndW1lbnRzLlxuICovXG5leHBvcnQgdHlwZSBLZXlTdXBwbGllciA9IChtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KSA9PiBzdHJpbmc7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGlmIHRoZSBjb21tYW5kIHNob3VsZCBydW4gYXJiaXRyYXJpbHkuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdG8gY2hlY2suXG4gKi9cbmV4cG9ydCB0eXBlIEV4ZWN1dGlvblByZWRpY2F0ZSA9IChtZXNzYWdlOiBNZXNzYWdlKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgaWYgYSBtZXNzYWdlIGhhcyBwZXJtaXNzaW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKiBBIG5vbi1udWxsIHJldHVybiB2YWx1ZSBzaWduaWZpZXMgdGhlIHJlYXNvbiBmb3IgbWlzc2luZyBwZXJtaXNzaW9ucy5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cbiAqL1xuZXhwb3J0IHR5cGUgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllciA9IChtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSkgPT4gUHJvbWlzZTxhbnk+IHwgYW55O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdXNlZCB0byByZXR1cm4gYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdG8gZ2V0IHJlZ2V4IGZvci5cbiAqL1xuZXhwb3J0IHR5cGUgUmVnZXhTdXBwbGllciA9IChtZXNzYWdlOiBNZXNzYWdlKSA9PiBSZWdFeHA7XG5cbi8qKlxuICogR2VuZXJhdG9yIGZvciBhcmd1bWVudHMuXG4gKiBXaGVuIHlpZWxkaW5nIGFyZ3VtZW50IG9wdGlvbnMsIHRoYXQgYXJndW1lbnQgaXMgcmFuIGFuZCB0aGUgcmVzdWx0IG9mIHRoZSBwcm9jZXNzaW5nIGlzIGdpdmVuLlxuICogVGhlIGxhc3QgdmFsdWUgd2hlbiB0aGUgZ2VuZXJhdG9yIGlzIGRvbmUgaXMgdGhlIHJlc3VsdGluZyBgYXJnc2AgZm9yIHRoZSBjb21tYW5kJ3MgYGV4ZWNgLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIHBhcnNlZCAtIFBhcnNlZCBjb250ZW50LlxuICogQHBhcmFtIHN0YXRlIC0gQXJndW1lbnQgcHJvY2Vzc2luZyBzdGF0ZS5cbiAqL1xuZXhwb3J0IHR5cGUgQXJndW1lbnRHZW5lcmF0b3IgPSAoXG5cdG1lc3NhZ2U6IE1lc3NhZ2UsXG5cdHBhcnNlZDogQ29udGVudFBhcnNlclJlc3VsdCxcblx0c3RhdGU6IEFyZ3VtZW50UnVubmVyU3RhdGVcbikgPT4gSXRlcmFibGVJdGVyYXRvcjxBcmd1bWVudE9wdGlvbnMgfCBGbGFnPjtcbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGluZ3MvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kSW50ZXJhY3Rpb24sIENvbnRleHRNZW51SW50ZXJhY3Rpb24sIE1lc3NhZ2UgfSBmcm9tIFwiZGlzY29yZC5qc1wiO1xuaW1wb3J0IEFrYWlyb01vZHVsZSBmcm9tIFwiLi4vc3RydWN0L0FrYWlyb01vZHVsZVwiO1xuaW1wb3J0IENvbW1hbmQgZnJvbSBcIi4uL3N0cnVjdC9jb21tYW5kcy9Db21tYW5kXCI7XG5pbXBvcnQgQ29udGV4dE1lbnVDb21tYW5kIGZyb20gXCIuLi9zdHJ1Y3QvY29udGV4dE1lbnVDb21tYW5kcy9Db250ZXh0TWVudUNvbW1hbmRcIjtcbmltcG9ydCBJbmhpYml0b3IgZnJvbSBcIi4uL3N0cnVjdC9pbmhpYml0b3JzL0luaGliaXRvclwiO1xuaW1wb3J0IExpc3RlbmVyIGZyb20gXCIuLi9zdHJ1Y3QvbGlzdGVuZXJzL0xpc3RlbmVyXCI7XG5pbXBvcnQgVGFzayBmcm9tIFwiLi4vc3RydWN0L3Rhc2tzL1Rhc2tcIjtcbmltcG9ydCBBa2Fpcm9NZXNzYWdlIGZyb20gXCIuLi91dGlsL0FrYWlyb01lc3NhZ2VcIjtcbmltcG9ydCB7IEJ1aWx0SW5SZWFzb25zIH0gZnJvbSBcIi4uL3V0aWwvQ29uc3RhbnRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWthaXJvSGFuZGxlckV2ZW50cyB7XG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBtb2R1bGUgaXMgbG9hZGVkLlxuXHQgKiBAcGFyYW0gbW9kIC0gTW9kdWxlIGxvYWRlZC5cblx0ICogQHBhcmFtIGlzUmVsb2FkIC0gV2hldGhlciBvciBub3QgdGhpcyB3YXMgYSByZWxvYWQuXG5cdCAqL1xuXHRsb2FkOiBbbW9kOiBBa2Fpcm9Nb2R1bGUsIGlzUmVsb2FkOiBib29sZWFuXTtcblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIG1vZHVsZSBpcyByZW1vdmVkLlxuXHQgKiBAcGFyYW0gbW9kIC0gTW9kdWxlIHJlbW92ZWQuXG5cdCAqL1xuXHRyZW1vdmU6IFttb2Q6IEFrYWlyb01vZHVsZV07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEhhbmRsZXJFdmVudHMgZXh0ZW5kcyBBa2Fpcm9IYW5kbGVyRXZlbnRzIHtcblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgaXMgYmxvY2tlZCBieSBhIHBvc3QtbWVzc2FnZSBpbmhpYml0b3IuIFRoZSBidWlsdC1pbiBpbmhpYml0b3JzIGFyZSBgb3duZXJgLCBgc3VwZXJVc2VyYCwgYGd1aWxkYCwgYW5kIGBkbWAuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBzZW50LlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgYmxvY2tlZC5cblx0ICogQHBhcmFtIHJlYXNvbiAtIFJlYXNvbiBmb3IgdGhlIGJsb2NrLlxuXHQgKi9cblx0Y29tbWFuZEJsb2NrZWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCByZWFzb246IHR5cGVvZiBCdWlsdEluUmVhc29ucyB8IHN0cmluZ107XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgYnJlYWtzIG91dCB3aXRoIGEgcmV0cnkgcHJvbXB0LlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJlaW5nIGJyb2tlbiBvdXQuXG5cdCAqIEBwYXJhbSBicmVha01lc3NhZ2UgLSBCcmVha291dCBtZXNzYWdlLlxuXHQgKi9cblx0Y29tbWFuZEJyZWFrb3V0OiBbbWVzc2FnZTogTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgYnJlYWtNZXNzYWdlOiBNZXNzYWdlXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBpcyBjYW5jZWxsZWQgdmlhIHByb21wdCBvciBhcmd1bWVudCBjYW5jZWwuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBzZW50LlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSByZXRyeU1lc3NhZ2UgLSBNZXNzYWdlIHRvIHJldHJ5IHdpdGguIFRoaXMgaXMgcGFzc2VkIHdoZW4gYSBwcm9tcHQgd2FzIGJyb2tlbiBvdXQgb2Ygd2l0aCBhIG1lc3NhZ2UgdGhhdCBsb29rcyBsaWtlIGEgY29tbWFuZC5cblx0ICovXG5cdGNvbW1hbmRDYW5jZWxsZWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCByZXRyeU1lc3NhZ2U/OiBNZXNzYWdlXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBmaW5pc2hlcyBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBzZW50LlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3MgcGFzc2VkIHRvIHRoZSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gcmV0dXJuVmFsdWUgLSBUaGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZS5cblx0ICovXG5cdGNvbW1hbmRGaW5pc2hlZDogW21lc3NhZ2U6IE1lc3NhZ2UsIGNvbW1hbmQ6IENvbW1hbmQsIGFyZ3M6IGFueSwgcmV0dXJuVmFsdWU6IGFueV07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgaXMgaW52YWxpZFxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKi9cblx0Y29tbWFuZEludmFsaWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBpcyBsb2NrZWRcblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqIEBwYXJhbSBjb21tYW5kIC0gQ29tbWFuZCBleGVjdXRlZC5cblx0ICovXG5cdGNvbW1hbmRMb2NrZWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBzdGFydHMgZXhlY3V0aW9uLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKiBAcGFyYW0gYXJncyAtIFRoZSBhcmdzIHBhc3NlZCB0byB0aGUgY29tbWFuZC5cblx0ICovXG5cdGNvbW1hbmRTdGFydGVkOiBbbWVzc2FnZTogTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgYXJnczogYW55XTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBvciBzbGFzaCBjb21tYW5kIGlzIGZvdW5kIG9uIGNvb2xkb3duLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSByZW1haW5pbmcgLSBSZW1haW5pbmcgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIGNvb2xkb3duLlxuXHQgKi9cblx0Y29vbGRvd246IFttZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgcmVtYWluaW5nOiBudW1iZXJdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb21tYW5kIG9yIGluaGliaXRvciBlcnJvcnMuXG5cdCAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvci5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqIEBwYXJhbSBjb21tYW5kIC0gQ29tbWFuZCBleGVjdXRlZC5cblx0ICovXG5cdGVycm9yOiBbZXJyb3I6IEVycm9yLCBtZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kPzogQ29tbWFuZF07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIHVzZXIgaXMgaW4gYSBjb21tYW5kIGFyZ3VtZW50IHByb21wdC5cblx0ICogVXNlZCB0byBwcmV2ZW50IHVzYWdlIG9mIGNvbW1hbmRzIGR1cmluZyBhIHByb21wdC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqL1xuXHRpblByb21wdDogW21lc3NhZ2U6IE1lc3NhZ2VdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb21tYW5kIGlzIGxvYWRlZC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBNb2R1bGUgbG9hZGVkLlxuXHQgKiBAcGFyYW0gaXNSZWxvYWQgLSBXaGV0aGVyIG9yIG5vdCB0aGlzIHdhcyBhIHJlbG9hZC5cblx0ICovXG5cdGxvYWQ6IFtjb21tYW5kOiBDb21tYW5kLCBpc1JlbG9hZDogYm9vbGVhbl07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIG1lc3NhZ2UgaXMgYmxvY2tlZCBieSBhIHByZS1tZXNzYWdlIGluaGliaXRvci4gVGhlIGJ1aWx0LWluIGluaGliaXRvcnMgYXJlICdjbGllbnQnIGFuZCAnYm90Jy5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqIEBwYXJhbSByZWFzb24gLSBSZWFzb24gZm9yIHRoZSBibG9jay5cblx0ICovXG5cdG1lc3NhZ2VCbG9ja2VkOiBbbWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UsIHJlYXNvbjogc3RyaW5nXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgbWVzc2FnZSBkb2VzIG5vdCBzdGFydCB3aXRoIHRoZSBwcmVmaXggb3IgbWF0Y2ggYSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICovXG5cdG1lc3NhZ2VJbnZhbGlkOiBbbWVzc2FnZTogTWVzc2FnZV07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgcGVybWlzc2lvbnMgY2hlY2sgaXMgZmFpbGVkLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSB0eXBlIC0gRWl0aGVyICdjbGllbnQnIG9yICd1c2VyJy5cblx0ICogQHBhcmFtIG1pc3NpbmcgLSBUaGUgbWlzc2luZyBwZXJtaXNzaW9ucy5cblx0ICovXG5cdG1pc3NpbmdQZXJtaXNzaW9uczogW21lc3NhZ2U6IE1lc3NhZ2UsIGNvbW1hbmQ6IENvbW1hbmQsIHR5cGU6IFwiY2xpZW50XCIgfCBcInVzZXJcIiwgbWlzc2luZz86IGFueV07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgaXMgcmVtb3ZlZC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIHJlbW92ZWQuXG5cdCAqL1xuXHRyZW1vdmU6IFtjb21tYW5kOiBDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgc2xhc2ggY29tbWFuZCBpcyBibG9ja2VkIGJ5IGEgcG9zdC1tZXNzYWdlIGluaGliaXRvci4gVGhlIGJ1aWx0LWluIGluaGliaXRvcnMgYXJlIGBvd25lcmAsIGBzdXBlclVzZXJgLCBgZ3VpbGRgLCBhbmQgYGRtYC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgc2xhc2ggbWVzc2FnZS5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSByZWFzb24gLSBSZWFzb24gZm9yIHRoZSBibG9jay5cblx0ICovXG5cdHNsYXNoQmxvY2tlZDogW21lc3NhZ2U6IEFrYWlyb01lc3NhZ2UsIGNvbW1hbmQ6IENvbW1hbmQsIHJlYXNvbjogc3RyaW5nXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgc2xhc2ggY29tbWFuZCBlcnJvcnMuXG5cdCAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvci5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgc2xhc2ggbWVzc2FnZS5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKi9cblx0c2xhc2hFcnJvcjogW2Vycm9yOiBFcnJvciwgbWVzc2FnZTogQWthaXJvTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZF07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIHNsYXNoIGNvbW1hbmQgZmluaXNoZXMgZXhlY3V0aW9uLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBzbGFzaCBtZXNzYWdlLlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3MgcGFzc2VkIHRvIHRoZSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gcmV0dXJuVmFsdWUgLSBUaGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZS5cblx0ICovXG5cdHNsYXNoRmluaXNoZWQ6IFttZXNzYWdlOiBBa2Fpcm9NZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCBhcmdzOiBhbnksIHJldHVyblZhbHVlOiBhbnldO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBzbGFzaCBjb21tYW5kIHBlcm1pc3Npb25zIGNoZWNrIGlzIGZhaWxlZC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgc2xhc2ggbWVzc2FnZS5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSB0eXBlIC0gRWl0aGVyICdjbGllbnQnIG9yICd1c2VyJy5cblx0ICogQHBhcmFtIG1pc3NpbmcgLSBUaGUgbWlzc2luZyBwZXJtaXNzaW9ucy5cblx0ICovXG5cdHNsYXNoTWlzc2luZ1Blcm1pc3Npb25zOiBbbWVzc2FnZTogQWthaXJvTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgdHlwZTogXCJ1c2VyXCIgfCBcImNsaWVudFwiLCBtaXNzaW5nPzogYW55XTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgYW4gaW5jb21pbmcgaW50ZXJhY3Rpb24gY29tbWFuZCBjYW5ub3QgYmUgbWF0Y2hlZCB3aXRoIGEgY29tbWFuZC5cblx0ICogQHBhcmFtIGludGVyYWN0aW9uIC0gVGhlIGluY29taW5nIGludGVyYWN0aW9uLlxuXHQgKi9cblx0c2xhc2hOb3RGb3VuZDogW2ludGVyYWN0aW9uOiBDb21tYW5kSW50ZXJhY3Rpb25dO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBzbGFzaCBjb21tYW5kIHN0YXJ0cyBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIHNsYXNoIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSBjb21tYW5kIC0gQ29tbWFuZCBleGVjdXRlZC5cblx0ICogQHBhcmFtIGFyZ3MgLSBUaGUgYXJncyBwYXNzZWQgdG8gdGhlIGNvbW1hbmQuXG5cdCAqL1xuXHRzbGFzaFN0YXJ0ZWQ6IFttZXNzYWdlOiBBa2Fpcm9NZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCBhcmdzOiBhbnldO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluaGliaXRvckhhbmRsZXJFdmVudHMgZXh0ZW5kcyBBa2Fpcm9IYW5kbGVyRXZlbnRzIHtcblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhbiBpbmhpYml0b3IgaXMgcmVtb3ZlZC5cblx0ICogQHBhcmFtIGluaGliaXRvciAtIEluaGliaXRvciByZW1vdmVkLlxuXHQgKi9cblx0cmVtb3ZlOiBbaW5oaWJpdG9yOiBJbmhpYml0b3JdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYW4gaW5oaWJpdG9yIGlzIGxvYWRlZC5cblx0ICogQHBhcmFtIGluaGliaXRvciAtIEluaGliaXRvciBsb2FkZWQuXG5cdCAqIEBwYXJhbSBpc1JlbG9hZCAtIFdoZXRoZXIgb3Igbm90IHRoaXMgd2FzIGEgcmVsb2FkLlxuXHQgKi9cblx0bG9hZDogW2luaGliaXRvcjogSW5oaWJpdG9yLCBpc1JlbG9hZDogYm9vbGVhbl07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdGVuZXJIYW5kbGVyRXZlbnRzIGV4dGVuZHMgQWthaXJvSGFuZGxlckV2ZW50cyB7XG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBsaXN0ZW5lciBpcyByZW1vdmVkLlxuXHQgKiBAcGFyYW0gbGlzdGVuZXIgLSBMaXN0ZW5lciByZW1vdmVkLlxuXHQgKi9cblx0cmVtb3ZlOiBbbGlzdGVuZXI6IExpc3RlbmVyXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgbGlzdGVuZXIgaXMgbG9hZGVkLlxuXHQgKiBAcGFyYW0gbGlzdGVuZXIgLSBMaXN0ZW5lciBsb2FkZWQuXG5cdCAqIEBwYXJhbSBpc1JlbG9hZCAtIFdoZXRoZXIgb3Igbm90IHRoaXMgd2FzIGEgcmVsb2FkLlxuXHQgKi9cblx0bG9hZDogW2xpc3RlbmVyOiBMaXN0ZW5lciwgaXNSZWxvYWQ6IGJvb2xlYW5dO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tIYW5kbGVyRXZlbnRzIGV4dGVuZHMgQWthaXJvSGFuZGxlckV2ZW50cyB7XG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSB0YXNrIGlzIHJlbW92ZWQuXG5cdCAqIEBwYXJhbSB0YXNrIC0gVGFzayByZW1vdmVkLlxuXHQgKi9cblx0cmVtb3ZlOiBbdGFzazogVGFza107XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIHRhc2sgaXMgbG9hZGVkLlxuXHQgKiBAcGFyYW0gdGFzayAtIFRhc2sgbG9hZGVkLlxuXHQgKiBAcGFyYW0gaXNSZWxvYWQgLSBXaGV0aGVyIG9yIG5vdCB0aGlzIHdhcyBhIHJlbG9hZC5cblx0ICovXG5cdGxvYWQ6IFt0YXNrOiBUYXNrLCBpc1JlbG9hZDogYm9vbGVhbl07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE1lbnVDb21tYW5kSGFuZGxlckV2ZW50cyBleHRlbmRzIEFrYWlyb0hhbmRsZXJFdmVudHMge1xuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29udGV4dCBtZW51IGNvbW1hbmQgaXMgcmVtb3ZlZC5cblx0ICogQHBhcmFtIGNvbnRleHRNZW51IC0gQ29udGV4dCBtZW51IGNvbW1hbmQgcmVtb3ZlZC5cblx0ICovXG5cdHJlbW92ZTogW2NvbnRleHRNZW51OiBDb250ZXh0TWVudUNvbW1hbmRdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb250ZXh0IG1lbnUgY29tbWFuZCBpcyBsb2FkZWQuXG5cdCAqIEBwYXJhbSBjb250ZXh0TWVudSAtIENvbnRleHQgbWVudSBjb21tYW5kIGxvYWRlZC5cblx0ICogQHBhcmFtIGlzUmVsb2FkIC0gV2hldGhlciBvciBub3QgdGhpcyB3YXMgYSByZWxvYWQuXG5cdCAqL1xuXHRsb2FkOiBbY29udGV4dE1lbnU6IENvbnRleHRNZW51Q29tbWFuZCwgaXNSZWxvYWQ6IGJvb2xlYW5dO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb250ZXh0IG1lbnUgY29tbWFuZCBlcnJvcnMuXG5cdCAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvci5cblx0ICogQHBhcmFtIGludGVyYWN0aW9uIC0gVGhlIGludGVyYWN0aW9uLlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqL1xuXHRlcnJvcjogW2Vycm9yOiBFcnJvciwgaW50ZXJhY3Rpb246IENvbnRleHRNZW51SW50ZXJhY3Rpb24sIGNvbW1hbmQ6IENvbnRleHRNZW51Q29tbWFuZF07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbnRleHQgbWVudSBjb21tYW5kIGZpbmlzaGVzIGV4ZWN1dGlvbi5cblx0ICogQHBhcmFtIGludGVyYWN0aW9uIC0gVGhlIGludGVyYWN0aW9uLlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSByZXR1cm5WYWx1ZSAtIFRoZSBjb21tYW5kJ3MgcmV0dXJuIHZhbHVlLlxuXHQgKi9cblx0ZmluaXNoZWQ6IFtpbnRlcmFjdGlvbjogQ29udGV4dE1lbnVJbnRlcmFjdGlvbiwgY29tbWFuZDogQ29udGV4dE1lbnVDb21tYW5kLCByZXR1cm5WYWx1ZTogYW55XTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgYW4gaW5jb21pbmcgaW50ZXJhY3Rpb24gY29tbWFuZCBjYW5ub3QgYmUgbWF0Y2hlZCB3aXRoIGEgY29tbWFuZC5cblx0ICogQHBhcmFtIGludGVyYWN0aW9uIC0gVGhlIGluY29taW5nIGludGVyYWN0aW9uLlxuXHQgKi9cblx0bm90Rm91bmQ6IFtpbnRlcmFjdGlvbjogQ29udGV4dE1lbnVJbnRlcmFjdGlvbl07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgc3RhcnRzIGV4ZWN1dGlvbi5cblx0ICogQHBhcmFtIGludGVyYWN0aW9uIC0gVGhlIGludGVyYWN0aW9uLlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3MgcGFzc2VkIHRvIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0c3RhcnRlZDogW2ludGVyYWN0aW9uOiBDb250ZXh0TWVudUludGVyYWN0aW9uLCBjb21tYW5kOiBDb250ZXh0TWVudUNvbW1hbmRdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb21tYW5kIGlzIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSBpbnRlcmFjdGlvbiAtIFRoZSBpbnRlcmFjdGlvbi5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSByZWFzb24gLSBSZWFzb24gZm9yIHRoZSBibG9jay5cblx0ICovXG5cdGJsb2NrZWQ6IFtcblx0XHRpbnRlcmFjdGlvbjogQ29udGV4dE1lbnVJbnRlcmFjdGlvbixcblx0XHRjb21tYW5kOiBDb21tYW5kLFxuXHRcdHJlYXNvbjogdHlwZW9mIEJ1aWx0SW5SZWFzb25zLk9XTkVSIHwgdHlwZW9mIEJ1aWx0SW5SZWFzb25zLlNVUEVSX1VTRVJcblx0XTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGluZ3MvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kSW50ZXJhY3Rpb24sIENvbnRleHRNZW51SW50ZXJhY3Rpb24sIE1lc3NhZ2UgfSBmcm9tIFwiZGlzY29yZC5qc1wiO1xuaW1wb3J0IEFrYWlyb01vZHVsZSBmcm9tIFwiLi4vc3RydWN0L0FrYWlyb01vZHVsZVwiO1xuaW1wb3J0IENvbW1hbmQgZnJvbSBcIi4uL3N0cnVjdC9jb21tYW5kcy9Db21tYW5kXCI7XG5pbXBvcnQgQ29udGV4dE1lbnVDb21tYW5kIGZyb20gXCIuLi9zdHJ1Y3QvY29udGV4dE1lbnVDb21tYW5kcy9Db250ZXh0TWVudUNvbW1hbmRcIjtcbmltcG9ydCBJbmhpYml0b3IgZnJvbSBcIi4uL3N0cnVjdC9pbmhpYml0b3JzL0luaGliaXRvclwiO1xuaW1wb3J0IExpc3RlbmVyIGZyb20gXCIuLi9zdHJ1Y3QvbGlzdGVuZXJzL0xpc3RlbmVyXCI7XG5pbXBvcnQgVGFzayBmcm9tIFwiLi4vc3RydWN0L3Rhc2tzL1Rhc2tcIjtcbmltcG9ydCBBa2Fpcm9NZXNzYWdlIGZyb20gXCIuLi91dGlsL0FrYWlyb01lc3NhZ2VcIjtcbmltcG9ydCB7IEJ1aWx0SW5SZWFzb25zIH0gZnJvbSBcIi4uL3V0aWwvQ29uc3RhbnRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWthaXJvSGFuZGxlckV2ZW50cyB7XG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBtb2R1bGUgaXMgbG9hZGVkLlxuXHQgKiBAcGFyYW0gbW9kIC0gTW9kdWxlIGxvYWRlZC5cblx0ICogQHBhcmFtIGlzUmVsb2FkIC0gV2hldGhlciBvciBub3QgdGhpcyB3YXMgYSByZWxvYWQuXG5cdCAqL1xuXHRsb2FkOiBbbW9kOiBBa2Fpcm9Nb2R1bGUsIGlzUmVsb2FkOiBib29sZWFuXTtcblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIG1vZHVsZSBpcyByZW1vdmVkLlxuXHQgKiBAcGFyYW0gbW9kIC0gTW9kdWxlIHJlbW92ZWQuXG5cdCAqL1xuXHRyZW1vdmU6IFttb2Q6IEFrYWlyb01vZHVsZV07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEhhbmRsZXJFdmVudHMgZXh0ZW5kcyBBa2Fpcm9IYW5kbGVyRXZlbnRzIHtcblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgaXMgYmxvY2tlZCBieSBhIHBvc3QtbWVzc2FnZSBpbmhpYml0b3IuIFRoZSBidWlsdC1pbiBpbmhpYml0b3JzIGFyZSBgb3duZXJgLCBgc3VwZXJVc2VyYCwgYGd1aWxkYCwgYW5kIGBkbWAuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBzZW50LlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgYmxvY2tlZC5cblx0ICogQHBhcmFtIHJlYXNvbiAtIFJlYXNvbiBmb3IgdGhlIGJsb2NrLlxuXHQgKi9cblx0Y29tbWFuZEJsb2NrZWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCByZWFzb246IHR5cGVvZiBCdWlsdEluUmVhc29ucyB8IHN0cmluZ107XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgYnJlYWtzIG91dCB3aXRoIGEgcmV0cnkgcHJvbXB0LlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJlaW5nIGJyb2tlbiBvdXQuXG5cdCAqIEBwYXJhbSBicmVha01lc3NhZ2UgLSBCcmVha291dCBtZXNzYWdlLlxuXHQgKi9cblx0Y29tbWFuZEJyZWFrb3V0OiBbbWVzc2FnZTogTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgYnJlYWtNZXNzYWdlOiBNZXNzYWdlXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBpcyBjYW5jZWxsZWQgdmlhIHByb21wdCBvciBhcmd1bWVudCBjYW5jZWwuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBzZW50LlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSByZXRyeU1lc3NhZ2UgLSBNZXNzYWdlIHRvIHJldHJ5IHdpdGguIFRoaXMgaXMgcGFzc2VkIHdoZW4gYSBwcm9tcHQgd2FzIGJyb2tlbiBvdXQgb2Ygd2l0aCBhIG1lc3NhZ2UgdGhhdCBsb29rcyBsaWtlIGEgY29tbWFuZC5cblx0ICovXG5cdGNvbW1hbmRDYW5jZWxsZWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCByZXRyeU1lc3NhZ2U/OiBNZXNzYWdlXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBmaW5pc2hlcyBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBzZW50LlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3MgcGFzc2VkIHRvIHRoZSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gcmV0dXJuVmFsdWUgLSBUaGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZS5cblx0ICovXG5cdGNvbW1hbmRGaW5pc2hlZDogW21lc3NhZ2U6IE1lc3NhZ2UsIGNvbW1hbmQ6IENvbW1hbmQsIGFyZ3M6IGFueSwgcmV0dXJuVmFsdWU6IGFueV07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgaXMgaW52YWxpZFxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKi9cblx0Y29tbWFuZEludmFsaWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBpcyBsb2NrZWRcblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqIEBwYXJhbSBjb21tYW5kIC0gQ29tbWFuZCBleGVjdXRlZC5cblx0ICovXG5cdGNvbW1hbmRMb2NrZWQ6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBzdGFydHMgZXhlY3V0aW9uLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKiBAcGFyYW0gYXJncyAtIFRoZSBhcmdzIHBhc3NlZCB0byB0aGUgY29tbWFuZC5cblx0ICovXG5cdGNvbW1hbmRTdGFydGVkOiBbbWVzc2FnZTogTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgYXJnczogYW55XTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBvciBzbGFzaCBjb21tYW5kIGlzIGZvdW5kIG9uIGNvb2xkb3duLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSByZW1haW5pbmcgLSBSZW1haW5pbmcgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIGNvb2xkb3duLlxuXHQgKi9cblx0Y29vbGRvd246IFttZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgcmVtYWluaW5nOiBudW1iZXJdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb21tYW5kIG9yIGluaGliaXRvciBlcnJvcnMuXG5cdCAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvci5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqIEBwYXJhbSBjb21tYW5kIC0gQ29tbWFuZCBleGVjdXRlZC5cblx0ICovXG5cdGVycm9yOiBbZXJyb3I6IEVycm9yLCBtZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kPzogQ29tbWFuZF07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIHVzZXIgaXMgaW4gYSBjb21tYW5kIGFyZ3VtZW50IHByb21wdC5cblx0ICogVXNlZCB0byBwcmV2ZW50IHVzYWdlIG9mIGNvbW1hbmRzIGR1cmluZyBhIHByb21wdC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqL1xuXHRpblByb21wdDogW21lc3NhZ2U6IE1lc3NhZ2VdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb21tYW5kIGlzIGxvYWRlZC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBNb2R1bGUgbG9hZGVkLlxuXHQgKiBAcGFyYW0gaXNSZWxvYWQgLSBXaGV0aGVyIG9yIG5vdCB0aGlzIHdhcyBhIHJlbG9hZC5cblx0ICovXG5cdGxvYWQ6IFtjb21tYW5kOiBDb21tYW5kLCBpc1JlbG9hZDogYm9vbGVhbl07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIG1lc3NhZ2UgaXMgYmxvY2tlZCBieSBhIHByZS1tZXNzYWdlIGluaGliaXRvci4gVGhlIGJ1aWx0LWluIGluaGliaXRvcnMgYXJlICdjbGllbnQnIGFuZCAnYm90Jy5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHNlbnQuXG5cdCAqIEBwYXJhbSByZWFzb24gLSBSZWFzb24gZm9yIHRoZSBibG9jay5cblx0ICovXG5cdG1lc3NhZ2VCbG9ja2VkOiBbbWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UsIHJlYXNvbjogc3RyaW5nXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgbWVzc2FnZSBkb2VzIG5vdCBzdGFydCB3aXRoIHRoZSBwcmVmaXggb3IgbWF0Y2ggYSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICovXG5cdG1lc3NhZ2VJbnZhbGlkOiBbbWVzc2FnZTogTWVzc2FnZV07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgcGVybWlzc2lvbnMgY2hlY2sgaXMgZmFpbGVkLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSB0eXBlIC0gRWl0aGVyICdjbGllbnQnIG9yICd1c2VyJy5cblx0ICogQHBhcmFtIG1pc3NpbmcgLSBUaGUgbWlzc2luZyBwZXJtaXNzaW9ucy5cblx0ICovXG5cdG1pc3NpbmdQZXJtaXNzaW9uczogW21lc3NhZ2U6IE1lc3NhZ2UsIGNvbW1hbmQ6IENvbW1hbmQsIHR5cGU6IFwiY2xpZW50XCIgfCBcInVzZXJcIiwgbWlzc2luZz86IGFueV07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbW1hbmQgaXMgcmVtb3ZlZC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIHJlbW92ZWQuXG5cdCAqL1xuXHRyZW1vdmU6IFtjb21tYW5kOiBDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgc2xhc2ggY29tbWFuZCBpcyBibG9ja2VkIGJ5IGEgcG9zdC1tZXNzYWdlIGluaGliaXRvci4gVGhlIGJ1aWx0LWluIGluaGliaXRvcnMgYXJlIGBvd25lcmAsIGBzdXBlclVzZXJgLCBgZ3VpbGRgLCBhbmQgYGRtYC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgc2xhc2ggbWVzc2FnZS5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSByZWFzb24gLSBSZWFzb24gZm9yIHRoZSBibG9jay5cblx0ICovXG5cdHNsYXNoQmxvY2tlZDogW21lc3NhZ2U6IEFrYWlyb01lc3NhZ2UsIGNvbW1hbmQ6IENvbW1hbmQsIHJlYXNvbjogc3RyaW5nXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgc2xhc2ggY29tbWFuZCBlcnJvcnMuXG5cdCAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvci5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgc2xhc2ggbWVzc2FnZS5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKi9cblx0c2xhc2hFcnJvcjogW2Vycm9yOiBFcnJvciwgbWVzc2FnZTogQWthaXJvTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZF07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIHNsYXNoIGNvbW1hbmQgZmluaXNoZXMgZXhlY3V0aW9uLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBzbGFzaCBtZXNzYWdlLlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgZXhlY3V0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3MgcGFzc2VkIHRvIHRoZSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gcmV0dXJuVmFsdWUgLSBUaGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZS5cblx0ICovXG5cdHNsYXNoRmluaXNoZWQ6IFttZXNzYWdlOiBBa2Fpcm9NZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCBhcmdzOiBhbnksIHJldHVyblZhbHVlOiBhbnldO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBzbGFzaCBjb21tYW5kIHBlcm1pc3Npb25zIGNoZWNrIGlzIGZhaWxlZC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgc2xhc2ggbWVzc2FnZS5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqIEBwYXJhbSB0eXBlIC0gRWl0aGVyICdjbGllbnQnIG9yICd1c2VyJy5cblx0ICogQHBhcmFtIG1pc3NpbmcgLSBUaGUgbWlzc2luZyBwZXJtaXNzaW9ucy5cblx0ICovXG5cdHNsYXNoTWlzc2luZ1Blcm1pc3Npb25zOiBbbWVzc2FnZTogQWthaXJvTWVzc2FnZSwgY29tbWFuZDogQ29tbWFuZCwgdHlwZTogXCJ1c2VyXCIgfCBcImNsaWVudFwiLCBtaXNzaW5nPzogYW55XTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgYW4gaW5jb21pbmcgaW50ZXJhY3Rpb24gY29tbWFuZCBjYW5ub3QgYmUgbWF0Y2hlZCB3aXRoIGEgY29tbWFuZC5cblx0ICogQHBhcmFtIGludGVyYWN0aW9uIC0gVGhlIGluY29taW5nIGludGVyYWN0aW9uLlxuXHQgKi9cblx0c2xhc2hOb3RGb3VuZDogW2ludGVyYWN0aW9uOiBDb21tYW5kSW50ZXJhY3Rpb25dO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBzbGFzaCBjb21tYW5kIHN0YXJ0cyBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIHNsYXNoIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSBjb21tYW5kIC0gQ29tbWFuZCBleGVjdXRlZC5cblx0ICogQHBhcmFtIGFyZ3MgLSBUaGUgYXJncyBwYXNzZWQgdG8gdGhlIGNvbW1hbmQuXG5cdCAqL1xuXHRzbGFzaFN0YXJ0ZWQ6IFttZXNzYWdlOiBBa2Fpcm9NZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kLCBhcmdzOiBhbnldO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBub3JtYWwgY29tbWFuZCBpcyBibG9ja2VkIGJlY2F1c2UgdGhlIGNvbW1hbmQgaXMgY29uZmlndXJlZCB0byBiZSBgc2xhc2hPbmx5YFxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2Ugc2VudC5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGJsb2NrZWQuXG5cdCAqL1xuXHRzbGFzaE9ubHk6IFttZXNzYWdlOiBNZXNzYWdlLCBjb21tYW5kOiBDb21tYW5kXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmhpYml0b3JIYW5kbGVyRXZlbnRzIGV4dGVuZHMgQWthaXJvSGFuZGxlckV2ZW50cyB7XG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYW4gaW5oaWJpdG9yIGlzIHJlbW92ZWQuXG5cdCAqIEBwYXJhbSBpbmhpYml0b3IgLSBJbmhpYml0b3IgcmVtb3ZlZC5cblx0ICovXG5cdHJlbW92ZTogW2luaGliaXRvcjogSW5oaWJpdG9yXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGFuIGluaGliaXRvciBpcyBsb2FkZWQuXG5cdCAqIEBwYXJhbSBpbmhpYml0b3IgLSBJbmhpYml0b3IgbG9hZGVkLlxuXHQgKiBAcGFyYW0gaXNSZWxvYWQgLSBXaGV0aGVyIG9yIG5vdCB0aGlzIHdhcyBhIHJlbG9hZC5cblx0ICovXG5cdGxvYWQ6IFtpbmhpYml0b3I6IEluaGliaXRvciwgaXNSZWxvYWQ6IGJvb2xlYW5dO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RlbmVySGFuZGxlckV2ZW50cyBleHRlbmRzIEFrYWlyb0hhbmRsZXJFdmVudHMge1xuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgbGlzdGVuZXIgaXMgcmVtb3ZlZC5cblx0ICogQHBhcmFtIGxpc3RlbmVyIC0gTGlzdGVuZXIgcmVtb3ZlZC5cblx0ICovXG5cdHJlbW92ZTogW2xpc3RlbmVyOiBMaXN0ZW5lcl07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGxpc3RlbmVyIGlzIGxvYWRlZC5cblx0ICogQHBhcmFtIGxpc3RlbmVyIC0gTGlzdGVuZXIgbG9hZGVkLlxuXHQgKiBAcGFyYW0gaXNSZWxvYWQgLSBXaGV0aGVyIG9yIG5vdCB0aGlzIHdhcyBhIHJlbG9hZC5cblx0ICovXG5cdGxvYWQ6IFtsaXN0ZW5lcjogTGlzdGVuZXIsIGlzUmVsb2FkOiBib29sZWFuXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYXNrSGFuZGxlckV2ZW50cyBleHRlbmRzIEFrYWlyb0hhbmRsZXJFdmVudHMge1xuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgdGFzayBpcyByZW1vdmVkLlxuXHQgKiBAcGFyYW0gdGFzayAtIFRhc2sgcmVtb3ZlZC5cblx0ICovXG5cdHJlbW92ZTogW3Rhc2s6IFRhc2tdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSB0YXNrIGlzIGxvYWRlZC5cblx0ICogQHBhcmFtIHRhc2sgLSBUYXNrIGxvYWRlZC5cblx0ICogQHBhcmFtIGlzUmVsb2FkIC0gV2hldGhlciBvciBub3QgdGhpcyB3YXMgYSByZWxvYWQuXG5cdCAqL1xuXHRsb2FkOiBbdGFzazogVGFzaywgaXNSZWxvYWQ6IGJvb2xlYW5dO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRNZW51Q29tbWFuZEhhbmRsZXJFdmVudHMgZXh0ZW5kcyBBa2Fpcm9IYW5kbGVyRXZlbnRzIHtcblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGNvbnRleHQgbWVudSBjb21tYW5kIGlzIHJlbW92ZWQuXG5cdCAqIEBwYXJhbSBjb250ZXh0TWVudSAtIENvbnRleHQgbWVudSBjb21tYW5kIHJlbW92ZWQuXG5cdCAqL1xuXHRyZW1vdmU6IFtjb250ZXh0TWVudTogQ29udGV4dE1lbnVDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29udGV4dCBtZW51IGNvbW1hbmQgaXMgbG9hZGVkLlxuXHQgKiBAcGFyYW0gY29udGV4dE1lbnUgLSBDb250ZXh0IG1lbnUgY29tbWFuZCBsb2FkZWQuXG5cdCAqIEBwYXJhbSBpc1JlbG9hZCAtIFdoZXRoZXIgb3Igbm90IHRoaXMgd2FzIGEgcmVsb2FkLlxuXHQgKi9cblx0bG9hZDogW2NvbnRleHRNZW51OiBDb250ZXh0TWVudUNvbW1hbmQsIGlzUmVsb2FkOiBib29sZWFuXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29udGV4dCBtZW51IGNvbW1hbmQgZXJyb3JzLlxuXHQgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IuXG5cdCAqIEBwYXJhbSBpbnRlcmFjdGlvbiAtIFRoZSBpbnRlcmFjdGlvbi5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKi9cblx0ZXJyb3I6IFtlcnJvcjogRXJyb3IsIGludGVyYWN0aW9uOiBDb250ZXh0TWVudUludGVyYWN0aW9uLCBjb21tYW5kOiBDb250ZXh0TWVudUNvbW1hbmRdO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb250ZXh0IG1lbnUgY29tbWFuZCBmaW5pc2hlcyBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBpbnRlcmFjdGlvbiAtIFRoZSBpbnRlcmFjdGlvbi5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKiBAcGFyYW0gcmV0dXJuVmFsdWUgLSBUaGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZS5cblx0ICovXG5cdGZpbmlzaGVkOiBbaW50ZXJhY3Rpb246IENvbnRleHRNZW51SW50ZXJhY3Rpb24sIGNvbW1hbmQ6IENvbnRleHRNZW51Q29tbWFuZCwgcmV0dXJuVmFsdWU6IGFueV07XG5cblx0LyoqXG5cdCAqIEVtaXR0ZWQgd2hlbiBhIGFuIGluY29taW5nIGludGVyYWN0aW9uIGNvbW1hbmQgY2Fubm90IGJlIG1hdGNoZWQgd2l0aCBhIGNvbW1hbmQuXG5cdCAqIEBwYXJhbSBpbnRlcmFjdGlvbiAtIFRoZSBpbmNvbWluZyBpbnRlcmFjdGlvbi5cblx0ICovXG5cdG5vdEZvdW5kOiBbaW50ZXJhY3Rpb246IENvbnRleHRNZW51SW50ZXJhY3Rpb25dO1xuXG5cdC8qKlxuXHQgKiBFbWl0dGVkIHdoZW4gYSBjb21tYW5kIHN0YXJ0cyBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBpbnRlcmFjdGlvbiAtIFRoZSBpbnRlcmFjdGlvbi5cblx0ICogQHBhcmFtIGNvbW1hbmQgLSBDb21tYW5kIGV4ZWN1dGVkLlxuXHQgKiBAcGFyYW0gYXJncyAtIFRoZSBhcmdzIHBhc3NlZCB0byB0aGUgY29tbWFuZC5cblx0ICovXG5cdHN0YXJ0ZWQ6IFtpbnRlcmFjdGlvbjogQ29udGV4dE1lbnVJbnRlcmFjdGlvbiwgY29tbWFuZDogQ29udGV4dE1lbnVDb21tYW5kXTtcblxuXHQvKipcblx0ICogRW1pdHRlZCB3aGVuIGEgY29tbWFuZCBpcyBibG9ja2VkLlxuXHQgKiBAcGFyYW0gaW50ZXJhY3Rpb24gLSBUaGUgaW50ZXJhY3Rpb24uXG5cdCAqIEBwYXJhbSBjb21tYW5kIC0gQ29tbWFuZCBibG9ja2VkLlxuXHQgKiBAcGFyYW0gcmVhc29uIC0gUmVhc29uIGZvciB0aGUgYmxvY2suXG5cdCAqL1xuXHRibG9ja2VkOiBbXG5cdFx0aW50ZXJhY3Rpb246IENvbnRleHRNZW51SW50ZXJhY3Rpb24sXG5cdFx0Y29tbWFuZDogQ29tbWFuZCxcblx0XHRyZWFzb246IHR5cGVvZiBCdWlsdEluUmVhc29ucy5PV05FUiB8IHR5cGVvZiBCdWlsdEluUmVhc29ucy5TVVBFUl9VU0VSXG5cdF07XG59XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpbGRUZXh0QmFzZWRDaGFubmVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBpbmdzL2d1aWxkVGV4dEJhc2VkQ2hhbm5lbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERNQ2hhbm5lbCwgUGFydGlhbERNQ2hhbm5lbCwgVGV4dEJhc2VkQ2hhbm5lbHMgfSBmcm9tICdkaXNjb3JkLmpzJztcclxuXHJcbmV4cG9ydCB0eXBlIEd1aWxkVGV4dEJhc2VkQ2hhbm5lbHM9IEV4Y2x1ZGU8VGV4dEJhc2VkQ2hhbm5lbHMsIFBhcnRpYWxETUNoYW5uZWx8RE1DaGFubmVsPiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpbGRUZXh0QmFzZWRDaGFubmVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBpbmdzL2d1aWxkVGV4dEJhc2VkQ2hhbm5lbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERNQ2hhbm5lbCwgUGFydGlhbERNQ2hhbm5lbCwgVGV4dEJhc2VkQ2hhbm5lbHMgfSBmcm9tIFwiZGlzY29yZC5qc1wiO1xuXG5leHBvcnQgdHlwZSBHdWlsZFRleHRCYXNlZENoYW5uZWxzID0gRXhjbHVkZTxUZXh0QmFzZWRDaGFubmVscywgUGFydGlhbERNQ2hhbm5lbCB8IERNQ2hhbm5lbD47XG4iXX0=

@@ -70,2 +70,4 @@ "use strict";

ArgumentTypes["LISTENER"] = "listener";
ArgumentTypes["TASK"] = "task";
ArgumentTypes["CONTEXT_MENU_COMMAND"] = "contextMenuCommand";
})(ArgumentTypes = exports.ArgumentTypes || (exports.ArgumentTypes = {}));

@@ -98,2 +100,3 @@ var AkairoHandlerEvents;

CommandHandlerEvents["SLASH_STARTED"] = "slashStarted";
CommandHandlerEvents["SLASH_ONLY"] = "slashOnly";
})(CommandHandlerEvents = exports.CommandHandlerEvents || (exports.CommandHandlerEvents = {}));

@@ -119,2 +122,2 @@ var ContextCommandHandlerEvents;

})(BuiltInReasons = exports.BuiltInReasons || (exports.BuiltInReasons = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvQ29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksZUFVWDtBQVZELFdBQVksZUFBZTtJQUMxQixvQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBYSxDQUFBO0lBQ2Isb0NBQWlCLENBQUE7SUFDakIsZ0NBQWEsQ0FBQTtJQUNiLHdDQUFxQixDQUFBO0lBQ3JCLGdDQUFhLENBQUE7SUFDYixzQ0FBbUIsQ0FBQTtJQUNuQiwrQ0FBNEIsQ0FBQTtJQUM1QixnQ0FBYSxDQUFBO0FBQ2QsQ0FBQyxFQVZXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBVTFCO0FBQ0QsSUFBWSxhQXFEWDtBQXJERCxXQUFZLGFBQWE7SUFDeEIsa0NBQWlCLENBQUE7SUFDakIsd0NBQXVCLENBQUE7SUFDdkIsd0NBQXVCLENBQUE7SUFDdkIseUNBQXdCLENBQUE7SUFDeEIsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7SUFDYixnQ0FBZSxDQUFBO0lBQ2YsOEJBQWEsQ0FBQTtJQUNiLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBdUIsQ0FBQTtJQUN2QixvQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBNEIsQ0FBQTtJQUM1QiwrQ0FBOEIsQ0FBQTtJQUM5QiwrQ0FBOEIsQ0FBQTtJQUM5QixpREFBZ0MsQ0FBQTtJQUNoQyxxREFBb0MsQ0FBQTtJQUNwQyx1REFBc0MsQ0FBQTtJQUN0Qyw2Q0FBNEIsQ0FBQTtJQUM1QiwrQ0FBOEIsQ0FBQTtJQUM5QiwrQ0FBOEIsQ0FBQTtJQUM5QixpREFBZ0MsQ0FBQTtJQUNoQywrQ0FBOEIsQ0FBQTtJQUM5QixpREFBZ0MsQ0FBQTtJQUNoQyxpREFBZ0MsQ0FBQTtJQUNoQyxtREFBa0MsQ0FBQTtJQUNsQyw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtJQUNmLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsK0NBQThCLENBQUE7SUFDOUIscURBQW9DLENBQUE7SUFDcEMsa0NBQWlCLENBQUE7SUFDakIsNkNBQTRCLENBQUE7SUFDNUIsaURBQWdDLENBQUE7SUFDaEMsbURBQWtDLENBQUE7SUFDbEMsNkNBQTRCLENBQUE7SUFDNUIsK0NBQThCLENBQUE7SUFDOUIsK0NBQThCLENBQUE7SUFDOUIsb0NBQW1CLENBQUE7SUFDbkIsd0NBQXVCLENBQUE7SUFDdkIsc0NBQXFCLENBQUE7QUFDdEIsQ0FBQyxFQXJEVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQXFEeEI7QUFDRCxJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDOUIsb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0FBQ2xCLENBQUMsRUFIVyxtQkFBbUIsR0FBbkIsMkJBQW1CLEtBQW5CLDJCQUFtQixRQUc5QjtBQUNELElBQVksb0JBb0JYO0FBcEJELFdBQVksb0JBQW9CO0lBQy9CLDBEQUFrQyxDQUFBO0lBQ2xDLDREQUFvQyxDQUFBO0lBQ3BDLDhEQUFzQyxDQUFBO0lBQ3RDLDREQUFvQyxDQUFBO0lBQ3BDLDBEQUFrQyxDQUFBO0lBQ2xDLHdEQUFnQyxDQUFBO0lBQ2hDLDBEQUFrQyxDQUFBO0lBQ2xDLDZDQUFxQixDQUFBO0lBQ3JCLHVDQUFlLENBQUE7SUFDZiw4Q0FBc0IsQ0FBQTtJQUN0QiwwREFBa0MsQ0FBQTtJQUNsQywwREFBa0MsQ0FBQTtJQUNsQyxrRUFBMEMsQ0FBQTtJQUMxQyxzREFBOEIsQ0FBQTtJQUM5QixrREFBMEIsQ0FBQTtJQUMxQix3REFBZ0MsQ0FBQTtJQUNoQyw2RUFBcUQsQ0FBQTtJQUNyRCx5REFBaUMsQ0FBQTtJQUNqQyxzREFBOEIsQ0FBQTtBQUMvQixDQUFDLEVBcEJXLG9CQUFvQixHQUFwQiw0QkFBb0IsS0FBcEIsNEJBQW9CLFFBb0IvQjtBQUNELElBQVksMkJBTVg7QUFORCxXQUFZLDJCQUEyQjtJQUN0Qyw4Q0FBZSxDQUFBO0lBQ2Ysb0RBQXFCLENBQUE7SUFDckIscURBQXNCLENBQUE7SUFDdEIsa0RBQW1CLENBQUE7SUFDbkIsa0RBQW1CLENBQUE7QUFDcEIsQ0FBQyxFQU5XLDJCQUEyQixHQUEzQixtQ0FBMkIsS0FBM0IsbUNBQTJCLFFBTXRDO0FBQ0QsSUFBWSxjQVNYO0FBVEQsV0FBWSxjQUFjO0lBQ3pCLG1DQUFpQixDQUFBO0lBQ2pCLDZCQUFXLENBQUE7SUFDWCxpQ0FBZSxDQUFBO0lBQ2YsMENBQXdCLENBQUE7SUFDeEIsaUNBQWUsQ0FBQTtJQUNmLDJCQUFTLENBQUE7SUFDVCxxREFBbUMsQ0FBQTtJQUNuQyxzQ0FBb0IsQ0FBQTtBQUNyQixDQUFDLEVBVFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFTekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBcmd1bWVudE1hdGNoZXMge1xuXHRQSFJBU0UgPSBcInBocmFzZVwiLFxuXHRGTEFHID0gXCJmbGFnXCIsXG5cdE9QVElPTiA9IFwib3B0aW9uXCIsXG5cdFJFU1QgPSBcInJlc3RcIixcblx0U0VQQVJBVEUgPSBcInNlcGFyYXRlXCIsXG5cdFRFWFQgPSBcInRleHRcIixcblx0Q09OVEVOVCA9IFwiY29udGVudFwiLFxuXHRSRVNUX0NPTlRFTlQgPSBcInJlc3RDb250ZW50XCIsXG5cdE5PTkUgPSBcIm5vbmVcIlxufVxuZXhwb3J0IGVudW0gQXJndW1lbnRUeXBlcyB7XG5cdFNUUklORyA9IFwic3RyaW5nXCIsXG5cdExPV0VSQ0FTRSA9IFwibG93ZXJjYXNlXCIsXG5cdFVQUEVSQ0FTRSA9IFwidXBwZXJjYXNlXCIsXG5cdENIQVJfQ09ERVMgPSBcImNoYXJDb2Rlc1wiLFxuXHROVU1CRVIgPSBcIm51bWJlclwiLFxuXHRJTlRFR0VSID0gXCJpbnRlZ2VyXCIsXG5cdEJJR0lOVCA9IFwiYmlnaW50XCIsXG5cdEVNT0pJTlQgPSBcImVtb2ppbnRcIixcblx0VVJMID0gXCJ1cmxcIixcblx0REFURSA9IFwiZGF0ZVwiLFxuXHRDT0xPUiA9IFwiY29sb3JcIixcblx0VVNFUiA9IFwidXNlclwiLFxuXHRVU0VSUyA9IFwidXNlcnNcIixcblx0TUVNQkVSID0gXCJtZW1iZXJcIixcblx0TUVNQkVSUyA9IFwibWVtYmVyc1wiLFxuXHRSRUxFVkFOVCA9IFwicmVsZXZhbnRcIixcblx0UkVMRVZBTlRTID0gXCJyZWxldmFudHNcIixcblx0Q0hBTk5FTCA9IFwiY2hhbm5lbFwiLFxuXHRDSEFOTkVMUyA9IFwiY2hhbm5lbHNcIixcblx0VEVYVF9DSEFOTkVMID0gXCJ0ZXh0Q2hhbm5lbFwiLFxuXHRURVhUX0NIQU5ORUxTID0gXCJ0ZXh0Q2hhbm5lbHNcIixcblx0Vk9JQ0VfQ0hBTk5FTCA9IFwidm9pY2VDaGFubmVsXCIsXG5cdFZPSUNFX0NIQU5ORUxTID0gXCJ2b2ljZUNoYW5uZWxzXCIsXG5cdENBVEVHT1JZX0NIQU5ORUwgPSBcImNhdGVnb3J5Q2hhbm5lbFwiLFxuXHRDQVRFR09SWV9DSEFOTkVMUyA9IFwiY2F0ZWdvcnlDaGFubmVsc1wiLFxuXHRORVdTX0NIQU5ORUwgPSBcIm5ld3NDaGFubmVsXCIsXG5cdE5FV1NfQ0hBTk5FTFMgPSBcIm5ld3NDaGFubmVsc1wiLFxuXHRTVE9SRV9DSEFOTkVMID0gXCJzdG9yZUNoYW5uZWxcIixcblx0U1RPUkVfQ0hBTk5FTFMgPSBcInN0b3JlQ2hhbm5lbHNcIixcblx0U1RBR0VfQ0hBTk5FTCA9IFwic3RhZ2VDaGFubmVsXCIsXG5cdFNUQUdFX0NIQU5ORUxTID0gXCJzdGFnZUNoYW5uZWxzXCIsXG5cdFRIUkVBRF9DSEFOTkVMID0gXCJ0aHJlYWRDaGFubmVsXCIsXG5cdFRIUkVBRF9DSEFOTkVMUyA9IFwidGhyZWFkQ2hhbm5lbHNcIixcblx0Uk9MRSA9IFwicm9sZVwiLFxuXHRST0xFUyA9IFwicm9sZXNcIixcblx0RU1PSkkgPSBcImVtb2ppXCIsXG5cdEVNT0pJUyA9IFwiZW1vamlzXCIsXG5cdEdVSUxEID0gXCJndWlsZFwiLFxuXHRHVUlMRFMgPSBcImd1aWxkc1wiLFxuXHRNRVNTQUdFID0gXCJtZXNzYWdlXCIsXG5cdEdVSUxEX01FU1NBR0UgPSBcImd1aWxkTWVzc2FnZVwiLFxuXHRSRUxFVkFOVF9NRVNTQUdFID0gXCJyZWxldmFudE1lc3NhZ2VcIixcblx0SU5WSVRFID0gXCJpbnZpdGVcIixcblx0VVNFUl9NRU5USU9OID0gXCJ1c2VyTWVudGlvblwiLFxuXHRNRU1CRVJfTUVOVElPTiA9IFwibWVtYmVyTWVudGlvblwiLFxuXHRDSEFOTkVMX01FTlRJT04gPSBcImNoYW5uZWxNZW50aW9uXCIsXG5cdFJPTEVfTUVOVElPTiA9IFwicm9sZU1lbnRpb25cIixcblx0RU1PSklfTUVOVElPTiA9IFwiZW1vamlNZW50aW9uXCIsXG5cdENPTU1BTkRfQUxJQVMgPSBcImNvbW1hbmRBbGlhc1wiLFxuXHRDT01NQU5EID0gXCJjb21tYW5kXCIsXG5cdElOSElCSVRPUiA9IFwiaW5oaWJpdG9yXCIsXG5cdExJU1RFTkVSID0gXCJsaXN0ZW5lclwiXG59XG5leHBvcnQgZW51bSBBa2Fpcm9IYW5kbGVyRXZlbnRzIHtcblx0TE9BRCA9IFwibG9hZFwiLFxuXHRSRU1PVkUgPSBcInJlbW92ZVwiXG59XG5leHBvcnQgZW51bSBDb21tYW5kSGFuZGxlckV2ZW50cyB7XG5cdENPTU1BTkRfQkxPQ0tFRCA9IFwiY29tbWFuZEJsb2NrZWRcIixcblx0Q09NTUFORF9CUkVBS09VVCA9IFwiY29tbWFuZEJyZWFrb3V0XCIsXG5cdENPTU1BTkRfQ0FOQ0VMTEVEID0gXCJjb21tYW5kQ2FuY2VsbGVkXCIsXG5cdENPTU1BTkRfRklOSVNIRUQgPSBcImNvbW1hbmRGaW5pc2hlZFwiLFxuXHRDT01NQU5EX0lOVkFMSUQgPSBcImNvbW1hbmRJbnZhbGlkXCIsXG5cdENPTU1BTkRfTE9DS0VEID0gXCJjb21tYW5kTG9ja2VkXCIsXG5cdENPTU1BTkRfU1RBUlRFRCA9IFwiY29tbWFuZFN0YXJ0ZWRcIixcblx0Q09PTERPV04gPSBcImNvb2xkb3duXCIsXG5cdEVSUk9SID0gXCJlcnJvclwiLFxuXHRJTl9QUk9NUFQgPSBcImluUHJvbXB0XCIsXG5cdE1FU1NBR0VfQkxPQ0tFRCA9IFwibWVzc2FnZUJsb2NrZWRcIixcblx0TUVTU0FHRV9JTlZBTElEID0gXCJtZXNzYWdlSW52YWxpZFwiLFxuXHRNSVNTSU5HX1BFUk1JU1NJT05TID0gXCJtaXNzaW5nUGVybWlzc2lvbnNcIixcblx0U0xBU0hfQkxPQ0tFRCA9IFwic2xhc2hCbG9ja2VkXCIsXG5cdFNMQVNIX0VSUk9SID0gXCJzbGFzaEVycm9yXCIsXG5cdFNMQVNIX0ZJTklTSEVEID0gXCJzbGFzaEZpbmlzaGVkXCIsXG5cdFNMQVNIX01JU1NJTkdfUEVSTUlTU0lPTlMgPSBcInNsYXNoTWlzc2luZ1Blcm1pc3Npb25zXCIsXG5cdFNMQVNIX05PVF9GT1VORCA9IFwic2xhc2hOb3RGb3VuZFwiLFxuXHRTTEFTSF9TVEFSVEVEID0gXCJzbGFzaFN0YXJ0ZWRcIlxufVxuZXhwb3J0IGVudW0gQ29udGV4dENvbW1hbmRIYW5kbGVyRXZlbnRzIHtcblx0RVJST1IgPSBcImVycm9yXCIsXG5cdEZJTklTSEVEID0gXCJmaW5pc2hlZFwiLFxuXHROT1RfRk9VTkQgPSBcIm5vdEZvdW5kXCIsXG5cdFNUQVJURUQgPSBcInN0YXJ0ZWRcIixcblx0QkxPQ0tFRCA9IFwiYmxvY2tlZFwiXG59XG5leHBvcnQgZW51bSBCdWlsdEluUmVhc29ucyB7XG5cdENMSUVOVCA9IFwiY2xpZW50XCIsXG5cdEJPVCA9IFwiYm90XCIsXG5cdE9XTkVSID0gXCJvd25lclwiLFxuXHRTVVBFUl9VU0VSID0gXCJzdXBlclVzZXJcIixcblx0R1VJTEQgPSBcImd1aWxkXCIsXG5cdERNID0gXCJkbVwiLFxuXHRBVVRIT1JfTk9UX0ZPVU5EID0gXCJhdXRob3JOb3RGb3VuZFwiLFxuXHROT1RfTlNGVyA9IFwibm90TnNmd1wiXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvQ29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksZUFVWDtBQVZELFdBQVksZUFBZTtJQUMxQixvQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBYSxDQUFBO0lBQ2Isb0NBQWlCLENBQUE7SUFDakIsZ0NBQWEsQ0FBQTtJQUNiLHdDQUFxQixDQUFBO0lBQ3JCLGdDQUFhLENBQUE7SUFDYixzQ0FBbUIsQ0FBQTtJQUNuQiwrQ0FBNEIsQ0FBQTtJQUM1QixnQ0FBYSxDQUFBO0FBQ2QsQ0FBQyxFQVZXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBVTFCO0FBQ0QsSUFBWSxhQXVEWDtBQXZERCxXQUFZLGFBQWE7SUFDeEIsa0NBQWlCLENBQUE7SUFDakIsd0NBQXVCLENBQUE7SUFDdkIsd0NBQXVCLENBQUE7SUFDdkIseUNBQXdCLENBQUE7SUFDeEIsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7SUFDYixnQ0FBZSxDQUFBO0lBQ2YsOEJBQWEsQ0FBQTtJQUNiLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBdUIsQ0FBQTtJQUN2QixvQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBNEIsQ0FBQTtJQUM1QiwrQ0FBOEIsQ0FBQTtJQUM5QiwrQ0FBOEIsQ0FBQTtJQUM5QixpREFBZ0MsQ0FBQTtJQUNoQyxxREFBb0MsQ0FBQTtJQUNwQyx1REFBc0MsQ0FBQTtJQUN0Qyw2Q0FBNEIsQ0FBQTtJQUM1QiwrQ0FBOEIsQ0FBQTtJQUM5QiwrQ0FBOEIsQ0FBQTtJQUM5QixpREFBZ0MsQ0FBQTtJQUNoQywrQ0FBOEIsQ0FBQTtJQUM5QixpREFBZ0MsQ0FBQTtJQUNoQyxpREFBZ0MsQ0FBQTtJQUNoQyxtREFBa0MsQ0FBQTtJQUNsQyw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtJQUNmLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsK0NBQThCLENBQUE7SUFDOUIscURBQW9DLENBQUE7SUFDcEMsa0NBQWlCLENBQUE7SUFDakIsNkNBQTRCLENBQUE7SUFDNUIsaURBQWdDLENBQUE7SUFDaEMsbURBQWtDLENBQUE7SUFDbEMsNkNBQTRCLENBQUE7SUFDNUIsK0NBQThCLENBQUE7SUFDOUIsK0NBQThCLENBQUE7SUFDOUIsb0NBQW1CLENBQUE7SUFDbkIsd0NBQXVCLENBQUE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtJQUNiLDREQUEyQyxDQUFBO0FBQzVDLENBQUMsRUF2RFcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUF1RHhCO0FBQ0QsSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzlCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtBQUNsQixDQUFDLEVBSFcsbUJBQW1CLEdBQW5CLDJCQUFtQixLQUFuQiwyQkFBbUIsUUFHOUI7QUFDRCxJQUFZLG9CQXFCWDtBQXJCRCxXQUFZLG9CQUFvQjtJQUMvQiwwREFBa0MsQ0FBQTtJQUNsQyw0REFBb0MsQ0FBQTtJQUNwQyw4REFBc0MsQ0FBQTtJQUN0Qyw0REFBb0MsQ0FBQTtJQUNwQywwREFBa0MsQ0FBQTtJQUNsQyx3REFBZ0MsQ0FBQTtJQUNoQywwREFBa0MsQ0FBQTtJQUNsQyw2Q0FBcUIsQ0FBQTtJQUNyQix1Q0FBZSxDQUFBO0lBQ2YsOENBQXNCLENBQUE7SUFDdEIsMERBQWtDLENBQUE7SUFDbEMsMERBQWtDLENBQUE7SUFDbEMsa0VBQTBDLENBQUE7SUFDMUMsc0RBQThCLENBQUE7SUFDOUIsa0RBQTBCLENBQUE7SUFDMUIsd0RBQWdDLENBQUE7SUFDaEMsNkVBQXFELENBQUE7SUFDckQseURBQWlDLENBQUE7SUFDakMsc0RBQThCLENBQUE7SUFDOUIsZ0RBQXdCLENBQUE7QUFDekIsQ0FBQyxFQXJCVyxvQkFBb0IsR0FBcEIsNEJBQW9CLEtBQXBCLDRCQUFvQixRQXFCL0I7QUFDRCxJQUFZLDJCQU1YO0FBTkQsV0FBWSwyQkFBMkI7SUFDdEMsOENBQWUsQ0FBQTtJQUNmLG9EQUFxQixDQUFBO0lBQ3JCLHFEQUFzQixDQUFBO0lBQ3RCLGtEQUFtQixDQUFBO0lBQ25CLGtEQUFtQixDQUFBO0FBQ3BCLENBQUMsRUFOVywyQkFBMkIsR0FBM0IsbUNBQTJCLEtBQTNCLG1DQUEyQixRQU10QztBQUNELElBQVksY0FTWDtBQVRELFdBQVksY0FBYztJQUN6QixtQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBVyxDQUFBO0lBQ1gsaUNBQWUsQ0FBQTtJQUNmLDBDQUF3QixDQUFBO0lBQ3hCLGlDQUFlLENBQUE7SUFDZiwyQkFBUyxDQUFBO0lBQ1QscURBQW1DLENBQUE7SUFDbkMsc0NBQW9CLENBQUE7QUFDckIsQ0FBQyxFQVRXLGNBQWMsR0FBZCxzQkFBYyxLQUFkLHNCQUFjLFFBU3pCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXJndW1lbnRNYXRjaGVzIHtcblx0UEhSQVNFID0gXCJwaHJhc2VcIixcblx0RkxBRyA9IFwiZmxhZ1wiLFxuXHRPUFRJT04gPSBcIm9wdGlvblwiLFxuXHRSRVNUID0gXCJyZXN0XCIsXG5cdFNFUEFSQVRFID0gXCJzZXBhcmF0ZVwiLFxuXHRURVhUID0gXCJ0ZXh0XCIsXG5cdENPTlRFTlQgPSBcImNvbnRlbnRcIixcblx0UkVTVF9DT05URU5UID0gXCJyZXN0Q29udGVudFwiLFxuXHROT05FID0gXCJub25lXCJcbn1cbmV4cG9ydCBlbnVtIEFyZ3VtZW50VHlwZXMge1xuXHRTVFJJTkcgPSBcInN0cmluZ1wiLFxuXHRMT1dFUkNBU0UgPSBcImxvd2VyY2FzZVwiLFxuXHRVUFBFUkNBU0UgPSBcInVwcGVyY2FzZVwiLFxuXHRDSEFSX0NPREVTID0gXCJjaGFyQ29kZXNcIixcblx0TlVNQkVSID0gXCJudW1iZXJcIixcblx0SU5URUdFUiA9IFwiaW50ZWdlclwiLFxuXHRCSUdJTlQgPSBcImJpZ2ludFwiLFxuXHRFTU9KSU5UID0gXCJlbW9qaW50XCIsXG5cdFVSTCA9IFwidXJsXCIsXG5cdERBVEUgPSBcImRhdGVcIixcblx0Q09MT1IgPSBcImNvbG9yXCIsXG5cdFVTRVIgPSBcInVzZXJcIixcblx0VVNFUlMgPSBcInVzZXJzXCIsXG5cdE1FTUJFUiA9IFwibWVtYmVyXCIsXG5cdE1FTUJFUlMgPSBcIm1lbWJlcnNcIixcblx0UkVMRVZBTlQgPSBcInJlbGV2YW50XCIsXG5cdFJFTEVWQU5UUyA9IFwicmVsZXZhbnRzXCIsXG5cdENIQU5ORUwgPSBcImNoYW5uZWxcIixcblx0Q0hBTk5FTFMgPSBcImNoYW5uZWxzXCIsXG5cdFRFWFRfQ0hBTk5FTCA9IFwidGV4dENoYW5uZWxcIixcblx0VEVYVF9DSEFOTkVMUyA9IFwidGV4dENoYW5uZWxzXCIsXG5cdFZPSUNFX0NIQU5ORUwgPSBcInZvaWNlQ2hhbm5lbFwiLFxuXHRWT0lDRV9DSEFOTkVMUyA9IFwidm9pY2VDaGFubmVsc1wiLFxuXHRDQVRFR09SWV9DSEFOTkVMID0gXCJjYXRlZ29yeUNoYW5uZWxcIixcblx0Q0FURUdPUllfQ0hBTk5FTFMgPSBcImNhdGVnb3J5Q2hhbm5lbHNcIixcblx0TkVXU19DSEFOTkVMID0gXCJuZXdzQ2hhbm5lbFwiLFxuXHRORVdTX0NIQU5ORUxTID0gXCJuZXdzQ2hhbm5lbHNcIixcblx0U1RPUkVfQ0hBTk5FTCA9IFwic3RvcmVDaGFubmVsXCIsXG5cdFNUT1JFX0NIQU5ORUxTID0gXCJzdG9yZUNoYW5uZWxzXCIsXG5cdFNUQUdFX0NIQU5ORUwgPSBcInN0YWdlQ2hhbm5lbFwiLFxuXHRTVEFHRV9DSEFOTkVMUyA9IFwic3RhZ2VDaGFubmVsc1wiLFxuXHRUSFJFQURfQ0hBTk5FTCA9IFwidGhyZWFkQ2hhbm5lbFwiLFxuXHRUSFJFQURfQ0hBTk5FTFMgPSBcInRocmVhZENoYW5uZWxzXCIsXG5cdFJPTEUgPSBcInJvbGVcIixcblx0Uk9MRVMgPSBcInJvbGVzXCIsXG5cdEVNT0pJID0gXCJlbW9qaVwiLFxuXHRFTU9KSVMgPSBcImVtb2ppc1wiLFxuXHRHVUlMRCA9IFwiZ3VpbGRcIixcblx0R1VJTERTID0gXCJndWlsZHNcIixcblx0TUVTU0FHRSA9IFwibWVzc2FnZVwiLFxuXHRHVUlMRF9NRVNTQUdFID0gXCJndWlsZE1lc3NhZ2VcIixcblx0UkVMRVZBTlRfTUVTU0FHRSA9IFwicmVsZXZhbnRNZXNzYWdlXCIsXG5cdElOVklURSA9IFwiaW52aXRlXCIsXG5cdFVTRVJfTUVOVElPTiA9IFwidXNlck1lbnRpb25cIixcblx0TUVNQkVSX01FTlRJT04gPSBcIm1lbWJlck1lbnRpb25cIixcblx0Q0hBTk5FTF9NRU5USU9OID0gXCJjaGFubmVsTWVudGlvblwiLFxuXHRST0xFX01FTlRJT04gPSBcInJvbGVNZW50aW9uXCIsXG5cdEVNT0pJX01FTlRJT04gPSBcImVtb2ppTWVudGlvblwiLFxuXHRDT01NQU5EX0FMSUFTID0gXCJjb21tYW5kQWxpYXNcIixcblx0Q09NTUFORCA9IFwiY29tbWFuZFwiLFxuXHRJTkhJQklUT1IgPSBcImluaGliaXRvclwiLFxuXHRMSVNURU5FUiA9IFwibGlzdGVuZXJcIixcblx0VEFTSyA9IFwidGFza1wiLFxuXHRDT05URVhUX01FTlVfQ09NTUFORCA9IFwiY29udGV4dE1lbnVDb21tYW5kXCJcbn1cbmV4cG9ydCBlbnVtIEFrYWlyb0hhbmRsZXJFdmVudHMge1xuXHRMT0FEID0gXCJsb2FkXCIsXG5cdFJFTU9WRSA9IFwicmVtb3ZlXCJcbn1cbmV4cG9ydCBlbnVtIENvbW1hbmRIYW5kbGVyRXZlbnRzIHtcblx0Q09NTUFORF9CTE9DS0VEID0gXCJjb21tYW5kQmxvY2tlZFwiLFxuXHRDT01NQU5EX0JSRUFLT1VUID0gXCJjb21tYW5kQnJlYWtvdXRcIixcblx0Q09NTUFORF9DQU5DRUxMRUQgPSBcImNvbW1hbmRDYW5jZWxsZWRcIixcblx0Q09NTUFORF9GSU5JU0hFRCA9IFwiY29tbWFuZEZpbmlzaGVkXCIsXG5cdENPTU1BTkRfSU5WQUxJRCA9IFwiY29tbWFuZEludmFsaWRcIixcblx0Q09NTUFORF9MT0NLRUQgPSBcImNvbW1hbmRMb2NrZWRcIixcblx0Q09NTUFORF9TVEFSVEVEID0gXCJjb21tYW5kU3RhcnRlZFwiLFxuXHRDT09MRE9XTiA9IFwiY29vbGRvd25cIixcblx0RVJST1IgPSBcImVycm9yXCIsXG5cdElOX1BST01QVCA9IFwiaW5Qcm9tcHRcIixcblx0TUVTU0FHRV9CTE9DS0VEID0gXCJtZXNzYWdlQmxvY2tlZFwiLFxuXHRNRVNTQUdFX0lOVkFMSUQgPSBcIm1lc3NhZ2VJbnZhbGlkXCIsXG5cdE1JU1NJTkdfUEVSTUlTU0lPTlMgPSBcIm1pc3NpbmdQZXJtaXNzaW9uc1wiLFxuXHRTTEFTSF9CTE9DS0VEID0gXCJzbGFzaEJsb2NrZWRcIixcblx0U0xBU0hfRVJST1IgPSBcInNsYXNoRXJyb3JcIixcblx0U0xBU0hfRklOSVNIRUQgPSBcInNsYXNoRmluaXNoZWRcIixcblx0U0xBU0hfTUlTU0lOR19QRVJNSVNTSU9OUyA9IFwic2xhc2hNaXNzaW5nUGVybWlzc2lvbnNcIixcblx0U0xBU0hfTk9UX0ZPVU5EID0gXCJzbGFzaE5vdEZvdW5kXCIsXG5cdFNMQVNIX1NUQVJURUQgPSBcInNsYXNoU3RhcnRlZFwiLFxuXHRTTEFTSF9PTkxZID0gXCJzbGFzaE9ubHlcIlxufVxuZXhwb3J0IGVudW0gQ29udGV4dENvbW1hbmRIYW5kbGVyRXZlbnRzIHtcblx0RVJST1IgPSBcImVycm9yXCIsXG5cdEZJTklTSEVEID0gXCJmaW5pc2hlZFwiLFxuXHROT1RfRk9VTkQgPSBcIm5vdEZvdW5kXCIsXG5cdFNUQVJURUQgPSBcInN0YXJ0ZWRcIixcblx0QkxPQ0tFRCA9IFwiYmxvY2tlZFwiXG59XG5leHBvcnQgZW51bSBCdWlsdEluUmVhc29ucyB7XG5cdENMSUVOVCA9IFwiY2xpZW50XCIsXG5cdEJPVCA9IFwiYm90XCIsXG5cdE9XTkVSID0gXCJvd25lclwiLFxuXHRTVVBFUl9VU0VSID0gXCJzdXBlclVzZXJcIixcblx0R1VJTEQgPSBcImd1aWxkXCIsXG5cdERNID0gXCJkbVwiLFxuXHRBVVRIT1JfTk9UX0ZPVU5EID0gXCJhdXRob3JOb3RGb3VuZFwiLFxuXHROT1RfTlNGVyA9IFwibm90TnNmd1wiXG59XG4iXX0=
{
"name": "@notenoughupdates/discord-akairo",
"version": "9.0.0",
"version": "9.0.1",
"description": "A highly customizable bot framework for Discord.js.",

@@ -52,6 +52,8 @@ "main": "./dist/src/index.js",

"scripts": {
"test": "yarn run lint",
"test": "yarn lint",
"lint": "yarn eslint ./src",
"format": "yarn prettier --write .",
"build": "yarn rimraf node_modules\\discord-akairo-message-util && yarn rimraf dist && yarn tsc && shx cp src/index.mjs dist/src/index.mjs"
"format": "yarn prettier . --write",
"build": "yarn rimraf node_modules/discord-akairo-message-util && yarn rimraf dist && yarn tsc && shx cp src/index.mjs dist/src/index.mjs",
"prepare": "yarn build",
"prepublishOnly": "yarn test"
},

@@ -92,3 +94,3 @@ "repository": {

"sourceType": "module",
"project": "./tsconfig.json",
"project": "./tsconfig-eslint.json",
"extraFileExtensions": [

@@ -207,2 +209,2 @@ ".mjs"

}
}
}

@@ -81,3 +81,3 @@ <!-- markdownlint-disable MD041 MD033 MD001 MD026 -->

`yarn add discord-akairo@npm:@notenoughupdates/discord-akairo`
`yarn add discord-akairo@npm:@notenoughupdates/discord-akairo@9.0.0`
`yarn add discord-akairo@npm:@notenoughupdates/discord-akairo@latest`
`npm i discord-akairo@npm:@notenoughupdates/discord-akairo`

@@ -88,3 +88,3 @@

`yarn add discord.js@npm:@notenoughupdates/discord.js`
`yarn add discord.js@npm:@notenoughupdates/discord.js@13.2.0-dev`
`yarn add discord.js@npm:@notenoughupdates/discord.js@latest`
`npm i discord.js@npm:@notenoughupdates/discord.js`

@@ -91,0 +91,0 @@

@@ -866,52 +866,3 @@ import { Message, MessageOptions, MessagePayload } from "discord.js";

/**
* The type that the argument should be cast to.
* - `string` does not cast to any type.
* - `lowercase` makes the input lowercase.
* - `uppercase` makes the input uppercase.
* - `charCodes` transforms the input to an array of char codes.
* - `number` casts to a number.
* - `integer` casts to an integer.
* - `bigint` casts to a big integer.
* - `url` casts to an `URL` object.
* - `date` casts to a `Date` object.
* - `color` casts a hex code to an integer.
* - `commandAlias` tries to resolve to a command from an alias.
* - `command` matches the ID of a command.
* - `inhibitor` matches the ID of an inhibitor.
* - `listener` matches the ID of a listener.
*
* Possible Discord-related types.
* These types can be plural (add an 's' to the end) and a collection of matching objects will be used.
* - `user` tries to resolve to a user.
* - `member` tries to resolve to a member.
* - `relevant` tries to resolve to a relevant user, works in both guilds and DMs.
* - `channel` tries to resolve to a channel.
* - `textChannel` tries to resolve to a text channel.
* - `voiceChannel` tries to resolve to a voice channel.
* - `stageChannel` tries to resolve to a stage channel.
* - `threadChannel` tries to resolve a thread channel.
* - `role` tries to resolve to a role.
* - `emoji` tries to resolve to a custom emoji.
* - `guild` tries to resolve to a guild.
*
* Other Discord-related types:
* - `message` tries to fetch a message from an ID within the channel.
* - `guildMessage` tries to fetch a message from an ID within the guild.
* - `relevantMessage` is a combination of the above, works in both guilds and DMs.
* - `invite` tries to fetch an invite object from a link.
* - `userMention` matches a mention of a user.
* - `memberMention` matches a mention of a guild member.
* - `channelMention` matches a mention of a channel.
* - `roleMention` matches a mention of a role.
* - `emojiMention` matches a mention of an emoji.
*
* An array of strings can be used to restrict input to only those strings, case insensitive.
* The array can also contain an inner array of strings, for aliases.
* If so, the first entry of the array will be used as the final argument.
*
* A regular expression can also be used.
* The evaluated argument will be an object containing the `match` and `matches` if global.
*/
export type ArgumentType =
export type BaseArgumentType =
| "string"

@@ -969,7 +920,62 @@ | "lowercase"

| "listener"
| (string | string[])[]
| RegExp
| string;
| "task"
| "contextMenuCommand";
/**
* The type that the argument should be cast to.
* - `string` does not cast to any type.
* - `lowercase` makes the input lowercase.
* - `uppercase` makes the input uppercase.
* - `charCodes` transforms the input to an array of char codes.
* - `number` casts to a number.
* - `integer` casts to an integer.
* - `bigint` casts to a big integer.
* - `url` casts to an `URL` object.
* - `date` casts to a `Date` object.
* - `color` casts a hex code to an integer.
* - `commandAlias` tries to resolve to a command from an alias.
* - `command` matches the ID of a command.
* - `inhibitor` matches the ID of an inhibitor.
* - `listener` matches the ID of a listener.
* - `task` matches the ID of a task.
* - `contextMenuCommand` matches the ID of a context menu command.
*
* Possible Discord-related types.
* These types can be plural (add an 's' to the end) and a collection of matching objects will be used.
* - `user` tries to resolve to a user.
* - `member` tries to resolve to a member.
* - `relevant` tries to resolve to a relevant user, works in both guilds and DMs.
* - `channel` tries to resolve to a channel.
* - `textChannel` tries to resolve to a text channel.
* - `voiceChannel` tries to resolve to a voice channel.
* - `categoryChannel` tries to resolve to a category channel.
* - `newsChannel` tries to resolve to a news channel.
* - `storeChannel` tries to resolve to a store channel.
* - `stageChannel` tries to resolve to a stage channel.
* - `threadChannel` tries to resolve a thread channel.
* - `role` tries to resolve to a role.
* - `emoji` tries to resolve to a custom emoji.
* - `guild` tries to resolve to a guild.
*
* Other Discord-related types:
* - `message` tries to fetch a message from an ID within the channel.
* - `guildMessage` tries to fetch a message from an ID within the guild.
* - `relevantMessage` is a combination of the above, works in both guilds and DMs.
* - `invite` tries to fetch an invite object from a link.
* - `userMention` matches a mention of a user.
* - `memberMention` matches a mention of a guild member.
* - `channelMention` matches a mention of a channel.
* - `roleMention` matches a mention of a role.
* - `emojiMention` matches a mention of an emoji.
*
* An array of strings can be used to restrict input to only those strings, case insensitive.
* The array can also contain an inner array of strings, for aliases.
* If so, the first entry of the array will be used as the final argument.
*
* A regular expression can also be used.
* The evaluated argument will be an object containing the `match` and `matches` if global.
*/
export type ArgumentType = BaseArgumentType | (string | string[])[] | RegExp | string;
/**
* A function for processing user input to use as an argument.

@@ -976,0 +982,0 @@ * A void return value will use the default value for the argument or start a prompt.

@@ -16,4 +16,6 @@ import {

import AkairoClient from "../../AkairoClient";
import ContextMenuCommandHandler from "../../contextMenuCommands/ContextMenuCommandHandler";
import InhibitorHandler from "../../inhibitors/InhibitorHandler";
import ListenerHandler from "../../listeners/ListenerHandler";
import TaskHandler from "../../tasks/TaskHandler";
import CommandHandler from "../CommandHandler";

@@ -30,11 +32,8 @@ import { ArgumentTypeCaster } from "./Argument";

this.client = handler.client;
this.commandHandler = handler;
this.inhibitorHandler = null;
this.listenerHandler = null;
this.taskHandler = null;
this.contextMenuCommandHandler = null;
this.types = new Collection();
this.addBuiltInTypes();

@@ -64,2 +63,12 @@ }

/**
* The task handler.
*/
public taskHandler: TaskHandler | null;
/**
* The context menu command handler.
*/
public contextMenuCommandHandler: ContextMenuCommandHandler | null;
/**
* Collection of types.

@@ -547,2 +556,12 @@ */

return this.listenerHandler?.modules.get(phrase) || null;
},
[ArgumentTypes.TASK]: (_message: Message, phrase: string) => {
if (!phrase) return null;
return this.taskHandler?.modules.get(phrase) || null;
},
[ArgumentTypes.CONTEXT_MENU_COMMAND]: (_message: Message, phrase: string) => {
if (!phrase) return null;
return this.contextMenuCommandHandler?.modules.get(phrase) || null;
}

@@ -549,0 +568,0 @@ };

@@ -57,3 +57,4 @@ /* eslint-disable func-names, @typescript-eslint/no-unused-vars */

slashEphemeral = false,
slashGuilds = []
slashGuilds = [],
slashOnly = false
}: CommandOptions = options ?? {};

@@ -107,2 +108,3 @@ this.aliases = aliases ?? [];

this.slashGuilds = slashGuilds;
this.slashOnly = slashOnly;
}

@@ -270,2 +272,15 @@

/**
* Only allows this command to be executed as a slash command.
*/
public slashOnly: boolean;
/**
* Generator for arguments.
* When yielding argument options, that argument is ran and the result of the processing is given.
* The last value when the generator is done is the resulting `args` for the command's `exec`.
* @param message - Message that triggered the command.
* @param parsed - Parsed content.
* @param state - Argument processing state.
*/
public *args(

@@ -486,2 +501,7 @@ message: Message,

userPermissions?: PermissionResolvable | PermissionResolvable[] | MissingPermissionSupplier;
/**
* Only allow this command to be used as a slash command. Also makes `slash` `true`
*/
slashOnly?: boolean;
}

@@ -488,0 +508,0 @@

@@ -29,2 +29,3 @@ import {

import ListenerHandler from "../listeners/ListenerHandler";
import TaskHandler from "../tasks/TaskHandler";
import { DefaultArgumentOptions } from "./arguments/Argument";

@@ -648,2 +649,7 @@ import TypeResolver from "./arguments/TypeResolver";

if (parsed.command?.slashOnly) {
this.emit(CommandHandlerEvents.SLASH_ONLY, message, parsed.command);
return false;
}
let ran;

@@ -779,2 +785,3 @@ if (!parsed.command) {

}
/**

@@ -1074,2 +1081,3 @@ * Handles normal commands.

): Promise<boolean> {
const event = slash ? CommandHandlerEvents.SLASH_MISSING_PERMISSIONS : CommandHandlerEvents.MISSING_PERMISSIONS;
if (command.clientPermissions) {

@@ -1081,9 +1089,3 @@ if (typeof command.clientPermissions === "function") {

if (missing != null) {
this.emit(
slash ? CommandHandlerEvents.SLASH_MISSING_PERMISSIONS : CommandHandlerEvents.MISSING_PERMISSIONS,
message,
command,
"client",
missing
);
this.emit(event, message, command, "client", missing);
return true;

@@ -1095,9 +1097,3 @@ }

if (missing?.length) {
this.emit(
slash ? CommandHandlerEvents.SLASH_MISSING_PERMISSIONS : CommandHandlerEvents.MISSING_PERMISSIONS,
message,
command,
"client",
missing
);
this.emit(event, message, command, "client", missing);
return true;

@@ -1122,9 +1118,3 @@ }

if (missing != null) {
this.emit(
slash ? CommandHandlerEvents.SLASH_MISSING_PERMISSIONS : CommandHandlerEvents.MISSING_PERMISSIONS,
message,
command,
"user",
missing
);
this.emit(event, message, command, "user", missing);
return true;

@@ -1136,9 +1126,3 @@ }

if (missing?.length) {
this.emit(
slash ? CommandHandlerEvents.SLASH_MISSING_PERMISSIONS : CommandHandlerEvents.MISSING_PERMISSIONS,
message,
command,
"user",
missing
);
this.emit(event, message, command, "user", missing);
return true;

@@ -1425,2 +1409,22 @@ }

/**
* Set the task handler to use.
* @param taskHandler - The task handler.
*/
public useTaskHandler(taskHandler: TaskHandler): CommandHandler {
this.resolver.taskHandler = taskHandler;
return this;
}
/**
* Set the context menu command handler to use.
* @param contextMenuCommandHandler - The context menu command handler.
*/
public useContextMenuCommandHandler(contextMenuCommandHandler: ContextMenuCommandHandler): CommandHandler {
this.resolver.contextMenuCommandHandler = contextMenuCommandHandler;
return this;
}
/**
* Loads a command.

@@ -1427,0 +1431,0 @@ * @param thing - Module or path to module.

@@ -186,2 +186,9 @@ import { CommandInteraction, ContextMenuInteraction, Message } from "discord.js";

slashStarted: [message: AkairoMessage, command: Command, args: any];
/**
* Emitted when a normal command is blocked because the command is configured to be `slashOnly`
* @param message - Message sent.
* @param command - Command blocked.
*/
slashOnly: [message: Message, command: Command];
}

@@ -188,0 +195,0 @@

@@ -1,3 +0,3 @@

import { DMChannel, PartialDMChannel, TextBasedChannels } from 'discord.js';
import { DMChannel, PartialDMChannel, TextBasedChannels } from "discord.js";
export type GuildTextBasedChannels= Exclude<TextBasedChannels, PartialDMChannel|DMChannel>
export type GuildTextBasedChannels = Exclude<TextBasedChannels, PartialDMChannel | DMChannel>;

@@ -13,2 +13,2 @@ import CommandUtil from "../struct/commands/CommandUtil";

}
}
}

@@ -64,3 +64,5 @@ export enum ArgumentMatches {

INHIBITOR = "inhibitor",
LISTENER = "listener"
LISTENER = "listener",
TASK = "task",
CONTEXT_MENU_COMMAND = "contextMenuCommand"
}

@@ -90,3 +92,4 @@ export enum AkairoHandlerEvents {

SLASH_NOT_FOUND = "slashNotFound",
SLASH_STARTED = "slashStarted"
SLASH_STARTED = "slashStarted",
SLASH_ONLY = "slashOnly"
}

@@ -93,0 +96,0 @@ export enum ContextCommandHandlerEvents {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc