@haventech/supertype
Advanced tools
Comparing version 6.1.0 to 7.0.0
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.remote = exports.property = exports.supertypeClass = void 0; | ||
exports.remote = exports.property = exports.supertypeClass = exports.Supertype = void 0; | ||
var Supertype_1 = require("./Supertype"); | ||
@@ -5,0 +5,0 @@ Object.defineProperty(exports, "Supertype", { enumerable: true, get: function () { return Supertype_1.Supertype; } }); |
@@ -23,3 +23,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.SupertypeSession = exports.amorphicStatic = void 0; | ||
exports.remote = exports.property = exports.supertypeClass = exports.Supertype = exports.BuildSupertypeConfig = exports.SupertypeConfig = exports.SupertypeLogger = exports.SupertypeSession = exports.amorphicStatic = exports.StatsdHelper = void 0; | ||
var ObjectTemplate_1 = require("./ObjectTemplate"); | ||
@@ -26,0 +26,0 @@ ObjectTemplate_1.ObjectTemplate.init(); |
@@ -5,3 +5,3 @@ import * as serializer from './serializer'; | ||
import { Config, ApplicationNameToConfigMap } from '@haventech/amorphic-contracts'; | ||
export declare type CreateTypeForName = { | ||
export type CreateTypeForName = { | ||
name?: string; | ||
@@ -12,3 +12,3 @@ toClient?: boolean; | ||
}; | ||
export declare type Getter = { | ||
export type Getter = { | ||
get: any; | ||
@@ -20,3 +20,3 @@ }; | ||
*/ | ||
export declare type ConstructorTypeBase = Function & { | ||
export type ConstructorTypeBase = Function & { | ||
amorphicClassName: any; | ||
@@ -47,3 +47,3 @@ __shadowParent__: any; | ||
} | ||
export declare type ObjectTemplateClone = typeof ObjectTemplate; | ||
export type ObjectTemplateClone = typeof ObjectTemplate; | ||
/** | ||
@@ -50,0 +50,0 @@ * the og ObjectTemplate, what everything picks off of |
@@ -1,2 +0,2 @@ | ||
declare type hrTime = [number, number]; | ||
type hrTime = [number, number]; | ||
/** | ||
@@ -3,0 +3,0 @@ * mostly static utility functions to assist supertype in handling statsd operations |
import { ObjectTemplate } from './ObjectTemplate'; | ||
export declare type Constructable = new (...args: any[]) => {}; | ||
export type Constructable = new (...args: any[]) => {}; | ||
/** | ||
@@ -4,0 +4,0 @@ * This is the base class for typescript classes. |
@@ -54,3 +54,3 @@ "use strict"; | ||
if (!rootDir) { | ||
throw new Error("Valid root path expected. rootDir[" + rootDir + "]"); | ||
throw new Error("Valid root path expected. rootDir[".concat(rootDir, "]")); | ||
} | ||
@@ -64,3 +64,3 @@ else { | ||
if (envName) { | ||
loadConfigFile(rootConfig.internalConfigStore, 'root_env', rootDir, "config_" + envName + ".json"); | ||
loadConfigFile(rootConfig.internalConfigStore, 'root_env', rootDir, "config_".concat(envName, ".json")); | ||
} | ||
@@ -79,4 +79,4 @@ loadConfigFile(rootConfig.internalConfigStore, 'root_secure', rootDir, "config_secure.json"); | ||
function buildAppSpecificConfigStore(app, rootDir, envName) { | ||
var appPath = rootDir + "/" + app; // Location of the App relative to root | ||
var appCommonPath = rootDir + "/apps/common"; // Location of the common folder relative to root | ||
var appPath = "".concat(rootDir, "/").concat(app); // Location of the App relative to root | ||
var appCommonPath = "".concat(rootDir, "/apps/common"); // Location of the common folder relative to root | ||
var config = new SupertypeConfig(); | ||
@@ -86,3 +86,3 @@ var appCfgApi = config.internalConfigStore; | ||
if (envName) { | ||
loadConfigFile(appCfgApi, 'app_env', appPath, "config_" + envName + ".json"); | ||
loadConfigFile(appCfgApi, 'app_env', appPath, "config_".concat(envName, ".json")); | ||
} | ||
@@ -93,3 +93,3 @@ loadConfigFile(appCfgApi, 'app_secure', appPath, "config_secure.json"); | ||
if (envName) { | ||
loadConfigFile(appCfgApi, 'common_env', appCommonPath, "config_" + envName + ".json"); | ||
loadConfigFile(appCfgApi, 'common_env', appCommonPath, "config_".concat(envName, ".json")); | ||
} | ||
@@ -100,3 +100,3 @@ loadConfigFile(appCfgApi, 'common_secure', appCommonPath, "config_secure.json"); | ||
if (envName) { | ||
loadConfigFile(appCfgApi, 'root_env', rootDir, "config_" + envName + ".json"); | ||
loadConfigFile(appCfgApi, 'root_env', rootDir, "config_".concat(envName, ".json")); | ||
} | ||
@@ -109,8 +109,8 @@ loadConfigFile(appCfgApi, 'root_secure', rootDir, "config_secure.json"); | ||
try { | ||
config.file(name, appPath + "/" + fileName); | ||
config.file(name, "".concat(appPath, "/").concat(fileName)); | ||
} | ||
catch (err) { | ||
console.debug("Error loading " + appPath + "/" + fileName + " to config"); | ||
console.debug("Error loading ".concat(appPath, "/").concat(fileName, " to config")); | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJ0eXBlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N1cGVydHlwZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBK0I7QUFLL0IsU0FBUyxzQkFBc0I7SUFDM0IsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSDtJQUdJO1FBQ0ksSUFBSSxDQUFDLG1CQUFtQixHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsNkJBQUcsR0FBSCxVQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILDZCQUFHLEdBQUgsVUFBSSxHQUFHLEVBQUUsS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0NBQVEsR0FBUixVQUFTLE9BQU8sRUFBRSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQSxDQUFDO0lBQ04sc0JBQUM7QUFBRCxDQUFDLEFBckNELElBcUNDO0FBckNZLDBDQUFlO0FBdUM1Qjs7O0dBR0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxPQUFlO0lBQ2hELElBQU0sVUFBVSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFDekMsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXFDLE9B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LElBQUksQ0FBQyxJQUFJLEVBQUssT0FBTyxTQUFJLFFBQVUsQ0FBQyxDQUFDO0tBQy9DO0lBQ0QsT0FBTyxHQUFHLEVBQUU7UUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFpQixPQUFPLFNBQUksUUFBUSxlQUFZLENBQUMsQ0FBQztLQUNuRTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBuY29uZiBmcm9tICduY29uZic7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICduY29uZic7XG5pbXBvcnQge0NvbmZpZywgQXBwbGljYXRpb25OYW1lVG9Db25maWdNYXB9IGZyb20gJ0BoYXZlbnRlY2gvYW1vcnBoaWMtY29udHJhY3RzJztcblxuXG5mdW5jdGlvbiBjcmVhdGVOZXdOQ29uZlByb3ZpZGVyKCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IG5jb25mLlByb3ZpZGVyKCkuYXJndigpLmVudih7c2VwYXJhdG9yOiAnX18nfSk7XG59XG5cbi8qKlxuICogRGVwcmVjYXRpbmcgbG9hZEZpbGUgZm9yIGp1c3QgJ2ZpbGUnXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBlcnR5cGVDb25maWcgaW1wbGVtZW50cyBDb25maWcge1xuXG4gICAgaW50ZXJuYWxDb25maWdTdG9yZTogUHJvdmlkZXI7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxDb25maWdTdG9yZSA9IGNyZWF0ZU5ld05Db25mUHJvdmlkZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgdmFsdWUgd2l0aCBhIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEByZXR1cm5zIHsqfVxuICAgICAqL1xuICAgIGdldChrZXkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxDb25maWdTdG9yZS5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdmFsdWUgd2l0aCBhIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEByZXR1cm5zIHsqfVxuICAgICAqL1xuICAgIHNldChrZXksIHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVybmFsQ29uZmlnU3RvcmUuc2V0KGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWQgYSBjb25maWd1cmF0aW9uIGZpbGUgaW50byBzdG9yZVxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGVLZXlcbiAgICAgKiBAcGFyYW0gZmlsZVxuICAgICAqL1xuICAgIGxvYWRGaWxlKGZpbGVLZXksIGZpbGUpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbENvbmZpZ1N0b3JlLmZpbGUoZmlsZUtleSwgZmlsZSk7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBTYW1lIHR5cGUgYXMgdGhlIEFtb3JwaGljQ29uZmlnQnVpbGRlciBidWlsZCBmdW5jdGlvbiBhcyBzcGVjaWZpZWQgaW4gYW1vcnBoaWMtY29udHJhY3RzXG4gKiBAcGFyYW0gcm9vdERpclxuICovXG5leHBvcnQgZnVuY3Rpb24gQnVpbGRTdXBlcnR5cGVDb25maWcocm9vdERpcjogc3RyaW5nKTogQXBwbGljYXRpb25OYW1lVG9Db25maWdNYXAge1xuICAgIGNvbnN0IHJvb3RDb25maWcgPSBuZXcgU3VwZXJ0eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFyb290RGlyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVmFsaWQgcm9vdCBwYXRoIGV4cGVjdGVkLiByb290RGlyWyR7cm9vdERpcn1dYCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBjb25maWdTdG9yZTogQXBwbGljYXRpb25OYW1lVG9Db25maWdNYXAgPSB7fTtcbiAgICAgICAgbGV0IGVudk5hbWUgPSByb290Q29uZmlnLmludGVybmFsQ29uZmlnU3RvcmUuZ2V0KCdBUFBfRU5WJyk7XG5cbiAgICAgICAgaWYgKGVudk5hbWUpIHtcbiAgICAgICAgICAgIGVudk5hbWUgPSBlbnZOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW52TmFtZSkge1xuICAgICAgICAgICAgbG9hZENvbmZpZ0ZpbGUocm9vdENvbmZpZy5pbnRlcm5hbENvbmZpZ1N0b3JlLCAncm9vdF9lbnYnLCByb290RGlyLCBgY29uZmlnXyR7ZW52TmFtZX0uanNvbmApO1xuICAgICAgICB9XG4gICAgICAgIGxvYWRDb25maWdGaWxlKHJvb3RDb25maWcuaW50ZXJuYWxDb25maWdTdG9yZSwgJ3Jvb3Rfc2VjdXJlJywgcm9vdERpciwgYGNvbmZpZ19zZWN1cmUuanNvbmApO1xuICAgICAgICBsb2FkQ29uZmlnRmlsZShyb290Q29uZmlnLmludGVybmFsQ29uZmlnU3RvcmUsICdyb290Jywgcm9vdERpciwgYGNvbmZpZy5qc29uYCk7XG5cblxuICAgICAgICBjb25maWdTdG9yZVsncm9vdCddID0gcm9vdENvbmZpZztcblxuICAgICAgICBjb25zdCBhcHBMaXN0ID0gcm9vdENvbmZpZy5pbnRlcm5hbENvbmZpZ1N0b3JlLmdldCgnYXBwbGljYXRpb25zJykgfHwge307XG5cbiAgICAgICAgZm9yIChsZXQgYXBwS2V5IGluIGFwcExpc3QpIHtcbiAgICAgICAgICAgIGNvbmZpZ1N0b3JlW2FwcEtleV0gPSBidWlsZEFwcFNwZWNpZmljQ29uZmlnU3RvcmUoYXBwTGlzdFthcHBLZXldLCByb290RGlyLCBlbnZOYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb25maWdTdG9yZTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQXBwU3BlY2lmaWNDb25maWdTdG9yZShhcHA6IHN0cmluZywgcm9vdERpcjogc3RyaW5nLCBlbnZOYW1lPzogc3RyaW5nKTogU3VwZXJ0eXBlQ29uZmlnIHtcbiAgICBjb25zdCBhcHBQYXRoID0gYCR7cm9vdERpcn0vJHthcHB9YDsgLy8gTG9jYXRpb24gb2YgdGhlIEFwcCByZWxhdGl2ZSB0byByb290XG4gICAgY29uc3QgYXBwQ29tbW9uUGF0aCA9IGAke3Jvb3REaXJ9L2FwcHMvY29tbW9uYDsgLy8gTG9jYXRpb24gb2YgdGhlIGNvbW1vbiBmb2xkZXIgcmVsYXRpdmUgdG8gcm9vdFxuXG4gICAgY29uc3QgY29uZmlnID0gbmV3IFN1cGVydHlwZUNvbmZpZygpO1xuICAgIGNvbnN0IGFwcENmZ0FwaSA9IGNvbmZpZy5pbnRlcm5hbENvbmZpZ1N0b3JlO1xuXG4gICAgLy8gTG9hZCB0aGUgbmV3IGFwcCBlbnZpcm9ubWVudCB2YWx1ZXMgaW50byB0aGUgY29uZmlnXG4gICAgaWYoZW52TmFtZSkge1xuICAgICAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdhcHBfZW52JywgYXBwUGF0aCwgYGNvbmZpZ18ke2Vudk5hbWV9Lmpzb25gKTtcbiAgICB9XG4gICAgbG9hZENvbmZpZ0ZpbGUoYXBwQ2ZnQXBpLCAnYXBwX3NlY3VyZScsIGFwcFBhdGgsIGBjb25maWdfc2VjdXJlLmpzb25gKTtcbiAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdhcHAnLCBhcHBQYXRoLCBgY29uZmlnLmpzb25gKTtcblxuXG4gICAgLy8gTG9hZCB0aGUgY29tbW9uIGZvbGRlciBjb25maWdzIHRvIHRoaXMgY29uZmlnIHByb3ZpZGVyXG4gICAgaWYoZW52TmFtZSkge1xuICAgICAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdjb21tb25fZW52JywgYXBwQ29tbW9uUGF0aCwgYGNvbmZpZ18ke2Vudk5hbWV9Lmpzb25gKTtcbiAgICB9XG4gICAgbG9hZENvbmZpZ0ZpbGUoYXBwQ2ZnQXBpLCAnY29tbW9uX3NlY3VyZScsIGFwcENvbW1vblBhdGgsIGBjb25maWdfc2VjdXJlLmpzb25gKTtcbiAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdjb21tb24nLCBhcHBDb21tb25QYXRoLCBgY29uZmlnLmpzb25gKTtcblxuICAgIC8vIExvYWQgdGhlIHJvb3QgdmFsdWVzIGhlcmUgdG9vXG4gICAgaWYoZW52TmFtZSkge1xuICAgICAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdyb290X2VudicsIHJvb3REaXIsIGBjb25maWdfJHtlbnZOYW1lfS5qc29uYCk7XG4gICAgfVxuXG4gICAgbG9hZENvbmZpZ0ZpbGUoYXBwQ2ZnQXBpLCAncm9vdF9zZWN1cmUnLCByb290RGlyLCBgY29uZmlnX3NlY3VyZS5qc29uYCk7XG4gICAgbG9hZENvbmZpZ0ZpbGUoYXBwQ2ZnQXBpLCAncm9vdCcsIHJvb3REaXIsIGBjb25maWcuanNvbmApO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbn1cblxuXG5mdW5jdGlvbiBsb2FkQ29uZmlnRmlsZShjb25maWc6IG5jb25mLlByb3ZpZGVyLCBuYW1lOiBzdHJpbmcsIGFwcFBhdGg6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbmZpZy5maWxlKG5hbWUsIGAke2FwcFBhdGh9LyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgRXJyb3IgbG9hZGluZyAke2FwcFBhdGh9LyR7ZmlsZU5hbWV9IHRvIGNvbmZpZ2ApO1xuICAgIH1cbn0iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJ0eXBlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N1cGVydHlwZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBK0I7QUFLL0IsU0FBUyxzQkFBc0I7SUFDM0IsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSDtJQUdJO1FBQ0ksSUFBSSxDQUFDLG1CQUFtQixHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsNkJBQUcsR0FBSCxVQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILDZCQUFHLEdBQUgsVUFBSSxHQUFHLEVBQUUsS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0NBQVEsR0FBUixVQUFTLE9BQU8sRUFBRSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQSxDQUFDO0lBQ04sc0JBQUM7QUFBRCxDQUFDLEFBckNELElBcUNDO0FBckNZLDBDQUFlO0FBdUM1Qjs7O0dBR0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxPQUFlO0lBQ2hELElBQU0sVUFBVSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFDekMsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQXFDLE9B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SUFBSTtRQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQUcsT0FBTyxjQUFJLFFBQVEsQ0FBRSxDQUFDLENBQUM7S0FDL0M7SUFDRCxPQUFPLEdBQUcsRUFBRTtRQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQWlCLE9BQU8sY0FBSSxRQUFRLGVBQVksQ0FBQyxDQUFDO0tBQ25FO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG5jb25mIGZyb20gJ25jb25mJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ25jb25mJztcbmltcG9ydCB7Q29uZmlnLCBBcHBsaWNhdGlvbk5hbWVUb0NvbmZpZ01hcH0gZnJvbSAnQGhhdmVudGVjaC9hbW9ycGhpYy1jb250cmFjdHMnO1xuXG5cbmZ1bmN0aW9uIGNyZWF0ZU5ld05Db25mUHJvdmlkZXIoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgbmNvbmYuUHJvdmlkZXIoKS5hcmd2KCkuZW52KHtzZXBhcmF0b3I6ICdfXyd9KTtcbn1cblxuLyoqXG4gKiBEZXByZWNhdGluZyBsb2FkRmlsZSBmb3IganVzdCAnZmlsZSdcbiAqL1xuZXhwb3J0IGNsYXNzIFN1cGVydHlwZUNvbmZpZyBpbXBsZW1lbnRzIENvbmZpZyB7XG5cbiAgICBpbnRlcm5hbENvbmZpZ1N0b3JlOiBQcm92aWRlcjtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbENvbmZpZ1N0b3JlID0gY3JlYXRlTmV3TkNvbmZQcm92aWRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSB2YWx1ZSB3aXRoIGEga2V5XG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHJldHVybnMgeyp9XG4gICAgICovXG4gICAgZ2V0KGtleSkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbENvbmZpZ1N0b3JlLmdldChrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSB2YWx1ZSB3aXRoIGEga2V5XG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICogQHJldHVybnMgeyp9XG4gICAgICovXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxDb25maWdTdG9yZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZCBhIGNvbmZpZ3VyYXRpb24gZmlsZSBpbnRvIHN0b3JlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsZUtleVxuICAgICAqIEBwYXJhbSBmaWxlXG4gICAgICovXG4gICAgbG9hZEZpbGUoZmlsZUtleSwgZmlsZSkge1xuICAgICAgICB0aGlzLmludGVybmFsQ29uZmlnU3RvcmUuZmlsZShmaWxlS2V5LCBmaWxlKTtcbiAgICB9O1xufVxuXG4vKipcbiAqIFNhbWUgdHlwZSBhcyB0aGUgQW1vcnBoaWNDb25maWdCdWlsZGVyIGJ1aWxkIGZ1bmN0aW9uIGFzIHNwZWNpZmllZCBpbiBhbW9ycGhpYy1jb250cmFjdHNcbiAqIEBwYXJhbSByb290RGlyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBCdWlsZFN1cGVydHlwZUNvbmZpZyhyb290RGlyOiBzdHJpbmcpOiBBcHBsaWNhdGlvbk5hbWVUb0NvbmZpZ01hcCB7XG4gICAgY29uc3Qgcm9vdENvbmZpZyA9IG5ldyBTdXBlcnR5cGVDb25maWcoKTtcbiAgICBpZiAoIXJvb3REaXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWYWxpZCByb290IHBhdGggZXhwZWN0ZWQuIHJvb3REaXJbJHtyb290RGlyfV1gKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ1N0b3JlOiBBcHBsaWNhdGlvbk5hbWVUb0NvbmZpZ01hcCA9IHt9O1xuICAgICAgICBsZXQgZW52TmFtZSA9IHJvb3RDb25maWcuaW50ZXJuYWxDb25maWdTdG9yZS5nZXQoJ0FQUF9FTlYnKTtcblxuICAgICAgICBpZiAoZW52TmFtZSkge1xuICAgICAgICAgICAgZW52TmFtZSA9IGVudk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbnZOYW1lKSB7XG4gICAgICAgICAgICBsb2FkQ29uZmlnRmlsZShyb290Q29uZmlnLmludGVybmFsQ29uZmlnU3RvcmUsICdyb290X2VudicsIHJvb3REaXIsIGBjb25maWdfJHtlbnZOYW1lfS5qc29uYCk7XG4gICAgICAgIH1cbiAgICAgICAgbG9hZENvbmZpZ0ZpbGUocm9vdENvbmZpZy5pbnRlcm5hbENvbmZpZ1N0b3JlLCAncm9vdF9zZWN1cmUnLCByb290RGlyLCBgY29uZmlnX3NlY3VyZS5qc29uYCk7XG4gICAgICAgIGxvYWRDb25maWdGaWxlKHJvb3RDb25maWcuaW50ZXJuYWxDb25maWdTdG9yZSwgJ3Jvb3QnLCByb290RGlyLCBgY29uZmlnLmpzb25gKTtcblxuXG4gICAgICAgIGNvbmZpZ1N0b3JlWydyb290J10gPSByb290Q29uZmlnO1xuXG4gICAgICAgIGNvbnN0IGFwcExpc3QgPSByb290Q29uZmlnLmludGVybmFsQ29uZmlnU3RvcmUuZ2V0KCdhcHBsaWNhdGlvbnMnKSB8fCB7fTtcblxuICAgICAgICBmb3IgKGxldCBhcHBLZXkgaW4gYXBwTGlzdCkge1xuICAgICAgICAgICAgY29uZmlnU3RvcmVbYXBwS2V5XSA9IGJ1aWxkQXBwU3BlY2lmaWNDb25maWdTdG9yZShhcHBMaXN0W2FwcEtleV0sIHJvb3REaXIsIGVudk5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbmZpZ1N0b3JlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYnVpbGRBcHBTcGVjaWZpY0NvbmZpZ1N0b3JlKGFwcDogc3RyaW5nLCByb290RGlyOiBzdHJpbmcsIGVudk5hbWU/OiBzdHJpbmcpOiBTdXBlcnR5cGVDb25maWcge1xuICAgIGNvbnN0IGFwcFBhdGggPSBgJHtyb290RGlyfS8ke2FwcH1gOyAvLyBMb2NhdGlvbiBvZiB0aGUgQXBwIHJlbGF0aXZlIHRvIHJvb3RcbiAgICBjb25zdCBhcHBDb21tb25QYXRoID0gYCR7cm9vdERpcn0vYXBwcy9jb21tb25gOyAvLyBMb2NhdGlvbiBvZiB0aGUgY29tbW9uIGZvbGRlciByZWxhdGl2ZSB0byByb290XG5cbiAgICBjb25zdCBjb25maWcgPSBuZXcgU3VwZXJ0eXBlQ29uZmlnKCk7XG4gICAgY29uc3QgYXBwQ2ZnQXBpID0gY29uZmlnLmludGVybmFsQ29uZmlnU3RvcmU7XG5cbiAgICAvLyBMb2FkIHRoZSBuZXcgYXBwIGVudmlyb25tZW50IHZhbHVlcyBpbnRvIHRoZSBjb25maWdcbiAgICBpZihlbnZOYW1lKSB7XG4gICAgICAgIGxvYWRDb25maWdGaWxlKGFwcENmZ0FwaSwgJ2FwcF9lbnYnLCBhcHBQYXRoLCBgY29uZmlnXyR7ZW52TmFtZX0uanNvbmApO1xuICAgIH1cbiAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdhcHBfc2VjdXJlJywgYXBwUGF0aCwgYGNvbmZpZ19zZWN1cmUuanNvbmApO1xuICAgIGxvYWRDb25maWdGaWxlKGFwcENmZ0FwaSwgJ2FwcCcsIGFwcFBhdGgsIGBjb25maWcuanNvbmApO1xuXG5cbiAgICAvLyBMb2FkIHRoZSBjb21tb24gZm9sZGVyIGNvbmZpZ3MgdG8gdGhpcyBjb25maWcgcHJvdmlkZXJcbiAgICBpZihlbnZOYW1lKSB7XG4gICAgICAgIGxvYWRDb25maWdGaWxlKGFwcENmZ0FwaSwgJ2NvbW1vbl9lbnYnLCBhcHBDb21tb25QYXRoLCBgY29uZmlnXyR7ZW52TmFtZX0uanNvbmApO1xuICAgIH1cbiAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdjb21tb25fc2VjdXJlJywgYXBwQ29tbW9uUGF0aCwgYGNvbmZpZ19zZWN1cmUuanNvbmApO1xuICAgIGxvYWRDb25maWdGaWxlKGFwcENmZ0FwaSwgJ2NvbW1vbicsIGFwcENvbW1vblBhdGgsIGBjb25maWcuanNvbmApO1xuXG4gICAgLy8gTG9hZCB0aGUgcm9vdCB2YWx1ZXMgaGVyZSB0b29cbiAgICBpZihlbnZOYW1lKSB7XG4gICAgICAgIGxvYWRDb25maWdGaWxlKGFwcENmZ0FwaSwgJ3Jvb3RfZW52Jywgcm9vdERpciwgYGNvbmZpZ18ke2Vudk5hbWV9Lmpzb25gKTtcbiAgICB9XG5cbiAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdyb290X3NlY3VyZScsIHJvb3REaXIsIGBjb25maWdfc2VjdXJlLmpzb25gKTtcbiAgICBsb2FkQ29uZmlnRmlsZShhcHBDZmdBcGksICdyb290Jywgcm9vdERpciwgYGNvbmZpZy5qc29uYCk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xufVxuXG5cbmZ1bmN0aW9uIGxvYWRDb25maWdGaWxlKGNvbmZpZzogbmNvbmYuUHJvdmlkZXIsIG5hbWU6IHN0cmluZywgYXBwUGF0aDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uZmlnLmZpbGUobmFtZSwgYCR7YXBwUGF0aH0vJHtmaWxlTmFtZX1gKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGBFcnJvciBsb2FkaW5nICR7YXBwUGF0aH0vJHtmaWxlTmFtZX0gdG8gY29uZmlnYCk7XG4gICAgfVxufSJdfQ== |
@@ -13,8 +13,10 @@ "use strict"; | ||
}; | ||
var __spreadArrays = (this && this.__spreadArrays) || function () { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
for (var r = Array(s), k = 0, i = 0; i < il; i++) | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
return r; | ||
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { | ||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { | ||
if (ar || !(i in from)) { | ||
if (!ar) ar = Array.prototype.slice.call(from, 0, i); | ||
ar[i] = from[i]; | ||
} | ||
} | ||
return to.concat(ar || Array.prototype.slice.call(from)); | ||
}; | ||
@@ -40,3 +42,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
} | ||
this.log.apply(this, __spreadArrays([60], data)); | ||
this.log.apply(this, __spreadArray([60], data, false)); | ||
}; | ||
@@ -48,3 +50,3 @@ SupertypeLogger.prototype.error = function () { | ||
} | ||
this.log.apply(this, __spreadArrays([50], data)); | ||
this.log.apply(this, __spreadArray([50], data, false)); | ||
}; | ||
@@ -56,3 +58,3 @@ SupertypeLogger.prototype.warn = function () { | ||
} | ||
this.log.apply(this, __spreadArrays([40], data)); | ||
this.log.apply(this, __spreadArray([40], data, false)); | ||
}; | ||
@@ -64,3 +66,3 @@ SupertypeLogger.prototype.info = function () { | ||
} | ||
this.log.apply(this, __spreadArrays([30], data)); | ||
this.log.apply(this, __spreadArray([30], data, false)); | ||
}; | ||
@@ -72,3 +74,3 @@ SupertypeLogger.prototype.debug = function () { | ||
} | ||
this.log.apply(this, __spreadArrays([20], data)); | ||
this.log.apply(this, __spreadArray([20], data, false)); | ||
}; | ||
@@ -80,3 +82,3 @@ SupertypeLogger.prototype.trace = function () { | ||
} | ||
this.log.apply(this, __spreadArrays([10], data)); | ||
this.log.apply(this, __spreadArray([10], data, false)); | ||
}; | ||
@@ -132,3 +134,3 @@ Object.defineProperty(SupertypeLogger.prototype, "clientLogger", { | ||
if (this.isEnabled(levelToStr[logObj['level']], logObj)) { | ||
this.sendToLog.apply(this, __spreadArrays([levelToStr[logObj['level']], logObj], properties.slice(1))); | ||
this.sendToLog.apply(this, __spreadArray([levelToStr[logObj['level']], logObj], properties.slice(1), false)); | ||
} | ||
@@ -272,13 +274,13 @@ return; | ||
case 20: | ||
(_a = this._clientLogger).debug.apply(_a, __spreadArrays([logObject], rawLogData)); | ||
(_a = this._clientLogger).debug.apply(_a, __spreadArray([logObject], rawLogData, false)); | ||
return; | ||
case 30: | ||
(_b = this._clientLogger).info.apply(_b, __spreadArrays([logObject], rawLogData)); | ||
(_b = this._clientLogger).info.apply(_b, __spreadArray([logObject], rawLogData, false)); | ||
return; | ||
case 40: | ||
(_c = this._clientLogger).warn.apply(_c, __spreadArrays([logObject], rawLogData)); | ||
(_c = this._clientLogger).warn.apply(_c, __spreadArray([logObject], rawLogData, false)); | ||
return; | ||
case 60: | ||
case 50: | ||
(_d = this._clientLogger).error.apply(_d, __spreadArrays([logObject], rawLogData)); | ||
(_d = this._clientLogger).error.apply(_d, __spreadArray([logObject], rawLogData, false)); | ||
return; | ||
@@ -353,2 +355,2 @@ default: | ||
exports.SupertypeLogger = SupertypeLogger; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJ0eXBlTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N1cGVydHlwZUxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFNLFVBQVUsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDbEcsSUFBTSxVQUFVLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBRWxHO0lBUUksaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2Qiw0QkFBNEI7SUFFNUI7UUFWUSxxQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQztRQVczQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBR0QsK0JBQUssR0FBTDtRQUFNLGNBQWM7YUFBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO1lBQWQseUJBQWM7O1FBQ2hCLElBQUksQ0FBQyxHQUFHLE9BQVIsSUFBSSxrQkFBSyxFQUFFLEdBQUssSUFBSSxHQUFFO0lBQzFCLENBQUM7SUFFRCwrQkFBSyxHQUFMO1FBQU0sY0FBYzthQUFkLFVBQWMsRUFBZCxxQkFBYyxFQUFkLElBQWM7WUFBZCx5QkFBYzs7UUFDaEIsSUFBSSxDQUFDLEdBQUcsT0FBUixJQUFJLGtCQUFLLEVBQUUsR0FBSyxJQUFJLEdB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QUM7SUFDbEIsQ0FBQztJQUVELHdGQUF3RjtJQUNoRixtQ0FBUyxHQUFqQixVQUFrQixLQUFLLEVBQUUsR0FBRztRQUN4QixLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLElBQUksS0FBSyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixLQUFLLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3BDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUMzRCxPQUFPLElBQUksQ0FBQztpQkFDZjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBOVVNLDBCQUFVLEdBQVcsZUFBZSxDQUFDLElBQUksQ0FBQztJQStVckQsc0JBQUM7Q0FBQSxBQWhWRCxJQWdWQztBQWhWWSwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGxldmVsVG9TdHIgPSB7IDYwOiAnZmF0YWwnLCA1MDogJ2Vycm9yJywgNDA6ICd3YXJuJywgMzA6ICdpbmZvJywgMjA6ICdkZWJ1ZycsIDEwOiAndHJhY2UnIH07XG5jb25zdCBzdHJUb0xldmVsID0geyAnZmF0YWwnOiA2MCwgJ2Vycm9yJzogNTAsICd3YXJuJzogNDAsICdpbmZvJzogMzAsICdkZWJ1Zyc6IDIwLCAndHJhY2UnOiAxMCB9O1xuXG5leHBvcnQgY2xhc3MgU3VwZXJ0eXBlTG9nZ2VyIHtcbiAgICBzdGF0aWMgbW9kdWxlTmFtZTogc3RyaW5nID0gU3VwZXJ0eXBlTG9nZ2VyLm5hbWU7XG4gICAgcHJpdmF0ZSBfYW1vcnBoaWNDb250ZXh0ID0gJ19fYW1vcnBoaWNDb250ZXh0JztcbiAgICBjb250ZXh0OiBhbnk7XG4gICAgZ3JhbnVsYXJMZXZlbHM6IGFueTtcbiAgICBsZXZlbDogYW55O1xuICAgIHByaXZhdGUgX2NsaWVudExvZ2dlcjogYW55O1xuXG4gICAgLy8gZm9yIG92ZXJyaWRpbmdcbiAgICAvLyBzZW5kVG9Mb2c6IEZ1bmN0aW9uO1xuICAgIC8vIGZvcm1hdERhdGVUaW1lOiBGdW5jdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmNvbnRleHQgPSB7fTtcbiAgICAgICAgdGhpcy5ncmFudWxhckxldmVscyA9IHt9O1xuICAgICAgICB0aGlzLmxldmVsID0gJ2luZm8nO1xuICAgIH1cblxuXG4gICAgZmF0YWwoLi4uZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2coNjAsIC4uLmRhdGEpO1xuICAgIH1cblxuICAgIGVycm9yKC4uLmRhdGE6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nKDUwLCAuLi5kYXRhKTtcbiAgICB9XG5cbiAgICB3YXJuKC4uLmRhdGE6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nKDQwLCAuLi5kYXRhKTtcbiAgICB9XG5cbiAgICBpbmZvKC4uLmRhdGE6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nKDMwLCAuLi5kYXRhKTtcbiAgICB9XG5cbiAgICBkZWJ1ZyguLi5kYXRhOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZygyMCwgLi4uZGF0YSk7XG4gICAgfVxuXG4gICAgdHJhY2UoLi4uZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2coMTAsIC4uLmRhdGEpO1xuICAgIH1cblxuICAgIGdldCBjbGllbnRMb2dnZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGllbnRMb2dnZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYXNzaWduIGEgY3VzdG9tIHNlbmQgdG8gbG9nIGZ1bmN0aW9uYWxpdHkuXG4gICAgICogQHBhcmFtIGxvZ2dlciAtIGxvZ2dlciBtdXN0IGZpdCB0aGUgZm9ybWF0IG9mIGluZm8vZXJyb3IvZGVidWcvd2FyblxuICAgICAqL1xuICAgIHNldExvZ2dlcihsb2dnZXIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsb2dnZXIuaW5mbyAhPT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICAgICAgdHlwZW9mIGxvZ2dlci5lcnJvciAhPT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICAgICAgdHlwZW9mIGxvZ2dlci5kZWJ1ZyAhPT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICAgICAgdHlwZW9mIGxvZ2dlci53YXJuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBzcGVjaWZ5IGEgbG9nZ2VyIHdpdGggdGhlIGluZm8sIGVycm9yLCBkZWJ1ZywgYW5kIHdhcm4gZnVuY3Rpb25zJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsb2dnZXIuY2hpbGRMb2dnZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2NsaWVudExvZ2dlciA9IGxvZ2dlci5jaGlsZExvZ2dlcih7ZXJyb3I6IHtpc0h1bWFuUmVsYXRlZDogZmFsc2V9fSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsb2dnZXIuY2hpbGQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2NsaWVudExvZ2dlciA9IGxvZ2dlci5jaGlsZCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NsaWVudExvZ2dlciA9IGxvZ2dlcjtcbiAgICB9XG5cbiAgICAvLyBMb2cgYWxsIGFyZ3VtZW50cyBhc3N1bWluZyB0aGUgZmlyc3Qgb25lIGlzIGxldmVsIGFuZCB0aGUgc2Vjb25kIG9uZSBtaWdodCBiZSBhbiBvYmplY3QgKHNpbWlsYXIgdG8gYmFueWFuKVxuICAgIHByaXZhdGUgbG9nKGxldmVsOiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb3BlcnRpZXM6IGFueVtdID0gYXJncyAmJiBBcnJheS5pc0FycmF5KGFyZ3MpID8gYXJncy5zbGljZSgpIDogYXJncztcblxuICAgICAgICBpZiAodHlwZW9mIHByb3BlcnRpZXNbMF0gPT09ICdvYmplY3QnKSAge1xuICAgICAgICAgICAgbGV0IGxvZ09iaiA9IHByb3BlcnRpZXNbMF07XG4gICAgICAgICAgICBpZiAoIWxvZ09iai5kYXRhKSB7XG4gICAgICAgICAgICAgICAgbG9nT2JqLmRhdGEgPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghbG9nT2JqLmNvbnRleHQpIHtcbiAgICAgICAgICAgICAgICBsb2dPYmouY29udGV4dCA9IHt9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWxvZ09iai5yZXF1ZXN0KSB7XG4gICAgICAgICAgICAgICAgbG9nT2JqLnJlcXVlc3QgPSB7fTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRMb2dzQW1vcnBoaWNDb250ZXh0KGxvZ09iai5jb250ZXh0LCBsb2dPYmoucmVxdWVzdCk7XG5cbiAgICAgICAgICAgIGxvZ09ialsnbGV2ZWwnXSA9IGxldmVsO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNFbmFibGVkKGxldmVsVG9TdHJbbG9nT2JqWydsZXZlbCddXSwgbG9nT2JqKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VuZFRvTG9nKGxldmVsVG9TdHJbbG9nT2JqWydsZXZlbCddXSwgbG9nT2JqLCAuLi5wcm9wZXJ0aWVzLnNsaWNlKDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByb3BlcnRpZXNbJ2xldmVsJ10gPSBsZXZlbDtcbiAgICAgICAgaWYgKHRoaXMuaXNFbmFibGVkKGxldmVsVG9TdHJbcHJvcGVydGllc1snbGV2ZWwnXV0sIHByb3BlcnRpZXMpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmRUb0xvZyhsZXZlbFRvU3RyW3Byb3BlcnRpZXNbJ2xldmVsJ11dLCBwcm9wZXJ0aWVzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy9UaGlzIG1ldGhvZCBleHRyYWN0cyBzZXNzaW9uSWQgZnJvbSB0aGUgZWFjaCByZXF1ZXN0J3MgY29udGV4dCBcbiAgICAvLyBhbmQgcGxhY2VzIGl0IGluIHRoZSBjb250ZXh0LnNlc3Npb25JZC4gQWxsIG90aGVyIGNvbnRleHQgcHJvcGVydGllcyBhcmUgXG4gICAgLy8gcGxhY2VkIGluIGNvbnRleHQuZGF0YSBvYmplY3QuXG4gICAgcHJpdmF0ZSBzZXRMb2dzQW1vcnBoaWNDb250ZXh0KGNvbnRleHQ6IGFueSwgcmVxdWVzdDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgT2JqZWN0LmtleXModGhpcy5jb250ZXh0KS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoIWNvbnRleHQuZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuZGF0YSA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb250ZXh0LmRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbklkID0gdGhpcy5jb250ZXh0LnNlc3Npb247XG4gICAgICAgICAgICAgICAgaWYgKCFjb250ZXh0LnNlc3Npb25JZCAmJiBzZXNzaW9uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29udGV4dC5kYXRhW3RoaXMuX2Ftb3JwaGljQ29udGV4dF0gPSB7IC4uLnRoaXMuY29udGV4dCB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGFtb3JwaGljQ29udGV4dE9iamVjdEV4aXN0cyA9IGNvbnRleHQuZGF0YVt0aGlzLl9hbW9ycGhpY0NvbnRleHRdICYmXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbnRleHQuZGF0YVt0aGlzLl9hbW9ycGhpY0NvbnRleHRdKSAmJlxuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhjb250ZXh0LmRhdGFbdGhpcy5fYW1vcnBoaWNDb250ZXh0XSkubGVuZ3RoID4gMDtcblxuICAgICAgICAgICAgICAgIGlmIChhbW9ycGhpY0NvbnRleHRPYmplY3RFeGlzdHMgJiYgY29udGV4dC5kYXRhW3RoaXMuX2Ftb3JwaGljQ29udGV4dF0uc2Vzc2lvbikge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgY29udGV4dC5kYXRhW3RoaXMuX2Ftb3JwaGljQ29udGV4dF0uc2Vzc2lvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFtb3JwaGljQ29udGV4dE9iamVjdEV4aXN0cyAmJiBjb250ZXh0LmRhdGFbdGhpcy5fYW1vcnBoaWNDb250ZXh0XS5pcGFkZHJlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5jbGllbnRJcEFkZHJlc3MgPSBjb250ZXh0LmRhdGFbdGhpcy5fYW1vcnBoaWNDb250ZXh0XS5pcGFkZHJlc3M7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBjb250ZXh0LmRhdGFbdGhpcy5fYW1vcnBoaWNDb250ZXh0XS5pcGFkZHJlc3M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QW1vcnBoaWNDb250ZXh0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB7IF9fYW1vcnBoaWNDb250ZXh0OiB7IC4uLnRoaXMuY29udGV4dCB9IH07XG4gICAgfVxuXG4gICAgc3RhcnRDb250ZXh0KGNvbnRleHQpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB9XG5cbiAgICAvLyBTYXZlIHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBjb250ZXh0IGFuZCByZXR1cm4gYSBuZXcgb2JqZWN0IHRoYXQgaGFzIHRoZSBwcm9wZXJ0aWVzIG9ubHkgc28gdGhleSBjYW4gYmUgY2xlYXJlZFxuICAgIHNldENvbnRleHRQcm9wcyhjb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IHJldmVyc2UgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gY29udGV4dCkge1xuICAgICAgICAgICAgcmV2ZXJzZVtwcm9wXSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHRbcHJvcF0gPSBjb250ZXh0W3Byb3BdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJldmVyc2U7XG4gICAgfVxuICAgIC8vIFBhcnNlIGxvZyBsZXZlbHMgc3VjaCBhcyB3YXJuLmFjdGl2aXR5XG4gICAgc2V0TGV2ZWwobGV2ZWwpIHtcbiAgICAgICAgdmFyIGxldmVscyA9IGxldmVsLnNwbGl0KCc7Jyk7XG5cbiAgICAgICAgZm9yICh2YXIgaXggPSAwOyBpeCA8IGxldmVscy5sZW5ndGg7ICsraXgpIHtcbiAgICAgICAgICAgIHZhciBsZXZlbGEgPSBsZXZlbHNbaXhdO1xuXG4gICAgICAgICAgICBpZiAobGV2ZWxhLm1hdGNoKC86LykpIHtcbiAgICAgICAgICAgICAgICBpZiAobGV2ZWxzW2l4XS5tYXRjaCgvKC4qKTooLiopLykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmFudWxhckxldmVsc1tSZWdFeHAuJDFdID0gdGhpcy5ncmFudWxhckxldmVsc1tSZWdFeHAuJDFdIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyYW51bGFyTGV2ZWxzW1JlZ0V4cC4kMV0gPSBSZWdFeHAuJDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsID0gbGV2ZWxzW2l4XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxldmVsID0gbGV2ZWxhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGFueSBwcm9wZXJ0aWVzIHJlY29yZGVkIGJ5IHNldENvbnRleHRcbiAgICBjbGVhckNvbnRleHRQcm9wcyhjb250ZXh0VG9DbGVhcikge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gY29udGV4dFRvQ2xlYXIpIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmNvbnRleHRbcHJvcF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgbG9nZ2VyIGFuZCBjb3B5IG92ZXIgaXQncyBjb250ZXh0XG4gICAgY3JlYXRlQ2hpbGRMb2dnZXIoY29udGV4dCwgcm9vdFZhbHVlcz8sIGRhdGFWYWx1ZXM/KTogU3VwZXJ0eXBlTG9nZ2VyIHtcbiAgICAgICAgbGV0IGNoaWxkOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiB0aGlzKSB7XG4gICAgICAgICAgICBjaGlsZFtwcm9wXSA9IHRoaXNbcHJvcF07XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZC5jb250ZXh0ID0gY29udGV4dCB8fCB7fTtcblxuICAgICAgICBmb3IgKGxldCBwcm9wZXIgaW4gdGhpcy5jb250ZXh0KSB7XG4gICAgICAgICAgICBjaGlsZC5jb250ZXh0W3Byb3Blcl0gPSB0aGlzLmNvbnRleHRbcHJvcGVyXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fY2xpZW50TG9nZ2VyKSB7XG4gICAgICAgICAgICBsZXQgY2hpbGRMb2dnZXI7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2xpZW50TG9nZ2VyLmNoaWxkTG9nZ2VyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRMb2dnZXIgPSB0aGlzLl9jbGllbnRMb2dnZXIuY2hpbGRMb2dnZXIocm9vdFZhbHVlcywgZGF0YVZhbHVlcyk7XG4gICAgICAgICAgICAgICAgY2hpbGQgPSBjaGlsZExvZ2dlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2NsaWVudExvZ2dlci5jaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNoaWxkTG9nZ2VyID0gdGhpcy5fY2xpZW50TG9nZ2VyLmNoaWxkKHsuLi5yb290VmFsdWVzLCBkYXRhOiB7ZGF0YVZhbHVlc319KTtcbiAgICAgICAgICAgICAgICBjaGlsZCA9IGNoaWxkTG9nZ2VyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoaWxkIGFzIFN1cGVydHlwZUxvZ2dlcjsgLy8gYmFkIHByYWN0aWNlIGJ1dCBzaG91bGQgZml4XG4gICAgfVxuXG4gICAgZm9ybWF0RGF0ZVRpbWUoZGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmKDIsIChkYXRlLmdldE1vbnRoKCkgKyAxKSwgJy8nKSArIGYoMiwgZGF0ZS5nZXREYXRlKCksICcvJykgKyBmKDQsIGRhdGUuZ2V0RnVsbFllYXIoKSwgJyAnKSArXG4gICAgICAgICAgICBmKDIsIGRhdGUuZ2V0SG91cnMoKSwgJzonKSArIGYoMiwgZGF0ZS5nZXRNaW51dGVzKCksICc6JykgKyBmKDIsIGRhdGUuZ2V0U2Vjb25kcygpLCAnOicpICtcbiAgICAgICAgICAgIGYoMywgZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSkgKyAnIEdNVCcgKyAoMCAtIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAvIDYwKTtcblxuICAgICAgICBmdW5jdGlvbiBmKHosIGQsIHM/KSB7XG4gICAgICAgICAgICB3aGlsZSAoU3RyaW5nKGQpLmxlbmd0aCA8IHopIHtcbiAgICAgICAgICAgICAgICBkID0gJzAnICsgZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGQgKyAocyB8fCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUVtcHR5TG9nUHJvcGVydGllcyhsb2dPYmplY3Q6IGFueSkge1xuICAgICAgICBjb25zdCBrZXlzID0gWydjb250ZXh0JywgJ2RhdGEnXTtcbiAgICAgICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChsb2dPYmplY3Rba2V5XSAmJiBPYmplY3Qua2V5cyhsb2dPYmplY3Rba2V5XSkubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBsb2dPYmplY3Rba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0aGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIHJlcGxhY2VkIGJ5IHRoZSBjb25zdW1lciBvZiB0aGlzIGNsYXNzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvZ0xldmVsIC0gbG9nIGxldmVsXG4gICAgICogQHBhcmFtIGxvZ09iamVjdCAtIGZvcm1hdHRlZCBsb2cgb2JqZWN0LCBwYXNzZWQgaW4gZnJvbSBjb25zdW1lclxuICAgICAqIEBwYXJhbSByYXdMb2dEYXRhIC0gdW5mb3JtYXR0ZWQgYW5kIHVucHJvY2Vzc2VkIHZlcnNpb24gb2YgXCJsb2dPYmplY3RcIiBwYXJhbVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzZW5kVG9Mb2cobG9nTGV2ZWwsIGxvZ09iamVjdCwgLi4ucmF3TG9nRGF0YSkge1xuICAgICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSB0aGlzLnNlbmRUb0xvZy5uYW1lO1xuICAgICAgICB0aGlzLmRlbGV0ZUVtcHR5TG9nUHJvcGVydGllcyhsb2dPYmplY3QpO1xuICAgICAgICBpZiAodGhpcy5fY2xpZW50TG9nZ2VyKSB7XG4gICAgICAgICAgICBsZXQgbGV2ZWxGb3JMb2cgPSB0eXBlb2YgbG9nTGV2ZWwgPT09ICdzdHJpbmcnID8gc3RyVG9MZXZlbFtsb2dMZXZlbF0gOiBsb2dMZXZlbDtcbiAgICAgICAgICAgIHN3aXRjaCAobGV2ZWxGb3JMb2cpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDEwOlxuICAgICAgICAgICAgICAgIGNhc2UgMjA6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NsaWVudExvZ2dlci5kZWJ1Zyhsb2dPYmplY3QsIC4uLnJhd0xvZ0RhdGEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSAzMDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyLmluZm8obG9nT2JqZWN0LCAuLi5yYXdMb2dEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGNhc2UgNDA6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NsaWVudExvZ2dlci53YXJuKGxvZ09iamVjdCwgLi4ucmF3TG9nRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlIDYwOlxuICAgICAgICAgICAgICAgIGNhc2UgNTA6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NsaWVudExvZ2dlci5lcnJvcihsb2dPYmplY3QsIC4uLnJhd0xvZ0RhdGEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NsaWVudExvZ2dlci5lcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGU6IFN1cGVydHlwZUxvZ2dlci5tb2R1bGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5OiAnbWlsZXN0b25lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdpbnZhbGlkIGxldmVsIHVzZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0xldmVsOiBsb2dMZXZlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dPYmplY3Q6IGxvZ09iamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMucHJldHR5UHJpbnQobG9nTGV2ZWwsIGxvZ09iamVjdCkpOyAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuXG4gICAgcHJldHR5UHJpbnQobGV2ZWwsIGpzb24pIHtcbiAgICAgICAgbGV0IHNwbGl0ID0gdGhpcy5zcGxpdChqc29uLCB7dGltZTogMSwgbXNnOiAxLCBsZXZlbDogMSwgbmFtZTogMX0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGVUaW1lKGpzb24udGltZSA/IG5ldyBEYXRlKGpzb24udGltZSkgOiBuZXcgRGF0ZSgpKSArICc6ICcgK1xuICAgICAgICAgICAgbGV2ZWwudG9VcHBlckNhc2UoKSArICc6ICcgK1xuICAgICAgICAgICAgYWRkQ29sb25JZlRva2VuKHNwbGl0WzFdLm5hbWUsICc6ICcpICtcbiAgICAgICAgICAgIGFkZENvbG9uSWZUb2tlbihzcGxpdFsxXS5tc2csICc6ICcpICtcbiAgICAgICAgICAgIHh5KHNwbGl0WzBdKTtcblxuICAgICAgICBmdW5jdGlvbiBhZGRDb2xvbklmVG9rZW4gKHRva2VuLCBjb2xvbkFuZFNwYWNlKSB7XG4gICAgICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4gKyBjb2xvbkFuZFNwYWNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiB4eShqKSB7XG4gICAgICAgICAgICB2YXIgc3RyID0gJyc7XG4gICAgICAgICAgICB2YXIgc2VwID0gJyc7XG5cbiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gaikge1xuICAgICAgICAgICAgICAgIHN0ciArPSBzZXAgKyBwcm9wICsgJz0nICsgSlNPTi5zdHJpbmdpZnkoaltwcm9wXSk7XG4gICAgICAgICAgICAgICAgc2VwID0gJyAnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc3RyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJygnICsgc3RyICsgJyknO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNwbGl0KGpzb24sIHByb3BzKTogYW55W10ge1xuICAgICAgICBjb25zdCBhID0ge307XG4gICAgICAgIGNvbnN0IGIgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4ganNvbikge1xuICAgICAgICAgICAgKHByb3BzW3Byb3BdID8gYiA6IGEpW3Byb3BdID0ganNvbltwcm9wXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbYSwgYl07XG4gICAgfVxuXG4gICAgLy8gTG9nZ2luZyBpcyBlbmFibGVkIGlmIGVpdGhlciB0aGUgbGV2ZWwgdGhyZXNob2xkIGlzIG1ldCBvciB0aGUgZ3JhbnVsYXIgbGV2ZWwgbWF0Y2hlc1xuICAgIHByaXZhdGUgaXNFbmFibGVkKGxldmVsLCBvYmopIHtcbiAgICAgICAgbGV2ZWwgPSBzdHJUb0xldmVsW2xldmVsXTtcblxuICAgICAgICBpZiAobGV2ZWwgPj0gc3RyVG9MZXZlbFt0aGlzLmxldmVsXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ncmFudWxhckxldmVscykge1xuICAgICAgICAgICAgZm9yIChsZXQgbGV2ZWxyIGluIHRoaXMuZ3JhbnVsYXJMZXZlbHMpIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqW2xldmVscl0gJiYgb2JqW2xldmVscl0gPT0gdGhpcy5ncmFudWxhckxldmVsc1tsZXZlbHJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJ0eXBlTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N1cGVydHlwZUxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQU0sVUFBVSxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNsRyxJQUFNLFVBQVUsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFFbEc7SUFRSSxpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUU1QjtRQVZRLHFCQUFnQixHQUFHLG1CQUFtQixDQUFDO1FBVzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFHRCwrQkFBSyxHQUFMO1FBQU0sY0FBYzthQUFkLFVBQWMsRUFBZCxxQkFBYyxFQUFkLElBQWM7WUFBZCx5QkFBYzs7UUFDaEIsSUFBSSxDQUFDLEdBQUcsT0FBUixJQUFJLGlCQUFLLEVBQUUsR0FBSyxJQUFJLFVBQUU7SUFDMUIsQ0FBQztJQUVELCtCQUFLLEdBQUw7UUFBTSxjQUFjO2FBQWQsVUFBYyxFQUFkLHFCQUFjLEVBQWQsSUFBYztZQUFkLHlCQUFjOztRQUNoQixJQUFJLENBQUMsR0FBRyxPQUFSLElBQUksaUJBQUssRUFBRSxHQUFLLElBQUks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Q0FBQztJQUNsQixDQUFDO0lBRUQsd0ZBQXdGO0lBQ2hGLG1DQUFTLEdBQWpCLFVBQWtCLEtBQUssRUFBRSxHQUFHO1FBQ3hCLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsSUFBSSxLQUFLLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLEtBQUssSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDcEMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQzNELE9BQU8sSUFBSSxDQUFDO2lCQUNmO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUE5VU0sMEJBQVUsR0FBVyxlQUFlLENBQUMsSUFBSSxDQUFDO0lBK1VyRCxzQkFBQztDQUFBLEFBaFZELElBZ1ZDO0FBaFZZLDBDQUFlIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbGV2ZWxUb1N0ciA9IHsgNjA6ICdmYXRhbCcsIDUwOiAnZXJyb3InLCA0MDogJ3dhcm4nLCAzMDogJ2luZm8nLCAyMDogJ2RlYnVnJywgMTA6ICd0cmFjZScgfTtcbmNvbnN0IHN0clRvTGV2ZWwgPSB7ICdmYXRhbCc6IDYwLCAnZXJyb3InOiA1MCwgJ3dhcm4nOiA0MCwgJ2luZm8nOiAzMCwgJ2RlYnVnJzogMjAsICd0cmFjZSc6IDEwIH07XG5cbmV4cG9ydCBjbGFzcyBTdXBlcnR5cGVMb2dnZXIge1xuICAgIHN0YXRpYyBtb2R1bGVOYW1lOiBzdHJpbmcgPSBTdXBlcnR5cGVMb2dnZXIubmFtZTtcbiAgICBwcml2YXRlIF9hbW9ycGhpY0NvbnRleHQgPSAnX19hbW9ycGhpY0NvbnRleHQnO1xuICAgIGNvbnRleHQ6IGFueTtcbiAgICBncmFudWxhckxldmVsczogYW55O1xuICAgIGxldmVsOiBhbnk7XG4gICAgcHJpdmF0ZSBfY2xpZW50TG9nZ2VyOiBhbnk7XG5cbiAgICAvLyBmb3Igb3ZlcnJpZGluZ1xuICAgIC8vIHNlbmRUb0xvZzogRnVuY3Rpb247XG4gICAgLy8gZm9ybWF0RGF0ZVRpbWU6IEZ1bmN0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY29udGV4dCA9IHt9O1xuICAgICAgICB0aGlzLmdyYW51bGFyTGV2ZWxzID0ge307XG4gICAgICAgIHRoaXMubGV2ZWwgPSAnaW5mbyc7XG4gICAgfVxuXG5cbiAgICBmYXRhbCguLi5kYXRhOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZyg2MCwgLi4uZGF0YSk7XG4gICAgfVxuXG4gICAgZXJyb3IoLi4uZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2coNTAsIC4uLmRhdGEpO1xuICAgIH1cblxuICAgIHdhcm4oLi4uZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2coNDAsIC4uLmRhdGEpO1xuICAgIH1cblxuICAgIGluZm8oLi4uZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2coMzAsIC4uLmRhdGEpO1xuICAgIH1cblxuICAgIGRlYnVnKC4uLmRhdGE6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nKDIwLCAuLi5kYXRhKTtcbiAgICB9XG5cbiAgICB0cmFjZSguLi5kYXRhOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZygxMCwgLi4uZGF0YSk7XG4gICAgfVxuXG4gICAgZ2V0IGNsaWVudExvZ2dlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsaWVudExvZ2dlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBhc3NpZ24gYSBjdXN0b20gc2VuZCB0byBsb2cgZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBAcGFyYW0gbG9nZ2VyIC0gbG9nZ2VyIG11c3QgZml0IHRoZSBmb3JtYXQgb2YgaW5mby9lcnJvci9kZWJ1Zy93YXJuXG4gICAgICovXG4gICAgc2V0TG9nZ2VyKGxvZ2dlcikge1xuICAgICAgICBpZiAodHlwZW9mIGxvZ2dlci5pbmZvICE9PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICB0eXBlb2YgbG9nZ2VyLmVycm9yICE9PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICB0eXBlb2YgbG9nZ2VyLmRlYnVnICE9PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICB0eXBlb2YgbG9nZ2VyLndhcm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHNwZWNpZnkgYSBsb2dnZXIgd2l0aCB0aGUgaW5mbywgZXJyb3IsIGRlYnVnLCBhbmQgd2FybiBmdW5jdGlvbnMnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGxvZ2dlci5jaGlsZExvZ2dlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyID0gbG9nZ2VyLmNoaWxkTG9nZ2VyKHtlcnJvcjoge2lzSHVtYW5SZWxhdGVkOiBmYWxzZX19KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGxvZ2dlci5jaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyID0gbG9nZ2VyLmNoaWxkKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyID0gbG9nZ2VyO1xuICAgIH1cblxuICAgIC8vIExvZyBhbGwgYXJndW1lbnRzIGFzc3VtaW5nIHRoZSBmaXJzdCBvbmUgaXMgbGV2ZWwgYW5kIHRoZSBzZWNvbmQgb25lIG1pZ2h0IGJlIGFuIG9iamVjdCAoc2ltaWxhciB0byBiYW55YW4pXG4gICAgcHJpdmF0ZSBsb2cobGV2ZWw6IG51bWJlciwgLi4uYXJnczogYW55W10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvcGVydGllczogYW55W10gPSBhcmdzICYmIEFycmF5LmlzQXJyYXkoYXJncykgPyBhcmdzLnNsaWNlKCkgOiBhcmdzO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcHJvcGVydGllc1swXSA9PT0gJ29iamVjdCcpICB7XG4gICAgICAgICAgICBsZXQgbG9nT2JqID0gcHJvcGVydGllc1swXTtcbiAgICAgICAgICAgIGlmICghbG9nT2JqLmRhdGEpIHtcbiAgICAgICAgICAgICAgICBsb2dPYmouZGF0YSA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFsb2dPYmouY29udGV4dCkge1xuICAgICAgICAgICAgICAgIGxvZ09iai5jb250ZXh0ID0ge307XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghbG9nT2JqLnJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICBsb2dPYmoucmVxdWVzdCA9IHt9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNldExvZ3NBbW9ycGhpY0NvbnRleHQobG9nT2JqLmNvbnRleHQsIGxvZ09iai5yZXF1ZXN0KTtcblxuICAgICAgICAgICAgbG9nT2JqWydsZXZlbCddID0gbGV2ZWw7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0VuYWJsZWQobGV2ZWxUb1N0cltsb2dPYmpbJ2xldmVsJ11dLCBsb2dPYmopKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kVG9Mb2cobGV2ZWxUb1N0cltsb2dPYmpbJ2xldmVsJ11dLCBsb2dPYmosIC4uLnByb3BlcnRpZXMuc2xpY2UoMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJvcGVydGllc1snbGV2ZWwnXSA9IGxldmVsO1xuICAgICAgICBpZiAodGhpcy5pc0VuYWJsZWQobGV2ZWxUb1N0cltwcm9wZXJ0aWVzWydsZXZlbCddXSwgcHJvcGVydGllcykpIHtcbiAgICAgICAgICAgIHRoaXMuc2VuZFRvTG9nKGxldmVsVG9TdHJbcHJvcGVydGllc1snbGV2ZWwnXV0sIHByb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvL1RoaXMgbWV0aG9kIGV4dHJhY3RzIHNlc3Npb25JZCBmcm9tIHRoZSBlYWNoIHJlcXVlc3QncyBjb250ZXh0IFxuICAgIC8vIGFuZCBwbGFjZXMgaXQgaW4gdGhlIGNvbnRleHQuc2Vzc2lvbklkLiBBbGwgb3RoZXIgY29udGV4dCBwcm9wZXJ0aWVzIGFyZSBcbiAgICAvLyBwbGFjZWQgaW4gY29udGV4dC5kYXRhIG9iamVjdC5cbiAgICBwcml2YXRlIHNldExvZ3NBbW9ycGhpY0NvbnRleHQoY29udGV4dDogYW55LCByZXF1ZXN0OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiBPYmplY3Qua2V5cyh0aGlzLmNvbnRleHQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmICghY29udGV4dC5kYXRhKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5kYXRhID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbnRleHQuZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uSWQgPSB0aGlzLmNvbnRleHQuc2Vzc2lvbjtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRleHQuc2Vzc2lvbklkICYmIHNlc3Npb25JZCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNlc3Npb25JZCA9IHNlc3Npb25JZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250ZXh0LmRhdGFbdGhpcy5fYW1vcnBoaWNDb250ZXh0XSA9IHsgLi4udGhpcy5jb250ZXh0IH07XG4gICAgICAgICAgICAgICAgY29uc3QgYW1vcnBoaWNDb250ZXh0T2JqZWN0RXhpc3RzID0gY29udGV4dC5kYXRhW3RoaXMuX2Ftb3JwaGljQ29udGV4dF0gJiZcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dC5kYXRhW3RoaXMuX2Ftb3JwaGljQ29udGV4dF0pICYmXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbnRleHQuZGF0YVt0aGlzLl9hbW9ycGhpY0NvbnRleHRdKS5sZW5ndGggPiAwO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFtb3JwaGljQ29udGV4dE9iamVjdEV4aXN0cyAmJiBjb250ZXh0LmRhdGFbdGhpcy5fYW1vcnBoaWNDb250ZXh0XS5zZXNzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBjb250ZXh0LmRhdGFbdGhpcy5fYW1vcnBoaWNDb250ZXh0XS5zZXNzaW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYW1vcnBoaWNDb250ZXh0T2JqZWN0RXhpc3RzICYmIGNvbnRleHQuZGF0YVt0aGlzLl9hbW9ycGhpY0NvbnRleHRdLmlwYWRkcmVzcykge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmNsaWVudElwQWRkcmVzcyA9IGNvbnRleHQuZGF0YVt0aGlzLl9hbW9ycGhpY0NvbnRleHRdLmlwYWRkcmVzcztcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGNvbnRleHQuZGF0YVt0aGlzLl9hbW9ycGhpY0NvbnRleHRdLmlwYWRkcmVzcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRBbW9ycGhpY0NvbnRleHQoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHsgX19hbW9ycGhpY0NvbnRleHQ6IHsgLi4udGhpcy5jb250ZXh0IH0gfTtcbiAgICB9XG5cbiAgICBzdGFydENvbnRleHQoY29udGV4dCkge1xuICAgICAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIH1cblxuICAgIC8vIFNhdmUgdGhlIHByb3BlcnRpZXMgaW4gdGhlIGNvbnRleHQgYW5kIHJldHVybiBhIG5ldyBvYmplY3QgdGhhdCBoYXMgdGhlIHByb3BlcnRpZXMgb25seSBzbyB0aGV5IGNhbiBiZSBjbGVhcmVkXG4gICAgc2V0Q29udGV4dFByb3BzKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgcmV2ZXJzZSA9IHt9O1xuXG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBjb250ZXh0KSB7XG4gICAgICAgICAgICByZXZlcnNlW3Byb3BdID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dFtwcm9wXSA9IGNvbnRleHRbcHJvcF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmV2ZXJzZTtcbiAgICB9XG4gICAgLy8gUGFyc2UgbG9nIGxldmVscyBzdWNoIGFzIHdhcm4uYWN0aXZpdHlcbiAgICBzZXRMZXZlbChsZXZlbCkge1xuICAgICAgICB2YXIgbGV2ZWxzID0gbGV2ZWwuc3BsaXQoJzsnKTtcblxuICAgICAgICBmb3IgKHZhciBpeCA9IDA7IGl4IDwgbGV2ZWxzLmxlbmd0aDsgKytpeCkge1xuICAgICAgICAgICAgdmFyIGxldmVsYSA9IGxldmVsc1tpeF07XG5cbiAgICAgICAgICAgIGlmIChsZXZlbGEubWF0Y2goLzovKSkge1xuICAgICAgICAgICAgICAgIGlmIChsZXZlbHNbaXhdLm1hdGNoKC8oLiopOiguKikvKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyYW51bGFyTGV2ZWxzW1JlZ0V4cC4kMV0gPSB0aGlzLmdyYW51bGFyTGV2ZWxzW1JlZ0V4cC4kMV0gfHwge307XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JhbnVsYXJMZXZlbHNbUmVnRXhwLiQxXSA9IFJlZ0V4cC4kMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBsZXZlbHNbaXhdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBsZXZlbGE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgYW55IHByb3BlcnRpZXMgcmVjb3JkZWQgYnkgc2V0Q29udGV4dFxuICAgIGNsZWFyQ29udGV4dFByb3BzKGNvbnRleHRUb0NsZWFyKSB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBjb250ZXh0VG9DbGVhcikge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuY29udGV4dFtwcm9wXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhIG5ldyBsb2dnZXIgYW5kIGNvcHkgb3ZlciBpdCdzIGNvbnRleHRcbiAgICBjcmVhdGVDaGlsZExvZ2dlcihjb250ZXh0LCByb290VmFsdWVzPywgZGF0YVZhbHVlcz8pOiBTdXBlcnR5cGVMb2dnZXIge1xuICAgICAgICBsZXQgY2hpbGQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcblxuICAgICAgICBmb3IgKGxldCBwcm9wIGluIHRoaXMpIHtcbiAgICAgICAgICAgIGNoaWxkW3Byb3BdID0gdGhpc1twcm9wXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkLmNvbnRleHQgPSBjb250ZXh0IHx8IHt9O1xuXG4gICAgICAgIGZvciAobGV0IHByb3BlciBpbiB0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgICAgIGNoaWxkLmNvbnRleHRbcHJvcGVyXSA9IHRoaXMuY29udGV4dFtwcm9wZXJdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9jbGllbnRMb2dnZXIpIHtcbiAgICAgICAgICAgIGxldCBjaGlsZExvZ2dlcjtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jbGllbnRMb2dnZXIuY2hpbGRMb2dnZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjaGlsZExvZ2dlciA9IHRoaXMuX2NsaWVudExvZ2dlci5jaGlsZExvZ2dlcihyb290VmFsdWVzLCBkYXRhVmFsdWVzKTtcbiAgICAgICAgICAgICAgICBjaGlsZCA9IGNoaWxkTG9nZ2VyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY2xpZW50TG9nZ2VyLmNoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRMb2dnZXIgPSB0aGlzLl9jbGllbnRMb2dnZXIuY2hpbGQoey4uLnJvb3RWYWx1ZXMsIGRhdGE6IHtkYXRhVmFsdWVzfX0pO1xuICAgICAgICAgICAgICAgIGNoaWxkID0gY2hpbGRMb2dnZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hpbGQgYXMgU3VwZXJ0eXBlTG9nZ2VyOyAvLyBiYWQgcHJhY3RpY2UgYnV0IHNob3VsZCBmaXhcbiAgICB9XG5cbiAgICBmb3JtYXREYXRlVGltZShkYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGYoMiwgKGRhdGUuZ2V0TW9udGgoKSArIDEpLCAnLycpICsgZigyLCBkYXRlLmdldERhdGUoKSwgJy8nKSArIGYoNCwgZGF0ZS5nZXRGdWxsWWVhcigpLCAnICcpICtcbiAgICAgICAgICAgIGYoMiwgZGF0ZS5nZXRIb3VycygpLCAnOicpICsgZigyLCBkYXRlLmdldE1pbnV0ZXMoKSwgJzonKSArIGYoMiwgZGF0ZS5nZXRTZWNvbmRzKCksICc6JykgK1xuICAgICAgICAgICAgZigzLCBkYXRlLmdldE1pbGxpc2Vjb25kcygpKSArICcgR01UJyArICgwIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpIC8gNjApO1xuXG4gICAgICAgIGZ1bmN0aW9uIGYoeiwgZCwgcz8pIHtcbiAgICAgICAgICAgIHdoaWxlIChTdHJpbmcoZCkubGVuZ3RoIDwgeikge1xuICAgICAgICAgICAgICAgIGQgPSAnMCcgKyBkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZCArIChzIHx8ICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlRW1wdHlMb2dQcm9wZXJ0aWVzKGxvZ09iamVjdDogYW55KSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbJ2NvbnRleHQnLCAnZGF0YSddO1xuICAgICAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxvZ09iamVjdFtrZXldICYmIE9iamVjdC5rZXlzKGxvZ09iamVjdFtrZXldKS5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGxvZ09iamVjdFtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgcmVwbGFjZWQgYnkgdGhlIGNvbnN1bWVyIG9mIHRoaXMgY2xhc3MuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9nTGV2ZWwgLSBsb2cgbGV2ZWxcbiAgICAgKiBAcGFyYW0gbG9nT2JqZWN0IC0gZm9ybWF0dGVkIGxvZyBvYmplY3QsIHBhc3NlZCBpbiBmcm9tIGNvbnN1bWVyXG4gICAgICogQHBhcmFtIHJhd0xvZ0RhdGEgLSB1bmZvcm1hdHRlZCBhbmQgdW5wcm9jZXNzZWQgdmVyc2lvbiBvZiBcImxvZ09iamVjdFwiIHBhcmFtXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNlbmRUb0xvZyhsb2dMZXZlbCwgbG9nT2JqZWN0LCAuLi5yYXdMb2dEYXRhKSB7XG4gICAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHRoaXMuc2VuZFRvTG9nLm5hbWU7XG4gICAgICAgIHRoaXMuZGVsZXRlRW1wdHlMb2dQcm9wZXJ0aWVzKGxvZ09iamVjdCk7XG4gICAgICAgIGlmICh0aGlzLl9jbGllbnRMb2dnZXIpIHtcbiAgICAgICAgICAgIGxldCBsZXZlbEZvckxvZyA9IHR5cGVvZiBsb2dMZXZlbCA9PT0gJ3N0cmluZycgPyBzdHJUb0xldmVsW2xvZ0xldmVsXSA6IGxvZ0xldmVsO1xuICAgICAgICAgICAgc3dpdGNoIChsZXZlbEZvckxvZykge1xuICAgICAgICAgICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgICAgICAgY2FzZSAyMDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyLmRlYnVnKGxvZ09iamVjdCwgLi4ucmF3TG9nRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlIDMwOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jbGllbnRMb2dnZXIuaW5mbyhsb2dPYmplY3QsIC4uLnJhd0xvZ0RhdGEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSA0MDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyLndhcm4obG9nT2JqZWN0LCAuLi5yYXdMb2dEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGNhc2UgNjA6XG4gICAgICAgICAgICAgICAgY2FzZSA1MDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyLmVycm9yKGxvZ09iamVjdCwgLi4ucmF3TG9nRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2xpZW50TG9nZ2VyLmVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZTogU3VwZXJ0eXBlTG9nZ2VyLm1vZHVsZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk6ICdtaWxlc3RvbmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ2ludmFsaWQgbGV2ZWwgdXNlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nTGV2ZWw6IGxvZ0xldmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ09iamVjdDogbG9nT2JqZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2codGhpcy5wcmV0dHlQcmludChsb2dMZXZlbCwgbG9nT2JqZWN0KSk7ICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICB9XG5cbiAgICBwcmV0dHlQcmludChsZXZlbCwganNvbikge1xuICAgICAgICBsZXQgc3BsaXQgPSB0aGlzLnNwbGl0KGpzb24sIHt0aW1lOiAxLCBtc2c6IDEsIGxldmVsOiAxLCBuYW1lOiAxfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZVRpbWUoanNvbi50aW1lID8gbmV3IERhdGUoanNvbi50aW1lKSA6IG5ldyBEYXRlKCkpICsgJzogJyArXG4gICAgICAgICAgICBsZXZlbC50b1VwcGVyQ2FzZSgpICsgJzogJyArXG4gICAgICAgICAgICBhZGRDb2xvbklmVG9rZW4oc3BsaXRbMV0ubmFtZSwgJzogJykgK1xuICAgICAgICAgICAgYWRkQ29sb25JZlRva2VuKHNwbGl0WzFdLm1zZywgJzogJykgK1xuICAgICAgICAgICAgeHkoc3BsaXRbMF0pO1xuXG4gICAgICAgIGZ1bmN0aW9uIGFkZENvbG9uSWZUb2tlbiAodG9rZW4sIGNvbG9uQW5kU3BhY2UpIHtcbiAgICAgICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbiArIGNvbG9uQW5kU3BhY2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHh5KGopIHtcbiAgICAgICAgICAgIHZhciBzdHIgPSAnJztcbiAgICAgICAgICAgIHZhciBzZXAgPSAnJztcblxuICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBqKSB7XG4gICAgICAgICAgICAgICAgc3RyICs9IHNlcCArIHByb3AgKyAnPScgKyBKU09OLnN0cmluZ2lmeShqW3Byb3BdKTtcbiAgICAgICAgICAgICAgICBzZXAgPSAnICc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzdHIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnKCcgKyBzdHIgKyAnKSc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3BsaXQoanNvbiwgcHJvcHMpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IGEgPSB7fTtcbiAgICAgICAgY29uc3QgYiA9IHt9O1xuXG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBqc29uKSB7XG4gICAgICAgICAgICAocHJvcHNbcHJvcF0gPyBiIDogYSlbcHJvcF0gPSBqc29uW3Byb3BdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFthLCBiXTtcbiAgICB9XG5cbiAgICAvLyBMb2dnaW5nIGlzIGVuYWJsZWQgaWYgZWl0aGVyIHRoZSBsZXZlbCB0aHJlc2hvbGQgaXMgbWV0IG9yIHRoZSBncmFudWxhciBsZXZlbCBtYXRjaGVzXG4gICAgcHJpdmF0ZSBpc0VuYWJsZWQobGV2ZWwsIG9iaikge1xuICAgICAgICBsZXZlbCA9IHN0clRvTGV2ZWxbbGV2ZWxdO1xuXG4gICAgICAgIGlmIChsZXZlbCA+PSBzdHJUb0xldmVsW3RoaXMubGV2ZWxdKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdyYW51bGFyTGV2ZWxzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBsZXZlbHIgaW4gdGhpcy5ncmFudWxhckxldmVscykge1xuICAgICAgICAgICAgICAgIGlmIChvYmpbbGV2ZWxyXSAmJiBvYmpbbGV2ZWxyXSA9PSB0aGlzLmdyYW51bGFyTGV2ZWxzW2xldmVscl0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSJdfQ== |
{ | ||
"name": "@haventech/supertype", | ||
"description": "A type system for classical inheritence, mix-ins and composition.", | ||
"version": "6.1.0", | ||
"version": "7.0.0", | ||
"main": "dist/index.js", | ||
@@ -17,3 +17,3 @@ "types": "dist/index.d.ts", | ||
"@types/nconf": "^0.10.0", | ||
"@types/node": "16.11.22", | ||
"@types/node": "14.18.33", | ||
"chai": "4.3.6", | ||
@@ -26,3 +26,3 @@ "eslint": "8.8.0", | ||
"ts-node": "10.5.0", | ||
"typescript": "3.9.10" | ||
"typescript": "4.9.3" | ||
}, | ||
@@ -29,0 +29,0 @@ "scripts": { |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
398498
31
4750