New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

cli-kit

Package Overview
Dependencies
Maintainers
1
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cli-kit - npm Package Compare versions

Comparing version 1.12.0 to 1.13.0

11

CHANGELOG.md

@@ -0,1 +1,12 @@

# 1.13.0 (Apr 26, 2021)
* feat(help): Added required options to usage on help screen.
* feat(ansi): Added `trim()`, `trimStart()`, and `trimEnd()` functions.
* fix(help): Pass styles as well as header and footer content when rendering help template on
demand via `help()`.
* fix(cli): Moved `help` parameter from `Command` to `Context` so that `CLI` can render custom
help content.
* build: Improved `watch` task to not hang on a lint or build error.
* chore: Updated dev dependencies.
# 1.12.0 (Apr 15, 2021)

@@ -2,0 +13,0 @@

20

dist/commands/help.js

@@ -33,6 +33,10 @@ "use strict";

async function renderHelp(ctx, opts) {
async function renderHelp(ctx, opts = {}) {
const file = ctx.get('helpTemplateFile', _path.default.resolve(__dirname, '..', '..', 'templates', 'help.tpl'));
log(`Rendering help template: ${highlight(file)}`);
return (0, _template.renderFile)(file, await ctx.generateHelp(opts));
return (0, _template.renderFile)(file, Object.assign({
style: (opts === null || opts === void 0 ? void 0 : opts.styles) || {},
header: null,
footer: null
}, await ctx.generateHelp(opts))).trim();
}

@@ -156,5 +160,4 @@ /**

const file = ctx.get('helpTemplateFile', _path.default.resolve(__dirname, '..', '..', 'templates', 'help.tpl'));
log(`Rendering help template: ${highlight(file)}`); // determine the output stream
(err ? _stderr : _stdout).write((0, _template.renderFile)(file, {
log(`Rendering help template: ${highlight(file)}`);
const buf = (0, _template.renderFile)(file, {
style: styles,

@@ -164,3 +167,6 @@ header: null,

...help
}));
}).trim(); // determine the output stream
(err ? _stderr : _stdout).write(buf);
(err ? _stderr : _stdout).write('\n');
} // set the exit code

@@ -178,2 +184,2 @@

exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1hbmRzL2hlbHAuanMiXSwibmFtZXMiOlsibG9nIiwiaGlnaGxpZ2h0IiwiZGVidWciLCJzdHlsZXMiLCJyZW5kZXJIZWxwIiwiY3R4Iiwib3B0cyIsImZpbGUiLCJnZXQiLCJwYXRoIiwicmVzb2x2ZSIsIl9fZGlybmFtZSIsImdlbmVyYXRlSGVscCIsImNsaWtpdEhlbHAiLCJoaWRkZW4iLCJvcHRpb25zIiwiYWN0aW9uIiwiXyIsImFyZ3YiLCJjb25zb2xlIiwiY29udGV4dHMiLCJlcnIiLCJleGl0Q29kZSIsInBhcmVudENvbnRleHROYW1lcyIsIndhcm5pbmdzIiwiZm9ybWF0RXJyb3IiLCJtZXNzYWdlIiwidHlwZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImNvZGUiLCJqc29uIiwibWV0YSIsInN0YWNrIiwiaGVscCIsImxlbmd0aCIsInVua25vd25Db21tYW5kIiwiRXJyb3IiLCJkaXN0YW5jZSIsInJlcXVpcmUiLCJzdWdnZXN0aW9ucyIsImNvbW1hbmRzIiwiZW50cmllcyIsIm1hcCIsImNtZCIsImRlc2MiLCJkaXN0IiwiZmlsdGVyIiwicyIsInNvcnQiLCJhIiwiYiIsInIiLCJsb2NhbGVDb21wYXJlIiwiZXJyb3IiLCJBcnJheSIsImlzQXJyYXkiLCJfc3Rkb3V0IiwiX3N0ZGVyciIsIndyaXRlIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0eWxlIiwiaGVhZGVyIiwiZm9vdGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUNBOztBQUVBOzs7O0FBRUEsTUFBTTtBQUFFQSxFQUFBQTtBQUFGLElBQVUsb0JBQU0sY0FBTixDQUFoQjtBQUNBLE1BQU07QUFBRUMsRUFBQUE7QUFBRixJQUFnQkMsZUFBTUMsTUFBNUI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ08sZUFBZUMsVUFBZixDQUEwQkMsR0FBMUIsRUFBK0JDLElBQS9CLEVBQXFDO0FBQzNDLFFBQU1DLElBQUksR0FBR0YsR0FB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QUFPLENBQUNFLEtBQVIsQ0FBY0MsSUFBSSxDQUFDQyxTQUFMLENBQWUzQixJQUFmLEVBQXFCLElBQXJCLEVBQTJCLElBQTNCLENBQWQ7O0FBQ0F1QixRQUFBQSxPQUFPLENBQUNFLEtBQVIsQ0FBYyxJQUFkO0FBQ0EsT0FIRCxNQUdPO0FBQ04sY0FBTXBELElBQUksR0FBR0YsR0FBRyxDQUFDRyxHQUFKLENBQVEsa0JBQVIsRUFBNEJDLGNBQUtDLE9BQUwsQ0FBYUMsU0FBYixFQUF3QixJQUF4QixFQUE4QixJQUE5QixFQUFvQyxXQUFwQyxFQUFpRCxVQUFqRCxDQUE1QixDQUFiO0FBQ0FYLFFBQUFBLEdBQUcsQ0FBRSw0QkFBMkJDLFNBQVMsQ0FBQ00sSUFBRCxDQUFPLEVBQTdDLENBQUgsQ0FGTSxDQUlOOztBQUNBLFNBQUNjLEdBQUcsR0FBR3FDLE9BQUgsR0FBYUQsT0FBakIsRUFBMEJFLEtBQTFCLENBQWdDLDBCQUFXcEQsSUFBWCxFQUFpQjtBQUNoRHVELFVBQUFBLEtBQUssRUFBRTNELE1BRHlDO0FBRWhENEQsVUFBQUEsTUFBTSxFQUFFLElBRndDO0FBR2hEQyxVQUFBQSxNQUFNLEVBQUUsSUFId0M7QUFJaEQsYUFBRzlCO0FBSjZDLFNBQWpCLENBQWhDO0FBTUEsT0E1QzBCLENBOEMzQjs7O0FBQ0FaLE1BQUFBLFFBQVEsQ0FBQ0QsR0FBRyxHQUFHLENBQUgsR0FBT2hCLEdBQUcsQ0FBQ0csR0FBSixDQUFRLGNBQVIsQ0FBWCxDQUFSLENBL0MyQixDQWlEM0I7QUFDQTs7QUFDQTtBQUNBO0FBQ0Q7O0FBM0dhLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnLi4vbGliL2RlYnVnJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyByZW5kZXJGaWxlIH0gZnJvbSAnLi4vcmVuZGVyL3RlbXBsYXRlJztcblxuY29uc3QgeyBsb2cgfSA9IGRlYnVnKCdjbGkta2l0OmhlbHAnKTtcbmNvbnN0IHsgaGlnaGxpZ2h0IH0gPSBkZWJ1Zy5zdHlsZXM7XG5cbi8qKlxuICogUmVuZGVycyBoZWxwIGZvciBhIHNwZWNpZmljIGNvbnRleHQsIGFuZCBpdHMgcGFyZW50IGNvbnRleHRzLCB0byBhIHN0cmluZy4gVGhpcyBmdW5jdGlvbiBpc1xuICogcGFzc2VkIGludG8gdGhlIHNlbGVjdGVkIGNvbW1hbmQncyBgYWN0aW9uKClgIGFzIGEgcHJvcGVydHkgY2FsbGVkIGBoZWxwKClgIHNvIHRoYXQgYSBjb21tYW5kXG4gKiBjYW4gcmVuZGVyIGl0cyBvd24gaGVscCBvdXRwdXQuXG4gKlxuICogQHBhcmFtIHtDb250ZXh0fSBjdHggLSBUaGUgY29udGV4dCB0byByZW5kZXIgaGVscC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBWYXJpb3VzIG9wdGlvbnMgdG8gcGFzcyBpbnRvIGBnZW5lcmF0ZUhlbHAoKWAuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVySGVscChjdHgsIG9wdHMpIHtcblx0Y29uc3QgZmlsZSA9IGN0eC5nZXQoJ2hlbHBUZW1wbGF0ZUZpbGUnLCBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAndGVtcGxhdGVzJywgJ2hlbHAudHBsJykpO1xuXHRsb2coYFJlbmRlcmluZyBoZWxwIHRlbXBsYXRlOiAke2hpZ2hsaWdodChmaWxlKX1gKTtcblx0cmV0dXJuIHJlbmRlckZpbGUoZmlsZSwgYXdhaXQgY3R4LmdlbmVyYXRlSGVscChvcHRzKSk7XG59XG5cbi8qKlxuICogVGhlIGJ1aWx0LWluIGhlbHAgY29tbWFuZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IHtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGlzIGNvbW1hbmQgaXMgdGhlIGJ1aWx0LWluIGNsaS1raXQgaGVscCBjb21tYW5kIHNvIHRoYXQgaWYgdGhlIENMSSBpbnN0YW5jZSB0aGlzXG5cdCAqIGNvbW1hbmQgYmVsb25ncyB0byBnZXRzIGFkZGVkIHRvIGFub3RoZXIgQ0xJIGluc3RhbmNlLCB3ZSBkb24ndCBjb3B5IGl0IG92ZXIuXG5cdCAqIEB0eXBlIHtCb29sZWFufVxuXHQgKi9cblx0Y2xpa2l0SGVscDogdHJ1ZSxcblxuXHQvKipcblx0ICogV2hpbGUgdGhpcyBpcyBhIGNvbW1hbmQsIHdlIGRvbid0IHdhbnQgdG8gc2hvdyBpdCBzaW5jZSB3ZSBhbHJlYWR5IHNob3cgdGhlIGAtLWhlbHBgIGZsYWcuXG5cdCAqIEB0eXBlIHtCb29sZWFufVxuXHQgKi9cblx0aGlkZGVuOiB0cnVlLFxuXG5cdC8qKlxuXHQgKiBPdXRwdXQgdGhlIGhlbHAgYXMgSlNPTi4gTmVhdG8uXG5cdCAqIEB0eXBlIHtPYmplY3R9XG5cdCAqL1xuXHRvcHRpb25zOiB7XG5cdFx0Jy0tanNvbic6IG51bGxcblx0fSxcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgdGhlIGhlbHAgY29tbWFuZC5cblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFZhcmlvdXMgcGFyYW1ldGVycy5cblx0ICogQHBhcmFtIHtPYmplY3R9IFtwYXJhbXMuYXJndl0gLSBUaGUgcGFyc2VkIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSB7QXJyYXkuPENvbnRleHQ+fSBwYXJhbXMuY29udGV4dHMgLSBUaGUgc3RhY2sgb2YgY29udGV4dHMgZm91bmQgZHVyaW5nIHBhcnNpbmcuXG5cdCAqIEBwYXJhbSB7RXJyb3J9IFtwYXJhbXMuZXJyXSAtIEFuIGVycm9yIG9iamVjdCBpbiB0aGUgZXZlbnQgYW4gZXJyb3Igb2NjdXJyZWQuXG5cdCAqIEBwYXJhbSB7RnVuY3Rpb259IHBhcmFtcy5leGl0Q29kZSAtIEEgZnVuY3Rpb24gdGhhdCBzZXRzIHRoZSBleGl0IGNvZGUuXG5cdCAqIEBwYXJhbSB7QXJyYXkuPFN0cmluZz59IFtwYXJhbXMucGFyZW50Q29udGV4dE5hbWVzXSAtIEFuIGFycmF5IG9mIHBhcmVudCBjb250ZXh0IG5hbWVzLlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gW3BhcmFtcy51bmtub3duQ29tbWFuZF0gLSBUaGUgbmFtZSBvZiB0aGUgdW5rbm93biBjb21tYW5kLlxuXHQgKiBAcGFyYW0ge0FycmF5LjxFcnJvcj59IFtwYXJhbXMud2FybmluZ3NdIC0gQSBsaXN0IG9mIHdhcm5pbmdzIChlcnJvciBvYmplY3RzKS5cblx0ICogQHJldHVybnMge1Byb21pc2V9XG5cdCAqL1xuXHRhc3luYyBhY3Rpb24oeyBfID0gW10sIGFyZ3YgPSB7fSwgY29uc29sZSwgY29udGV4dHMsIGVyciwgZXhpdENvZGUsIHBhcmVudENvbnRleHROYW1lcywgc3R5bGVzLCB3YXJuaW5ncyB9ID0ge30pIHtcblx0XHRleGl0Q29kZSgrISFlcnIpOyAvLyAwPXN1Y2Nlc3MsIDE9ZXJyb3JcblxuXHRcdGNvbnN0IGZvcm1hdEVycm9yID0gZXJyID0+IHtcblx0XHRcdGlmICh0eXBlb2YgZXJyID09PSAnc3RyaW5nJykge1xuXHRcdFx0XHRyZXR1cm4geyBtZXNzYWdlOiBlcnIgfTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgdHlwZSA9IGVyciAmJiBlcnIuY29uc3RydWN0b3IgJiYgZXJyLmNvbnN0cnVjdG9yLm5hbWUgfHwgbnVsbDtcblx0XHRcdHJldHVybiBlcnIgPyB7XG5cdFx0XHRcdGNvZGU6ICAgIGVyci5jb2RlLFxuXHRcdFx0XHRtZXNzYWdlOiAhYXJndi5qc29uICYmIHR5cGUgPyBgJHt0eXBlfTogJHtlcnIubWVzc2FnZX1gIDogZXJyLm1lc3NhZ2UsXG5cdFx0XHRcdG1ldGE6ICAgIGVyci5tZXRhLFxuXHRcdFx0XHRzdGFjazogICBlcnIuc3RhY2ssXG5cdFx0XHRcdHR5cGVcblx0XHRcdH0gOiBudWxsO1xuXHRcdH07XG5cblx0XHQvLyBza2lwIHRoZSBidWlsdC1pbiBoZWxwIGNvbW1hbmQgYW5kIGZpbmQgdGhlIGZpcnN0IGNvbnRleHRcblx0XHRmb3IgKGNvbnN0IGN0eCBvZiBjb250ZXh0cykge1xuXHRcdFx0Ly8gd2UgZG9uJ3QgZGlzcGxheSBoZWxwIGZvciB0aGUgaGVscCBjb21tYW5kXG5cdFx0XHRpZiAoY3R4LmNsaWtpdEhlbHApIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdC8vIGdlbmVyYXRlIHRoZSBoZWxwIG9iamVjdFxuXHRcdFx0Y29uc3QgaGVscCA9IGF3YWl0IGN0eC5nZW5lcmF0ZUhlbHAoeyBlcnIsIHBhcmVudENvbnRleHROYW1lcywgd2FybmluZ3MgfSk7XG5cblx0XHRcdC8vIGNoZWNrIGlmIHdlIHNob3VsZCBlcnJvciBpZiBwYXNzZWQgYW4gaW52YWxpZCBjb21tYW5kXG5cdFx0XHRpZiAoIWVyciAmJiBfLmxlbmd0aCAmJiAoY3R4LmdldCgnZXJyb3JJZlVua25vd25Db21tYW5kJykgfHwgYXJndi5oZWxwKSkge1xuXHRcdFx0XHRjb25zdCB1bmtub3duQ29tbWFuZCA9IF9bMF07XG5cdFx0XHRcdGVyciA9IG5ldyBFcnJvcihgVW5rbm93biBjb21tYW5kIFwiJHt1bmtub3duQ29tbWFuZH1cImApO1xuXG5cdFx0XHRcdGNvbnN0IHsgZGlzdGFuY2UgfSA9IHJlcXVpcmUoJ2Zhc3Rlc3QtbGV2ZW5zaHRlaW4nKTtcblx0XHRcdFx0aGVscC5zdWdnZXN0aW9ucyA9IGhlbHAuY29tbWFuZHMuZW50cmllc1xuXHRcdFx0XHRcdC5tYXAoY21kID0+ICh7IG5hbWU6IGNtZC5uYW1lLCBkZXNjOiBjbWQuZGVzYywgZGlzdDogZGlzdGFuY2UodW5rbm93bkNvbW1hbmQsIGNtZC5uYW1lKSB9KSlcblx0XHRcdFx0XHQuZmlsdGVyKHMgPT4gcy5kaXN0IDw9IDIpXG5cdFx0XHRcdFx0LnNvcnQoKGEsIGIpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHIgPSBhLmRpc3QgLSBiLmRpc3Q7XG5cdFx0XHRcdFx0XHRyZXR1cm4gciAhPT0gMCA/IHIgOiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0fVxuXG5cdFx0XHRoZWxwLmVycm9yID0gZm9ybWF0RXJyb3IoZXJyKTtcblx0XHRcdGhlbHAud2FybmluZ3MgPSBBcnJheS5pc0FycmF5KHdhcm5pbmdzKSA/IHdhcm5pbmdzLm1hcChmb3JtYXRFcnJvcikgOiBudWxsO1xuXG5cdFx0XHRjb25zdCB7IF9zdGRvdXQsIF9zdGRlcnIgfSA9IGNvbnNvbGU7XG5cblx0XHRcdC8vIHByaW50IHRoZSBoZWxwIG91dHB1dFxuXHRcdFx0aWYgKGFyZ3YuanNvbikge1xuXHRcdFx0XHRfc3Rkb3V0LndyaXRlKEpTT04uc3RyaW5naWZ5KGhlbHAsIG51bGwsICcgICcpKTtcblx0XHRcdFx0X3N0ZG91dC53cml0ZSgnXFxuJyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25zdCBmaWxlID0gY3R4LmdldCgnaGVscFRlbXBsYXRlRmlsZScsIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicsICd0ZW1wbGF0ZXMnLCAnaGVscC50cGwnKSk7XG5cdFx0XHRcdGxvZyhgUmVuZGVyaW5nIGhlbHAgdGVtcGxhdGU6ICR7aGlnaGxpZ2h0KGZpbGUpfWApO1xuXG5cdFx0XHRcdC8vIGRldGVybWluZSB0aGUgb3V0cHV0IHN0cmVhbVxuXHRcdFx0XHQoZXJyID8gX3N0ZGVyciA6IF9zdGRvdXQpLndyaXRlKHJlbmRlckZpbGUoZmlsZSwge1xuXHRcdFx0XHRcdHN0eWxlOiBzdHlsZXMsXG5cdFx0XHRcdFx0aGVhZGVyOiBudWxsLFxuXHRcdFx0XHRcdGZvb3RlcjogbnVsbCxcblx0XHRcdFx0XHQuLi5oZWxwXG5cdFx0XHRcdH0pKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gc2V0IHRoZSBleGl0IGNvZGVcblx0XHRcdGV4aXRDb2RlKGVyciA/IDEgOiBjdHguZ2V0KCdoZWxwRXhpdENvZGUnKSk7XG5cblx0XHRcdC8vIHdlIG9ubHkgbG9vcCB1bnRpbCB3ZSBoaXQgdGhlIGZpcnN0IHZhbGlkIGNvbnRleHQuLi4gZ2VuZXJhdGVIZWxwKCkgd2lsbCByZWN1cnNlXG5cdFx0XHQvLyBwYXJlbnQgY29udGV4dHMgZm9yIHVzXG5cdFx0XHRicmVhaztcblx0XHR9XG5cdH1cbn07XG4iXSwiZmlsZSI6ImNvbW1hbmRzL2hlbHAuanMifQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1hbmRzL2hlbHAuanMiXSwibmFtZXMiOlsibG9nIiwiaGlnaGxpZ2h0IiwiZGVidWciLCJzdHlsZXMiLCJyZW5kZXJIZWxwIiwiY3R4Iiwib3B0cyIsImZpbGUiLCJnZXQiLCJwYXRoIiwicmVzb2x2ZSIsIl9fZGlybmFtZSIsIk9iamVjdCIsImFzc2lnbiIsInN0eWxlIiwiaGVhZGVyIiwiZm9vdGVyIiwiZ2VuZXJhdGVIZWxwIiwidHJpbSIsImNsaWtpdEhlbHAiLCJoaWRkZW4iLCJvcHRpb25zIiwiYWN0aW9uIiwiXyIsImFyZ3YiLCJjb25zb2xlIiwiY29udGV4dHMiLCJlcnIiLCJleGl0Q29kZSIsInBhcmVudENvbnRleHROYW1lcyIsIndhcm5pbmdzIiwiZm9ybWF0RXJyb3IiLCJtZXNzYWdlIiwidHlwZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImNvZGUiLCJqc29uIiwibWV0YSIsInN0YWNrIiwiaGVscCIsImxlbmd0aCIsInVua25vd25Db21tYW5kIiwiRXJyb3IiLCJkaXN0YW5jZSIsInJlcXVpcmUiLCJzdWdnZXN0aW9ucyIsImNvbW1hbmRzIiwiZW50cmllcyIsIm1hcCIsImNtZCIsImRlc2MiLCJkaXN0IiwiZmlsdGVyIiwicyIsInNvcnQiLCJhIiwiYiIsInIiLCJsb2NhbGVDb21wYXJlIiwiZXJyb3IiLCJBcnJheSIsImlzQXJyYXkiLCJfc3Rkb3V0IiwiX3N0ZGVyciIsIndyaXRlIiwiSlNPTiIsInN0cmluZ2lmeSIsImJ1ZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7OztBQUVBLE1BQU07QUFBRUEsRUFBQUE7QUFBRixJQUFVLG9CQUFNLGNBQU4sQ0FBaEI7QUFDQSxNQUFNO0FBQUVDLEVBQUFBO0FBQUYsSUFBZ0JDLGVBQU1DLE1BQTVCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNPLGVBQWVDLFVBQWYsQ0FBMEJDLEdBQTFCLEVBQStCQyxJQUFJLEdB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Q0FpRDNCOzs7QUFDQXJDLE1BQUFBLFFBQVEsQ0FBQ0QsR0FBRyxHQUFHLENBQUgsR0FBT3RCLEdBQUcsQ0FBQ0csR0FBSixDQUFRLGNBQVIsQ0FBWCxDQUFSLENBbEQyQixDQW9EM0I7QUFDQTs7QUFDQTtBQUNBO0FBQ0Q7O0FBOUdhLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnLi4vbGliL2RlYnVnJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyByZW5kZXJGaWxlIH0gZnJvbSAnLi4vcmVuZGVyL3RlbXBsYXRlJztcblxuY29uc3QgeyBsb2cgfSA9IGRlYnVnKCdjbGkta2l0OmhlbHAnKTtcbmNvbnN0IHsgaGlnaGxpZ2h0IH0gPSBkZWJ1Zy5zdHlsZXM7XG5cbi8qKlxuICogUmVuZGVycyBoZWxwIGZvciBhIHNwZWNpZmljIGNvbnRleHQsIGFuZCBpdHMgcGFyZW50IGNvbnRleHRzLCB0byBhIHN0cmluZy4gVGhpcyBmdW5jdGlvbiBpc1xuICogcGFzc2VkIGludG8gdGhlIHNlbGVjdGVkIGNvbW1hbmQncyBgYWN0aW9uKClgIGFzIGEgcHJvcGVydHkgY2FsbGVkIGBoZWxwKClgIHNvIHRoYXQgYSBjb21tYW5kXG4gKiBjYW4gcmVuZGVyIGl0cyBvd24gaGVscCBvdXRwdXQuXG4gKlxuICogQHBhcmFtIHtDb250ZXh0fSBjdHggLSBUaGUgY29udGV4dCB0byByZW5kZXIgaGVscC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBWYXJpb3VzIG9wdGlvbnMgdG8gcGFzcyBpbnRvIGBnZW5lcmF0ZUhlbHAoKWAuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVySGVscChjdHgsIG9wdHMgPSB7fSkge1xuXHRjb25zdCBmaWxlID0gY3R4LmdldCgnaGVscFRlbXBsYXRlRmlsZScsIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicsICd0ZW1wbGF0ZXMnLCAnaGVscC50cGwnKSk7XG5cdGxvZyhgUmVuZGVyaW5nIGhlbHAgdGVtcGxhdGU6ICR7aGlnaGxpZ2h0KGZpbGUpfWApO1xuXHRyZXR1cm4gcmVuZGVyRmlsZShmaWxlLCBPYmplY3QuYXNzaWduKHtcblx0XHRzdHlsZTogb3B0cz8uc3R5bGVzIHx8IHt9LFxuXHRcdGhlYWRlcjogbnVsbCxcblx0XHRmb290ZXI6IG51bGxcblx0fSwgYXdhaXQgY3R4LmdlbmVyYXRlSGVscChvcHRzKSkpLnRyaW0oKTtcbn1cblxuLyoqXG4gKiBUaGUgYnVpbHQtaW4gaGVscCBjb21tYW5kIHBhcmFtZXRlcnMuXG4gKlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoaXMgY29tbWFuZCBpcyB0aGUgYnVpbHQtaW4gY2xpLWtpdCBoZWxwIGNvbW1hbmQgc28gdGhhdCBpZiB0aGUgQ0xJIGluc3RhbmNlIHRoaXNcblx0ICogY29tbWFuZCBiZWxvbmdzIHRvIGdldHMgYWRkZWQgdG8gYW5vdGhlciBDTEkgaW5zdGFuY2UsIHdlIGRvbid0IGNvcHkgaXQgb3Zlci5cblx0ICogQHR5cGUge0Jvb2xlYW59XG5cdCAqL1xuXHRjbGlraXRIZWxwOiB0cnVlLFxuXG5cdC8qKlxuXHQgKiBXaGlsZSB0aGlzIGlzIGEgY29tbWFuZCwgd2UgZG9uJ3Qgd2FudCB0byBzaG93IGl0IHNpbmNlIHdlIGFscmVhZHkgc2hvdyB0aGUgYC0taGVscGAgZmxhZy5cblx0ICogQHR5cGUge0Jvb2xlYW59XG5cdCAqL1xuXHRoaWRkZW46IHRydWUsXG5cblx0LyoqXG5cdCAqIE91dHB1dCB0aGUgaGVscCBhcyBKU09OLiBOZWF0by5cblx0ICogQHR5cGUge09iamVjdH1cblx0ICovXG5cdG9wdGlvbnM6IHtcblx0XHQnLS1qc29uJzogbnVsbFxuXHR9LFxuXG5cdC8qKlxuXHQgKiBFeGVjdXRlcyB0aGUgaGVscCBjb21tYW5kLlxuXHQgKlxuXHQgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gVmFyaW91cyBwYXJhbWV0ZXJzLlxuXHQgKiBAcGFyYW0ge09iamVjdH0gW3BhcmFtcy5hcmd2XSAtIFRoZSBwYXJzZWQgb3B0aW9ucy5cblx0ICogQHBhcmFtIHtBcnJheS48Q29udGV4dD59IHBhcmFtcy5jb250ZXh0cyAtIFRoZSBzdGFjayBvZiBjb250ZXh0cyBmb3VuZCBkdXJpbmcgcGFyc2luZy5cblx0ICogQHBhcmFtIHtFcnJvcn0gW3BhcmFtcy5lcnJdIC0gQW4gZXJyb3Igb2JqZWN0IGluIHRoZSBldmVudCBhbiBlcnJvciBvY2N1cnJlZC5cblx0ICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLmV4aXRDb2RlIC0gQSBmdW5jdGlvbiB0aGF0IHNldHMgdGhlIGV4aXQgY29kZS5cblx0ICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gW3BhcmFtcy5wYXJlbnRDb250ZXh0TmFtZXNdIC0gQW4gYXJyYXkgb2YgcGFyZW50IGNvbnRleHQgbmFtZXMuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBbcGFyYW1zLnVua25vd25Db21tYW5kXSAtIFRoZSBuYW1lIG9mIHRoZSB1bmtub3duIGNvbW1hbmQuXG5cdCAqIEBwYXJhbSB7QXJyYXkuPEVycm9yPn0gW3BhcmFtcy53YXJuaW5nc10gLSBBIGxpc3Qgb2Ygd2FybmluZ3MgKGVycm9yIG9iamVjdHMpLlxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX1cblx0ICovXG5cdGFzeW5jIGFjdGlvbih7IF8gPSBbXSwgYXJndiA9IHt9LCBjb25zb2xlLCBjb250ZXh0cywgZXJyLCBleGl0Q29kZSwgcGFyZW50Q29udGV4dE5hbWVzLCBzdHlsZXMsIHdhcm5pbmdzIH0gPSB7fSkge1xuXHRcdGV4aXRDb2RlKCshIWVycik7IC8vIDA9c3VjY2VzcywgMT1lcnJvclxuXG5cdFx0Y29uc3QgZm9ybWF0RXJyb3IgPSBlcnIgPT4ge1xuXHRcdFx0aWYgKHR5cGVvZiBlcnIgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdHJldHVybiB7IG1lc3NhZ2U6IGVyciB9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0eXBlID0gZXJyICYmIGVyci5jb25zdHJ1Y3RvciAmJiBlcnIuY29uc3RydWN0b3IubmFtZSB8fCBudWxsO1xuXHRcdFx0cmV0dXJuIGVyciA/IHtcblx0XHRcdFx0Y29kZTogICAgZXJyLmNvZGUsXG5cdFx0XHRcdG1lc3NhZ2U6ICFhcmd2Lmpzb24gJiYgdHlwZSA/IGAke3R5cGV9OiAke2Vyci5tZXNzYWdlfWAgOiBlcnIubWVzc2FnZSxcblx0XHRcdFx0bWV0YTogICAgZXJyLm1ldGEsXG5cdFx0XHRcdHN0YWNrOiAgIGVyci5zdGFjayxcblx0XHRcdFx0dHlwZVxuXHRcdFx0fSA6IG51bGw7XG5cdFx0fTtcblxuXHRcdC8vIHNraXAgdGhlIGJ1aWx0LWluIGhlbHAgY29tbWFuZCBhbmQgZmluZCB0aGUgZmlyc3QgY29udGV4dFxuXHRcdGZvciAoY29uc3QgY3R4IG9mIGNvbnRleHRzKSB7XG5cdFx0XHQvLyB3ZSBkb24ndCBkaXNwbGF5IGhlbHAgZm9yIHRoZSBoZWxwIGNvbW1hbmRcblx0XHRcdGlmIChjdHguY2xpa2l0SGVscCkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZ2VuZXJhdGUgdGhlIGhlbHAgb2JqZWN0XG5cdFx0XHRjb25zdCBoZWxwID0gYXdhaXQgY3R4LmdlbmVyYXRlSGVscCh7IGVyciwgcGFyZW50Q29udGV4dE5hbWVzLCB3YXJuaW5ncyB9KTtcblxuXHRcdFx0Ly8gY2hlY2sgaWYgd2Ugc2hvdWxkIGVycm9yIGlmIHBhc3NlZCBhbiBpbnZhbGlkIGNvbW1hbmRcblx0XHRcdGlmICghZXJyICYmIF8ubGVuZ3RoICYmIChjdHguZ2V0KCdlcnJvcklmVW5rbm93bkNvbW1hbmQnKSB8fCBhcmd2LmhlbHApKSB7XG5cdFx0XHRcdGNvbnN0IHVua25vd25Db21tYW5kID0gX1swXTtcblx0XHRcdFx0ZXJyID0gbmV3IEVycm9yKGBVbmtub3duIGNvbW1hbmQgXCIke3Vua25vd25Db21tYW5kfVwiYCk7XG5cblx0XHRcdFx0Y29uc3QgeyBkaXN0YW5jZSB9ID0gcmVxdWlyZSgnZmFzdGVzdC1sZXZlbnNodGVpbicpO1xuXHRcdFx0XHRoZWxwLnN1Z2dlc3Rpb25zID0gaGVscC5jb21tYW5kcy5lbnRyaWVzXG5cdFx0XHRcdFx0Lm1hcChjbWQgPT4gKHsgbmFtZTogY21kLm5hbWUsIGRlc2M6IGNtZC5kZXNjLCBkaXN0OiBkaXN0YW5jZSh1bmtub3duQ29tbWFuZCwgY21kLm5hbWUpIH0pKVxuXHRcdFx0XHRcdC5maWx0ZXIocyA9PiBzLmRpc3QgPD0gMilcblx0XHRcdFx0XHQuc29ydCgoYSwgYikgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgciA9IGEuZGlzdCAtIGIuZGlzdDtcblx0XHRcdFx0XHRcdHJldHVybiByICE9PSAwID8gciA6IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cblx0XHRcdGhlbHAuZXJyb3IgPSBmb3JtYXRFcnJvcihlcnIpO1xuXHRcdFx0aGVscC53YXJuaW5ncyA9IEFycmF5LmlzQXJyYXkod2FybmluZ3MpID8gd2FybmluZ3MubWFwKGZvcm1hdEVycm9yKSA6IG51bGw7XG5cblx0XHRcdGNvbnN0IHsgX3N0ZG91dCwgX3N0ZGVyciB9ID0gY29uc29sZTtcblxuXHRcdFx0Ly8gcHJpbnQgdGhlIGhlbHAgb3V0cHV0XG5cdFx0XHRpZiAoYXJndi5qc29uKSB7XG5cdFx0XHRcdF9zdGRvdXQud3JpdGUoSlNPTi5zdHJpbmdpZnkoaGVscCwgbnVsbCwgJyAgJykpO1xuXHRcdFx0XHRfc3Rkb3V0LndyaXRlKCdcXG4nKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGZpbGUgPSBjdHguZ2V0KCdoZWxwVGVtcGxhdGVGaWxlJywgcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ3RlbXBsYXRlcycsICdoZWxwLnRwbCcpKTtcblx0XHRcdFx0bG9nKGBSZW5kZXJpbmcgaGVscCB0ZW1wbGF0ZTogJHtoaWdobGlnaHQoZmlsZSl9YCk7XG5cblx0XHRcdFx0Y29uc3QgYnVmID0gcmVuZGVyRmlsZShmaWxlLCB7XG5cdFx0XHRcdFx0c3R5bGU6IHN0eWxlcyxcblx0XHRcdFx0XHRoZWFkZXI6IG51bGwsXG5cdFx0XHRcdFx0Zm9vdGVyOiBudWxsLFxuXHRcdFx0XHRcdC4uLmhlbHBcblx0XHRcdFx0fSkudHJpbSgpO1xuXG5cdFx0XHRcdC8vIGRldGVybWluZSB0aGUgb3V0cHV0IHN0cmVhbVxuXHRcdFx0XHQoZXJyID8gX3N0ZGVyciA6IF9zdGRvdXQpLndyaXRlKGJ1Zik7XG5cdFx0XHRcdChlcnIgPyBfc3RkZXJyIDogX3N0ZG91dCkud3JpdGUoJ1xcbicpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBzZXQgdGhlIGV4aXQgY29kZVxuXHRcdFx0ZXhpdENvZGUoZXJyID8gMSA6IGN0eC5nZXQoJ2hlbHBFeGl0Q29kZScpKTtcblxuXHRcdFx0Ly8gd2Ugb25seSBsb29wIHVudGlsIHdlIGhpdCB0aGUgZmlyc3QgdmFsaWQgY29udGV4dC4uLiBnZW5lcmF0ZUhlbHAoKSB3aWxsIHJlY3Vyc2Vcblx0XHRcdC8vIHBhcmVudCBjb250ZXh0cyBmb3IgdXNcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxufTtcbiJdLCJmaWxlIjoiY29tbWFuZHMvaGVscC5qcyJ9

@@ -11,2 +11,5 @@ "use strict";

exports.toUpperCase = toUpperCase;
exports.trim = trim;
exports.trimStart = trimStart;
exports.trimEnd = trimEnd;
exports.scroll = exports.esc = exports.erase = exports.custom = exports.cursor = exports.clear = exports.bel = void 0;

@@ -197,2 +200,23 @@

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9hbnNpLmpzIl0sIm5hbWVzIjpbImJlbCIsImNsZWFyIiwiY3Vyc29yIiwic2hvdyIsImhpZGUiLCJzYXZlIiwicmVzdG9yZSIsImdldCIsImhvbWUiLCJsZWZ0IiwiZG93biIsIm4iLCJ1cCIsImJhY2t3YXJkIiwiZm9yd2FyZCIsIm1vdmUiLCJkeCIsImR5IiwicyIsInRvIiwieCIsInkiLCJwb3NpdGlvbiIsIm5leHQiLCJyZXBlYXQiLCJNYXRoIiwiYWJzIiwicHJldiIsImN1c3RvbSIsImVjaG8iLCJlbmFibGVkIiwiZXhlYyIsImNvbW1hbmQiLCJleGl0IiwiY29kZSIsImtleXByZXNzIiwia2V5IiwicmUiLCJlcmFzZSIsImxpbmUiLCJsaW5lcyIsImNvdW50Iiwic2NyZWVuIiwidG9FbmQiLCJ0b1N0YXJ0IiwiZXNjIiwic2Nyb2xsIiwibGluayIsInRleHQiLCJ1cmwiLCJzcGxpdCIsInN0ciIsInJlc3VsdHMiLCJtIiwicHVzaCIsImluZGV4Iiwic3Vic3RyaW5nIiwic3Vic3RyIiwibGVuZ3RoIiwic3RyaXBSZWdFeHAiLCJzdHJpcCIsIlN0cmluZyIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsIm1hcCIsImkiLCJqb2luIiwidG9VcHBlckNhc2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUVPLE1BQU1BLEdBQUcsR0FBRyxNQUFaOztBQUVBLE1BQU1DLEtBQUssR0FBRyxPQUFkOztBQUVBLE1BQU1DLE1BQU0sR0FBRztBQUNyQkMsRUFBQUEsSUFBSSxFQUFLLFdBRFk7QUFFckJDLEVBQUFBLElBQUksRUFBSyxXQUZZO0FBR3JCQyxFQUFBQSxJQUFJLEVBQUssT0FIWTtBQUlyQkMsRUFBQUEsT0FBTyxFQUFFLE9BSlk7QUFLckJDLEVBQUFBLEdBQUcsRUFBTSxTQUxZO0FBTXJCQyxFQUFBQSxJQUFJLEVBQUssUUFOWTtBQU9yQkMsRUFBQUEsSUFBSSxFQUFLLFFBUFk7O0FBU3JCQyxFQUFBQSxJQUFJLENBQUNDLENB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LENBQVdhLEdBQVgsQ0FBZSxDQUFDOUMsQ0FBRCxFQUFJK0MsQ0FBSixLQUFVQSxDQUFDLEdBQUcsQ0FBSixLQUFVLENBQVYsR0FBYy9DLENBQUMsQ0FBQzZDLFdBQUYsRUFBZCxHQUFnQzdDLENBQXpELEVBQTREZ0QsSUFBNUQsQ0FBaUUsRUFBakUsQ0FBUDtBQUNBO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTQyxXQUFULENBQXFCaEIsR0FBckIsRUFBMEI7QUFDaEMsU0FBT0QsS0FBSyxDQUFDQyxHQUFELENBQUwsQ0FBV2EsR0FBWCxDQUFlLENBQUM5QyxDQUFELEVBQUkrQyxDQUFKLEtBQVVBLENBQUMsR0FBRyxDQUFKLEtBQVUsQ0FBVixHQUFjL0MsQ0FBQyxDQUFDaUQsV0FBRixFQUFkLEdBQWdDakQsQ0FBekQsRUFBNERnRCxJQUE1RCxDQUFpRSxFQUFqRSxDQUFQO0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmNvZGUgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgYmVsID0gJ1xceDA3JztcblxuZXhwb3J0IGNvbnN0IGNsZWFyID0gJ1xceDFiYyc7XG5cbmV4cG9ydCBjb25zdCBjdXJzb3IgPSB7XG5cdHNob3c6ICAgICdcXHgxYls/MjVoJyxcblx0aGlkZTogICAgJ1xceDFiWz8yNWwnLFxuXHRzYXZlOiAgICAnXFx4MWI3Jyxcblx0cmVzdG9yZTogJ1xceDFiOCcsXG5cdGdldDogICAgICdcXHgxYls2bicsXG5cdGhvbWU6ICAgICdcXHgxYltIJyxcblx0bGVmdDogICAgJ1xceDFiW0cnLFxuXG5cdGRvd24obiA9IDEpICB7IHJldHVybiBuID8gYFxceDFiWyR7bn1CYCA6ICcnOyB9LFxuXHR1cChuID0gMSkgICAgeyByZXR1cm4gbiA/IGBcXHgxYlske259QWAgOiAnJzsgfSxcblxuXHRiYWNrd2FyZChuID0gMSkgIHsgcmV0dXJuIG4gPyBgXFx4MWJbJHtufURgIDogJyc7IH0sXG5cdGZvcndhcmQobiA9IDEpIHsgcmV0dXJuIG4gPyBgXFx4MWJbJHtufUNgIDogJyc7IH0sXG5cblx0bW92ZShkeCwgZHkpIHtcblx0XHRsZXQgcyA9IGR4ID8gYFxceDFiWyR7ZHggPiAwID8gYCR7ZHh9Q2AgOiBgJHstZHh9RGB9YCA6ICcnO1xuXHRcdGlmIChkeSkge1xuXHRcdFx0cyArPSBgXFx4MWJbJHtkeSA+IDAgPyBgJHtkeX1CYCA6IGAkey1keX1BYH1gO1xuXHRcdH1cblx0XHRyZXR1cm4gcztcblx0fSxcblx0dG8oeCwgeSkge1xuXHRcdHJldHVybiB5ID8gYFxceDFiWyR7eSArIDF9OyR7eCArIDF9SGAgOiBgXFx4MWJbJHt4ICsgMX1HYDtcblx0fSxcblxuXHRwb3NpdGlvbjogL15cXHgxYlxcWyhcXGQrKTsoXFxkKylSJC8sXG5cblx0bmV4dChuID0gMSkgeyByZXR1cm4gIW4gPyAnJyA6IChuIDwgMCA/ICdcXHgxYltGJyA6ICdcXHgxYltFJykucmVwZWF0KE1hdGguYWJzKG4pKTsgfSxcblx0cHJldihuID0gMSkgeyByZXR1cm4gIW4gPyAnJyA6IChuID4gMCA/ICdcXHgxYltGJyA6ICdcXHgxYltFJykucmVwZWF0KE1hdGguYWJzKG4pKTsgfVxufTtcblxuZXhwb3J0IGNvbnN0IGN1c3RvbSA9IHtcblx0ZWNobyhlbmFibGVkKSB7XG5cdFx0cmV0dXJuIGBcXHgxYl02NjY7RWNobz0ke2VuYWJsZWQgPyAnb24nIDogJ29mZid9XFx4MDdgO1xuXHR9LFxuXHRleGVjKGNvbW1hbmQpIHtcblx0XHRyZXR1cm4gYFxceDFiXTY2NjtFeGVjPSR7ZW5jb2RlKGNvbW1hbmQpfVxceDA3YDtcblx0fSxcblx0ZXhpdChjb2RlKSB7XG5cdFx0cmV0dXJuIGBcXHgxYl02NjY7RXhpdD0ke2NvZGV9XFx4MDdgO1xuXHR9LFxuXHRrZXlwcmVzcyhrZXkpIHtcblx0XHRyZXR1cm4gYFxceDFiXTY2NjtLZXlwcmVzcz0ke2VuY29kZShrZXkpfVxceDA3YDtcblx0fVxufTtcblxuY3VzdG9tLmVjaG8ucmUgPSAvXlxceDFiXFxdNjY2O0VjaG89KFxcdyspXFx4MDckLztcbmN1c3RvbS5leGVjLnJlID0gL15cXHgxYlxcXTY2NjtFeGVjPSguKylcXHgwNyQvO1xuY3VzdG9tLmV4aXQucmUgPSAvXlxceDFiXFxdNjY2O0V4aXQ9KFxcZCspXFx4MDckLztcbmN1c3RvbS5rZXlwcmVzcy5yZSA9IC9eXFx4MWJcXF02NjY7S2V5cHJlc3M9KC4rKVxceDA3JC87XG5cbmV4cG9ydCBjb25zdCBlcmFzZSA9IHtcblx0ZG93bjogICAgJ1xceDFiW0onLFxuXHRsaW5lOiAgICAnXFx4MWJbMksnLFxuXHRsaW5lcyhjb3VudCA9IDApIHtcblx0XHRsZXQgcyA9ICcnO1xuXHRcdHdoaWxlIChjb3VudCA+IDApIHtcblx0XHRcdHMgKz0gdGhpcy5saW5lICsgKC0tY291bnQgPyBjdXJzb3IudXAoKSA6ICcnKTtcblx0XHR9XG5cdFx0cmV0dXJuIHMgPyBgJHtzfSR7Y3Vyc29yLmxlZnR9YCA6ICcnO1xuXHR9LFxuXHRzY3JlZW46ICAnXFx4MWJbMkonLFxuXHR0b0VuZDogICAnXFx4MWJbSycsXG5cdHRvU3RhcnQ6ICdcXHgxYlsxSycsXG5cdHVwOiAgICAgICdcXHgxYlsxSidcbn07XG5cbmV4cG9ydCBjb25zdCBlc2MgPSAnXFx4MWJbJztcblxuZXhwb3J0IGNvbnN0IHNjcm9sbCA9IHtcblx0ZG93bjogJ1xceDFiW1QnLFxuXHR1cDogICAnXFx4MWJbUydcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGh5cGVybGluayBmb3IgcmVuZGVyaW5nIGluIGEgdGVybWluYWwuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IFt0ZXh0XSAtIFRoZSBjbGlja2FibGUgdGV4dCB0byBkaXNwbGF5LlxuICogQHBhcmFtIHtTdHJpbmd9IHVybCAtIFRoZSBsaW5rIFVSTC5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaW5rKHRleHQsIHVybCkge1xuXHRyZXR1cm4gYFxceDFiXTg7OyR7dXJsIHx8IHRleHR9XFx4MDcke3RleHR9XFx4MWJdODs7XFx4MDdgO1xufVxuXG4vKipcbiAqIFNwbGl0cyBhIHN0cmluZyBpbnRvIGFuIGFycmF5IHdoZXJlIGV2ZW4gbnVtYmVyIGluZGljZXMgYXJlIHBsYWluIHN0cmluZ3MgYW5kIG9kZCBudW1iZXJcbiAqIGluZGljZXMgYXJlIEFOU0kgZXNjYXBlIHNlcXVlbmNlcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyIC0gVGhlIHN0cmluZyB0byBzcGxpdC5cbiAqIEByZXR1cm5zIHtBcnJheS48U3RyaW5nPn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0KHN0cikge1xuXHRpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcblx0XHRyZXR1cm4gc3RyO1xuXHR9XG5cblx0Y29uc3QgcmVzdWx0cyA9IFtdO1xuXHRjb25zdCByZSA9IC9cXHgwN3xcXHgxYig/OlthLXpcXGRdfFxcW1xcPzI1W2hsXXxcXFtbQS1aYS16XXxcXFtcXGQrW0EtWmEtel18XFxbXFxkKztcXGQrSHxcXF1cXGQrW15cXHgwN10rXFx4MDcpLztcblx0bGV0IG07XG5cblx0d2hpbGUgKG0gPSByZS5leGVjKHN0cikpIHtcblx0XHRyZXN1bHRzLnB1c2gobS5pbmRleCA/IHN0ci5zdWJzdHJpbmcoMCwgbS5pbmRleCkgOiAnJyk7XG5cdFx0cmVzdWx0cy5wdXNoKHN0ci5zdWJzdHIobS5pbmRleCwgbVswXS5sZW5ndGgpKTtcblx0XHRzdHIgPSBzdHIuc3Vic3RyaW5nKG0uaW5kZXggKyBtWzBdLmxlbmd0aCk7XG5cdH1cblxuXHRpZiAoc3RyKSB7XG5cdFx0cmVzdWx0cy5wdXNoKHN0cik7XG5cdH1cblxuXHRyZXR1cm4gcmVzdWx0cztcbn1cblxuY29uc3Qgc3RyaXBSZWdFeHAgPSAvXFx4MWJcXFsoOz9cXGQrKSttL2c7XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwgYW5zaSBjb250cm9sIHNlcXVlbmNlcyBmcm9tIHRoZSBzcGVjaWZpZWQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgLSBUaGUgc3RyaW5nIHRvIHN0cmlwLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwKHN0ciA9ICcnKSB7XG5cdHJldHVybiBTdHJpbmcoc3RyKS5yZXBsYWNlKHN0cmlwUmVnRXhwLCAnJyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gbG93ZXIgY2FzZSB3aXRob3V0IHRhbXBlcmluZyB3aXRoIGFueSBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciAtIFRoZSBzdHJpbmcgdG8gbG93ZXIgY2FzZS5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0xvd2VyQ2FzZShzdHIpIHtcblx0cmV0dXJuIHNwbGl0KHN0cikubWFwKChzLCBpKSA9PiBpICUgMiA9PT0gMCA/IHMudG9Mb3dlckNhc2UoKSA6IHMpLmpvaW4oJycpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIHVwcGVyIGNhc2Ugd2l0aG91dCB0YW1wZXJpbmcgd2l0aCBhbnkgQU5TSSBlc2NhcGUgc2VxdWVuY2VzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgLSBUaGUgc3RyaW5nIHRvIHVwcGVyIGNhc2UuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9VcHBlckNhc2Uoc3RyKSB7XG5cdHJldHVybiBzcGxpdChzdHIpLm1hcCgocywgaSkgPT4gaSAlIDIgPT09IDAgPyBzLnRvVXBwZXJDYXNlKCkgOiBzKS5qb2luKCcnKTtcbn1cbiJdLCJmaWxlIjoibGliL2Fuc2kuanMifQ==
function trim(str) {
return trimStart(trimEnd(str));
}
function trimStart(str) {
if (str !== undefined && str !== null) {
str = String(str).replace(/^\s*(\x07|\x1b(?:[a-z\d]|\[\?25[hl]|\[[A-Za-z]|\[\d+[A-Za-z]|\[\d+;\d+H|\]\d+[^\x07]+\x07))?\s*/, '$1');
}
return str;
}
function trimEnd(str) {
if (str !== undefined && str !== null) {
// '\u001b[' + b + 'm'
str = String(str).replace(/\s*(\x07|\x1b(?:[a-z\d]|\[\?25[hl]|\[[A-Za-z]|\[\d+[A-Za-z]|\[\d+;\d+H|\]\d+[^\x07]+\x07))?\s*$/, '$1');
}
return str;
}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9hbnNpLmpzIl0sIm5hbWVzIjpbImJlbCIsImNsZWFyIiwiY3Vyc29yIiwic2hvdyIsImhpZGUiLCJzYXZlIiwicmVzdG9yZSIsImdldCIsImhvbWUiLCJsZWZ0IiwiZG93biIsIm4iLCJ1cCIsImJhY2t3YXJkIiwiZm9yd2FyZCIsIm1vdmUiLCJkeCIsImR5IiwicyIsInRvIiwieCIsInkiLCJwb3NpdGlvbiIsIm5leHQiLCJyZXBlYXQiLCJNYXRoIiwiYWJzIiwicHJldiIsImN1c3RvbSIsImVjaG8iLCJlbmFibGVkIiwiZXhlYyIsImNvbW1hbmQiLCJleGl0IiwiY29kZSIsImtleXByZXNzIiwia2V5IiwicmUiLCJlcmFzZSIsImxpbmUiLCJsaW5lcyIsImNvdW50Iiwic2NyZWVuIiwidG9FbmQiLCJ0b1N0YXJ0IiwiZXNjIiwic2Nyb2xsIiwibGluayIsInRleHQiLCJ1cmwiLCJzcGxpdCIsInN0ciIsInJlc3VsdHMiLCJtIiwicHVzaCIsImluZGV4Iiwic3Vic3RyaW5nIiwic3Vic3RyIiwibGVuZ3RoIiwic3RyaXBSZWdFeHAiLCJzdHJpcCIsIlN0cmluZyIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsIm1hcCIsImkiLCJqb2luIiwidG9VcHBlckNhc2UiLCJ0cmltIiwidHJpbVN0YXJ0IiwidHJpbUVuZCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRU8sTUFBTUEsR0FBRyxHQUFHLE1BQVo7O0FBRUEsTUFBTUMsS0FBSyxHQUFHLE9BQWQ7O0FBRUEsTUFBTUMsTUFBTSxHQUFHO0FBQ3JCQyxFQUFBQSxJQUFJLEVBQUssV0FEWTtBQUVyQkMsRUFBQUEsSUFBSSxFQUFLLFdBRlk7QUFHckJDLEVBQUFBLElBQUksRUFBSyxPQUhZO0FBSXJCQyxFQUFBQSxPQUFPLEVBQUUsT0FKWTtBQUtyQkMsRUFBQUEsR0FBRyxFQUFNLFNBTFk7QUFNckJDLEVBQUFBLElBQUksRUFBSyxRQU5ZO0FBT3JCQyxFQUFB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LE9BQVosQ0FBb0IsaUdBQXBCLEVBQXVILElBQXZILENBQU47QUFDQTs7QUFDRCxTQUFPWCxHQUFQO0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmNvZGUgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgYmVsID0gJ1xceDA3JztcblxuZXhwb3J0IGNvbnN0IGNsZWFyID0gJ1xceDFiYyc7XG5cbmV4cG9ydCBjb25zdCBjdXJzb3IgPSB7XG5cdHNob3c6ICAgICdcXHgxYls/MjVoJyxcblx0aGlkZTogICAgJ1xceDFiWz8yNWwnLFxuXHRzYXZlOiAgICAnXFx4MWI3Jyxcblx0cmVzdG9yZTogJ1xceDFiOCcsXG5cdGdldDogICAgICdcXHgxYls2bicsXG5cdGhvbWU6ICAgICdcXHgxYltIJyxcblx0bGVmdDogICAgJ1xceDFiW0cnLFxuXG5cdGRvd24obiA9IDEpICB7IHJldHVybiBuID8gYFxceDFiWyR7bn1CYCA6ICcnOyB9LFxuXHR1cChuID0gMSkgICAgeyByZXR1cm4gbiA/IGBcXHgxYlske259QWAgOiAnJzsgfSxcblxuXHRiYWNrd2FyZChuID0gMSkgIHsgcmV0dXJuIG4gPyBgXFx4MWJbJHtufURgIDogJyc7IH0sXG5cdGZvcndhcmQobiA9IDEpIHsgcmV0dXJuIG4gPyBgXFx4MWJbJHtufUNgIDogJyc7IH0sXG5cblx0bW92ZShkeCwgZHkpIHtcblx0XHRsZXQgcyA9IGR4ID8gYFxceDFiWyR7ZHggPiAwID8gYCR7ZHh9Q2AgOiBgJHstZHh9RGB9YCA6ICcnO1xuXHRcdGlmIChkeSkge1xuXHRcdFx0cyArPSBgXFx4MWJbJHtkeSA+IDAgPyBgJHtkeX1CYCA6IGAkey1keX1BYH1gO1xuXHRcdH1cblx0XHRyZXR1cm4gcztcblx0fSxcblx0dG8oeCwgeSkge1xuXHRcdHJldHVybiB5ID8gYFxceDFiWyR7eSArIDF9OyR7eCArIDF9SGAgOiBgXFx4MWJbJHt4ICsgMX1HYDtcblx0fSxcblxuXHRwb3NpdGlvbjogL15cXHgxYlxcWyhcXGQrKTsoXFxkKylSJC8sXG5cblx0bmV4dChuID0gMSkgeyByZXR1cm4gIW4gPyAnJyA6IChuIDwgMCA/ICdcXHgxYltGJyA6ICdcXHgxYltFJykucmVwZWF0KE1hdGguYWJzKG4pKTsgfSxcblx0cHJldihuID0gMSkgeyByZXR1cm4gIW4gPyAnJyA6IChuID4gMCA/ICdcXHgxYltGJyA6ICdcXHgxYltFJykucmVwZWF0KE1hdGguYWJzKG4pKTsgfVxufTtcblxuZXhwb3J0IGNvbnN0IGN1c3RvbSA9IHtcblx0ZWNobyhlbmFibGVkKSB7XG5cdFx0cmV0dXJuIGBcXHgxYl02NjY7RWNobz0ke2VuYWJsZWQgPyAnb24nIDogJ29mZid9XFx4MDdgO1xuXHR9LFxuXHRleGVjKGNvbW1hbmQpIHtcblx0XHRyZXR1cm4gYFxceDFiXTY2NjtFeGVjPSR7ZW5jb2RlKGNvbW1hbmQpfVxceDA3YDtcblx0fSxcblx0ZXhpdChjb2RlKSB7XG5cdFx0cmV0dXJuIGBcXHgxYl02NjY7RXhpdD0ke2NvZGV9XFx4MDdgO1xuXHR9LFxuXHRrZXlwcmVzcyhrZXkpIHtcblx0XHRyZXR1cm4gYFxceDFiXTY2NjtLZXlwcmVzcz0ke2VuY29kZShrZXkpfVxceDA3YDtcblx0fVxufTtcblxuY3VzdG9tLmVjaG8ucmUgPSAvXlxceDFiXFxdNjY2O0VjaG89KFxcdyspXFx4MDckLztcbmN1c3RvbS5leGVjLnJlID0gL15cXHgxYlxcXTY2NjtFeGVjPSguKylcXHgwNyQvO1xuY3VzdG9tLmV4aXQucmUgPSAvXlxceDFiXFxdNjY2O0V4aXQ9KFxcZCspXFx4MDckLztcbmN1c3RvbS5rZXlwcmVzcy5yZSA9IC9eXFx4MWJcXF02NjY7S2V5cHJlc3M9KC4rKVxceDA3JC87XG5cbmV4cG9ydCBjb25zdCBlcmFzZSA9IHtcblx0ZG93bjogICAgJ1xceDFiW0onLFxuXHRsaW5lOiAgICAnXFx4MWJbMksnLFxuXHRsaW5lcyhjb3VudCA9IDApIHtcblx0XHRsZXQgcyA9ICcnO1xuXHRcdHdoaWxlIChjb3VudCA+IDApIHtcblx0XHRcdHMgKz0gdGhpcy5saW5lICsgKC0tY291bnQgPyBjdXJzb3IudXAoKSA6ICcnKTtcblx0XHR9XG5cdFx0cmV0dXJuIHMgPyBgJHtzfSR7Y3Vyc29yLmxlZnR9YCA6ICcnO1xuXHR9LFxuXHRzY3JlZW46ICAnXFx4MWJbMkonLFxuXHR0b0VuZDogICAnXFx4MWJbSycsXG5cdHRvU3RhcnQ6ICdcXHgxYlsxSycsXG5cdHVwOiAgICAgICdcXHgxYlsxSidcbn07XG5cbmV4cG9ydCBjb25zdCBlc2MgPSAnXFx4MWJbJztcblxuZXhwb3J0IGNvbnN0IHNjcm9sbCA9IHtcblx0ZG93bjogJ1xceDFiW1QnLFxuXHR1cDogICAnXFx4MWJbUydcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGh5cGVybGluayBmb3IgcmVuZGVyaW5nIGluIGEgdGVybWluYWwuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IFt0ZXh0XSAtIFRoZSBjbGlja2FibGUgdGV4dCB0byBkaXNwbGF5LlxuICogQHBhcmFtIHtTdHJpbmd9IHVybCAtIFRoZSBsaW5rIFVSTC5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaW5rKHRleHQsIHVybCkge1xuXHRyZXR1cm4gYFxceDFiXTg7OyR7dXJsIHx8IHRleHR9XFx4MDcke3RleHR9XFx4MWJdODs7XFx4MDdgO1xufVxuXG4vKipcbiAqIFNwbGl0cyBhIHN0cmluZyBpbnRvIGFuIGFycmF5IHdoZXJlIGV2ZW4gbnVtYmVyIGluZGljZXMgYXJlIHBsYWluIHN0cmluZ3MgYW5kIG9kZCBudW1iZXJcbiAqIGluZGljZXMgYXJlIEFOU0kgZXNjYXBlIHNlcXVlbmNlcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyIC0gVGhlIHN0cmluZyB0byBzcGxpdC5cbiAqIEByZXR1cm5zIHtBcnJheS48U3RyaW5nPn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0KHN0cikge1xuXHRpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcblx0XHRyZXR1cm4gc3RyO1xuXHR9XG5cblx0Y29uc3QgcmVzdWx0cyA9IFtdO1xuXHRjb25zdCByZSA9IC9cXHgwN3xcXHgxYig/OlthLXpcXGRdfFxcW1xcPzI1W2hsXXxcXFtbQS1aYS16XXxcXFtcXGQrW0EtWmEtel18XFxbXFxkKztcXGQrSHxcXF1cXGQrW15cXHgwN10rXFx4MDcpLztcblx0bGV0IG07XG5cblx0d2hpbGUgKG0gPSByZS5leGVjKHN0cikpIHtcblx0XHRyZXN1bHRzLnB1c2gobS5pbmRleCA/IHN0ci5zdWJzdHJpbmcoMCwgbS5pbmRleCkgOiAnJyk7XG5cdFx0cmVzdWx0cy5wdXNoKHN0ci5zdWJzdHIobS5pbmRleCwgbVswXS5sZW5ndGgpKTtcblx0XHRzdHIgPSBzdHIuc3Vic3RyaW5nKG0uaW5kZXggKyBtWzBdLmxlbmd0aCk7XG5cdH1cblxuXHRpZiAoc3RyKSB7XG5cdFx0cmVzdWx0cy5wdXNoKHN0cik7XG5cdH1cblxuXHRyZXR1cm4gcmVzdWx0cztcbn1cblxuY29uc3Qgc3RyaXBSZWdFeHAgPSAvXFx4MWJcXFsoOz9cXGQrKSttL2c7XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwgYW5zaSBjb250cm9sIHNlcXVlbmNlcyBmcm9tIHRoZSBzcGVjaWZpZWQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgLSBUaGUgc3RyaW5nIHRvIHN0cmlwLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwKHN0ciA9ICcnKSB7XG5cdHJldHVybiBTdHJpbmcoc3RyKS5yZXBsYWNlKHN0cmlwUmVnRXhwLCAnJyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gbG93ZXIgY2FzZSB3aXRob3V0IHRhbXBlcmluZyB3aXRoIGFueSBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciAtIFRoZSBzdHJpbmcgdG8gbG93ZXIgY2FzZS5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0xvd2VyQ2FzZShzdHIpIHtcblx0cmV0dXJuIHNwbGl0KHN0cikubWFwKChzLCBpKSA9PiBpICUgMiA9PT0gMCA/IHMudG9Mb3dlckNhc2UoKSA6IHMpLmpvaW4oJycpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIHVwcGVyIGNhc2Ugd2l0aG91dCB0YW1wZXJpbmcgd2l0aCBhbnkgQU5TSSBlc2NhcGUgc2VxdWVuY2VzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgLSBUaGUgc3RyaW5nIHRvIHVwcGVyIGNhc2UuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9VcHBlckNhc2Uoc3RyKSB7XG5cdHJldHVybiBzcGxpdChzdHIpLm1hcCgocywgaSkgPT4gaSAlIDIgPT09IDAgPyBzLnRvVXBwZXJDYXNlKCkgOiBzKS5qb2luKCcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyaW0oc3RyKSB7XG5cdHJldHVybiB0cmltU3RhcnQodHJpbUVuZChzdHIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyaW1TdGFydChzdHIpIHtcblx0aWYgKHN0ciAhPT0gdW5kZWZpbmVkICYmIHN0ciAhPT0gbnVsbCkge1xuXHRcdHN0ciA9IFN0cmluZyhzdHIpLnJlcGxhY2UoL15cXHMqKFxceDA3fFxceDFiKD86W2EtelxcZF18XFxbXFw/MjVbaGxdfFxcW1tBLVphLXpdfFxcW1xcZCtbQS1aYS16XXxcXFtcXGQrO1xcZCtIfFxcXVxcZCtbXlxceDA3XStcXHgwNykpP1xccyovLCAnJDEnKTtcblx0fVxuXHRyZXR1cm4gc3RyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJpbUVuZChzdHIpIHtcblx0aWYgKHN0ciAhPT0gdW5kZWZpbmVkICYmIHN0ciAhPT0gbnVsbCkge1xuXHRcdC8vICdcXHUwMDFiWycgKyBiICsgJ20nXG5cdFx0c3RyID0gU3RyaW5nKHN0cikucmVwbGFjZSgvXFxzKihcXHgwN3xcXHgxYig/OlthLXpcXGRdfFxcW1xcPzI1W2hsXXxcXFtbQS1aYS16XXxcXFtcXGQrW0EtWmEtel18XFxbXFxkKztcXGQrSHxcXF1cXGQrW15cXHgwN10rXFx4MDcpKT9cXHMqJC8sICckMScpO1xuXHR9XG5cdHJldHVybiBzdHI7XG59XG4iXSwiZmlsZSI6ImxpYi9hbnNpLmpzIn0=

@@ -68,7 +68,2 @@ "use strict";

* If value is a `Function`, it simply invokes it.
* @param {String|Function|Object} [params.help] - Additional help content to display on the
* help screen. When may be an object with the properties `header` and `footer` which values
* that are either a string or an async function that resolves a string. When value is a string
* or function, it is trasnformed into a object with the value being used as the header. Note
* that the command description is not displayed when a header message has been defined.
* @param {Boolean} [params.hidden=false] - When `true`, the option is not displayed on the

@@ -353,20 +348,2 @@ * help screen or auto-suggest.

/**
* Renders the help screen for this context including the parent contexts.
*
* @returns {Promise<Object>}
* @access private
*/
generateHelp() {
this.on('generateHelp', async (ctx, results) => {
const opts = {
style: Object.assign({}, _debug.default.styles, this.get('styles'))
};
results.header = typeof this.help.header === 'function' ? await this.help.header.call(this, opts) : this.help.header;
results.footer = typeof this.help.footer === 'function' ? await this.help.footer.call(this, opts) : this.help.footer;
});
return super.generateHelp();
}
/**
* Custom help header and footer content. A string, function, or object with `header` and

@@ -425,2 +402,2 @@ * `footer` properties may be used to set the `help` property, but the internal value will

exports.default = Command;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlci9jb21tYW5kLmpzIl0sIm5hbWVzIjpbImxvZyIsImhpZ2hsaWdodCIsImRlYnVnIiwic3R5bGVzIiwiZm9ybWF0UmVnRXhwIiwibmFtZVJlZ0V4cCIsIkNvbW1hbmQiLCJDb250ZXh0IiwiY29uc3RydWN0b3IiLCJuYW1lIiwicGFyYW1zIiwicGF0aCIsImlzQWJzb2x1dGUiLCJmcyIsImV4aXN0c1N5bmMiLCJjdHgiLCJyZXF1aXJlIiwiRXJyb3IiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImVyciIsIkUiLCJJTlZBTElEX0NPTU1BTkQiLCJtZXNzYWdlIiwic2NvcGUiLCJ2YWx1ZSIsIklOVkFMSURfQVJHVU1FTlQiLCJmb3JtYXQiLCJ0cmltIiwibSIsIm1hdGNoIiwiYWN0aW9uIiwiYWxpYXNlcyIsIlNldCIsImFsaWFzIiwic3BsaXQiLCJuIiwiaW5jbHVkZXMiLCJhZGQiLCJBcnJheSIsImlzQXJyYXkiLCJjYWxsYmFjayIsInNjb3AiLCJkZWZhdWx0Q29tbWFuZCIsInVuZGVmaW5lZCIsImNsaWtpdCIsImhhcyIsInRpdGxlIiwidGVybWluYWwiLCJwYXJzZXIiLCJnZXQiLCJoZWxwQ29tbWFuZCIsImNtZCIsImNvbW1hbmRzIiwiY2FsbCIsIklOVkFMSURfQ0xJS0lUX09CSkVDVCIsImFyZ3MiLCJsZW5ndGgiLCJsb29rdXAiLCJfYWxpYXNlcyIsImNyZWF0ZUFsaWFzZXMiLCJjbGlraXRIZWxwIiwiaGVscCIsImhpZGRlbiIsImtleSIsIk9iamVjdCIsImVudHJpZXMiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInZhbHVlcyIsInJlc3VsdCIsImZyb20iLCJhc3NpZ24iLCJhIiwiSU5WQUxJRF9BTElBUyIsInN1YnN0cmluZyIsImdlbmVyYXRlSGVscCIsIm9uIiwicmVzdWx0cyIsIm9wdHMiLCJzdHlsZSIsImhlYWRlciIsImZvb3RlciIsIl9oZWxwIiwic2NoZW1hIiwiZGVzYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztB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RCxNQUFYLEdBQW9CekQsS0FBSyxDQUFDeUQsTUFBMUI7QUFDQSxTQUZELE1BRU87QUFDTixnQkFBTTdELGdCQUFFSyxnQkFBRixDQUFtQix5REFBbkIsQ0FBTjtBQUNBO0FBQ0Q7QUFDRCxLQWZNLE1BZUE7QUFDTixXQUFLeUQsS0FBTCxHQUFhLEVBQWI7QUFDQTtBQUNEO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQ0MsRUFBQUEsTUFBTSxHQUFHO0FBQ1IsV0FBTztBQUNOQyxNQUFBQSxJQUFJLEVBQUUsS0FBS0E7QUFETCxLQUFQO0FBR0E7O0FBeFQyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb250ZXh0IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnLi4vbGliL2RlYnVnJztcbmltcG9ydCBFIGZyb20gJy4uL2xpYi9lcnJvcnMnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBoZWxwQ29tbWFuZCBmcm9tICcuLi9jb21tYW5kcy9oZWxwJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBkZWNsYXJlQ0xJS2l0Q2xhc3MgfSBmcm9tICcuLi9saWIvdXRpbCc7XG5cbmNvbnN0IHsgbG9nIH0gPSBkZWJ1ZygnY2xpLWtpdDpjb21tYW5kJyk7XG5jb25zdCB7IGhpZ2hsaWdodCB9ID0gZGVidWcuc3R5bGVzO1xuXG5jb25zdCBmb3JtYXRSZWdFeHAgPSAvXihbQCEgXSpbXFx3LV9dKyg/OlxccyosXFxzKltAISBdKltcXHctX10rKSopKCg/OlxccypbPFtdW1xcdy1fXStbPlxcXV0pKik/JC87XG5jb25zdCBuYW1lUmVnRXhwID0gL14oW0AhIF0qKShbXFx3LV9dKylcXHMqJC87XG5cbi8qKlxuICogRGVmaW5lcyBhIGNvbW1hbmQgYW5kIGl0cyBvcHRpb25zIGFuZCBhcmd1bWVudHMuXG4gKlxuICogQGV4dGVuZHMge0NvbnRleHR9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmQgZXh0ZW5kcyBDb250ZXh0IHtcblx0LyoqXG5cdCAqIEludGVybmFsIG9iamVjdCBmb3IgdHJhY2tpbmcgYWxpYXNlcy5cblx0ICpcblx0ICogQHR5cGUge09iamVjdH1cblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9hbGlhc2VzID0ge307XG5cblx0LyoqXG5cdCAqIEN1c3RvbSBoZWxwIGhlYWRlciBhbmQgZm9vdGVyIGNvbnRlbnQuXG5cdCAqXG5cdCAqIEB0eXBlIHtPYmplY3R9XG5cdCAqIEBhY2Nlc3MgcHJpdmF0ZVxuXHQgKi9cblx0X2hlbHAgPSB7fTtcblxuXHQvKipcblx0ICogQ29uc3RydWN0cyBhIGNvbW1hbmQgaW5zdGFuY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIC0gVGhlIGNvbW1hbmQgbmFtZSBvciBhYnNvbHV0ZSBwYXRoIHRvIGEgZmlsZS5cblx0ICogQHBhcmFtIHtPYmplY3R8Q0xJfENvbW1hbmR8Q29udGV4dHxGdW5jdGlvbn0gW3BhcmFtc10gLSBDb21tYW5kIHBhcmFtZXRlcnMgb3IgYW4gYWN0aW9uXG5cdCAqIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0ge0Z1bmN0aW9ufENvbW1hbmR9IFtwYXJhbXMuYWN0aW9uXSAtIEEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBjb21tYW5kIGlzIGZvdW5kLlxuXHQgKiBAcGFyYW0ge1NldC48U3RyaW5nPnxBcnJheS48U3RyaW5nPnxTdHJpbmd8T2JqZWN0fSBbcGFyYW1zLmFsaWFzZXNdIC0gQW4gYXJyYXkgb2YgY29tbWFuZFxuXHQgKiBhbGlhc2VzLlxuXHQgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcGFyYW1zLmNhbGxiYWNrXSAtIEEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBjb21tYW5kIGhhcyBiZWVuIHBhcnNlZC5cblx0ICogQHBhcmFtIHtTdHJpbmd8RnVuY3Rpb259IFtwYXJhbXMuZGVmYXVsdENvbW1hbmRdIC0gVGhlIGRlZmF1bHQgY29tbWFuZCB0byBleGVjdXRlIHdoZW4gdGhpc1xuXHQgKiBjb21tYW5kIGhhcyBubyBgYWN0aW9uYC4gV2hlbiB2YWx1ZSBpcyBhIGBTdHJpbmdgLCBpdCBsb29rcyB1cCB0aGUgc3ViY29tbWFuZCBhbmQgY2FsbHMgaXQuXG5cdCAqIElmIHZhbHVlIGlzIGEgYEZ1bmN0aW9uYCwgaXQgc2ltcGx5IGludm9rZXMgaXQuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfEZ1bmN0aW9ufE9iamVjdH0gW3BhcmFtcy5oZWxwXSAtIEFkZGl0aW9uYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkgb24gdGhlXG5cdCAqIGhlbHAgc2NyZWVuLiBXaGVuIG1heSBiZSBhbiBvYmplY3Qgd2l0aCB0aGUgcHJvcGVydGllcyBgaGVhZGVyYCBhbmQgYGZvb3RlcmAgd2hpY2ggdmFsdWVzXG5cdCAqIHRoYXQgYXJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBhc3luYyBmdW5jdGlvbiB0aGF0IHJlc29sdmVzIGEgc3RyaW5nLiBXaGVuIHZhbHVlIGlzIGEgc3RyaW5nXG5cdCAqIG9yIGZ1bmN0aW9uLCBpdCBpcyB0cmFzbmZvcm1lZCBpbnRvIGEgb2JqZWN0IHdpdGggdGhlIHZhbHVlIGJlaW5nIHVzZWQgYXMgdGhlIGhlYWRlci4gTm90ZVxuXHQgKiB0aGF0IHRoZSBjb21tYW5kIGRlc2NyaXB0aW9uIGlzIG5vdCBkaXNwbGF5ZWQgd2hlbiBhIGhlYWRlciBtZXNzYWdlIGhhcyBiZWVuIGRlZmluZWQuXG5cdCAqIEBwYXJhbSB7Qm9vbGVhbn0gW3BhcmFtcy5oaWRkZW49ZmFsc2VdIC0gV2hlbiBgdHJ1ZWAsIHRoZSBvcHRpb24gaXMgbm90IGRpc3BsYXllZCBvbiB0aGVcblx0ICogaGVscCBzY3JlZW4gb3IgYXV0by1zdWdnZXN0LlxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKlxuXHQgKiBAZXhhbXBsZVxuXHQgKiAgIG5ldyBDb21tYW5kKCdmb28nKVxuXHQgKiAgIG5ldyBDb21tYW5kKCdmb28nLCB7fSlcblx0ICogICBuZXcgQ29tbWFuZChuZXcgQ29tbWFuZCgnZm9vJykpXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYW1lLCBwYXJhbXMgPSB7fSkge1xuXHRcdGlmIChuYW1lICYmIHR5cGVvZiBuYW1lID09PSAnc3RyaW5nJyAmJiBwYXRoLmlzQWJzb2x1dGUobmFtZSkgJiYgZnMuZXhpc3RzU3luYyhuYW1lKSkge1xuXHRcdFx0bGV0IGN0eDtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGxvZyhgUmVxdWlyaW5nICR7aGlnaGxpZ2h0KG5hbWUpfWApO1xuXHRcdFx0XHRjdHggPSByZXF1aXJlKG5hbWUpO1xuXHRcdFx0XHRpZiAoIWN0eCB8fCB0eXBlb2YgY3R4ICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBtdXN0IGV4cG9ydCBhbiBvYmplY3QnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGlmIHRoaXMgaXMgYW4gRVM2IG1vZHVsZSwgZ3JhYiB0aGUgZGVmYXVsdCBleHBvcnRcblx0XHRcdFx0aWYgKGN0eC5fX2VzTW9kdWxlKSB7XG5cdFx0XHRcdFx0Y3R4ID0gY3R4LmRlZmF1bHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoIWN0eCB8fCB0eXBlb2YgY3R4ICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBtdXN0IGV4cG9ydCBhbiBvYmplY3QnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdG5hbWUgPSBjdHgubmFtZTtcblx0XHRcdFx0cGFyYW1zID0gY3R4O1xuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdHRocm93IEUuSU5WQUxJRF9DT01NQU5EKGBCYWQgY29tbWFuZCBcIiR7bmFtZX1cIjogJHtlcnIubWVzc2FnZX1gLCB7IG5hbWU6IG5hbWUsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBlcnIgfSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKCFuYW1lIHx8IHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJykge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIG5hbWUgdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nJywgeyBuYW1lOiAnbmFtZScsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBuYW1lIH0pO1xuXHRcdH1cblxuXHRcdC8vIHBhcnNlIHRoZSBuYW1lIGFuZCBjcmVhdGUgdGhlIGFsaWFzZXMgYW5kIGFyZ3M6IFwibHMsIGxpc3QgPGJhcj5cIlxuXHRcdGNvbnN0IGZvcm1hdCA9IG5hbWUudHJpbSgpO1xuXHRcdGNvbnN0IG0gPSBmb3JtYXQubWF0Y2goZm9ybWF0UmVnRXhwKTtcblx0XHRpZiAoIW0gfHwgIW1bMV0pIHtcblx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgY29tbWFuZCBuYW1lIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZycsIHsgbmFtZTogJ25hbWUnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogbmFtZSB9KTtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0cGFyYW1zID0geyBhY3Rpb246IHBhcmFtcyB9O1xuXHRcdH1cblxuXHRcdC8vIHJlc2V0IHRoZSBuYW1lXG5cdFx0bmFtZSA9IG51bGw7XG5cblx0XHQvLyBnZXQgdGhlIGFsaWFzZXMgZnJvbSB0aGUgZm9ybWF0IGFuZCBmaW5kIHRoZSBjb21tYW5kIG5hbWVcblx0XHRjb25zdCBhbGlhc2VzID0gbmV3IFNldCgpO1xuXHRcdGZvciAobGV0IGFsaWFzIG9mIG1bMV0uc3BsaXQoJywnKSkge1xuXHRcdFx0Y29uc3QgbiA9IGFsaWFzLm1hdGNoKG5hbWVSZWdFeHApO1xuXHRcdFx0aWYgKCFuKSB7XG5cdFx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnSW52YWxpZCBjb21tYW5kIGFsaWFzIGZvcm1hdCcsIHsgbmFtZTogJ2FsaWFzJywgc2NvcGU6ICdDb21tYW5kLmNvbnN0cnVjdG9yJywgdmFsdWU6IGFsaWFzIH0pO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFuWzFdLmluY2x1ZGVzKCdAJykgJiYgIW5hbWUpIHtcblx0XHRcdFx0bmFtZSA9IG5bMl07XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRhbGlhc2VzLmFkZChuWzFdLmluY2x1ZGVzKCchJykgPyBgISR7blsyXX1gIDogblsyXSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKCFuYW1lKSB7XG5cdFx0XHR0aHJvdyAgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIG5hbWUgZm9ybWF0IHRvIGNvbnRhaW4gYXQgbGVhc3Qgb25lIG5vbi1hbGlhc2VkIG5hbWUnLCB7IG5hbWU6ICdmb3JtYXQnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogZm9ybWF0IH0pO1xuXHRcdH1cblxuXHRcdGlmICghcGFyYW1zIHx8ICh0eXBlb2YgcGFyYW1zICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHBhcmFtcykpKSB7XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIGNvbW1hbmQgcGFyYW1ldGVycyB0byBiZSBhbiBvYmplY3QnLCB7IG5hbWU6ICdwYXJhbXMnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zIH0pO1xuXHRcdH1cblxuXHRcdGlmIChwYXJhbXMuY2FsbGJhY2sgJiYgdHlwZW9mIHBhcmFtcy5jYWxsYmFjayAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIGNhbGxiYWNrIHRvIGJlIGEgZnVuY3Rpb24nLCB7IG5hbWU6ICdjYWxsYmFjaycsIHNjb3A6ICdDb21tYW5kLmNvbnN0cnVjdG9yJywgdmFsdWU6IHBhcmFtcy5jYWxsYmFjayB9KTtcblx0XHR9XG5cblx0XHRpZiAocGFyYW1zLmRlZmF1bHRDb21tYW5kICE9PSB1bmRlZmluZWQgJiYgKCFwYXJhbXMuZGVmYXVsdENvbW1hbmQgfHwgKHR5cGVvZiBwYXJhbXMuZGVmYXVsdENvbW1hbmQgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBwYXJhbXMuZGVmYXVsdENvbW1hbmQgIT09ICdmdW5jdGlvbicpKSkge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBkZWZhdWx0IGNvbW1hbmQgdG8gYmUgYSBzdHJpbmcgb3IgZnVuY3Rpb24nLCB7IG5hbWU6ICdkZWZhdWx0Q29tbWFuZCcsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBwYXJhbXMuZGVmYXVsdENvbW1hbmQgfSk7XG5cdFx0fVxuXG5cdFx0aWYgKHBhcmFtcy5jbGlraXQgaW5zdGFuY2VvZiBTZXQpIHtcblx0XHRcdC8vIHBhcmFtcyBpcyBhIGNsaS1raXQgb2JqZWN0XG5cdFx0XHRpZiAocGFyYW1zLmNsaWtpdC5oYXMoJ0NMSScpKSB7XG5cdFx0XHRcdC8vIHNpbmNlIGEgY29tbWFuZCBjYW5ub3QgaGF2ZSBhIHRpdGxlIFwiZ2xvYmFsXCIgKG9ubHkgYSBgQ0xJYCBvYmplY3QgY2FuIGhhdmUgdGhhdCksXG5cdFx0XHRcdC8vIHdlIG11c3QgZGVsZXRlIGl0IHNvIHRoYXQgdGhlIHRpdGxlIGlzIHJlc2V0IHRvIHRoZSBjb21tYW5kIG5hbWVcblx0XHRcdFx0aWYgKHBhcmFtcy50aXRsZSA9PT0gJ0dsb2JhbCcpIHtcblx0XHRcdFx0XHRkZWxldGUgcGFyYW1zLnRpdGxlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0ZGVsZXRlIHBhcmFtcy50ZXJtaW5hbDtcblxuXHRcdFx0XHQvLyBhZGQgYW4gYWN0aW9uIGhhbmRsZXIgdGhhdCBlaXRlaHIgZXhlY3V0ZXMgYSBzcGVjaWZpYyBjb21tYW5kIG9yIHRoZSBoZWxwIGZvclxuXHRcdFx0XHQvLyBmb3IgdGhpcyBjb21tYW5kIChlLmcuIHRoaXMgY29tbWFuZCBpcyBhbiBleHRlbnNpb24pXG5cdFx0XHRcdHBhcmFtcy5hY3Rpb24gPSBhc3luYyBwYXJzZXIgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHsgZGVmYXVsdENvbW1hbmQgfSA9IHBhcmFtcztcblx0XHRcdFx0XHRpZiAoZGVmYXVsdENvbW1hbmQgPT09ICdoZWxwJyAmJiB0aGlzLmdldCgnaGVscCcpKSB7XG5cdFx0XHRcdFx0XHRhd2FpdCBoZWxwQ29tbWFuZC5hY3Rpb24ocGFyc2VyKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0Y29uc3QgY21kID0gZGVmYXVsdENvbW1hbmQgJiYgdGhpcy5jb21tYW5kc1tkZWZhdWx0Q29tbWFuZF07XG5cdFx0XHRcdFx0XHRpZiAoY21kKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBjbWQuYWN0aW9uLmNhbGwoY21kLCBwYXJzZXIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdH0gZWxzZSBpZiAoIXBhcmFtcy5jbGlraXQuaGFzKCdDb21tYW5kJykpIHtcblx0XHRcdFx0Ly8gbXVzdCBiZSBhIGNvbW1hbmQgb3IgZXh0ZW5zaW9uXG5cdFx0XHRcdHRocm93IEUuSU5WQUxJRF9DTElLSVRfT0JKRUNUKCdFeHBlY3RlZCBjb21tYW5kIG9wdGlvbnMgdG8gYmUgYSBDTEkgb3IgQ29tbWFuZCBvYmplY3QnLCB7IG5hbWU6ICdjbGlraXQnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zLmNsaWtpdCB9KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAocGFyYW1zLmFjdGlvbiAmJiB0eXBlb2YgcGFyYW1zLmFjdGlvbiAhPT0gJ2Z1bmN0aW9uJyAmJiAhKHBhcmFtcy5hY3Rpb24gaW5zdGFuY2VvZiBDb21tYW5kKSkge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIGFjdGlvbiB0byBiZSBhIGZ1bmN0aW9uIG9yIENvbW1hbmQgaW5zdGFuY2UnLCB7IG5hbWU6ICdhY3Rpb24nLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zLmFjdGlvbiB9KTtcblx0XHR9XG5cblx0XHRwYXJhbXMubmFtZSA9IG5hbWU7XG5cblx0XHRjb25zdCBhcmdzID0gbVsyXSAmJiBtWzJdLnRyaW0oKS5zcGxpdCgvXFxzKy8pO1xuXHRcdGlmIChhcmdzPy5sZW5ndGgpIHtcblx0XHRcdHBhcmFtcy5hcmdzID0gcGFyYW1zLmFyZ3MgPyBbIC4uLmFyZ3MsIC4uLnBhcmFtcy5hcmdzIF0gOiBhcmdzO1xuXHRcdH1cblxuXHRcdHN1cGVyKHBhcmFtcyk7XG5cdFx0ZGVjbGFyZUNMSUtpdENsYXNzKHRoaXMsICdDb21tYW5kJyk7XG5cblx0XHRpZiAocGFyYW1zLmFjdGlvbikge1xuXHRcdFx0dGhpcy5hY3Rpb24gPSBwYXJhbXMuYWN0aW9uO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtcy5kZWZhdWx0Q29tbWFuZCA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0dGhpcy5hY3Rpb24gPSBwYXJhbXMuZGVmYXVsdENvbW1hbmQ7XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgcGFyYW1zLmRlZmF1bHRDb21tYW5kID09PSAnc3RyaW5nJykge1xuXHRcdFx0dGhpcy5hY3Rpb24gPSB0aGlzLmxvb2t1cC5jb21tYW5kc1twYXJhbXMuZGVmYXVsdENvbW1hbmRdO1xuXHRcdH1cblxuXHRcdC8vIG1peCBhbGlhc2VzIFNldCB3aXRoIHBhcmFtcy5hbGlhc2VzXG5cdFx0dGhpcy5fYWxpYXNlcyAgICAgICA9IHRoaXMuY3JlYXRlQWxpYXNlcyhhbGlhc2VzLCBwYXJhbXMuYWxpYXNlcyk7XG5cdFx0dGhpcy5jYWxsYmFjayAgICAgICA9IHBhcmFtcy5jYWxsYmFjaztcblx0XHR0aGlzLmNsaWtpdEhlbHAgICAgID0gcGFyYW1zLmNsaWtpdEhlbHA7XG5cdFx0dGhpcy5oZWxwICAgICAgICAgICA9IHBhcmFtcy5oZWxwIHx8IHt9O1xuXHRcdHRoaXMuZGVmYXVsdENvbW1hbmQgPSBwYXJhbXMuZGVmYXVsdENvbW1hbmQ7XG5cdFx0dGhpcy5oaWRkZW4gICAgICAgICA9ICEhcGFyYW1zLmhpZGRlbjtcblxuXHRcdC8vIG1peCBpbiBhbnkgb3RoZXIgY3VzdG9tIHByb3BzXG5cdFx0Zm9yIChjb25zdCBbIGtleSwgdmFsdWUgXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG5cdFx0XHRpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLCBrZXkpKSB7XG5cdFx0XHRcdHRoaXNba2V5XSA9IHZhbHVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBIG1hcCBvZiBhbGlhc2VzIGFuIHdoZXRoZXIgdGhleSBhcmUgdmlzaWJsZS5cblx0ICpcblx0ICogQHR5cGUge09iamVjdH1cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdGdldCBhbGlhc2VzKCkge1xuXHRcdHJldHVybiB0aGlzLl9hbGlhc2VzO1xuXHR9XG5cblx0c2V0IGFsaWFzZXModmFsdWUpIHtcblx0XHR0aGlzLl9hbGlhc2VzID0gdGhpcy5jcmVhdGVBbGlhc2VzKHZhbHVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXJnZXMgbXVsdGlwbGUgYWxpYXMgY29uc3RydWN0cyBpbnRvIGEgc2luZ2xlIGFsaWFzIG9iamVjdC5cblx0ICpcblx0ICogQHBhcmFtIHsuLi5TZXQuPFN0cmluZz58QXJyYXkuPFN0cmluZz58U3RyaW5nfE9iamVjdH0gdmFsdWVzIC0gT25lIG9yIG1vcmUgYWxpYXMgdmFsdWVzLlxuXHQgKiBAcmV0dXJucyB7T2JqZWN0fVxuXHQgKiBAYWNjZXNzIHByaXZhdGVcblx0ICovXG5cdGNyZWF0ZUFsaWFzZXMoLi4udmFsdWVzKSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0ge307XG5cblx0XHRmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcblx0XHRcdGlmICghdmFsdWUpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh2YWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuXHRcdFx0XHR2YWx1ZSA9IEFycmF5LmZyb20odmFsdWUpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbihyZXN1bHQsIHZhbHVlKTtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0dmFsdWUgPSBbIHZhbHVlIF07XG5cdFx0XHR9XG5cblx0XHRcdGZvciAoY29uc3QgYWxpYXMgb2YgdmFsdWUpIHtcblx0XHRcdFx0aWYgKCFhbGlhcyB8fCB0eXBlb2YgYWxpYXMgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIGFsaWFzZXMgdG8gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncycsIHsgbmFtZTogJ2FsaWFzZXMuYWxpYXMnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogYWxpYXMgfSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRmb3IgKGNvbnN0IGEgb2YgYWxpYXMuc3BsaXQoL1sgLHxdKy8pKSB7XG5cdFx0XHRcdFx0aWYgKGEgPT09ICchJykge1xuXHRcdFx0XHRcdFx0dGhyb3cgRS5JTlZBTElEX0FMSUFTKGBJbnZhbGlkIGNvbW1hbmQgYWxpYXMgXCIke2FsaWFzfVwiYCwgeyBuYW1lOiAnYWxpYXNlcycsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBhbGlhcyB9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGFbMF0gPT09ICchJykge1xuXHRcdFx0XHRcdFx0cmVzdWx0W2Euc3Vic3RyaW5nKDEpXSA9ICdoaWRkZW4nO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXN1bHRbYV0gPSAndmlzaWJsZSc7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW5kZXJzIHRoZSBoZWxwIHNjcmVlbiBmb3IgdGhpcyBjb250ZXh0IGluY2x1ZGluZyB0aGUgcGFyZW50IGNvbnRleHRzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZTxPYmplY3Q+fVxuXHQgKiBAYWNjZXNzIHByaXZhdGVcblx0ICovXG5cdGdlbmVyYXRlSGVscCgpIHtcblx0XHR0aGlzLm9uKCdnZW5lcmF0ZUhlbHAnLCBhc3luYyAoY3R4LCByZXN1bHRzKSA9PiB7XG5cdFx0XHRjb25zdCBvcHRzID0ge1xuXHRcdFx0XHRzdHlsZTogT2JqZWN0LmFzc2lnbih7fSwgZGVidWcuc3R5bGVzLCB0aGlzLmdldCgnc3R5bGVzJykpXG5cdFx0XHR9O1xuXHRcdFx0cmVzdWx0cy5oZWFkZXIgPSB0eXBlb2YgdGhpcy5oZWxwLmhlYWRlciA9PT0gJ2Z1bmN0aW9uJyA/IGF3YWl0IHRoaXMuaGVscC5oZWFkZXIuY2FsbCh0aGlzLCBvcHRzKSA6IHRoaXMuaGVscC5oZWFkZXI7XG5cdFx0XHRyZXN1bHRzLmZvb3RlciA9IHR5cGVvZiB0aGlzLmhlbHAuZm9vdGVyID09PSAnZnVuY3Rpb24nID8gYXdhaXQgdGhpcy5oZWxwLmZvb3Rlci5jYWxsKHRoaXMsIG9wdHMpIDogdGhpcy5oZWxwLmZvb3Rlcjtcblx0XHR9KTtcblxuXHRcdHJldHVybiBzdXBlci5nZW5lcmF0ZUhlbHAoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDdXN0b20gaGVscCBoZWFkZXIgYW5kIGZvb3RlciBjb250ZW50LiBBIHN0cmluZywgZnVuY3Rpb24sIG9yIG9iamVjdCB3aXRoIGBoZWFkZXJgIGFuZFxuXHQgKiBgZm9vdGVyYCBwcm9wZXJ0aWVzIG1heSBiZSB1c2VkIHRvIHNldCB0aGUgYGhlbHBgIHByb3BlcnR5LCBidXQgdGhlIGludGVybmFsIHZhbHVlIHdpbGxcblx0ICogYWx3YXlzIGJlIGFuIG9iamVjdCB3aXRoIGBoZWFkZXJgIGFuZCBgZm9vdGVyYCBwcm9wZXJ0aWVzLlxuXHQgKlxuXHQgKiBAdHlwZSB7T2JqZWN0fVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0Z2V0IGhlbHAoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2hlbHA7XG5cdH1cblxuXHRzZXQgaGVscCh2YWx1ZSkge1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0dGhpcy5faGVscC5oZWFkZXIgPSB2YWx1ZTtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdGlmICh2YWx1ZS5oZWFkZXIpIHtcblx0XHRcdFx0aWYgKHR5cGVvZiB2YWx1ZS5oZWFkZXIgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZS5oZWFkZXIgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0XHR0aGlzLl9oZWxwLmhlYWRlciA9IHZhbHVlLmhlYWRlcjtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIGhlbHAgY29udGVudCBoZWFkZXIgdG8gYmUgYSBzdHJpbmcgb3IgZnVuY3Rpb24nKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHZhbHVlLmZvb3Rlcikge1xuXHRcdFx0XHRpZiAodHlwZW9mIHZhbHVlLmZvb3RlciA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlLmZvb3RlciA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdHRoaXMuX2hlbHAuZm9vdGVyID0gdmFsdWUuZm9vdGVyO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgaGVscCBjb250ZW50IGZvb3RlciB0byBiZSBhIHN0cmluZyBvciBmdW5jdGlvbicpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2hlbHAgPSB7fTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgc2NoZW1hIGZvciB0aGlzIGNvbW1hbmQgYW5kIGFsbCBjaGlsZCBjb250ZXh0cy5cblx0ICpcblx0ICogQHJldHVybnMge09iamVjdH1cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdHNjaGVtYSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZGVzYzogdGhpcy5kZXNjXG5cdFx0fTtcblx0fVxufVxuIl0sImZpbGUiOiJwYXJzZXIvY29tbWFuZC5qcyJ9
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlci9jb21tYW5kLmpzIl0sIm5hbWVzIjpbImxvZyIsImhpZ2hsaWdodCIsImRlYnVnIiwic3R5bGVzIiwiZm9ybWF0UmVnRXhwIiwibmFtZVJlZ0V4cCIsIkNvbW1hbmQiLCJDb250ZXh0IiwiY29uc3RydWN0b3IiLCJuYW1lIiwicGFyYW1zIiwicGF0aCIsImlzQWJzb2x1dGUiLCJmcyIsImV4aXN0c1N5bmMiLCJjdHgiLCJyZXF1aXJlIiwiRXJyb3IiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImVyciIsIkUiLCJJTlZBTElEX0NPTU1BTkQiLCJtZXNzYWdlIiwic2NvcGUiLCJ2YWx1ZSIsIklOVkFMSURfQVJHVU1FTlQiLCJmb3JtYXQiLCJ0cmltIiwibSIsIm1hdGNoIiwiYWN0aW9uIiwiYWxpYXNlcyIsIlNldCIsImFsaWFzIiwic3BsaXQiLCJuIiwiaW5jbHVkZXMiLCJhZGQiLCJBcnJheSIsImlzQXJyYXkiLCJjYWxsYmFjayIsInNjb3AiLCJkZWZhdWx0Q29tbWFuZCIsInVuZGVmaW5lZCIsImNsaWtpdCIsImhhcyIsInRpdGxlIiwidGVybWluYWwiLCJwYXJzZXIiLCJnZXQiLCJoZWxwQ29tbWFuZCIsImNtZCIsImNvbW1hbmRzIiwiY2FsbCIsIklOVkFMSURfQ0xJS0lUX09CSkVDVCIsImFyZ3MiLCJsZW5ndGgiLCJsb29rdXAiLCJfYWxpYXNlcyIsImNyZWF0ZUFsaWFzZXMiLCJjbGlraXRIZWxwIiwiaGVscCIsImhpZGRlbiIsImtleSIsIk9iamVjdCIsImVudHJpZXMiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInZhbHVlcyIsInJlc3VsdCIsImZyb20iLCJhc3NpZ24iLCJhIiwiSU5WQUxJRF9BTElBUyIsInN1YnN0cmluZyIsIl9oZWxwIiwiaGVhZGVyIiwiZm9vdGVyIiwic2NoZW1hIiwiZGVzYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7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Q0E7QUFDRDs7QUFDRCxVQUFJRCxLQUFLLENBQUNxRCxNQUFWLEVBQWtCO0FBQ2pCLFlBQUksT0FBT3JELEtBQUssQ0FBQ3FELE1BQWIsS0FBd0IsUUFBeEIsSUFBb0MsT0FBT3JELEtBQUssQ0FBQ3FELE1BQWIsS0FBd0IsVUFBaEUsRUFBNEU7QUFDM0UsZUFBS0YsS0FBTCxDQUFXRSxNQUFYLEdBQW9CckQsS0FBSyxDQUFDcUQsTUFBMUI7QUFDQSxTQUZELE1BRU87QUFDTixnQkFBTXpELGdCQUFFSyxnQkFBRixDQUFtQix5REFBbkIsQ0FBTjtBQUNBO0FBQ0Q7QUFDRCxLQWZNLE1BZUE7QUFDTixXQUFLa0QsS0FBTCxHQUFhLEVBQWI7QUFDQTtBQUNEO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQ0csRUFBQUEsTUFBTSxHQUFHO0FBQ1IsV0FBTztBQUNOQyxNQUFBQSxJQUFJLEVBQUUsS0FBS0E7QUFETCxLQUFQO0FBR0E7O0FBalMyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb250ZXh0IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnLi4vbGliL2RlYnVnJztcbmltcG9ydCBFIGZyb20gJy4uL2xpYi9lcnJvcnMnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBoZWxwQ29tbWFuZCBmcm9tICcuLi9jb21tYW5kcy9oZWxwJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBkZWNsYXJlQ0xJS2l0Q2xhc3MgfSBmcm9tICcuLi9saWIvdXRpbCc7XG5cbmNvbnN0IHsgbG9nIH0gPSBkZWJ1ZygnY2xpLWtpdDpjb21tYW5kJyk7XG5jb25zdCB7IGhpZ2hsaWdodCB9ID0gZGVidWcuc3R5bGVzO1xuXG5jb25zdCBmb3JtYXRSZWdFeHAgPSAvXihbQCEgXSpbXFx3LV9dKyg/OlxccyosXFxzKltAISBdKltcXHctX10rKSopKCg/OlxccypbPFtdW1xcdy1fXStbPlxcXV0pKik/JC87XG5jb25zdCBuYW1lUmVnRXhwID0gL14oW0AhIF0qKShbXFx3LV9dKylcXHMqJC87XG5cbi8qKlxuICogRGVmaW5lcyBhIGNvbW1hbmQgYW5kIGl0cyBvcHRpb25zIGFuZCBhcmd1bWVudHMuXG4gKlxuICogQGV4dGVuZHMge0NvbnRleHR9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmQgZXh0ZW5kcyBDb250ZXh0IHtcblx0LyoqXG5cdCAqIEludGVybmFsIG9iamVjdCBmb3IgdHJhY2tpbmcgYWxpYXNlcy5cblx0ICpcblx0ICogQHR5cGUge09iamVjdH1cblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9hbGlhc2VzID0ge307XG5cblx0LyoqXG5cdCAqIEN1c3RvbSBoZWxwIGhlYWRlciBhbmQgZm9vdGVyIGNvbnRlbnQuXG5cdCAqXG5cdCAqIEB0eXBlIHtPYmplY3R9XG5cdCAqIEBhY2Nlc3MgcHJpdmF0ZVxuXHQgKi9cblx0X2hlbHAgPSB7fTtcblxuXHQvKipcblx0ICogQ29uc3RydWN0cyBhIGNvbW1hbmQgaW5zdGFuY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIC0gVGhlIGNvbW1hbmQgbmFtZSBvciBhYnNvbHV0ZSBwYXRoIHRvIGEgZmlsZS5cblx0ICogQHBhcmFtIHtPYmplY3R8Q0xJfENvbW1hbmR8Q29udGV4dHxGdW5jdGlvbn0gW3BhcmFtc10gLSBDb21tYW5kIHBhcmFtZXRlcnMgb3IgYW4gYWN0aW9uXG5cdCAqIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0ge0Z1bmN0aW9ufENvbW1hbmR9IFtwYXJhbXMuYWN0aW9uXSAtIEEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBjb21tYW5kIGlzIGZvdW5kLlxuXHQgKiBAcGFyYW0ge1NldC48U3RyaW5nPnxBcnJheS48U3RyaW5nPnxTdHJpbmd8T2JqZWN0fSBbcGFyYW1zLmFsaWFzZXNdIC0gQW4gYXJyYXkgb2YgY29tbWFuZFxuXHQgKiBhbGlhc2VzLlxuXHQgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcGFyYW1zLmNhbGxiYWNrXSAtIEEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBjb21tYW5kIGhhcyBiZWVuIHBhcnNlZC5cblx0ICogQHBhcmFtIHtTdHJpbmd8RnVuY3Rpb259IFtwYXJhbXMuZGVmYXVsdENvbW1hbmRdIC0gVGhlIGRlZmF1bHQgY29tbWFuZCB0byBleGVjdXRlIHdoZW4gdGhpc1xuXHQgKiBjb21tYW5kIGhhcyBubyBgYWN0aW9uYC4gV2hlbiB2YWx1ZSBpcyBhIGBTdHJpbmdgLCBpdCBsb29rcyB1cCB0aGUgc3ViY29tbWFuZCBhbmQgY2FsbHMgaXQuXG5cdCAqIElmIHZhbHVlIGlzIGEgYEZ1bmN0aW9uYCwgaXQgc2ltcGx5IGludm9rZXMgaXQuXG5cdCAqIEBwYXJhbSB7Qm9vbGVhbn0gW3BhcmFtcy5oaWRkZW49ZmFsc2VdIC0gV2hlbiBgdHJ1ZWAsIHRoZSBvcHRpb24gaXMgbm90IGRpc3BsYXllZCBvbiB0aGVcblx0ICogaGVscCBzY3JlZW4gb3IgYXV0by1zdWdnZXN0LlxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKlxuXHQgKiBAZXhhbXBsZVxuXHQgKiAgIG5ldyBDb21tYW5kKCdmb28nKVxuXHQgKiAgIG5ldyBDb21tYW5kKCdmb28nLCB7fSlcblx0ICogICBuZXcgQ29tbWFuZChuZXcgQ29tbWFuZCgnZm9vJykpXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYW1lLCBwYXJhbXMgPSB7fSkge1xuXHRcdGlmIChuYW1lICYmIHR5cGVvZiBuYW1lID09PSAnc3RyaW5nJyAmJiBwYXRoLmlzQWJzb2x1dGUobmFtZSkgJiYgZnMuZXhpc3RzU3luYyhuYW1lKSkge1xuXHRcdFx0bGV0IGN0eDtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGxvZyhgUmVxdWlyaW5nICR7aGlnaGxpZ2h0KG5hbWUpfWApO1xuXHRcdFx0XHRjdHggPSByZXF1aXJlKG5hbWUpO1xuXHRcdFx0XHRpZiAoIWN0eCB8fCB0eXBlb2YgY3R4ICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBtdXN0IGV4cG9ydCBhbiBvYmplY3QnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGlmIHRoaXMgaXMgYW4gRVM2IG1vZHVsZSwgZ3JhYiB0aGUgZGVmYXVsdCBleHBvcnRcblx0XHRcdFx0aWYgKGN0eC5fX2VzTW9kdWxlKSB7XG5cdFx0XHRcdFx0Y3R4ID0gY3R4LmRlZmF1bHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoIWN0eCB8fCB0eXBlb2YgY3R4ICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBtdXN0IGV4cG9ydCBhbiBvYmplY3QnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdG5hbWUgPSBjdHgubmFtZTtcblx0XHRcdFx0cGFyYW1zID0gY3R4O1xuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdHRocm93IEUuSU5WQUxJRF9DT01NQU5EKGBCYWQgY29tbWFuZCBcIiR7bmFtZX1cIjogJHtlcnIubWVzc2FnZX1gLCB7IG5hbWU6IG5hbWUsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBlcnIgfSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKCFuYW1lIHx8IHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJykge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIG5hbWUgdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nJywgeyBuYW1lOiAnbmFtZScsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBuYW1lIH0pO1xuXHRcdH1cblxuXHRcdC8vIHBhcnNlIHRoZSBuYW1lIGFuZCBjcmVhdGUgdGhlIGFsaWFzZXMgYW5kIGFyZ3M6IFwibHMsIGxpc3QgPGJhcj5cIlxuXHRcdGNvbnN0IGZvcm1hdCA9IG5hbWUudHJpbSgpO1xuXHRcdGNvbnN0IG0gPSBmb3JtYXQubWF0Y2goZm9ybWF0UmVnRXhwKTtcblx0XHRpZiAoIW0gfHwgIW1bMV0pIHtcblx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgY29tbWFuZCBuYW1lIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZycsIHsgbmFtZTogJ25hbWUnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogbmFtZSB9KTtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0cGFyYW1zID0geyBhY3Rpb246IHBhcmFtcyB9O1xuXHRcdH1cblxuXHRcdC8vIHJlc2V0IHRoZSBuYW1lXG5cdFx0bmFtZSA9IG51bGw7XG5cblx0XHQvLyBnZXQgdGhlIGFsaWFzZXMgZnJvbSB0aGUgZm9ybWF0IGFuZCBmaW5kIHRoZSBjb21tYW5kIG5hbWVcblx0XHRjb25zdCBhbGlhc2VzID0gbmV3IFNldCgpO1xuXHRcdGZvciAobGV0IGFsaWFzIG9mIG1bMV0uc3BsaXQoJywnKSkge1xuXHRcdFx0Y29uc3QgbiA9IGFsaWFzLm1hdGNoKG5hbWVSZWdFeHApO1xuXHRcdFx0aWYgKCFuKSB7XG5cdFx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnSW52YWxpZCBjb21tYW5kIGFsaWFzIGZvcm1hdCcsIHsgbmFtZTogJ2FsaWFzJywgc2NvcGU6ICdDb21tYW5kLmNvbnN0cnVjdG9yJywgdmFsdWU6IGFsaWFzIH0pO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFuWzFdLmluY2x1ZGVzKCdAJykgJiYgIW5hbWUpIHtcblx0XHRcdFx0bmFtZSA9IG5bMl07XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRhbGlhc2VzLmFkZChuWzFdLmluY2x1ZGVzKCchJykgPyBgISR7blsyXX1gIDogblsyXSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKCFuYW1lKSB7XG5cdFx0XHR0aHJvdyAgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIG5hbWUgZm9ybWF0IHRvIGNvbnRhaW4gYXQgbGVhc3Qgb25lIG5vbi1hbGlhc2VkIG5hbWUnLCB7IG5hbWU6ICdmb3JtYXQnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogZm9ybWF0IH0pO1xuXHRcdH1cblxuXHRcdGlmICghcGFyYW1zIHx8ICh0eXBlb2YgcGFyYW1zICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHBhcmFtcykpKSB7XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIGNvbW1hbmQgcGFyYW1ldGVycyB0byBiZSBhbiBvYmplY3QnLCB7IG5hbWU6ICdwYXJhbXMnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zIH0pO1xuXHRcdH1cblxuXHRcdGlmIChwYXJhbXMuY2FsbGJhY2sgJiYgdHlwZW9mIHBhcmFtcy5jYWxsYmFjayAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIGNhbGxiYWNrIHRvIGJlIGEgZnVuY3Rpb24nLCB7IG5hbWU6ICdjYWxsYmFjaycsIHNjb3A6ICdDb21tYW5kLmNvbnN0cnVjdG9yJywgdmFsdWU6IHBhcmFtcy5jYWxsYmFjayB9KTtcblx0XHR9XG5cblx0XHRpZiAocGFyYW1zLmRlZmF1bHRDb21tYW5kICE9PSB1bmRlZmluZWQgJiYgKCFwYXJhbXMuZGVmYXVsdENvbW1hbmQgfHwgKHR5cGVvZiBwYXJhbXMuZGVmYXVsdENvbW1hbmQgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBwYXJhbXMuZGVmYXVsdENvbW1hbmQgIT09ICdmdW5jdGlvbicpKSkge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBkZWZhdWx0IGNvbW1hbmQgdG8gYmUgYSBzdHJpbmcgb3IgZnVuY3Rpb24nLCB7IG5hbWU6ICdkZWZhdWx0Q29tbWFuZCcsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBwYXJhbXMuZGVmYXVsdENvbW1hbmQgfSk7XG5cdFx0fVxuXG5cdFx0aWYgKHBhcmFtcy5jbGlraXQgaW5zdGFuY2VvZiBTZXQpIHtcblx0XHRcdC8vIHBhcmFtcyBpcyBhIGNsaS1raXQgb2JqZWN0XG5cdFx0XHRpZiAocGFyYW1zLmNsaWtpdC5oYXMoJ0NMSScpKSB7XG5cdFx0XHRcdC8vIHNpbmNlIGEgY29tbWFuZCBjYW5ub3QgaGF2ZSBhIHRpdGxlIFwiZ2xvYmFsXCIgKG9ubHkgYSBgQ0xJYCBvYmplY3QgY2FuIGhhdmUgdGhhdCksXG5cdFx0XHRcdC8vIHdlIG11c3QgZGVsZXRlIGl0IHNvIHRoYXQgdGhlIHRpdGxlIGlzIHJlc2V0IHRvIHRoZSBjb21tYW5kIG5hbWVcblx0XHRcdFx0aWYgKHBhcmFtcy50aXRsZSA9PT0gJ0dsb2JhbCcpIHtcblx0XHRcdFx0XHRkZWxldGUgcGFyYW1zLnRpdGxlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0ZGVsZXRlIHBhcmFtcy50ZXJtaW5hbDtcblxuXHRcdFx0XHQvLyBhZGQgYW4gYWN0aW9uIGhhbmRsZXIgdGhhdCBlaXRlaHIgZXhlY3V0ZXMgYSBzcGVjaWZpYyBjb21tYW5kIG9yIHRoZSBoZWxwIGZvclxuXHRcdFx0XHQvLyBmb3IgdGhpcyBjb21tYW5kIChlLmcuIHRoaXMgY29tbWFuZCBpcyBhbiBleHRlbnNpb24pXG5cdFx0XHRcdHBhcmFtcy5hY3Rpb24gPSBhc3luYyBwYXJzZXIgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHsgZGVmYXVsdENvbW1hbmQgfSA9IHBhcmFtcztcblx0XHRcdFx0XHRpZiAoZGVmYXVsdENvbW1hbmQgPT09ICdoZWxwJyAmJiB0aGlzLmdldCgnaGVscCcpKSB7XG5cdFx0XHRcdFx0XHRhd2FpdCBoZWxwQ29tbWFuZC5hY3Rpb24ocGFyc2VyKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0Y29uc3QgY21kID0gZGVmYXVsdENvbW1hbmQgJiYgdGhpcy5jb21tYW5kc1tkZWZhdWx0Q29tbWFuZF07XG5cdFx0XHRcdFx0XHRpZiAoY21kKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBjbWQuYWN0aW9uLmNhbGwoY21kLCBwYXJzZXIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdH0gZWxzZSBpZiAoIXBhcmFtcy5jbGlraXQuaGFzKCdDb21tYW5kJykpIHtcblx0XHRcdFx0Ly8gbXVzdCBiZSBhIGNvbW1hbmQgb3IgZXh0ZW5zaW9uXG5cdFx0XHRcdHRocm93IEUuSU5WQUxJRF9DTElLSVRfT0JKRUNUKCdFeHBlY3RlZCBjb21tYW5kIG9wdGlvbnMgdG8gYmUgYSBDTEkgb3IgQ29tbWFuZCBvYmplY3QnLCB7IG5hbWU6ICdjbGlraXQnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zLmNsaWtpdCB9KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAocGFyYW1zLmFjdGlvbiAmJiB0eXBlb2YgcGFyYW1zLmFjdGlvbiAhPT0gJ2Z1bmN0aW9uJyAmJiAhKHBhcmFtcy5hY3Rpb24gaW5zdGFuY2VvZiBDb21tYW5kKSkge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIGFjdGlvbiB0byBiZSBhIGZ1bmN0aW9uIG9yIENvbW1hbmQgaW5zdGFuY2UnLCB7IG5hbWU6ICdhY3Rpb24nLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zLmFjdGlvbiB9KTtcblx0XHR9XG5cblx0XHRwYXJhbXMubmFtZSA9IG5hbWU7XG5cblx0XHRjb25zdCBhcmdzID0gbVsyXSAmJiBtWzJdLnRyaW0oKS5zcGxpdCgvXFxzKy8pO1xuXHRcdGlmIChhcmdzPy5sZW5ndGgpIHtcblx0XHRcdHBhcmFtcy5hcmdzID0gcGFyYW1zLmFyZ3MgPyBbIC4uLmFyZ3MsIC4uLnBhcmFtcy5hcmdzIF0gOiBhcmdzO1xuXHRcdH1cblxuXHRcdHN1cGVyKHBhcmFtcyk7XG5cdFx0ZGVjbGFyZUNMSUtpdENsYXNzKHRoaXMsICdDb21tYW5kJyk7XG5cblx0XHRpZiAocGFyYW1zLmFjdGlvbikge1xuXHRcdFx0dGhpcy5hY3Rpb24gPSBwYXJhbXMuYWN0aW9uO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtcy5kZWZhdWx0Q29tbWFuZCA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0dGhpcy5hY3Rpb24gPSBwYXJhbXMuZGVmYXVsdENvbW1hbmQ7XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgcGFyYW1zLmRlZmF1bHRDb21tYW5kID09PSAnc3RyaW5nJykge1xuXHRcdFx0dGhpcy5hY3Rpb24gPSB0aGlzLmxvb2t1cC5jb21tYW5kc1twYXJhbXMuZGVmYXVsdENvbW1hbmRdO1xuXHRcdH1cblxuXHRcdC8vIG1peCBhbGlhc2VzIFNldCB3aXRoIHBhcmFtcy5hbGlhc2VzXG5cdFx0dGhpcy5fYWxpYXNlcyAgICAgICA9IHRoaXMuY3JlYXRlQWxpYXNlcyhhbGlhc2VzLCBwYXJhbXMuYWxpYXNlcyk7XG5cdFx0dGhpcy5jYWxsYmFjayAgICAgICA9IHBhcmFtcy5jYWxsYmFjaztcblx0XHR0aGlzLmNsaWtpdEhlbHAgICAgID0gcGFyYW1zLmNsaWtpdEhlbHA7XG5cdFx0dGhpcy5oZWxwICAgICAgICAgICA9IHBhcmFtcy5oZWxwIHx8IHt9O1xuXHRcdHRoaXMuZGVmYXVsdENvbW1hbmQgPSBwYXJhbXMuZGVmYXVsdENvbW1hbmQ7XG5cdFx0dGhpcy5oaWRkZW4gICAgICAgICA9ICEhcGFyYW1zLmhpZGRlbjtcblxuXHRcdC8vIG1peCBpbiBhbnkgb3RoZXIgY3VzdG9tIHByb3BzXG5cdFx0Zm9yIChjb25zdCBbIGtleSwgdmFsdWUgXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG5cdFx0XHRpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLCBrZXkpKSB7XG5cdFx0XHRcdHRoaXNba2V5XSA9IHZhbHVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBIG1hcCBvZiBhbGlhc2VzIGFuIHdoZXRoZXIgdGhleSBhcmUgdmlzaWJsZS5cblx0ICpcblx0ICogQHR5cGUge09iamVjdH1cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdGdldCBhbGlhc2VzKCkge1xuXHRcdHJldHVybiB0aGlzLl9hbGlhc2VzO1xuXHR9XG5cblx0c2V0IGFsaWFzZXModmFsdWUpIHtcblx0XHR0aGlzLl9hbGlhc2VzID0gdGhpcy5jcmVhdGVBbGlhc2VzKHZhbHVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXJnZXMgbXVsdGlwbGUgYWxpYXMgY29uc3RydWN0cyBpbnRvIGEgc2luZ2xlIGFsaWFzIG9iamVjdC5cblx0ICpcblx0ICogQHBhcmFtIHsuLi5TZXQuPFN0cmluZz58QXJyYXkuPFN0cmluZz58U3RyaW5nfE9iamVjdH0gdmFsdWVzIC0gT25lIG9yIG1vcmUgYWxpYXMgdmFsdWVzLlxuXHQgKiBAcmV0dXJucyB7T2JqZWN0fVxuXHQgKiBAYWNjZXNzIHByaXZhdGVcblx0ICovXG5cdGNyZWF0ZUFsaWFzZXMoLi4udmFsdWVzKSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0ge307XG5cblx0XHRmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcblx0XHRcdGlmICghdmFsdWUpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh2YWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuXHRcdFx0XHR2YWx1ZSA9IEFycmF5LmZyb20odmFsdWUpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbihyZXN1bHQsIHZhbHVlKTtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0dmFsdWUgPSBbIHZhbHVlIF07XG5cdFx0XHR9XG5cblx0XHRcdGZvciAoY29uc3QgYWxpYXMgb2YgdmFsdWUpIHtcblx0XHRcdFx0aWYgKCFhbGlhcyB8fCB0eXBlb2YgYWxpYXMgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBjb21tYW5kIGFsaWFzZXMgdG8gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncycsIHsgbmFtZTogJ2FsaWFzZXMuYWxpYXMnLCBzY29wZTogJ0NvbW1hbmQuY29uc3RydWN0b3InLCB2YWx1ZTogYWxpYXMgfSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRmb3IgKGNvbnN0IGEgb2YgYWxpYXMuc3BsaXQoL1sgLHxdKy8pKSB7XG5cdFx0XHRcdFx0aWYgKGEgPT09ICchJykge1xuXHRcdFx0XHRcdFx0dGhyb3cgRS5JTlZBTElEX0FMSUFTKGBJbnZhbGlkIGNvbW1hbmQgYWxpYXMgXCIke2FsaWFzfVwiYCwgeyBuYW1lOiAnYWxpYXNlcycsIHNjb3BlOiAnQ29tbWFuZC5jb25zdHJ1Y3RvcicsIHZhbHVlOiBhbGlhcyB9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGFbMF0gPT09ICchJykge1xuXHRcdFx0XHRcdFx0cmVzdWx0W2Euc3Vic3RyaW5nKDEpXSA9ICdoaWRkZW4nO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXN1bHRbYV0gPSAndmlzaWJsZSc7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDdXN0b20gaGVscCBoZWFkZXIgYW5kIGZvb3RlciBjb250ZW50LiBBIHN0cmluZywgZnVuY3Rpb24sIG9yIG9iamVjdCB3aXRoIGBoZWFkZXJgIGFuZFxuXHQgKiBgZm9vdGVyYCBwcm9wZXJ0aWVzIG1heSBiZSB1c2VkIHRvIHNldCB0aGUgYGhlbHBgIHByb3BlcnR5LCBidXQgdGhlIGludGVybmFsIHZhbHVlIHdpbGxcblx0ICogYWx3YXlzIGJlIGFuIG9iamVjdCB3aXRoIGBoZWFkZXJgIGFuZCBgZm9vdGVyYCBwcm9wZXJ0aWVzLlxuXHQgKlxuXHQgKiBAdHlwZSB7T2JqZWN0fVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0Z2V0IGhlbHAoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2hlbHA7XG5cdH1cblxuXHRzZXQgaGVscCh2YWx1ZSkge1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0dGhpcy5faGVscC5oZWFkZXIgPSB2YWx1ZTtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdGlmICh2YWx1ZS5oZWFkZXIpIHtcblx0XHRcdFx0aWYgKHR5cGVvZiB2YWx1ZS5oZWFkZXIgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZS5oZWFkZXIgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0XHR0aGlzLl9oZWxwLmhlYWRlciA9IHZhbHVlLmhlYWRlcjtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIGhlbHAgY29udGVudCBoZWFkZXIgdG8gYmUgYSBzdHJpbmcgb3IgZnVuY3Rpb24nKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHZhbHVlLmZvb3Rlcikge1xuXHRcdFx0XHRpZiAodHlwZW9mIHZhbHVlLmZvb3RlciA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlLmZvb3RlciA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdHRoaXMuX2hlbHAuZm9vdGVyID0gdmFsdWUuZm9vdGVyO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgaGVscCBjb250ZW50IGZvb3RlciB0byBiZSBhIHN0cmluZyBvciBmdW5jdGlvbicpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2hlbHAgPSB7fTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgc2NoZW1hIGZvciB0aGlzIGNvbW1hbmQgYW5kIGFsbCBjaGlsZCBjb250ZXh0cy5cblx0ICpcblx0ICogQHJldHVybnMge09iamVjdH1cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdHNjaGVtYSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZGVzYzogdGhpcy5kZXNjXG5cdFx0fTtcblx0fVxufVxuIl0sImZpbGUiOiJwYXJzZXIvY29tbWFuZC5qcyJ9

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

var _ansi = require("../lib/ansi");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -137,3 +139,3 @@

fn(data, (str, linebreaks, flags) => {
str = flags !== null && flags !== void 0 && flags.includes('|') ? String(str).replace(/\s*$/g, '') : String(str).trim();
str = flags !== null && flags !== void 0 && flags.includes('|') ? (0, _ansi.trimEnd)(str) : (0, _ansi.trim)(str);

@@ -170,2 +172,2 @@ if (!(flags !== null && flags !== void 0 && flags.includes('?')) || str) {

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlbmRlci90ZW1wbGF0ZS5qcyJdLCJuYW1lcyI6WyJicmVha1JlZ0V4cCIsInByaW50UmVnRXhwIiwiZXNjYXBlVGlsZGVzIiwic3RyIiwic3RhdGUiLCJzIiwiaSIsImwiLCJsZW5ndGgiLCJ1bnNoaWZ0Iiwic2hpZnQiLCJyZW5kZXIiLCJ0ZW1wbGF0ZSIsImRhdGEiLCJSZWdFeHAiLCJlIiwiRSIsIklOVkFMSURfTk9ERV9KUyIsInZhcnMiLCJPYmplY3QiLCJrZXlzIiwiYm9keSIsImpvaW4iLCJyZXBsYWNlIiwiXyIsIndzIiwibGluZXMiLCJmbGFncyIsInVuZGVmaW5lZCIsImZuIiwiRnVuY3Rpb24iLCJvdXRwdXQiLCJsaW5lYnJlYWtzIiwiaW5jbHVkZXMiLCJTdHJpbmciLCJ0cmltIiwicmVwZWF0IiwicmVuZGVyRmlsZSIsImZpbGUiLCJmcyIsInJlYWRGaWxlU3luYyIsIlRFTVBMQVRFX05PVF9GT1VORCIsIm5hbWUiLCJzY29wZSIsInZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQTs7QUFDQTs7OztBQUZBO0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQSxXQUFXLEdBQUcsYUFBcEI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLElBQUlDLFdBQUo7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDTyxTQUFTQyxZQUFULENBQXNCQyxHQUF0QixFQUEyQjtBQUNqQyxNQUFJQyxLQUFLLEdBQUcsQ0FBRSxDQUFGLENBQVo7QUFDQSxNQUFJQyxDQUFDLEdBQUcsRUFBUjs7QUFDQSxPQUFLLElBQUlDLENBQUMsR0FBRyxDQUFSLEVBQVdDLENBQUMsR0FBR0osR0FBRyxDQUFDSyxNQUF4QixFQUFnQ0YsQ0FBQyxHQUFHQyxDQUFwQyxFQUF1Q0QsQ0FBQyxFQUF4QyxFQUE0QztBQUMzQyxZQUFRRixLQUFLLENBQUMsQ0FBRCxDQUFiO0FBQ0MsV0FBSyxDQUFMO0FBQVE7QUFDUCxZQUFJLENBQUNFLENBQUMsS0FBSyxDQUFOLElBQVdILEdBQUcsQ0FBQ0csQ0FBQyxHQUFHLENBQUwsQ0FBSCxLQUFlLElBQTNCLEtBQW9DSCxHQUFHLENBQUNHLENBQUQsQ0FBSCxLQUFXLEdBQS9DLElBQXNESCxHQUFHLENBQUNHLENBQUMsR0FBRyxDQUFMLENBQUgsS0FBZSxHQUF6RSxFQUE4RTtBQUM3RUQsVUFBQUEsQ0FBQyxJQUFJRixHQUFHLENBQUNHLENBQUMsRUFBRixDQUFSLENBRDZFLENBQzlEOztBQUNmRCxVQUFBQSxDQUFDLElBQUlGLEdBQUcsQ0FBQ0csQ0FBRCxDQUFSLENBRjZFLENBRTlEOztBQUNmRixVQUFBQSxLQUFLLENBQUNLLE9BQU4sQ0FBYyxDQUFkO0FBQ0EsU0FKRCxNQUlPLElBQUlOLEdBQUcsQ0FBQ0csQ0FBRCxDQUFILEtBQVcsR0FBZixFQUFvQjtBQUMxQkQsVUFBQUEsQ0FBQyxJQUFJLEtBQUw7QUFDQSxTQUZNLE1BRUE7QUFDTkEsVUFBQUEsQ0FBQyxJQUFJRixHQUFHLENBQUNHLENBQUQsQ0FBUjtBQUNBOztBQUNEOztBQUVELFdBQUssQ0FBTDtBQUFRO0FBQ1AsWUFBSUgsR0FBRyxDQUFDRyxDQUFELENBQUgsS0FBVyxHQUFmLEVBQW9CO0FBQ25CRixVQUFBQSxLQUFLLENBQUNNLEtBQU47QUFDQSxTQUZELE1BRU8sSUFBSVAsR0FBRyxDQUFDRyxDQUFELENBQUgsS0FBVyxHQUFmLEVBQW9CO0FBQzFCRixVQUFBQSxLQUFLLENBQUNLLE9BQU4sQ0FBYyxDQUFkO0FBQ0E7O0FBQ0RKLFFBQUFBLENBQUMsSUFBSUYsR0FBRyxDQUFDRyxDQUFELENBQVI7QUFDQTs7QUFFRCxXQUFLLENBQUw7QUFBUTtBQUNQLFlBQUlILEdBQUcsQ0FBQ0csQ0FBRCxDQUFILEtBQVcsR0FBZixFQUFvQjtBQUNuQkYsVUFBQUEsS0FBSyxDQUFDTSxLQUFOO0FBQ0E7O0FBQ0RMLFFBQUFBLENBQUMsSUFBSUYsR0FBRyxDQUFDRyxDQUFELENBQVI7QUFDQTtBQTNCRjtBQTZCQTs7QUFDRCxTQUFPRCxDQUFQO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU00sTUFBVCxDQUFnQkMsUUFBaEIsRUFBMEJDLElBQTFCLEVBQWdDO0FBQ3RDLE1BQUksQ0FBQ1osV0FBTCxFQUFrQjtBQUNqQixRQUFJO0FBQ0hBLE1BQUFBLFdBQVcsR0FBRyxJQUFJYSxNQUFKLENBQVcsd0VBQVgsRUFBcUYsSUFBckYsQ0FBZDtBQUNBLEtBRkQsQ0FFRSxPQUFPQyxDQUFQLEVBQVU7QUFDWDtBQUNBLFlBQU1DLGdCQUFFQyxlQUFGLENBQWtCLG9EQUFsQixDQUFOO0FBQ0E7QUFDRDs7QUFFRCxNQUFJLENBQUNKLElBQUQsSUFBUyxPQUFPQSxJQUFQLEtBQWdCLFFBQTdCLEVBQXVDO0FBQ3RDQSxJQUFBQSxJQUFJLEdBQUcsRUFBUDtBQUNBLEdBWnFDLENBY3RDO0FBQ0E7OztBQUVBLFFBQU1LLElBQUksR0FBR0MsTUFBTSxDQUFDQyxJQUFQLENBQVlQLElBQVosQ0FBYjtBQUNBLE1BQUlRLElBQUksR0FBRyxDQUFDSCxJQUFJLENBQUNWLE1BQUwsR0FBZSxTQUFRVSxJQUFJLENBQUNJLElBQUwsQ0FBVSxJQUFWLENBQWdCLGtCQUF2QyxHQUEyRCxFQUE1RCxJQUNWVixRQUFRLENBQUNXLE9BQVQsQ0FBaUJ0QixXQUFqQixFQUE4QixDQUFDdUIsQ0FBRCxFQUFJQyxFQUFKLEVBQVFDLEtBQVIsRUFBZUMsS0FBZixFQUFzQnhCLEdBQXRCLEtBQThCO0FBQzNEQSxJQUFBQSxHQUFHLEdBQUdBLEdBQUcsQ0FBQ29CLE9BQUosQ0FBWSxXQUFaLEVBQXlCLE1BQXpCLENBQU47QUFDQXBCLElBQUFBLEdBQUcsR0FBR0QsWUFBWSxDQUFDQyxHQUFELENBQWxCO0FBQ0FBLElBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDb0IsT0FBSixDQUFZdkIsV0FBWixFQUF5QixLQUF6QixDQUFOO0FBQ0EsV0FBUSxHQUFFeUIsRUFBRyxhQUFZdEIsR0FBSSxPQUFNdUIsS0FBSyxDQUFDbEIsTUFBTixHQUFlLENBQUUsR0FBRW1CLEtBQUssS0FBS0MsU0FBVixHQUFzQixFQUF0QixHQUE0QixNQUFLRCxLQUFNLEdBQUcsTUFBaEc7QUFDQSxHQUxELENBREQsQ0FsQnNDLENBMEJ0Qzs7QUFFQSxRQUFNRSxFQUFFLEdBQUcsSUFBSUMsUUFBSixDQUFhLFFBQWIsRUFBdUIsU0FBdkIsRUFBa0NULElBQWxDLENBQVg7QUFDQSxNQUFJVSxNQUFNLEdBQUcsRUFBYjtBQUVBRixFQUFBQSxFQUFFLENBQUNoQixJQUFELEVBQU8sQ0FBQ1YsR0FBRCxFQUFNNkIsVUFBTixFQUFrQkwsS0FBbEIsS0FBNEI7QUFDcEN4QixJQUFBQSxHQUFHLEdBQUd3QixLQUFLLFNBQUwsSUFBQUEsS0FBSyxXQUFMLElBQUFBLEtBQUssQ0FBRU0sUUFBUCxDQUFnQixHQUFoQixJQUF1QkMsTUFBTSxDQUFDL0IsR0FBRCxDQUFOLENBQVlvQixPQUFaLENBQW9CLE9BQXBCLEVBQTZCLEVBQTdCLENBQXZCLEdBQTBEVyxNQUFNLENBQUMvQixHQUFELENBQU4sQ0FBWWdDLElBQVosRUFBaEU7O0FBQ0EsUUFBSSxFQUFDUixLQUFELGFBQUNBLEtBQUQsZUFBQ0EsS0FBSyxDQUFFTSxRQUFQLENBQWdCLEdBQWhCLENBQUQsS0FBeUI5QixHQUE3QixFQUFrQztBQUNqQzRCLE1BQUFBLE1BQU0sSUFBSyxHQUFFNUIsR0FBSSxHQUFFNkIsVUFBVSxHQUFHLEtBQUtJLE1BQUwsQ0FBWUosVUFBWixDQUFILEdBQTZCLEVBQUcsRUFBN0Q7QUFDQTtBQUNELEdBTEMsQ0FBRjtBQU9BLFNBQU9ELE1BQU0sQ0FBQ1IsT0FBUCxDQUFlLGlCQUFmLEVBQWtDLElBQWxDLENBQVA7QUFDQTtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTYyxVQUFULENBQW9CQyxJQUFwQixFQUEwQnpCLElBQTFCLEVBQWdDO0FBQ3RDLE1BQUlELFFBQUo7O0FBRUEsTUFBSTtBQUNIQSxJQUFBQSxRQUFRLEdBQUcyQixZQUFHQyxZQUFILENBQWdCRixJQUFoQixFQUFzQixNQUF0QixDQUFYO0FBQ0EsR0FGRCxDQUVFLE9BQU92QixDQUFQLEVBQVU7QUFDWCxVQUFNQyxnQkFBRXlCLGtCQUFGLENBQXNCLDRCQUEyQkgsSUFBSyxFQUF0RCxFQUF5RDtBQUFFSSxNQUFBQSxJQUFJLEVBQUUsTUFBUjtBQUFnQkMsTUFBQUEsS0FBSyxFQUFFLHFCQUF2QjtBQUE4Q0MsTUFBQUEsS0FBSyxFQUFFTjtBQUFyRCxLQUF6RCxDQUFOO0FBQ0E7O0FBRUQsU0FBTzNCLE1BQU0sQ0FBQ0MsUUFBRCxFQUFXQyxJQUFYLENBQWI7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBkZWJ1ZyBmcm9tICcuLi9saWIvZGVidWcnO1xuaW1wb3J0IEUgZnJvbSAnLi4vbGliL2Vycm9ycyc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuXG4vLyBjb25zdCBsb2dnZXIgPSBkZWJ1ZygnY2xpLWtpdDp0ZW1wbGF0ZTppbicpO1xuLy8gY29uc3QgeyBsb2cgfSA9IGxvZ2dlcjtcbi8vIGNvbnN0IGxvZzIgPSBsb2dnZXIoJ291dCcpLmxvZztcblxuLyoqXG4gKiBNYXRjaGVzIGludGVudGlvbmFsIGxpbmUgYnJlYWtzIGluIG11bHRpbGluZSBzdHJpbmdzLlxuICpcbiAqIEB0eXBlIHtSZWdFeHB9XG4gKi9cbmNvbnN0IGJyZWFrUmVnRXhwID0gL1sgXFx0XT9cXFxcXFxuL2c7XG5cbi8qKlxuICogRmluZHMgb3V0cHV0IHN0YXRlbWVudHMgYW5kIGZvcm1hdHMgdGhlbSBpbnRvIHByaW50IHN0YXRlbWVudHMuXG4gKlxuICogUmVnZXggYnJlYWtkb3duOlxuICogICBgKD88PV58XFxuKShbIFxcdF0qKSg+KylgOiBGaW5kIG9uZSBvciBtb3JlIGNvbnRpZ3VvdXMgYD5gIGNoYXJhY3RlcnMgd2hlcmUgdGhleSBhcmUgYXQgdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbm5pbmcgb2YgdGVtcGxhdGUgb3IgbGluZS4gV2UgY2FwdHVyZSBlYWNoIGA+YCBzbyB0aGF0IHdlIGNhblxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZXJtaW5lIGhvdyBtYW55IGxpbmUgcmV0dXJucyB0byBhZGQgYWZ0ZXIgdGhlIGxpbmUgaXMgcHJpbnRlZC5cbiAqICAgYChcXHxcXD98XFw/XFx8fFxcfHxcXD8pP2A6ICAgIERldGVjdCBtb2RpZmllciBmbGFncy4gVGhlc2UgY29udHJvbCByZW5kZXJpbmcgc3VjaCBhcyB0cmltbWluZyB0aGVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dC5cbiAqICAgYCguKj8pKD86KD88IVxcXFwpXFxufCQpYDogIENhcHR1cmUgdGhlIGVudGlyZSBtZXNzYWdlLCBpbmNsdWRpbmcgbXVsdGlsaW5lIGBcXGAgdG9rZW5zLCB1cCB0byB0aGVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0IGxpbmUgYnJlYWsuXG4gKiAgIGAvZ3NgOiAgICAgICAgICAgICAgICAgICBTZXQgdGhlIGBnbG9iYWxgIGFuZCBgZG90IGFsbGAgZmxhZ3MuIGBnbG9iYWxgIHdpbGwgZmluZCBhbGwgbWF0Y2hlcy5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBkb3QgYWxsYCAoaW50cm9kdWNlZCBpbiBFUzIwMTgpLCBhbGxvd3MgdXMgdG8gY2FwdHVyZSBpbnRlbnRpb25hbFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSBicmVha3MuXG4gKlxuICogQHR5cGUge1JlZ0V4cH1cbiAqL1xubGV0IHByaW50UmVnRXhwO1xuXG4vKipcbiAqIEVzY2FwZXMgdGlsZGVzIGluIGEgc3RyaW5nIHRoYXQgaXMgdG8gYmUgZXZhbHVhdGVkIGFzIGEgdGVtcGxhdGUgbGl0ZXJhbC4gSXQgdXNlcyBhIHNpbXBsZSBzdGF0ZVxuICogbWFjaGluZSB0byBrZWVwIHRyYWNrIG9mIHdoZXRoZXIgaXQncyBpbiBhbiBleHByZXNzaW9uIG9yIHRlbXBsYXRlIGxpdGVyYWwuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciAtIFRoZSBzdHJpbmcgdG8gZXNjYXBlLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVRpbGRlcyhzdHIpIHtcblx0bGV0IHN0YXRlID0gWyAwIF07XG5cdGxldCBzID0gJyc7XG5cdGZvciAobGV0IGkgPSAwLCBsID0gc3RyLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuXHRcdHN3aXRjaCAoc3RhdGVbMF0pIHtcblx0XHRcdGNhc2UgMDogLy8gbm90IGluIGFuIGV4cHJlc3Npb25cblx0XHRcdFx0aWYgKChpID09PSAwIHx8IHN0cltpIC0gMV0gIT09ICdcXFxcJykgJiYgc3RyW2ldID09PSAnJCcgJiYgc3RyW2kgKyAxXSA9PT0gJ3snKSB7XG5cdFx0XHRcdFx0cyArPSBzdHJbaSsrXTsgLy8gJFxuXHRcdFx0XHRcdHMgKz0gc3RyW2ldOyAgIC8vIHtcblx0XHRcdFx0XHRzdGF0ZS51bnNoaWZ0KDEpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHN0cltpXSA9PT0gJ2AnKSB7XG5cdFx0XHRcdFx0cyArPSAnXFxcXGAnO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHMgKz0gc3RyW2ldO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRjYXNlIDE6IC8vIGluIGFuIGV4cHJlc3Npb25cblx0XHRcdFx0aWYgKHN0cltpXSA9PT0gJ30nKSB7XG5cdFx0XHRcdFx0c3RhdGUuc2hpZnQoKTtcblx0XHRcdFx0fSBlbHNlIGlmIChzdHJbaV0gPT09ICdgJykge1xuXHRcdFx0XHRcdHN0YXRlLnVuc2hpZnQoMik7XG5cdFx0XHRcdH1cblx0XHRcdFx0cyArPSBzdHJbaV07XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRjYXNlIDI6IC8vIGluIHRlbXBsYXRlIGxpdGVyYWxcblx0XHRcdFx0aWYgKHN0cltpXSA9PT0gJ2AnKSB7XG5cdFx0XHRcdFx0c3RhdGUuc2hpZnQoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRzICs9IHN0cltpXTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBzO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSB0ZW1wbGF0ZSB3aXRoIHRoZSBzdXBwbGllZCBkYXRhLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0ZW1wbGF0ZSAtIFRoZSB0ZW1wbGF0ZSB0byByZW5kZXIuXG4gKiBAcGFyYW0ge09iamVjdH0gW2RhdGFdIC0gQW4gb2JqZWN0IHRvIGluamVjdCBpbnRvIHRoZSB0ZW1wbGF0ZS5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXIodGVtcGxhdGUsIGRhdGEpIHtcblx0aWYgKCFwcmludFJlZ0V4cCkge1xuXHRcdHRyeSB7XG5cdFx0XHRwcmludFJlZ0V4cCA9IG5ldyBSZWdFeHAoJyg/PD1efFxcXFxuKShbIFxcXFx0XSopKD4rKShcXFxcfFxcXFw/fFxcXFw/XFxcXHx8XFxcXHx8XFxcXD8pPyguKj8pKD86KD88IVxcXFxcXFxcKVxcXFxufCQpJywgJ2dzJyk7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0Ly8gaXN0YW5idWwgaWdub3JlIG5leHRcblx0XHRcdHRocm93IEUuSU5WQUxJRF9OT0RFX0pTKCdOb2RlLmpzIHZlcnNpb24gaXMgdG9vIG9sZDsgbXVzdCBiZSB2OC4xMCBvciBuZXdlcicpO1xuXHRcdH1cblx0fVxuXG5cdGlmICghZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcblx0XHRkYXRhID0ge307XG5cdH1cblxuXHQvLyBsb2codGVtcGxhdGUpO1xuXHQvLyBsb2coT2JqZWN0LmtleXMoZGF0YSkpO1xuXG5cdGNvbnN0IHZhcnMgPSBPYmplY3Qua2V5cyhkYXRhKTtcblx0bGV0IGJvZHkgPSAodmFycy5sZW5ndGggPyBgbGV0IHsgJHt2YXJzLmpvaW4oJywgJyl9IH0gPSBfX2RhdGE7XFxuXFxuYCA6ICcnKSArXG5cdFx0dGVtcGxhdGUucmVwbGFjZShwcmludFJlZ0V4cCwgKF8sIHdzLCBsaW5lcywgZmxhZ3MsIHN0cikgPT4ge1xuXHRcdFx0c3RyID0gc3RyLnJlcGxhY2UoL1xcXFwoPyFcXG4pL2csICdcXFxcXFxcXCcpO1xuXHRcdFx0c3RyID0gZXNjYXBlVGlsZGVzKHN0cik7XG5cdFx0XHRzdHIgPSBzdHIucmVwbGFjZShicmVha1JlZ0V4cCwgJ1xcXFxuJyk7XG5cdFx0XHRyZXR1cm4gYCR7d3N9X19wcmludChcXGAke3N0cn1cXGAsICR7bGluZXMubGVuZ3RoIC0gMX0ke2ZsYWdzID09PSB1bmRlZmluZWQgPyAnJyA6IGAsICcke2ZsYWdzfSdgfSk7XFxuYDtcblx0XHR9KTtcblxuXHQvLyBsb2cyKGJvZHkpO1xuXG5cdGNvbnN0IGZuID0gbmV3IEZ1bmN0aW9uKCdfX2RhdGEnLCAnX19wcmludCcsIGJvZHkpO1xuXHRsZXQgb3V0cHV0ID0gJyc7XG5cblx0Zm4oZGF0YSwgKHN0ciwgbGluZWJyZWFrcywgZmxhZ3MpID0+IHtcblx0XHRzdHIgPSBmbGFncz8uaW5jbHVkZXMoJ3wnKSA/IFN0cmluZyhzdHIpLnJlcGxhY2UoL1xccyokL2csICcnKSA6IFN0cmluZyhzdHIpLnRyaW0oKTtcblx0XHRpZiAoIWZsYWdzPy5pbmNsdWRlcygnPycpIHx8IHN0cikge1xuXHRcdFx0b3V0cHV0ICs9IGAke3N0cn0ke2xpbmVicmVha3MgPyAnXFxuJy5yZXBlYXQobGluZWJyZWFrcykgOiAnJ31gO1xuXHRcdH1cblx0fSk7XG5cblx0cmV0dXJuIG91dHB1dC5yZXBsYWNlKC8oXFxyXFxufFxccnxcXG4pKyQvZywgJ1xcbicpO1xufVxuXG4vKipcbiAqIFJlYWRzIGluIGEgdGVtcGxhdGUgZmlsZSBhbmQgcmVuZGVycyBpdC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZmlsZSAtIFRoZSBwYXRoIHRvIHRoZSB0ZW1wbGF0ZSBmaWxlLlxuICogQHBhcmFtIHtPYmplY3R9IFtkYXRhXSAtIEFuIG9iamVjdCB0byBpbmplY3QgaW50byB0aGUgdGVtcGxhdGUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRmlsZShmaWxlLCBkYXRhKSB7XG5cdGxldCB0ZW1wbGF0ZTtcblxuXHR0cnkge1xuXHRcdHRlbXBsYXRlID0gZnMucmVhZEZpbGVTeW5jKGZpbGUsICd1dGY4Jyk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHR0aHJvdyBFLlRFTVBMQVRFX05PVF9GT1VORChgVW5hYmxlIHRvIGZpbmQgdGVtcGxhdGU6ICR7ZmlsZX1gLCB7IG5hbWU6ICdmaWxlJywgc2NvcGU6ICd0ZW1wbGF0ZS5yZW5kZXJGaWxlJywgdmFsdWU6IGZpbGUgfSk7XG5cdH1cblxuXHRyZXR1cm4gcmVuZGVyKHRlbXBsYXRlLCBkYXRhKTtcbn1cbiJdLCJmaWxlIjoicmVuZGVyL3RlbXBsYXRlLmpzIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlbmRlci90ZW1wbGF0ZS5qcyJdLCJuYW1lcyI6WyJicmVha1JlZ0V4cCIsInByaW50UmVnRXhwIiwiZXNjYXBlVGlsZGVzIiwic3RyIiwic3RhdGUiLCJzIiwiaSIsImwiLCJsZW5ndGgiLCJ1bnNoaWZ0Iiwic2hpZnQiLCJyZW5kZXIiLCJ0ZW1wbGF0ZSIsImRhdGEiLCJSZWdFeHAiLCJlIiwiRSIsIklOVkFMSURfTk9ERV9KUyIsInZhcnMiLCJPYmplY3QiLCJrZXlzIiwiYm9keSIsImpvaW4iLCJyZXBsYWNlIiwiXyIsIndzIiwibGluZXMiLCJmbGFncyIsInVuZGVmaW5lZCIsImZuIiwiRnVuY3Rpb24iLCJvdXRwdXQiLCJsaW5lYnJlYWtzIiwiaW5jbHVkZXMiLCJyZXBlYXQiLCJyZW5kZXJGaWxlIiwiZmlsZSIsImZzIiwicmVhZEZpbGVTeW5jIiwiVEVNUExBVEVfTk9UX0ZPVU5EIiwibmFtZSIsInNjb3BlIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOzs7O0FBSEE7QUFLQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1BLFdBQVcsR0FBRyxhQUFwQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsSUFBSUMsV0FBSjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNPLFNBQVNDLFlBQVQsQ0FBc0JDLEdBQXRCLEVBQTJCO0FBQ2pDLE1BQUlDLEtBQUssR0FBRyxDQUFFLENBQUYsQ0FBWjtBQUNBLE1BQUlDLENBQUMsR0FBRyxFQUFSOztBQUNBLE9BQUssSUFBSUMsQ0FBQyxHQUFHLENBQVIsRUFBV0MsQ0FBQyxHQUFHSixHQUFHLENBQUNLLE1BQXhCLEVBQWdDRixDQUFDLEdBQUdDLENBQXBDLEVBQXVDRCxDQUFDLEVBQXhDLEVBQTRDO0FBQzNDLFlBQVFGLEtBQUssQ0FBQyxDQUFELENBQWI7QUFDQyxXQUFLLENBQUw7QUFBUTtBQUNQLFlBQUksQ0FBQ0UsQ0FBQyxLQUFLLENBQU4sSUFBV0gsR0FBRyxDQUFDRyxDQUFDLEdBQUcsQ0FBTCxDQUFILEtBQWUsSUFBM0IsS0FBb0NILEdBQUcsQ0FBQ0csQ0FBRCxDQUFILEtBQVcsR0FBL0MsSUFBc0RILEdBQUcsQ0FBQ0csQ0FBQyxHQUFHLENBQUwsQ0FBSCxLQUFlLEdBQXpFLEVBQThFO0FBQzdFRCxVQUFBQSxDQUFDLElBQUlGLEdBQUcsQ0FBQ0csQ0FBQyxFQUFGLENBQVIsQ0FENkUsQ0FDOUQ7O0FBQ2ZELFVBQUFBLENBQUMsSUFBSUYsR0FBRyxDQUFDRyxDQUFELENBQVIsQ0FGNkUsQ0FFOUQ7O0FBQ2ZGLFVBQUFBLEtBQUssQ0FBQ0ssT0FBTixDQUFjLENBQWQ7QUFDQSxTQUpELE1BSU8sSUFBSU4sR0FBRyxDQUFDRyxDQUFELENBQUgsS0FBVyxHQUFmLEVBQW9CO0FBQzFCRCxVQUFBQSxDQUFDLElBQUksS0FBTDtBQUNBLFNBRk0sTUFFQTtBQUNOQSxVQUFBQSxDQUFDLElBQUlGLEdBQUcsQ0FBQ0csQ0FBRCxDQUFSO0FBQ0E7O0FBQ0Q7O0FBRUQsV0FBSyxDQUFMO0FBQVE7QUFDUCxZQUFJSCxHQUFHLENBQUNHLENBQUQsQ0FBSCxLQUFXLEdBQWYsRUFBb0I7QUFDbkJGLFVBQUFBLEtBQUssQ0FBQ00sS0FBTjtBQUNBLFNBRkQsTUFFTyxJQUFJUCxHQUFHLENBQUNHLENBQUQsQ0FBSCxLQUFXLEdBQWYsRUFBb0I7QUFDMUJGLFVBQUFBLEtBQUssQ0FBQ0ssT0FBTixDQUFjLENBQWQ7QUFDQTs7QUFDREosUUFBQUEsQ0FBQyxJQUFJRixHQUFHLENBQUNHLENBQUQsQ0FBUjtBQUNBOztBQUVELFdBQUssQ0FBTDtBQUFRO0FBQ1AsWUFBSUgsR0FBRyxDQUFDRyxDQUFELENBQUgsS0FBVyxHQUFmLEVBQW9CO0FBQ25CRixVQUFBQSxLQUFLLENBQUNNLEtBQU47QUFDQTs7QUFDREwsUUFBQUEsQ0FBQyxJQUFJRixHQUFHLENBQUNHLENBQUQsQ0FBUjtBQUNBO0FBM0JGO0FBNkJBOztBQUNELFNBQU9ELENBQVA7QUFDQTtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTTSxNQUFULENBQWdCQyxRQUFoQixFQUEwQkMsSUFBMUIsRUFBZ0M7QUFDdEMsTUFBSSxDQUFDWixXQUFMLEVBQWtCO0FBQ2pCLFFBQUk7QUFDSEEsTUFBQUEsV0FBVyxHQUFHLElBQUlhLE1BQUosQ0FBVyx3RUFBWCxFQUFxRixJQUFyRixDQUFkO0FBQ0EsS0FGRCxDQUVFLE9BQU9DLENBQVAsRUFBVTtBQUNYO0FBQ0EsWUFBTUMsZ0JBQUVDLGVBQUYsQ0FBa0Isb0RBQWxCLENBQU47QUFDQTtBQUNEOztBQUVELE1BQUksQ0FBQ0osSUFBRCxJQUFTLE9BQU9BLElBQVAsS0FBZ0IsUUFBN0IsRUFBdUM7QUFDdENBLElBQUFBLElBQUksR0FBRyxFQUFQO0FBQ0EsR0FacUMsQ0FjdEM7QUFDQTs7O0FBRUEsUUFBTUssSUFBSSxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWVAsSUFBWixDQUFiO0FBQ0EsTUFBSVEsSUFBSSxHQUFHLENBQUNILElBQUksQ0FBQ1YsTUFBTCxHQUFlLFNBQVFVLElBQUksQ0FBQ0ksSUFBTCxDQUFVLElBQVYsQ0FBZ0Isa0JBQXZDLEdBQTJELEVBQTVELElBQ1ZWLFFBQVEsQ0FBQ1csT0FBVCxDQUFpQnRCLFdBQWpCLEVBQThCLENBQUN1QixDQUFELEVBQUlDLEVBQUosRUFBUUMsS0FBUixFQUFlQyxLQUFmLEVBQXNCeEIsR0FBdEIsS0FBOEI7QUFDM0RBLElBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDb0IsT0FBSixDQUFZLFdBQVosRUFBeUIsTUFBekIsQ0FBTjtBQUNBcEIsSUFBQUEsR0FBRyxHQUFHRCxZQUFZLENBQUNDLEdBQUQsQ0FBbEI7QUFDQUEsSUFBQUEsR0FBRyxHQUFHQSxHQUFHLENBQUNvQixPQUFKLENBQVl2QixXQUFaLEVBQXlCLEtBQXpCLENBQU47QUFDQSxXQUFRLEdBQUV5QixFQUFHLGFBQVl0QixHQUFJLE9BQU11QixLQUFLLENBQUNsQixNQUFOLEdBQWUsQ0FBRSxHQUFFbUIsS0FBSyxLQUFLQyxTQUFWLEdBQXNCLEVBQXRCLEdBQTRCLE1BQUtELEtBQU0sR0FBRyxNQUFoRztBQUNBLEdBTEQsQ0FERCxDQWxCc0MsQ0EwQnRDOztBQUVBLFFBQU1FLEVBQUUsR0FBRyxJQUFJQyxRQUFKLENBQWEsUUFBYixFQUF1QixTQUF2QixFQUFrQ1QsSUFBbEMsQ0FBWDtBQUNBLE1BQUlVLE1BQU0sR0FBRyxFQUFiO0FBRUFGLEVBQUFBLEVBQUUsQ0FBQ2hCLElBQUQsRUFBTyxDQUFDVixHQUFELEVBQU02QixVQUFOLEVBQWtCTCxLQUFsQixLQUE0QjtBQUNwQ3hCLElBQUFBLEdBQUcsR0FBR3dCLEtBQUssU0FBTCxJQUFBQSxLQUFLLFdBQUwsSUFBQUEsS0FBSyxDQUFFTSxRQUFQLENBQWdCLEdBQWhCLElBQXVCLG1CQUFROUIsR0FBUixDQUF2QixHQUFzQyxnQkFBS0EsR0FBTCxDQUE1Qzs7QUFDQSxRQUFJLEVBQUN3QixLQUFELGFBQUNBLEtBQUQsZUFBQ0EsS0FBSyxDQUFFTSxRQUFQLENBQWdCLEdBQWhCLENBQUQsS0FBeUI5QixHQUE3QixFQUFrQztBQUNqQzRCLE1BQUFBLE1BQU0sSUFBSyxHQUFFNUIsR0FBSSxHQUFFNkIsVUFBVSxHQUFHLEtBQUtFLE1BQUwsQ0FBWUYsVUFBWixDQUFILEdBQTZCLEVBQUcsRUFBN0Q7QUFDQTtBQUNELEdBTEMsQ0FBRjtBQU9BLFNBQU9ELE1BQU0sQ0FBQ1IsT0FBUCxDQUFlLGlCQUFmLEVBQWtDLElBQWxDLENBQVA7QUFDQTtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTWSxVQUFULENBQW9CQyxJQUFwQixFQUEwQnZCLElBQTFCLEVBQWdDO0FBQ3RDLE1BQUlELFFBQUo7O0FBRUEsTUFBSTtBQUNIQSxJQUFBQSxRQUFRLEdBQUd5QixZQUFHQyxZQUFILENBQWdCRixJQUFoQixFQUFzQixNQUF0QixDQUFYO0FBQ0EsR0FGRCxDQUVFLE9BQU9yQixDQUFQLEVBQVU7QUFDWCxVQUFNQyxnQkFBRXVCLGtCQUFGLENBQXNCLDRCQUEyQkgsSUFBSyxFQUF0RCxFQUF5RDtBQUFFSSxNQUFBQSxJQUFJLEVBQUUsTUFBUjtBQUFnQkMsTUFBQUEsS0FBSyxFQUFFLHFCQUF2QjtBQUE4Q0MsTUFBQUEsS0FBSyxFQUFFTjtBQUFyRCxLQUF6RCxDQUFOO0FBQ0E7O0FBRUQsU0FBT3pCLE1BQU0sQ0FBQ0MsUUFBRCxFQUFXQyxJQUFYLENBQWI7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBkZWJ1ZyBmcm9tICcuLi9saWIvZGVidWcnO1xuaW1wb3J0IEUgZnJvbSAnLi4vbGliL2Vycm9ycyc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgdHJpbSwgdHJpbUVuZCB9IGZyb20gJy4uL2xpYi9hbnNpJztcblxuLy8gY29uc3QgbG9nZ2VyID0gZGVidWcoJ2NsaS1raXQ6dGVtcGxhdGU6aW4nKTtcbi8vIGNvbnN0IHsgbG9nIH0gPSBsb2dnZXI7XG4vLyBjb25zdCBsb2cyID0gbG9nZ2VyKCdvdXQnKS5sb2c7XG5cbi8qKlxuICogTWF0Y2hlcyBpbnRlbnRpb25hbCBsaW5lIGJyZWFrcyBpbiBtdWx0aWxpbmUgc3RyaW5ncy5cbiAqXG4gKiBAdHlwZSB7UmVnRXhwfVxuICovXG5jb25zdCBicmVha1JlZ0V4cCA9IC9bIFxcdF0/XFxcXFxcbi9nO1xuXG4vKipcbiAqIEZpbmRzIG91dHB1dCBzdGF0ZW1lbnRzIGFuZCBmb3JtYXRzIHRoZW0gaW50byBwcmludCBzdGF0ZW1lbnRzLlxuICpcbiAqIFJlZ2V4IGJyZWFrZG93bjpcbiAqICAgYCg/PD1efFxcbikoWyBcXHRdKikoPispYDogRmluZCBvbmUgb3IgbW9yZSBjb250aWd1b3VzIGA+YCBjaGFyYWN0ZXJzIHdoZXJlIHRoZXkgYXJlIGF0IHRoZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW5uaW5nIG9mIHRlbXBsYXRlIG9yIGxpbmUuIFdlIGNhcHR1cmUgZWFjaCBgPmAgc28gdGhhdCB3ZSBjYW5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGVybWluZSBob3cgbWFueSBsaW5lIHJldHVybnMgdG8gYWRkIGFmdGVyIHRoZSBsaW5lIGlzIHByaW50ZWQuXG4gKiAgIGAoXFx8XFw/fFxcP1xcfHxcXHx8XFw/KT9gOiAgICBEZXRlY3QgbW9kaWZpZXIgZmxhZ3MuIFRoZXNlIGNvbnRyb2wgcmVuZGVyaW5nIHN1Y2ggYXMgdHJpbW1pbmcgdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQuXG4gKiAgIGAoLio/KSg/Oig/PCFcXFxcKVxcbnwkKWA6ICBDYXB0dXJlIHRoZSBlbnRpcmUgbWVzc2FnZSwgaW5jbHVkaW5nIG11bHRpbGluZSBgXFxgIHRva2VucywgdXAgdG8gdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCBsaW5lIGJyZWFrLlxuICogICBgL2dzYDogICAgICAgICAgICAgICAgICAgU2V0IHRoZSBgZ2xvYmFsYCBhbmQgYGRvdCBhbGxgIGZsYWdzLiBgZ2xvYmFsYCB3aWxsIGZpbmQgYWxsIG1hdGNoZXMuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZG90IGFsbGAgKGludHJvZHVjZWQgaW4gRVMyMDE4KSwgYWxsb3dzIHVzIHRvIGNhcHR1cmUgaW50ZW50aW9uYWxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgYnJlYWtzLlxuICpcbiAqIEB0eXBlIHtSZWdFeHB9XG4gKi9cbmxldCBwcmludFJlZ0V4cDtcblxuLyoqXG4gKiBFc2NhcGVzIHRpbGRlcyBpbiBhIHN0cmluZyB0aGF0IGlzIHRvIGJlIGV2YWx1YXRlZCBhcyBhIHRlbXBsYXRlIGxpdGVyYWwuIEl0IHVzZXMgYSBzaW1wbGUgc3RhdGVcbiAqIG1hY2hpbmUgdG8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIGl0J3MgaW4gYW4gZXhwcmVzc2lvbiBvciB0ZW1wbGF0ZSBsaXRlcmFsLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgLSBUaGUgc3RyaW5nIHRvIGVzY2FwZS5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVUaWxkZXMoc3RyKSB7XG5cdGxldCBzdGF0ZSA9IFsgMCBdO1xuXHRsZXQgcyA9ICcnO1xuXHRmb3IgKGxldCBpID0gMCwgbCA9IHN0ci5sZW5ndGg7IGkgPCBsOyBpKyspIHtcblx0XHRzd2l0Y2ggKHN0YXRlWzBdKSB7XG5cdFx0XHRjYXNlIDA6IC8vIG5vdCBpbiBhbiBleHByZXNzaW9uXG5cdFx0XHRcdGlmICgoaSA9PT0gMCB8fCBzdHJbaSAtIDFdICE9PSAnXFxcXCcpICYmIHN0cltpXSA9PT0gJyQnICYmIHN0cltpICsgMV0gPT09ICd7Jykge1xuXHRcdFx0XHRcdHMgKz0gc3RyW2krK107IC8vICRcblx0XHRcdFx0XHRzICs9IHN0cltpXTsgICAvLyB7XG5cdFx0XHRcdFx0c3RhdGUudW5zaGlmdCgxKTtcblx0XHRcdFx0fSBlbHNlIGlmIChzdHJbaV0gPT09ICdgJykge1xuXHRcdFx0XHRcdHMgKz0gJ1xcXFxgJztcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzICs9IHN0cltpXTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblxuXHRcdFx0Y2FzZSAxOiAvLyBpbiBhbiBleHByZXNzaW9uXG5cdFx0XHRcdGlmIChzdHJbaV0gPT09ICd9Jykge1xuXHRcdFx0XHRcdHN0YXRlLnNoaWZ0KCk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoc3RyW2ldID09PSAnYCcpIHtcblx0XHRcdFx0XHRzdGF0ZS51bnNoaWZ0KDIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHMgKz0gc3RyW2ldO1xuXHRcdFx0XHRicmVhaztcblxuXHRcdFx0Y2FzZSAyOiAvLyBpbiB0ZW1wbGF0ZSBsaXRlcmFsXG5cdFx0XHRcdGlmIChzdHJbaV0gPT09ICdgJykge1xuXHRcdFx0XHRcdHN0YXRlLnNoaWZ0KCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cyArPSBzdHJbaV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcztcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGEgdGVtcGxhdGUgd2l0aCB0aGUgc3VwcGxpZWQgZGF0YS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdGVtcGxhdGUgLSBUaGUgdGVtcGxhdGUgdG8gcmVuZGVyLlxuICogQHBhcmFtIHtPYmplY3R9IFtkYXRhXSAtIEFuIG9iamVjdCB0byBpbmplY3QgaW50byB0aGUgdGVtcGxhdGUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyKHRlbXBsYXRlLCBkYXRhKSB7XG5cdGlmICghcHJpbnRSZWdFeHApIHtcblx0XHR0cnkge1xuXHRcdFx0cHJpbnRSZWdFeHAgPSBuZXcgUmVnRXhwKCcoPzw9XnxcXFxcbikoWyBcXFxcdF0qKSg+KykoXFxcXHxcXFxcP3xcXFxcP1xcXFx8fFxcXFx8fFxcXFw/KT8oLio/KSg/Oig/PCFcXFxcXFxcXClcXFxcbnwkKScsICdncycpO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfTk9ERV9KUygnTm9kZS5qcyB2ZXJzaW9uIGlzIHRvbyBvbGQ7IG11c3QgYmUgdjguMTAgb3IgbmV3ZXInKTtcblx0XHR9XG5cdH1cblxuXHRpZiAoIWRhdGEgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG5cdFx0ZGF0YSA9IHt9O1xuXHR9XG5cblx0Ly8gbG9nKHRlbXBsYXRlKTtcblx0Ly8gbG9nKE9iamVjdC5rZXlzKGRhdGEpKTtcblxuXHRjb25zdCB2YXJzID0gT2JqZWN0LmtleXMoZGF0YSk7XG5cdGxldCBib2R5ID0gKHZhcnMubGVuZ3RoID8gYGxldCB7ICR7dmFycy5qb2luKCcsICcpfSB9ID0gX19kYXRhO1xcblxcbmAgOiAnJykgK1xuXHRcdHRlbXBsYXRlLnJlcGxhY2UocHJpbnRSZWdFeHAsIChfLCB3cywgbGluZXMsIGZsYWdzLCBzdHIpID0+IHtcblx0XHRcdHN0ciA9IHN0ci5yZXBsYWNlKC9cXFxcKD8hXFxuKS9nLCAnXFxcXFxcXFwnKTtcblx0XHRcdHN0ciA9IGVzY2FwZVRpbGRlcyhzdHIpO1xuXHRcdFx0c3RyID0gc3RyLnJlcGxhY2UoYnJlYWtSZWdFeHAsICdcXFxcbicpO1xuXHRcdFx0cmV0dXJuIGAke3dzfV9fcHJpbnQoXFxgJHtzdHJ9XFxgLCAke2xpbmVzLmxlbmd0aCAtIDF9JHtmbGFncyA9PT0gdW5kZWZpbmVkID8gJycgOiBgLCAnJHtmbGFnc30nYH0pO1xcbmA7XG5cdFx0fSk7XG5cblx0Ly8gbG9nMihib2R5KTtcblxuXHRjb25zdCBmbiA9IG5ldyBGdW5jdGlvbignX19kYXRhJywgJ19fcHJpbnQnLCBib2R5KTtcblx0bGV0IG91dHB1dCA9ICcnO1xuXG5cdGZuKGRhdGEsIChzdHIsIGxpbmVicmVha3MsIGZsYWdzKSA9PiB7XG5cdFx0c3RyID0gZmxhZ3M/LmluY2x1ZGVzKCd8JykgPyB0cmltRW5kKHN0cikgOiB0cmltKHN0cik7XG5cdFx0aWYgKCFmbGFncz8uaW5jbHVkZXMoJz8nKSB8fCBzdHIpIHtcblx0XHRcdG91dHB1dCArPSBgJHtzdHJ9JHtsaW5lYnJlYWtzID8gJ1xcbicucmVwZWF0KGxpbmVicmVha3MpIDogJyd9YDtcblx0XHR9XG5cdH0pO1xuXG5cdHJldHVybiBvdXRwdXQucmVwbGFjZSgvKFxcclxcbnxcXHJ8XFxuKSskL2csICdcXG4nKTtcbn1cblxuLyoqXG4gKiBSZWFkcyBpbiBhIHRlbXBsYXRlIGZpbGUgYW5kIHJlbmRlcnMgaXQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGZpbGUgLSBUaGUgcGF0aCB0byB0aGUgdGVtcGxhdGUgZmlsZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbZGF0YV0gLSBBbiBvYmplY3QgdG8gaW5qZWN0IGludG8gdGhlIHRlbXBsYXRlLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckZpbGUoZmlsZSwgZGF0YSkge1xuXHRsZXQgdGVtcGxhdGU7XG5cblx0dHJ5IHtcblx0XHR0ZW1wbGF0ZSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlLCAndXRmOCcpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0dGhyb3cgRS5URU1QTEFURV9OT1RfRk9VTkQoYFVuYWJsZSB0byBmaW5kIHRlbXBsYXRlOiAke2ZpbGV9YCwgeyBuYW1lOiAnZmlsZScsIHNjb3BlOiAndGVtcGxhdGUucmVuZGVyRmlsZScsIHZhbHVlOiBmaWxlIH0pO1xuXHR9XG5cblx0cmV0dXJuIHJlbmRlcih0ZW1wbGF0ZSwgZGF0YSk7XG59XG4iXSwiZmlsZSI6InJlbmRlci90ZW1wbGF0ZS5qcyJ9
{
"name": "cli-kit",
"version": "1.12.0",
"version": "1.13.0",
"description": "Everything you need to create awesome command line interfaces",

@@ -53,10 +53,10 @@ "main": "./dist/index.js",

"which": "^2.0.2",
"ws": "^7.4.4"
"ws": "^7.4.5"
},
"devDependencies": {
"@babel/core": "^7.13.15",
"@babel/core": "^7.13.16",
"@babel/plugin-proposal-class-properties": "^7.13.0",
"@babel/plugin-proposal-optional-chaining": "^7.13.12",
"@babel/plugin-transform-modules-commonjs": "^7.13.8",
"@babel/register": "^7.13.14",
"@babel/register": "^7.13.16",
"babel-eslint": "^10.1.0",

@@ -71,6 +71,6 @@ "babel-loader": "^8.2.2",

"esdoc-standard-plugin": "^1.0.0",
"eslint": "^7.24.0",
"eslint": "^7.25.0",
"eslint-plugin-chai-expect": "^2.2.0",
"eslint-plugin-mocha": "^8.1.0",
"eslint-plugin-promise": "^4.3.1",
"eslint-plugin-promise": "^5.1.0",
"eslint-plugin-security": "^1.4.0",

@@ -87,3 +87,3 @@ "gulp": "^4.0.2",

"nyc": "^15.1.0",
"sinon": "^9.2.4",
"sinon": "^10.0.0",
"sinon-chai": "^3.6.0",

@@ -90,0 +90,0 @@ "tmp": "^0.2.1"

@@ -7,5 +7,3 @@ # cli-kit

[![NPM Downloads][downloads-image]][downloads-url]
[![Travis CI Build][travis-image]][travis-url]
[![Appveyor CI Build][appveyor-image]][appveyor-url]
[![Test Coverage][coveralls-image]][coveralls-url]
[![Build][build-image]][build-url]
[![Deps][david-image]][david-url]

@@ -286,8 +284,4 @@ [![Dev Deps][david-dev-image]][david-dev-url]

[downloads-url]: https://npmjs.org/package/cli-kit
[travis-image]: https://travis-ci.org/cb1kenobi/cli-kit.svg?branch=master
[travis-url]: https://travis-ci.org/cb1kenobi/cli-kit
[appveyor-image]: https://ci.appveyor.com/api/projects/status/nhbqpsx6jc10xnjw?svg=true
[appveyor-url]: https://ci.appveyor.com/project/cb1kenobi/cli-kit
[coveralls-image]: https://img.shields.io/coveralls/cb1kenobi/cli-kit/master.svg
[coveralls-url]: https://coveralls.io/r/cb1kenobi/cli-kit
[build-image]: https://github.com/cb1kenobi/cli-kit/actions/workflows/build.yml/badge.svg
[build-url]: https://github.com/cb1kenobi/cli-kit/actions/workflows/build.yml
[david-image]: https://img.shields.io/david/cb1kenobi/cli-kit.svg

@@ -294,0 +288,0 @@ [david-url]: https://david-dm.org/cb1kenobi/cli-kit

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

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc