@fjall/util 0.48.0 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/Config.d.ts +5 -1
- package/dist/src/Config.js +1 -1
- package/package.json +2 -2
package/dist/src/Config.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { Account } from "@aws-sdk/client-organizations";
|
|
2
2
|
type Provider = "aws";
|
|
3
|
-
type ServiceConfig = {
|
|
3
|
+
export type ServiceConfig = {
|
|
4
4
|
id: string;
|
|
5
5
|
type?: string;
|
|
6
6
|
version?: number;
|
|
7
7
|
options?: object;
|
|
8
|
+
dockerConfig?: {
|
|
9
|
+
dockerfilePath: string;
|
|
10
|
+
containerPort: number;
|
|
11
|
+
};
|
|
8
12
|
};
|
|
9
13
|
type ProviderAccount = {
|
|
10
14
|
id: string;
|
package/dist/src/Config.js
CHANGED
|
@@ -315,4 +315,4 @@ class Config {
|
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
exports.Config = Config;
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsd0VBSXVDO0FBQ3ZDLG9EQUEwRTtBQUMxRSx3RUFLdUM7QUFnQ3ZDOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFFaEM7O0dBRUc7QUFDSCxNQUFhLE1BQU07SUFLakIsWUFDRSxVQUFtQixFQUNuQixzQkFBa0MsRUFDbEMsd0JBQStDO1FBRS9DLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVTtZQUMxQixDQUFDLENBQUMsVUFBVTtZQUNaLENBQUMsQ0FBQztnQkFDRSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixRQUFRLEVBQUUsRUFBRTtnQkFDWixnQkFBZ0IsRUFBRSxFQUFFO2FBQ3JCLENBQUM7UUFFTixJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCO1lBQ2xELENBQUMsQ0FBQyxzQkFBc0I7WUFDeEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0I7WUFDdEQsQ0FBQyxDQUFDLHdCQUF3QjtZQUMxQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssTUFBTSxDQUFDLG1CQUFtQjtRQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0IsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9CLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLHlCQUF5QjtRQUU5QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFB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Q3RDLENBQUM7Q0FDRjtBQTVZRCx3QkE0WUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7XG4gIEFjY291bnQsXG4gIExpc3RBY2NvdW50c0NvbW1hbmQsXG4gIE9yZ2FuaXphdGlvbnNDbGllbnQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuaW1wb3J0IHsgU1RTQ2xpZW50LCBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXN0c1wiO1xuaW1wb3J0IHtcbiAgQ29zdEV4cGxvcmVyQ2xpZW50LFxuICBMaXN0Q29zdEFsbG9jYXRpb25UYWdzQ29tbWFuZCxcbiAgR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZCxcbiAgR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZElucHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvc3QtZXhwbG9yZXJcIjtcblxudHlwZSBQcm92aWRlciA9IFwiYXdzXCI7XG5cbnR5cGUgU2VydmljZUNvbmZpZyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgdmVyc2lvbj86IG51bWJlcjtcbiAgb3B0aW9ucz86IG9iamVjdDtcbn07XG5cbnR5cGUgUHJvdmlkZXJBY2NvdW50ID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG59O1xuXG50eXBlIFJvb3RDb25maWcgPSB7XG4gIHZlcnNpb24/OiBudW1iZXI7XG4gIGRldmVsb3BtZW50PzogYm9vbGVhbjtcbiAgc2VydmljZXM/OiB7IFtrZXk6IHN0cmluZ106IFNlcnZpY2VDb25maWcgfTtcbiAgcHJvdmlkZXI/OiBQcm92aWRlcjtcbiAgcHJvdmlkZXJBY2NvdW50cz86IFByb3ZpZGVyQWNjb3VudFtdO1xuICBwcmltYXJ5UmVnaW9uPzogc3RyaW5nO1xuICBzZWNvbmRhcnlSZWdpb25zPzogc3RyaW5nW107XG59O1xuXG50eXBlIENvc3RBbGxvY2F0aW9uVGFncyA9IHtcbiAgVGFnS2V5OiBzdHJpbmc7XG4gIFN0YXR1czogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBUaGUgY3VycmVudCBiYXNlLXZlcnNpb24gb2YgYW55IG5ld2x5IGNyZWF0ZWQgY29uZmlnIGZpbGVcbiAqL1xuY29uc3QgQkFTRV9DT05GSUdfVkVSU0lPTiA9IDAuMTtcblxuLyoqXG4gKiBDb25maWcgY2xhc3MgZm9yIGxvYWRpbmcgYW5kIHNhdmluZyBmamFsbC1jb25maWcuanNvbiBmaWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWcge1xuICByb290Q29uZmlnOiBSb290Q29uZmlnO1xuICBleGlzdGluZ0FjY291bnRzQ29uZmlnOiBBY2NvdW50W107XG4gIGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZzogQ29zdEFsbG9jYXRpb25UYWdzW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcm9vdENvbmZpZz86IG9iamVjdCxcbiAgICBleGlzdGluZ0FjY291bnRzQ29uZmlnPzogQWNjb3VudFtdLFxuICAgIGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZz86IENvc3RBbGxvY2F0aW9uVGFnc1tdXG4gICkge1xuICAgIHRoaXMucm9vdENvbmZpZyA9IHJvb3RDb25maWdcbiAgICAgID8gcm9vdENvbmZpZ1xuICAgICAgOiB7XG4gICAgICAgICAgdmVyc2lvbjogQkFTRV9DT05GSUdfVkVSU0lPTixcbiAgICAgICAgICBzZXJ2aWNlczoge30sXG4gICAgICAgICAgcHJvdmlkZXJBY2NvdW50czogW10sXG4gICAgICAgIH07XG5cbiAgICB0aGlzLmV4aXN0aW5nQWNjb3VudHNDb25maWcgPSBleGlzdGluZ0FjY291bnRzQ29uZmlnXG4gICAgICA/IGV4aXN0aW5nQWNjb3VudHNDb25maWdcbiAgICAgIDogW107XG5cbiAgICB0aGlzLmNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZyA9IGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZ1xuICAgICAgPyBjb3N0QWxsb2NhdGlvblRhZ3NDb25maWdcbiAgICAgIDogW107XG4gIH1cblxuICBpc0RldmVsb3BtZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucm9vdENvbmZpZz8uZGV2ZWxvcG1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRmluZCB0aGUgZmphbGwgY29uZmlnIGRpcmVjdG9yeSBieSB3YWxraW5nIHVwIHRoZSBkaXJlY3RvcnkgdHJlZVxuICAgKiBAcmV0dXJucyBUaGUgcGF0aCB0byB0aGUgZmphbGwgY29uZmlnIGRpcmVjdG9yeSBvciBudWxsIGlmIG5vdCBmb3VuZFxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZENvbmZpZ0RpcmVjdG9yeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5cbiAgICBsZXQgY3VycmVudERpciA9IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgbWF4RGVwdGggPSAxMDsgLy8gUHJldmVudCBpbmZpbml0ZSBsb29wc1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhEZXB0aDsgaSsrKSB7XG4gICAgICAvLyBDaGVjayBpZiBjdXJyZW50IGRpcmVjdG9yeSBjb250YWlucyBmamFsbCBjb25maWcgZmlsZXNcbiAgICAgIGNvbnN0IGZqYWxsRGlyID0gcGF0aC5qb2luKGN1cnJlbnREaXIsIFwiZmphbGxcIik7XG4gICAgICBjb25zdCBjb25maWdGaWxlID0gcGF0aC5qb2luKGZqYWxsRGlyLCBcImZqYWxsLWNvbmZpZy5qc29uXCIpO1xuXG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhjb25maWdGaWxlKSkge1xuICAgICAgICByZXR1cm4gZmphbGxEaXI7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGN1cnJlbnQgZGlyZWN0b3J5IElTIHRoZSBmamFsbCBjb25maWcgZGlyZWN0b3J5XG4gICAgICBjb25zdCBkaXJlY3RDb25maWdGaWxlID0gcGF0aC5qb2luKGN1cnJlbnREaXIsIFwiZmphbGwtY29uZmlnLmpzb25cIik7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhkaXJlY3RDb25maWdGaWxlKSkge1xuICAgICAgICByZXR1cm4gY3VycmVudERpcjtcbiAgICAgIH1cblxuICAgICAgLy8gTW92ZSB1cCBvbmUgZGlyZWN0b3J5XG4gICAgICBjb25zdCBwYXJlbnREaXIgPSBwYXRoLmRpcm5hbWUoY3VycmVudERpcik7XG4gICAgICBpZiAocGFyZW50RGlyID09PSBjdXJyZW50RGlyKSBicmVhazsgLy8gUmVhY2hlZCBmaWxlc3lzdGVtIHJvb3RcbiAgICAgIGN1cnJlbnREaXIgPSBwYXJlbnREaXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBjb25maWcgZmlsZSBpbnRvIG1lbW9yeSBhcyBhIHJhdyBKU09OIHN0cmluZ1xuICAgKiBAcmV0dXJucyBDb25maWcgYXMgSlNPTiBzdHJpbmcgb3IgTlVMTCBpZiBubyBjb25maWcgZmlsZSBhY2Nlc3NpYmxlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBsb2FkQ29uZmlnRmlsZShjb25maWdGaWxlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgZnMuYWNjZXNzU3luYyhjb25maWdGaWxlLCBmcy5jb25zdGFudHMuUl9PSyB8IGZzLmNvbnN0YW50cy5XX09LKTtcblxuICAgICAgcmV0dXJuIGZzLnJlYWRGaWxlU3luYyhjb25maWdGaWxlLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gY29uc29sZS5sb2coXG4gICAgICAvLyAgIGBFeHBlY3RlZCBmaWxlICcke2NvbmZpZ0ZpbGV9JyBkb2VzIG5vdCBleGlzdCBvciBjYW5ub3QgYmUgcmVhZC5gXG4gICAgICAvLyApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgY29uZmlndXJhdGlvbiBmcm9tIGZpbGVcbiAgICpcbiAgICogQHJldHVybnMgTG9hZGVkIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHN0YXRpYyBsb2FkQ29uZmlnKCk6IENvbmZpZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbmZpZ0RpciA9IENvbmZpZy5maW5kQ29uZmlnRGlyZWN0b3J5KCk7XG4gICAgICBpZiAoIWNvbmZpZ0Rpcikge1xuICAgICAgICAvLyBSZXR1cm4gZGVmYXVsdCBjb25maWcgaWYgbm8gY29uZmlnIGRpcmVjdG9yeSBmb3VuZFxuICAgICAgICByZXR1cm4gbmV3IENvbmZpZygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgICBjb25zdCByb290Q29uZmlnSnNvbiA9IENvbmZpZy5sb2FkQ29uZmlnRmlsZShcbiAgICAgICAgcGF0aC5qb2luKGNvbmZpZ0RpciwgXCJmamFsbC1jb25maWcuanNvblwiKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQWNjb3VudEpzb24gPSBDb25maWcubG9hZENvbmZpZ0ZpbGUoXG4gICAgICAgIHBhdGguam9pbihjb25maWdEaXIsIFwiYWNjb3VudHMtY29uZmlnLmpzb25cIilcbiAgICAgICk7XG4gICAgICBjb25zdCBjb3N0QWxsb2NhdGlvblRhZ3NKc29uID0gQ29uZmlnLmxvYWRDb25maWdGaWxlKFxuICAgICAgICBwYXRoLmpvaW4oY29uZmlnRGlyLCBcImNvc3QtYWxsb2NhdGlvbi10YWdzLWNvbmZpZy5qc29uXCIpXG4gICAgICApO1xuXG4gICAgICBjb25zdCByb290Q29uZmlnID0gcm9vdENvbmZpZ0pzb25cbiAgICAgICAgPyBKU09OLnBhcnNlKHJvb3RDb25maWdKc29uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQWNjb3VudHNDb25maWcgPSBleGlzdGluZ0FjY291bnRKc29uXG4gICAgICAgID8gSlNPTi5wYXJzZShleGlzdGluZ0FjY291bnRKc29uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZyA9IGNvc3RBbGxvY2F0aW9uVGFnc0pzb25cbiAgICAgICAgPyBKU09OLnBhcnNlKGNvc3RBbGxvY2F0aW9uVGFnc0pzb24pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICByZXR1cm4gbmV3IENvbmZpZyhcbiAgICAgICAgcm9vdENvbmZpZyxcbiAgICAgICAgZXhpc3RpbmdBY2NvdW50c0NvbmZpZyxcbiAgICAgICAgY29zdEFsbG9jYXRpb25UYWdzQ29uZmlnXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihcIlVuYWJsZSB0byBwYXJzZSBjb25maWcgZmlsZS4gQWJvcnRpbmcuXCIsIGVycik7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgY29uZmlndXJhdGlvbiB0byBmaWxlXG4gICAqL1xuICBzYXZlQ29uZmlnKCkge1xuICAgIGNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbiAgICBjb25zdCBjb25maWdEaXIgPVxuICAgICAgQ29uZmlnLmZpbmRDb25maWdEaXJlY3RvcnkoKSB8fCBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJmamFsbFwiKTtcblxuICAgIC8vIEVuc3VyZSBkaXJlY3RvcnkgZXhpc3RzXG4gICAgZnMubWtkaXJTeW5jKGNvbmZpZ0RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCByb290SnNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMucm9vdENvbmZpZywgbnVsbCwgMik7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oY29uZmlnRGlyLCBcImZqYWxsLWNvbmZpZy5qc29uXCIpLCByb290SnNvblN0cmluZyk7XG5cbiAgICBjb25zdCBleGlzdGluZ0FjY291bnRzSnNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgdGhpcy5leGlzdGluZ0FjY291bnRzQ29uZmlnLFxuICAgICAgbnVsbCxcbiAgICAgIDJcbiAgICApO1xuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oY29uZmlnRGlyLCBcImFjY291bnRzLWNvbmZpZy5qc29uXCIpLFxuICAgICAgZXhpc3RpbmdBY2NvdW50c0pzb25TdHJpbmdcbiAgICApO1xuXG4gICAgY29uc3QgY29zdEFsbG9jYXRpb25UYWdzSnNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWcsXG4gICAgICBudWxsLFxuICAgICAgMlxuICAgICk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihjb25maWdEaXIsIFwiY29zdC1hbGxvY2F0aW9uLXRhZ3MtY29uZmlnLmpzb25cIiksXG4gICAgICBjb3N0QWxsb2NhdGlvblRhZ3NKc29uU3RyaW5nXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNjaGVtYSB2ZXJzaW9uIHVzZWQgZm9yIHRoaXMgY29uZmlnIGZpbGVcbiAgICpcbiAgICogQHBhcmFtIHZlcnNpb24gU2NoZW1hIFZlcnNpb25cbiAgICovXG4gIHNldFZlcnNpb24odmVyc2lvbjogbnVtYmVyKSB7XG4gICAgdGhpcy5yb290Q29uZmlnLnZlcnNpb24gPSB2ZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBzZXJ2aWNlIHRvIHRoZSBjb25maWcgZmlsZVxuICAgKiBAcGFyYW0gc2VydmljZUtleSBOYW1lL2tleSBvZiB0aGUgc2VydmljZVxuICAgKiBAcGFyYW0gY29uZmlnIFNlcnZpY2UgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzXG4gICAqL1xuICBhZGRTZXJ2aWNlKHNlcnZpY2VLZXk6IHN0cmluZywgY29uZmlnOiBTZXJ2aWNlQ29uZmlnKSB7XG4gICAgaWYgKCF0aGlzLnJvb3RDb25maWcuc2VydmljZXMpIHRoaXMucm9vdENvbmZpZy5zZXJ2aWNlcyA9IHt9O1xuICAgIHRoaXMucm9vdENvbmZpZy5zZXJ2aWNlc1tzZXJ2aWNlS2V5XSA9IGNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY29uZmlnIG9wdGlvbnMgb24gYSBwcmV2aW91c2x5IGRlZmluZWQgc2VydmljZVxuICAgKlxuICAgKiBAcGFyYW0gc2VydmljZUtleSBOYW1lL2tleSBvZiB0aGUgc2VydmljZVxuICAgKiBAcGFyYW0gY29uZmlnIFNlcnZpY2UgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIHRvIHNldFxuICAgKi9cbiAgc2V0U2VydmljZU9wdGlvbihzZXJ2aWNlS2V5OiBzdHJpbmcsIGNvbmZpZzogU2VydmljZUNvbmZpZykge1xuICAgIGlmICghdGhpcy5yb290Q29uZmlnLnNlcnZpY2VzKSB0aGlzLnJvb3RDb25maWcuc2VydmljZXMgPSB7fTtcblxuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLnJvb3RDb25maWcuc2VydmljZXNbc2VydmljZUtleV07XG4gICAgaWYgKCFzZXJ2aWNlKSByZXR1cm47XG5cbiAgICB0aGlzLnJvb3RDb25maWcuc2VydmljZXNbc2VydmljZUtleV0gPSB7IC4uLnNlcnZpY2UsIC4uLmNvbmZpZyB9O1xuICB9XG5cbiAgZ2V0U2VydmljZUNvbmZpZyhzZXJ2aWNlS2V5OiBzdHJpbmcpOiBTZXJ2aWNlQ29uZmlnIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLnJvb3RDb25maWcuc2VydmljZXMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJvb3RDb25maWcuc2VydmljZXNbc2VydmljZUtleV0gfHwgbnVsbDtcbiAgfVxuXG4gIHNldFByb3ZpZGVyKHByb3ZpZGVyOiBQcm92aWRlcikge1xuICAgIHRoaXMucm9vdENvbmZpZy5wcm92aWRlciA9IHByb3ZpZGVyO1xuICB9XG5cbiAgYWRkUHJvdmlkZXJBY2NvdW50KGFjY291bnQ6IFByb3ZpZGVyQWNjb3VudCkge1xuICAgIGlmICghdGhpcy5yb290Q29uZmlnLnByb3ZpZGVyQWNjb3VudHMpXG4gICAgICB0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cyA9IFtdO1xuXG4gICAgLy8gZW5zdXJlIGFjY291bnQgbmFtZSBpcyBhbHdheXMgbG93ZXJjYXNlXG4gICAgYWNjb3VudC5uYW1lID0gYWNjb3VudC5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG5cbiAgICB0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cy5wdXNoKGFjY291bnQpO1xuICB9XG5cbiAgZ2V0UHJvdmlkZXJBY2NvdW50KGFjY291bnROYW1lOiBzdHJpbmcpIHtcbiAgICAvLyBUT0RPOiBGaXggbnVsbCBlcnJvclxuICAgIGlmICghdGhpcy5yb290Q29uZmlnLnByb3ZpZGVyQWNjb3VudHMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cy5maW5kKFxuICAgICAgKGFjY291bnQpID0+XG4gICAgICAgIGFjY291bnQubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBhY2NvdW50TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpXG4gICAgKTtcbiAgfVxuXG4gIGdldFByb3ZpZGVyQWNjb3VudEJ5SWQoYWNjb3VudElkOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucm9vdENvbmZpZy5wcm92aWRlckFjY291bnRzKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5yb290Q29uZmlnLnByb3ZpZGVyQWNjb3VudHMuZmluZChcbiAgICAgIChhY2NvdW50KSA9PiBhY2NvdW50LmlkID09PSBhY2NvdW50SWRcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUHJvdmlkZXJBY2NvdW50RW52aXJvbm1lbnRzKGFjY291bnRUeXBlczoge1xuICAgIFtrZXk6IHN0cmluZ106IHJlYWRvbmx5IHN0cmluZ1tdO1xuICB9KSB7XG4gICAgaWYgKCF0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cykgcmV0dXJuO1xuXG4gICAgZm9yIChjb25zdCBbZW52aXJvbm1lbnRUeXBlLCBhY2NvdW50TmFtZXNdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgYWNjb3VudFR5cGVzXG4gICAgKSkge1xuICAgICAgZm9yIChjb25zdCBhY2NvdW50TmFtZSBvZiBhY2NvdW50TmFtZXMpIHtcbiAgICAgICAgY29uc3QgYWNjb3VudCA9IHRoaXMuZ2V0UHJvdmlkZXJBY2NvdW50KGFjY291bnROYW1lKTtcbiAgICAgICAgaWYgKGFjY291bnQpIHtcbiAgICAgICAgICBhY2NvdW50LmVudmlyb25tZW50ID0gZW52aXJvbm1lbnRUeXBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2V0RXhpc3RpbmdBY2NvdW50cyhyZWdpb246IHN0cmluZykge1xuICAgIC8vIE1ha2UgQVBJIENhbGxcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgT3JnYW5pemF0aW9uc0NsaWVudCh7XG4gICAgICByZWdpb246IHJlZ2lvbixcbiAgICB9KTtcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IExpc3RBY2NvdW50c0NvbW1hbmQoe1xuICAgICAgTWF4UmVzdWx0czogTnVtYmVyKFwiMjBcIiksXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5zZW5kKHJlcXVlc3QpO1xuICAgIHRoaXMuZXhpc3RpbmdBY2NvdW50c0NvbmZpZyA9IHJlc3BvbnNlLkFjY291bnRzIHx8IFtdO1xuICB9XG5cbiAgZ2V0RXhpc3RpbmdBY2NvdW50cygpOiBBY2NvdW50W10ge1xuICAgIHJldHVybiB0aGlzLmV4aXN0aW5nQWNjb3VudHNDb25maWc7XG4gIH1cblxuICBhc3luYyBnZXRBV1NBY2NvdW50SWQoKSB7XG4gICAgY29uc3Qgc3RzQ2xpZW50ID0gbmV3IFNUU0NsaWVudCh7fSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQoe30pO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3RzQ2xpZW50LnNlbmQocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gcmVzcG9uc2U/LkFjY291bnQgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0UHJpbWFyeVJlZ2lvbihyZWdpb246IHN0cmluZykge1xuICAgIHRoaXMucm9vdENvbmZpZy5wcmltYXJ5UmVnaW9uID0gcmVnaW9uO1xuICB9XG5cbiAgc2V0U2Vjb25kYXJ5UmVnaW9ucyhyZWdpb25zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucm9vdENvbmZpZy5zZWNvbmRhcnlSZWdpb25zID0gcmVnaW9ucztcbiAgfVxuXG4gIGdldFByaW1hcnlSZWdpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yb290Q29uZmlnLnByaW1hcnlSZWdpb247XG4gIH1cblxuICBnZXRTZWNvbmRhcnlSZWdpb25zKCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yb290Q29uZmlnLnNlY29uZGFyeVJlZ2lvbnM7XG4gIH1cblxuICBhc3luYyBzZXRDb3N0QWxsb2NhdGlvblRhZ3MoXG4gICAgY29zdEFsbG9jYXRpb25UYWdzOiBDb3N0QWxsb2NhdGlvblRhZ3NbXVxuICApOiBQcm9taXNlPHsgZW5hYmxlZDogYm9vbGVhbjsgaGFzVGFnczogYm9vbGVhbiB9PiB7XG4gICAgLy8gSWYgY29zdCBleHBsb3JlciBpcyBub3QgZW5hYmxlZCwgd2UgcmV0dXJuIGFuIGVtcHR5IGFycmF5XG4gICAgY29uc3QgaXNDb3N0RXhwbG9yZXJFbmFibGVkID0gYXdhaXQgdGhpcy5pc0FXU0Nvc3RFeHBsb3JlckVuYWJsZWQoKTtcbiAgICBpZiAoIWlzQ29zdEV4cGxvcmVyRW5hYmxlZCkge1xuICAgICAgdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWcgPSBbXTtcbiAgICAgIHJldHVybiB7IGVuYWJsZWQ6IGZhbHNlLCBoYXNUYWdzOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDb3N0RXhwbG9yZXJDbGllbnQoeyByZWdpb246IFwidXMtZWFzdC0xXCIgfSk7IC8vIENvc3QgZXhwbG9yZXIgb25seSBleGlzdHMgaW4gdXMtZWFzdC0xXG5cbiAgICBjb25zdCBjb21tYW5kID0gbmV3IExpc3RDb3N0QWxsb2NhdGlvblRhZ3NDb21tYW5kKHt9KTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5zZW5kKGNvbW1hbmQpO1xuXG4gICAgLy8gVGFyZ2V0IHNwZWNpZmljIHVzZXItZGVmaW5lZCB0YWdzXG4gICAgY29uc3QgdGFyZ2V0VXNlclRhZ3MgPSBbXG4gICAgICBcImZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLFxuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiLFxuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpzZXJ2aWNlXCIsXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOm93bmVyXCIsXG4gICAgXTtcblxuICAgIC8vIEZpbHRlciBhbmQgcHJvY2VzcyB0YWdzXG4gICAgdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWcgPSAocmVzcG9uc2UuQ29zdEFsbG9jYXRpb25UYWdzIHx8IFtdKVxuICAgICAgLmZpbHRlcigodGFnKSA9PiB7XG4gICAgICAgIC8vIFNraXAgdGFncyB3aXRob3V0IGEga2V5XG4gICAgICAgIGlmICghdGFnLlRhZ0tleSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIC8vIEtlZXAgYWxsIEFXUy1nZW5lcmF0ZWQgdGFnc1xuICAgICAgICBpZiAodGFnLlR5cGUgPT09IFwiQVdTR2VuZXJhdGVkXCIpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIC8vIEtlZXAgb25seSBzcGVjaWZpYyB1c2VyLWRlZmluZWQgdGFnc1xuICAgICAgICByZXR1cm4gdGFyZ2V0VXNlclRhZ3MuaW5jbHVkZXModGFnLlRhZ0tleSk7XG4gICAgICB9KVxuICAgICAgLm1hcCgodGFnKSA9PiAoe1xuICAgICAgICBUYWdLZXk6IHRhZy5UYWdLZXkgfHwgXCJcIixcbiAgICAgICAgU3RhdHVzOiB0YWcuU3RhdHVzIHx8IFwiVW5rbm93blwiLFxuICAgICAgfSkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICBoYXNUYWdzOiB0aGlzLmNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZy5sZW5ndGggPiAwLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBpc0FXU0Nvc3RFeHBsb3JlckVuYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDb3N0RXhwbG9yZXJDbGllbnQoeyByZWdpb246IFwidXMtZWFzdC0xXCIgfSk7XG5cbiAgICAgIC8vIE1ha2UgYSBzaW1wbGUgQVBJIGNhbGwgdG8gY2hlY2sgaWYgQ29zdCBFeHBsb3JlciBpcyBhY2Nlc3NpYmxlXG4gICAgICBjb25zdCBpbnB1dDogR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZElucHV0ID0ge1xuICAgICAgICBUaW1lUGVyaW9kOiB7XG4gICAgICAgICAgU3RhcnQ6IHRoaXMuZ2V0RGF0ZVhEYXlzQWdvKDMwKSxcbiAgICAgICAgICBFbmQ6IHRoaXMuZ2V0Rm9ybWF0dGVkRGF0ZShuZXcgRGF0ZSgpKSxcbiAgICAgICAgfSxcbiAgICAgICAgRGltZW5zaW9uOiBcIlNFUlZJQ0VcIixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZChpbnB1dCk7XG4gICAgICBhd2FpdCBjbGllbnQuc2VuZChjb21tYW5kKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgaWYgKGVycm9yLl9fdHlwZSA9PT0gXCJEYXRhVW5hdmFpbGFibGVFeGNlcHRpb25cIikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIFwiQ29zdCBFeHBsb3JlciBkYXRhIGlzIG5vdCBhdmFpbGFibGUgeWV0LiBUaGUgc2VydmljZSBtaWdodCBiZSBlbmFibGVkIGJ1dCBzdGlsbCBwcmVwYXJpbmcgZGF0YS5cIlxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gU2VydmljZSBpcyBlbmFibGVkIGJ1dCBkYXRhIG5vdCByZWFkeVxuICAgICAgfSBlbHNlIGlmIChlcnJvci5fX3R5cGUgPT09IFwiVW5yZWNvZ25pemVkQ2xpZW50RXhjZXB0aW9uXCIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBcIkNvc3QgRXhwbG9yZXIgaXMgbm90IGVuYWJsZWQgZm9yIHRoaXMgYWNjb3VudCBvciBjcmVkZW50aWFscyBhcmUgaW52YWxpZC5cIlxuICAgICAgICApO1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBcIlRpcDogQ2hlY2sgaWYgeW91J3ZlIGVuYWJsZSBpdCBpbiB0aGUgQVdTIEJpbGxpbmcgY29uc29sZS5cIlxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgY2hlY2tpbmcgQ29zdCBFeHBsb3JlciBzdGF0dXM6XCIsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldERhdGVYRGF5c0FnbyhkYXlzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSAtIGRheXMpO1xuICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZERhdGUoZGF0ZSk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdO1xuICB9XG5cbiAgZ2V0Q29zdEFsbG9jYXRpb25UYWdzKCk6IENvc3RBbGxvY2F0aW9uVGFnc1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBmamFsbCBjb25maWcgZGlyZWN0b3J5IHBhdGhcbiAgICogQHJldHVybnMgVGhlIHBhdGggdG8gdGhlIGZqYWxsIGNvbmZpZyBkaXJlY3Rvcnkgb3IgbnVsbCBpZiBub3QgZm91bmRcbiAgICovXG4gIHN0YXRpYyBnZXRDb25maWdEaXJlY3RvcnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIENvbmZpZy5maW5kQ29uZmlnRGlyZWN0b3J5KCk7XG4gIH1cbn1cbiJdfQ==
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsd0VBSXVDO0FBQ3ZDLG9EQUEwRTtBQUMxRSx3RUFLdUM7QUFvQ3ZDOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFFaEM7O0dBRUc7QUFDSCxNQUFhLE1BQU07SUFLakIsWUFDRSxVQUFtQixFQUNuQixzQkFBa0MsRUFDbEMsd0JBQStDO1FBRS9DLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVTtZQUMxQixDQUFDLENBQUMsVUFBVTtZQUNaLENBQUMsQ0FBQztnQkFDRSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixRQUFRLEVBQUUsRUFBRTtnQkFDWixnQkFBZ0IsRUFBRSxFQUFFO2FBQ3JCLENBQUM7UUFFTixJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCO1lBQ2xELENBQUMsQ0FBQyxzQkFBc0I7WUFDeEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0I7WUFDdEQsQ0FBQyxDQUFDLHdCQUF3QjtZQUMxQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssTUFBTSxDQUFDLG1CQUFtQjtRQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0IsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9CLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLHlCQUF5QjtRQUU5QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFB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Q3RDLENBQUM7Q0FDRjtBQTVZRCx3QkE0WUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7XG4gIEFjY291bnQsXG4gIExpc3RBY2NvdW50c0NvbW1hbmQsXG4gIE9yZ2FuaXphdGlvbnNDbGllbnQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuaW1wb3J0IHsgU1RTQ2xpZW50LCBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXN0c1wiO1xuaW1wb3J0IHtcbiAgQ29zdEV4cGxvcmVyQ2xpZW50LFxuICBMaXN0Q29zdEFsbG9jYXRpb25UYWdzQ29tbWFuZCxcbiAgR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZCxcbiAgR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZElucHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvc3QtZXhwbG9yZXJcIjtcblxudHlwZSBQcm92aWRlciA9IFwiYXdzXCI7XG5cbmV4cG9ydCB0eXBlIFNlcnZpY2VDb25maWcgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBudW1iZXI7XG4gIG9wdGlvbnM/OiBvYmplY3Q7XG4gIGRvY2tlckNvbmZpZz86IHtcbiAgICBkb2NrZXJmaWxlUGF0aDogc3RyaW5nO1xuICAgIGNvbnRhaW5lclBvcnQ6IG51bWJlcjtcbiAgfTtcbn07XG5cbnR5cGUgUHJvdmlkZXJBY2NvdW50ID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG59O1xuXG50eXBlIFJvb3RDb25maWcgPSB7XG4gIHZlcnNpb24/OiBudW1iZXI7XG4gIGRldmVsb3BtZW50PzogYm9vbGVhbjtcbiAgc2VydmljZXM/OiB7IFtrZXk6IHN0cmluZ106IFNlcnZpY2VDb25maWcgfTtcbiAgcHJvdmlkZXI/OiBQcm92aWRlcjtcbiAgcHJvdmlkZXJBY2NvdW50cz86IFByb3ZpZGVyQWNjb3VudFtdO1xuICBwcmltYXJ5UmVnaW9uPzogc3RyaW5nO1xuICBzZWNvbmRhcnlSZWdpb25zPzogc3RyaW5nW107XG59O1xuXG50eXBlIENvc3RBbGxvY2F0aW9uVGFncyA9IHtcbiAgVGFnS2V5OiBzdHJpbmc7XG4gIFN0YXR1czogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBUaGUgY3VycmVudCBiYXNlLXZlcnNpb24gb2YgYW55IG5ld2x5IGNyZWF0ZWQgY29uZmlnIGZpbGVcbiAqL1xuY29uc3QgQkFTRV9DT05GSUdfVkVSU0lPTiA9IDAuMTtcblxuLyoqXG4gKiBDb25maWcgY2xhc3MgZm9yIGxvYWRpbmcgYW5kIHNhdmluZyBmamFsbC1jb25maWcuanNvbiBmaWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWcge1xuICByb290Q29uZmlnOiBSb290Q29uZmlnO1xuICBleGlzdGluZ0FjY291bnRzQ29uZmlnOiBBY2NvdW50W107XG4gIGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZzogQ29zdEFsbG9jYXRpb25UYWdzW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcm9vdENvbmZpZz86IG9iamVjdCxcbiAgICBleGlzdGluZ0FjY291bnRzQ29uZmlnPzogQWNjb3VudFtdLFxuICAgIGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZz86IENvc3RBbGxvY2F0aW9uVGFnc1tdXG4gICkge1xuICAgIHRoaXMucm9vdENvbmZpZyA9IHJvb3RDb25maWdcbiAgICAgID8gcm9vdENvbmZpZ1xuICAgICAgOiB7XG4gICAgICAgICAgdmVyc2lvbjogQkFTRV9DT05GSUdfVkVSU0lPTixcbiAgICAgICAgICBzZXJ2aWNlczoge30sXG4gICAgICAgICAgcHJvdmlkZXJBY2NvdW50czogW10sXG4gICAgICAgIH07XG5cbiAgICB0aGlzLmV4aXN0aW5nQWNjb3VudHNDb25maWcgPSBleGlzdGluZ0FjY291bnRzQ29uZmlnXG4gICAgICA/IGV4aXN0aW5nQWNjb3VudHNDb25maWdcbiAgICAgIDogW107XG5cbiAgICB0aGlzLmNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZyA9IGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZ1xuICAgICAgPyBjb3N0QWxsb2NhdGlvblRhZ3NDb25maWdcbiAgICAgIDogW107XG4gIH1cblxuICBpc0RldmVsb3BtZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucm9vdENvbmZpZz8uZGV2ZWxvcG1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRmluZCB0aGUgZmphbGwgY29uZmlnIGRpcmVjdG9yeSBieSB3YWxraW5nIHVwIHRoZSBkaXJlY3RvcnkgdHJlZVxuICAgKiBAcmV0dXJucyBUaGUgcGF0aCB0byB0aGUgZmphbGwgY29uZmlnIGRpcmVjdG9yeSBvciBudWxsIGlmIG5vdCBmb3VuZFxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZENvbmZpZ0RpcmVjdG9yeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5cbiAgICBsZXQgY3VycmVudERpciA9IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgbWF4RGVwdGggPSAxMDsgLy8gUHJldmVudCBpbmZpbml0ZSBsb29wc1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhEZXB0aDsgaSsrKSB7XG4gICAgICAvLyBDaGVjayBpZiBjdXJyZW50IGRpcmVjdG9yeSBjb250YWlucyBmamFsbCBjb25maWcgZmlsZXNcbiAgICAgIGNvbnN0IGZqYWxsRGlyID0gcGF0aC5qb2luKGN1cnJlbnREaXIsIFwiZmphbGxcIik7XG4gICAgICBjb25zdCBjb25maWdGaWxlID0gcGF0aC5qb2luKGZqYWxsRGlyLCBcImZqYWxsLWNvbmZpZy5qc29uXCIpO1xuXG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhjb25maWdGaWxlKSkge1xuICAgICAgICByZXR1cm4gZmphbGxEaXI7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGN1cnJlbnQgZGlyZWN0b3J5IElTIHRoZSBmamFsbCBjb25maWcgZGlyZWN0b3J5XG4gICAgICBjb25zdCBkaXJlY3RDb25maWdGaWxlID0gcGF0aC5qb2luKGN1cnJlbnREaXIsIFwiZmphbGwtY29uZmlnLmpzb25cIik7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhkaXJlY3RDb25maWdGaWxlKSkge1xuICAgICAgICByZXR1cm4gY3VycmVudERpcjtcbiAgICAgIH1cblxuICAgICAgLy8gTW92ZSB1cCBvbmUgZGlyZWN0b3J5XG4gICAgICBjb25zdCBwYXJlbnREaXIgPSBwYXRoLmRpcm5hbWUoY3VycmVudERpcik7XG4gICAgICBpZiAocGFyZW50RGlyID09PSBjdXJyZW50RGlyKSBicmVhazsgLy8gUmVhY2hlZCBmaWxlc3lzdGVtIHJvb3RcbiAgICAgIGN1cnJlbnREaXIgPSBwYXJlbnREaXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBjb25maWcgZmlsZSBpbnRvIG1lbW9yeSBhcyBhIHJhdyBKU09OIHN0cmluZ1xuICAgKiBAcmV0dXJucyBDb25maWcgYXMgSlNPTiBzdHJpbmcgb3IgTlVMTCBpZiBubyBjb25maWcgZmlsZSBhY2Nlc3NpYmxlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBsb2FkQ29uZmlnRmlsZShjb25maWdGaWxlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgZnMuYWNjZXNzU3luYyhjb25maWdGaWxlLCBmcy5jb25zdGFudHMuUl9PSyB8IGZzLmNvbnN0YW50cy5XX09LKTtcblxuICAgICAgcmV0dXJuIGZzLnJlYWRGaWxlU3luYyhjb25maWdGaWxlLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gY29uc29sZS5sb2coXG4gICAgICAvLyAgIGBFeHBlY3RlZCBmaWxlICcke2NvbmZpZ0ZpbGV9JyBkb2VzIG5vdCBleGlzdCBvciBjYW5ub3QgYmUgcmVhZC5gXG4gICAgICAvLyApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgY29uZmlndXJhdGlvbiBmcm9tIGZpbGVcbiAgICpcbiAgICogQHJldHVybnMgTG9hZGVkIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHN0YXRpYyBsb2FkQ29uZmlnKCk6IENvbmZpZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbmZpZ0RpciA9IENvbmZpZy5maW5kQ29uZmlnRGlyZWN0b3J5KCk7XG4gICAgICBpZiAoIWNvbmZpZ0Rpcikge1xuICAgICAgICAvLyBSZXR1cm4gZGVmYXVsdCBjb25maWcgaWYgbm8gY29uZmlnIGRpcmVjdG9yeSBmb3VuZFxuICAgICAgICByZXR1cm4gbmV3IENvbmZpZygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgICBjb25zdCByb290Q29uZmlnSnNvbiA9IENvbmZpZy5sb2FkQ29uZmlnRmlsZShcbiAgICAgICAgcGF0aC5qb2luKGNvbmZpZ0RpciwgXCJmamFsbC1jb25maWcuanNvblwiKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQWNjb3VudEpzb24gPSBDb25maWcubG9hZENvbmZpZ0ZpbGUoXG4gICAgICAgIHBhdGguam9pbihjb25maWdEaXIsIFwiYWNjb3VudHMtY29uZmlnLmpzb25cIilcbiAgICAgICk7XG4gICAgICBjb25zdCBjb3N0QWxsb2NhdGlvblRhZ3NKc29uID0gQ29uZmlnLmxvYWRDb25maWdGaWxlKFxuICAgICAgICBwYXRoLmpvaW4oY29uZmlnRGlyLCBcImNvc3QtYWxsb2NhdGlvbi10YWdzLWNvbmZpZy5qc29uXCIpXG4gICAgICApO1xuXG4gICAgICBjb25zdCByb290Q29uZmlnID0gcm9vdENvbmZpZ0pzb25cbiAgICAgICAgPyBKU09OLnBhcnNlKHJvb3RDb25maWdKc29uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQWNjb3VudHNDb25maWcgPSBleGlzdGluZ0FjY291bnRKc29uXG4gICAgICAgID8gSlNPTi5wYXJzZShleGlzdGluZ0FjY291bnRKc29uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZyA9IGNvc3RBbGxvY2F0aW9uVGFnc0pzb25cbiAgICAgICAgPyBKU09OLnBhcnNlKGNvc3RBbGxvY2F0aW9uVGFnc0pzb24pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICByZXR1cm4gbmV3IENvbmZpZyhcbiAgICAgICAgcm9vdENvbmZpZyxcbiAgICAgICAgZXhpc3RpbmdBY2NvdW50c0NvbmZpZyxcbiAgICAgICAgY29zdEFsbG9jYXRpb25UYWdzQ29uZmlnXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihcIlVuYWJsZSB0byBwYXJzZSBjb25maWcgZmlsZS4gQWJvcnRpbmcuXCIsIGVycik7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgY29uZmlndXJhdGlvbiB0byBmaWxlXG4gICAqL1xuICBzYXZlQ29uZmlnKCkge1xuICAgIGNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbiAgICBjb25zdCBjb25maWdEaXIgPVxuICAgICAgQ29uZmlnLmZpbmRDb25maWdEaXJlY3RvcnkoKSB8fCBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJmamFsbFwiKTtcblxuICAgIC8vIEVuc3VyZSBkaXJlY3RvcnkgZXhpc3RzXG4gICAgZnMubWtkaXJTeW5jKGNvbmZpZ0RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCByb290SnNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMucm9vdENvbmZpZywgbnVsbCwgMik7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oY29uZmlnRGlyLCBcImZqYWxsLWNvbmZpZy5qc29uXCIpLCByb290SnNvblN0cmluZyk7XG5cbiAgICBjb25zdCBleGlzdGluZ0FjY291bnRzSnNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgdGhpcy5leGlzdGluZ0FjY291bnRzQ29uZmlnLFxuICAgICAgbnVsbCxcbiAgICAgIDJcbiAgICApO1xuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oY29uZmlnRGlyLCBcImFjY291bnRzLWNvbmZpZy5qc29uXCIpLFxuICAgICAgZXhpc3RpbmdBY2NvdW50c0pzb25TdHJpbmdcbiAgICApO1xuXG4gICAgY29uc3QgY29zdEFsbG9jYXRpb25UYWdzSnNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWcsXG4gICAgICBudWxsLFxuICAgICAgMlxuICAgICk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihjb25maWdEaXIsIFwiY29zdC1hbGxvY2F0aW9uLXRhZ3MtY29uZmlnLmpzb25cIiksXG4gICAgICBjb3N0QWxsb2NhdGlvblRhZ3NKc29uU3RyaW5nXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNjaGVtYSB2ZXJzaW9uIHVzZWQgZm9yIHRoaXMgY29uZmlnIGZpbGVcbiAgICpcbiAgICogQHBhcmFtIHZlcnNpb24gU2NoZW1hIFZlcnNpb25cbiAgICovXG4gIHNldFZlcnNpb24odmVyc2lvbjogbnVtYmVyKSB7XG4gICAgdGhpcy5yb290Q29uZmlnLnZlcnNpb24gPSB2ZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBzZXJ2aWNlIHRvIHRoZSBjb25maWcgZmlsZVxuICAgKiBAcGFyYW0gc2VydmljZUtleSBOYW1lL2tleSBvZiB0aGUgc2VydmljZVxuICAgKiBAcGFyYW0gY29uZmlnIFNlcnZpY2UgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzXG4gICAqL1xuICBhZGRTZXJ2aWNlKHNlcnZpY2VLZXk6IHN0cmluZywgY29uZmlnOiBTZXJ2aWNlQ29uZmlnKSB7XG4gICAgaWYgKCF0aGlzLnJvb3RDb25maWcuc2VydmljZXMpIHRoaXMucm9vdENvbmZpZy5zZXJ2aWNlcyA9IHt9O1xuICAgIHRoaXMucm9vdENvbmZpZy5zZXJ2aWNlc1tzZXJ2aWNlS2V5XSA9IGNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY29uZmlnIG9wdGlvbnMgb24gYSBwcmV2aW91c2x5IGRlZmluZWQgc2VydmljZVxuICAgKlxuICAgKiBAcGFyYW0gc2VydmljZUtleSBOYW1lL2tleSBvZiB0aGUgc2VydmljZVxuICAgKiBAcGFyYW0gY29uZmlnIFNlcnZpY2UgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIHRvIHNldFxuICAgKi9cbiAgc2V0U2VydmljZU9wdGlvbihzZXJ2aWNlS2V5OiBzdHJpbmcsIGNvbmZpZzogU2VydmljZUNvbmZpZykge1xuICAgIGlmICghdGhpcy5yb290Q29uZmlnLnNlcnZpY2VzKSB0aGlzLnJvb3RDb25maWcuc2VydmljZXMgPSB7fTtcblxuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLnJvb3RDb25maWcuc2VydmljZXNbc2VydmljZUtleV07XG4gICAgaWYgKCFzZXJ2aWNlKSByZXR1cm47XG5cbiAgICB0aGlzLnJvb3RDb25maWcuc2VydmljZXNbc2VydmljZUtleV0gPSB7IC4uLnNlcnZpY2UsIC4uLmNvbmZpZyB9O1xuICB9XG5cbiAgZ2V0U2VydmljZUNvbmZpZyhzZXJ2aWNlS2V5OiBzdHJpbmcpOiBTZXJ2aWNlQ29uZmlnIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLnJvb3RDb25maWcuc2VydmljZXMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJvb3RDb25maWcuc2VydmljZXNbc2VydmljZUtleV0gfHwgbnVsbDtcbiAgfVxuXG4gIHNldFByb3ZpZGVyKHByb3ZpZGVyOiBQcm92aWRlcikge1xuICAgIHRoaXMucm9vdENvbmZpZy5wcm92aWRlciA9IHByb3ZpZGVyO1xuICB9XG5cbiAgYWRkUHJvdmlkZXJBY2NvdW50KGFjY291bnQ6IFByb3ZpZGVyQWNjb3VudCkge1xuICAgIGlmICghdGhpcy5yb290Q29uZmlnLnByb3ZpZGVyQWNjb3VudHMpXG4gICAgICB0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cyA9IFtdO1xuXG4gICAgLy8gZW5zdXJlIGFjY291bnQgbmFtZSBpcyBhbHdheXMgbG93ZXJjYXNlXG4gICAgYWNjb3VudC5uYW1lID0gYWNjb3VudC5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG5cbiAgICB0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cy5wdXNoKGFjY291bnQpO1xuICB9XG5cbiAgZ2V0UHJvdmlkZXJBY2NvdW50KGFjY291bnROYW1lOiBzdHJpbmcpIHtcbiAgICAvLyBUT0RPOiBGaXggbnVsbCBlcnJvclxuICAgIGlmICghdGhpcy5yb290Q29uZmlnLnByb3ZpZGVyQWNjb3VudHMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cy5maW5kKFxuICAgICAgKGFjY291bnQpID0+XG4gICAgICAgIGFjY291bnQubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBhY2NvdW50TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpXG4gICAgKTtcbiAgfVxuXG4gIGdldFByb3ZpZGVyQWNjb3VudEJ5SWQoYWNjb3VudElkOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucm9vdENvbmZpZy5wcm92aWRlckFjY291bnRzKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5yb290Q29uZmlnLnByb3ZpZGVyQWNjb3VudHMuZmluZChcbiAgICAgIChhY2NvdW50KSA9PiBhY2NvdW50LmlkID09PSBhY2NvdW50SWRcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUHJvdmlkZXJBY2NvdW50RW52aXJvbm1lbnRzKGFjY291bnRUeXBlczoge1xuICAgIFtrZXk6IHN0cmluZ106IHJlYWRvbmx5IHN0cmluZ1tdO1xuICB9KSB7XG4gICAgaWYgKCF0aGlzLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cykgcmV0dXJuO1xuXG4gICAgZm9yIChjb25zdCBbZW52aXJvbm1lbnRUeXBlLCBhY2NvdW50TmFtZXNdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgYWNjb3VudFR5cGVzXG4gICAgKSkge1xuICAgICAgZm9yIChjb25zdCBhY2NvdW50TmFtZSBvZiBhY2NvdW50TmFtZXMpIHtcbiAgICAgICAgY29uc3QgYWNjb3VudCA9IHRoaXMuZ2V0UHJvdmlkZXJBY2NvdW50KGFjY291bnROYW1lKTtcbiAgICAgICAgaWYgKGFjY291bnQpIHtcbiAgICAgICAgICBhY2NvdW50LmVudmlyb25tZW50ID0gZW52aXJvbm1lbnRUeXBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2V0RXhpc3RpbmdBY2NvdW50cyhyZWdpb246IHN0cmluZykge1xuICAgIC8vIE1ha2UgQVBJIENhbGxcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgT3JnYW5pemF0aW9uc0NsaWVudCh7XG4gICAgICByZWdpb246IHJlZ2lvbixcbiAgICB9KTtcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IExpc3RBY2NvdW50c0NvbW1hbmQoe1xuICAgICAgTWF4UmVzdWx0czogTnVtYmVyKFwiMjBcIiksXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5zZW5kKHJlcXVlc3QpO1xuICAgIHRoaXMuZXhpc3RpbmdBY2NvdW50c0NvbmZpZyA9IHJlc3BvbnNlLkFjY291bnRzIHx8IFtdO1xuICB9XG5cbiAgZ2V0RXhpc3RpbmdBY2NvdW50cygpOiBBY2NvdW50W10ge1xuICAgIHJldHVybiB0aGlzLmV4aXN0aW5nQWNjb3VudHNDb25maWc7XG4gIH1cblxuICBhc3luYyBnZXRBV1NBY2NvdW50SWQoKSB7XG4gICAgY29uc3Qgc3RzQ2xpZW50ID0gbmV3IFNUU0NsaWVudCh7fSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQoe30pO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3RzQ2xpZW50LnNlbmQocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gcmVzcG9uc2U/LkFjY291bnQgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0UHJpbWFyeVJlZ2lvbihyZWdpb246IHN0cmluZykge1xuICAgIHRoaXMucm9vdENvbmZpZy5wcmltYXJ5UmVnaW9uID0gcmVnaW9uO1xuICB9XG5cbiAgc2V0U2Vjb25kYXJ5UmVnaW9ucyhyZWdpb25zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucm9vdENvbmZpZy5zZWNvbmRhcnlSZWdpb25zID0gcmVnaW9ucztcbiAgfVxuXG4gIGdldFByaW1hcnlSZWdpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yb290Q29uZmlnLnByaW1hcnlSZWdpb247XG4gIH1cblxuICBnZXRTZWNvbmRhcnlSZWdpb25zKCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yb290Q29uZmlnLnNlY29uZGFyeVJlZ2lvbnM7XG4gIH1cblxuICBhc3luYyBzZXRDb3N0QWxsb2NhdGlvblRhZ3MoXG4gICAgY29zdEFsbG9jYXRpb25UYWdzOiBDb3N0QWxsb2NhdGlvblRhZ3NbXVxuICApOiBQcm9taXNlPHsgZW5hYmxlZDogYm9vbGVhbjsgaGFzVGFnczogYm9vbGVhbiB9PiB7XG4gICAgLy8gSWYgY29zdCBleHBsb3JlciBpcyBub3QgZW5hYmxlZCwgd2UgcmV0dXJuIGFuIGVtcHR5IGFycmF5XG4gICAgY29uc3QgaXNDb3N0RXhwbG9yZXJFbmFibGVkID0gYXdhaXQgdGhpcy5pc0FXU0Nvc3RFeHBsb3JlckVuYWJsZWQoKTtcbiAgICBpZiAoIWlzQ29zdEV4cGxvcmVyRW5hYmxlZCkge1xuICAgICAgdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWcgPSBbXTtcbiAgICAgIHJldHVybiB7IGVuYWJsZWQ6IGZhbHNlLCBoYXNUYWdzOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDb3N0RXhwbG9yZXJDbGllbnQoeyByZWdpb246IFwidXMtZWFzdC0xXCIgfSk7IC8vIENvc3QgZXhwbG9yZXIgb25seSBleGlzdHMgaW4gdXMtZWFzdC0xXG5cbiAgICBjb25zdCBjb21tYW5kID0gbmV3IExpc3RDb3N0QWxsb2NhdGlvblRhZ3NDb21tYW5kKHt9KTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5zZW5kKGNvbW1hbmQpO1xuXG4gICAgLy8gVGFyZ2V0IHNwZWNpZmljIHVzZXItZGVmaW5lZCB0YWdzXG4gICAgY29uc3QgdGFyZ2V0VXNlclRhZ3MgPSBbXG4gICAgICBcImZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLFxuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiLFxuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpzZXJ2aWNlXCIsXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOm93bmVyXCIsXG4gICAgXTtcblxuICAgIC8vIEZpbHRlciBhbmQgcHJvY2VzcyB0YWdzXG4gICAgdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWcgPSAocmVzcG9uc2UuQ29zdEFsbG9jYXRpb25UYWdzIHx8IFtdKVxuICAgICAgLmZpbHRlcigodGFnKSA9PiB7XG4gICAgICAgIC8vIFNraXAgdGFncyB3aXRob3V0IGEga2V5XG4gICAgICAgIGlmICghdGFnLlRhZ0tleSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIC8vIEtlZXAgYWxsIEFXUy1nZW5lcmF0ZWQgdGFnc1xuICAgICAgICBpZiAodGFnLlR5cGUgPT09IFwiQVdTR2VuZXJhdGVkXCIpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIC8vIEtlZXAgb25seSBzcGVjaWZpYyB1c2VyLWRlZmluZWQgdGFnc1xuICAgICAgICByZXR1cm4gdGFyZ2V0VXNlclRhZ3MuaW5jbHVkZXModGFnLlRhZ0tleSk7XG4gICAgICB9KVxuICAgICAgLm1hcCgodGFnKSA9PiAoe1xuICAgICAgICBUYWdLZXk6IHRhZy5UYWdLZXkgfHwgXCJcIixcbiAgICAgICAgU3RhdHVzOiB0YWcuU3RhdHVzIHx8IFwiVW5rbm93blwiLFxuICAgICAgfSkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICBoYXNUYWdzOiB0aGlzLmNvc3RBbGxvY2F0aW9uVGFnc0NvbmZpZy5sZW5ndGggPiAwLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBpc0FXU0Nvc3RFeHBsb3JlckVuYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDb3N0RXhwbG9yZXJDbGllbnQoeyByZWdpb246IFwidXMtZWFzdC0xXCIgfSk7XG5cbiAgICAgIC8vIE1ha2UgYSBzaW1wbGUgQVBJIGNhbGwgdG8gY2hlY2sgaWYgQ29zdCBFeHBsb3JlciBpcyBhY2Nlc3NpYmxlXG4gICAgICBjb25zdCBpbnB1dDogR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZElucHV0ID0ge1xuICAgICAgICBUaW1lUGVyaW9kOiB7XG4gICAgICAgICAgU3RhcnQ6IHRoaXMuZ2V0RGF0ZVhEYXlzQWdvKDMwKSxcbiAgICAgICAgICBFbmQ6IHRoaXMuZ2V0Rm9ybWF0dGVkRGF0ZShuZXcgRGF0ZSgpKSxcbiAgICAgICAgfSxcbiAgICAgICAgRGltZW5zaW9uOiBcIlNFUlZJQ0VcIixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0RGltZW5zaW9uVmFsdWVzQ29tbWFuZChpbnB1dCk7XG4gICAgICBhd2FpdCBjbGllbnQuc2VuZChjb21tYW5kKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgaWYgKGVycm9yLl9fdHlwZSA9PT0gXCJEYXRhVW5hdmFpbGFibGVFeGNlcHRpb25cIikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIFwiQ29zdCBFeHBsb3JlciBkYXRhIGlzIG5vdCBhdmFpbGFibGUgeWV0LiBUaGUgc2VydmljZSBtaWdodCBiZSBlbmFibGVkIGJ1dCBzdGlsbCBwcmVwYXJpbmcgZGF0YS5cIlxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gU2VydmljZSBpcyBlbmFibGVkIGJ1dCBkYXRhIG5vdCByZWFkeVxuICAgICAgfSBlbHNlIGlmIChlcnJvci5fX3R5cGUgPT09IFwiVW5yZWNvZ25pemVkQ2xpZW50RXhjZXB0aW9uXCIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBcIkNvc3QgRXhwbG9yZXIgaXMgbm90IGVuYWJsZWQgZm9yIHRoaXMgYWNjb3VudCBvciBjcmVkZW50aWFscyBhcmUgaW52YWxpZC5cIlxuICAgICAgICApO1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBcIlRpcDogQ2hlY2sgaWYgeW91J3ZlIGVuYWJsZSBpdCBpbiB0aGUgQVdTIEJpbGxpbmcgY29uc29sZS5cIlxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgY2hlY2tpbmcgQ29zdCBFeHBsb3JlciBzdGF0dXM6XCIsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldERhdGVYRGF5c0FnbyhkYXlzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSAtIGRheXMpO1xuICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZERhdGUoZGF0ZSk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdO1xuICB9XG5cbiAgZ2V0Q29zdEFsbG9jYXRpb25UYWdzKCk6IENvc3RBbGxvY2F0aW9uVGFnc1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb3N0QWxsb2NhdGlvblRhZ3NDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBmamFsbCBjb25maWcgZGlyZWN0b3J5IHBhdGhcbiAgICogQHJldHVybnMgVGhlIHBhdGggdG8gdGhlIGZqYWxsIGNvbmZpZyBkaXJlY3Rvcnkgb3IgbnVsbCBpZiBub3QgZm91bmRcbiAgICovXG4gIHN0YXRpYyBnZXRDb25maWdEaXJlY3RvcnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIENvbmZpZy5maW5kQ29uZmlnRGlyZWN0b3J5KCk7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/util",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "Common utility methods",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"overrides": {
|
|
29
29
|
"@smithy/core": "2.5.5"
|
|
30
30
|
},
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "787210209fbb4197ab10bab85a70adb00c78d850"
|
|
32
32
|
}
|