@cdktn/commons 0.24.0-pre.66 → 0.24.0-pre.69
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/build/debug.d.ts.map +1 -1
- package/build/debug.js +2 -2
- package/build/debug.test.d.ts +2 -0
- package/build/debug.test.d.ts.map +1 -0
- package/build/debug.test.js +79 -0
- package/package.json +2 -2
package/build/debug.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAWA,wBAAgB,WAAW,CAAC,WAAW,SAAgB,GAAG,MAAM,GAAG,SAAS,CAW3E;AAsBD,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAgB,cAAc,gCAE7B;AACD,wBAAgB,eAAe,gCAE9B;AAED,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAsB,gBAAgB,gCAKrC;AACD,wBAAgB,aAAa,gCAE5B;AACD,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAgB,YAAY,gCAE3B;AAED,wBAAgB,cAAc,gCAE7B;
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAWA,wBAAgB,WAAW,CAAC,WAAW,SAAgB,GAAG,MAAM,GAAG,SAAS,CAW3E;AAsBD,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAgB,cAAc,gCAE7B;AACD,wBAAgB,eAAe,gCAE9B;AAED,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAsB,gBAAgB,gCAKrC;AACD,wBAAgB,aAAa,gCAE5B;AACD,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAgB,YAAY,gCAE3B;AAED,wBAAgB,cAAc,gCAE7B;AA8RD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B;AAED,wBAAsB,uBAAuB,2CAsD5C"}
|
package/build/debug.js
CHANGED
|
@@ -134,7 +134,7 @@ async function getPnpmNodeModuleVersion(packageName) {
|
|
|
134
134
|
async function getNpmNodeModuleVersion(packageName) {
|
|
135
135
|
let output;
|
|
136
136
|
try {
|
|
137
|
-
output = await (0, util_1.exec)("npm", ["list", packageName, "--json"], {
|
|
137
|
+
output = await (0, util_1.exec)("npm", ["list", packageName, "--json", "--include=dev"], {
|
|
138
138
|
env: { ...process.env },
|
|
139
139
|
});
|
|
140
140
|
}
|
|
@@ -376,4 +376,4 @@ async function collectDebugInformation() {
|
|
|
376
376
|
return debugOutput;
|
|
377
377
|
}
|
|
378
378
|
exports.collectDebugInformation = collectDebugInformation;
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUE2QjtBQUM3Qix1Q0FBeUI7QUFDekIsdUNBQW1DO0FBQ25DLGlDQUE4QjtBQUM5QiwyQ0FBK0M7QUFDL0MsdUNBQTRDO0FBQzVDLHVDQUFvRDtBQUNwRCxxQ0FBb0U7QUFFcEUsU0FBZ0IsV0FBVyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO0lBQ3JELElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQzFCLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDL0QsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBQUMsV0FBTSxDQUFDO1FBQ1AsaUNBQWlDO1FBQ2pDLGdCQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBWEQsa0NBV0M7QUFFRCxLQUFLLFVBQVUsZ0JBQWdCLENBQzdCLE1BQWMsRUFDZCxjQUFzQjtJQUV0QixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDdEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLFdBQUksRUFDdkIsTUFBTSxFQUNOLENBQUMsY0FBYyxDQUFDLEVBQ2hCLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUM3RCxJQUFJLEVBQ0os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Q0FBQztnQkFDOUIsTUFBTSxLQUFLLEdBQUcsZUFBZSxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7Z0JBQ2xDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxJQUFJLENBQUMsbUNBQUksSUFBSSxDQUFDO2dCQUMzQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sS0FBSyxDQUFDLG1DQUFJLElBQUksQ0FBQztnQkFDN0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDakQsQ0FBQztZQUNELE1BQU07UUFDUixLQUFLLFFBQVE7WUFDWCxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDM0QsTUFBTTtRQUNSLEtBQUssSUFBSTtZQUNQLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxZQUFZLEVBQUUsQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDbkQsTUFBTTtJQUNWLENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBdERELDBEQXNEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBvcyBmcm9tIFwib3NcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyB0ZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdGVycmFmb3JtXCI7XG5pbXBvcnQgeyBESVNQTEFZX1ZFUlNJT04gfSBmcm9tIFwiLi92ZXJzaW9uXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzLCByZWFkRmlsZVN5bmMgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uLCBpc0dyYWRsZVByb2plY3QgfSBmcm9tIFwiLi9ncmFkbGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhbmd1YWdlKHByb2plY3RQYXRoID0gcHJvY2Vzcy5jd2QoKSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgY2RrdGZKc29uID0gSlNPTi5wYXJzZShcbiAgICAgIHJlYWRGaWxlU3luYyhwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKSwgXCJ1dGYtOFwiKSxcbiAgICApO1xuICAgIHJldHVybiBjZGt0Zkpzb24ubGFuZ3VhZ2U7XG4gIH0gY2F0Y2gge1xuICAgIC8vIFdlIGNhbiBub3QgZGV0ZWN0IHRoZSBsYW5ndWFnZVxuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIGRldGVjdCBsYW5ndWFnZSBpbiAke3Byb2plY3RQYXRofWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QmluYXJ5VmVyc2lvbihcbiAgYmluYXJ5OiBzdHJpbmcsXG4gIHZlcnNpb25Db21tYW5kOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBub09wID0gKCkgPT4ge307XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlYyhcbiAgICAgIGJpbmFyeSxcbiAgICAgIFt2ZXJzaW9uQ29tbWFuZF0sXG4gICAgICB7IGVudjogcHJvY2Vzcy5lbnYsIHN0ZGlvOiBbdW5kZWZpbmVkLCB1bmRlZmluZWQsIFwiaWdub3JlXCJdIH0sXG4gICAgICBub09wLFxuICAgICAgbm9PcCxcbiAgICApO1xuICAgIHJldHVybiByZXN1bHQudHJpbSgpLnJlcGxhY2UoL1xccj9cXG58XFxyL2csIFwiXCIpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gcnVuICR7YmluYXJ5fSAke3ZlcnNpb25Db21tYW5kfTogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvdG5ldFZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiZG90bmV0XCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SmF2YVZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiamF2YVwiLCBcIi12ZXJzaW9uXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdmVuVmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJtdm5cIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHcmFkbGVWZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcImdyYWRsZVwiLCBcIi0tdmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFB5dGhvblZlcnNpb24oKSB7XG4gIHJldHVybiAoXG4gICAgKGF3YWl0IGdldEJpbmFyeVZlcnNpb24oXCJweXRob24zXCIsIFwiLS12ZXJzaW9uXCIpKSB8fFxuICAgIChhd2FpdCBnZXRCaW5hcnlWZXJzaW9uKFwicHl0aG9uXCIsIFwiLS12ZXJzaW9uXCIpKVxuICApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBpcFZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwicGlwXCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBpcGVudlZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwicGlwZW52XCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R29WZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcImdvXCIsIFwidmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVWZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcIm5vZGVcIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgLy8gVXNlIHRoZSBwcmVzZW5jZSBvZiB0aGUgcG5wbSBsb2NrIGZpbGUgYXMgYSBzaWduYWwgdGhhdFxuICAvLyB3ZSBzaG91bGQgaW50ZXJyb2dhdGUgcGFja2FnZXMgdmlhIHBucG0gaW5zdGVhZCBvZiBucG0uXG4gIGNvbnN0IHVzaW5nUG5wbSA9IGF3YWl0IHBhdGhFeGlzdHMoXCJwbnBtLWxvY2sueWFtbFwiKTtcblxuICByZXR1cm4gdXNpbmdQbnBtXG4gICAgPyBnZXRQbnBtTm9kZU1vZHVsZVZlcnNpb24ocGFja2FnZU5hbWUpXG4gICAgOiBnZXROcG1Ob2RlTW9kdWxlVmVyc2lvbihwYWNrYWdlTmFtZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFBucG1Ob2RlTW9kdWxlVmVyc2lvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBvdXRwdXQ7XG5cbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicG5wbVwiLCBbXCJsaXN0XCIsIHBhY2thZ2VOYW1lLCBcIi0tanNvblwiXSwge1xuICAgICAgZW52OiB7IC4uLnByb2Nlc3MuZW52IH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ3BucG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBqc29uO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIHBhcnNlIG91dHB1dCBvZiAncG5wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7ZX1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChcbiAgICAhanNvbiB8fFxuICAgICFBcnJheS5pc0FycmF5KGpzb24pIHx8XG4gICAganNvbi5sZW5ndGggPT09IDAgfHxcbiAgICAhanNvblswXT8uZGVwZW5kZW5jaWVzPy5bcGFja2FnZU5hbWVdPy52ZXJzaW9uXG4gICkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCAnJHtwYWNrYWdlTmFtZX0nIGluICdwbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ganNvblswXS5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb247XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE5wbU5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IG91dHB1dDtcblxuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJucG1cIiwgW1wibGlzdFwiLCBwYWNrYWdlTmFtZSwgXCItLWpzb25cIl0sIHtcbiAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiB9LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICducG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBqc29uO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIHBhcnNlIG91dHB1dCBvZiAnbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKFxuICAgICFqc29uLmRlcGVuZGVuY2llcyB8fFxuICAgICFqc29uLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gfHxcbiAgICAhanNvbi5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb25cbiAgKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kICcke3BhY2thZ2VOYW1lfScgaW4gJ25wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIGpzb24uZGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXS52ZXJzaW9uO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBvdXRwdXQ7XG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcGVudlwiLCBbXCJydW5cIiwgXCJwaXBcIiwgXCJzaG93XCIsIFwiLXFxXCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcblxuICAgIC8vIFJ1bm5pbmcgd2l0aCBgLXFxYCBzdXBwcmVzc2VzIGJvdGggbWlzc2luZyBwYWNrYWdlcyBhbmQgYWN0dWFsIHBhY2thZ2VcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwZW52XCIsIFtcInJ1blwiLCBcInBpcFwiLCBcInNob3dcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXBlbnYgcnVuIHBpcCBzaG93ICR7cGFja2FnZU5hbWV9JzogJHtlfWApO1xuICB9XG5cbiAgLy8gSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBvdXRwdXQgdXNpbmcgcGlwZW52LCB0cnkgdG8gZ2V0IGl0IHVzaW5nIHBpcCBkaXJlY3RseVxuICBpZiAoIW91dHB1dCkge1xuICAgIHRyeSB7XG4gICAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwXCIsIFtcInNob3dcIiwgXCItcXFcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICB9KTtcblxuICAgICAgLy8gUnVubmluZyB3aXRoIGAtcXFgIHN1cHByZXNzZXMgYm90aCBtaXNzaW5nIHBhY2thZ2VzIGFuZCBhY3R1YWwgcGFja2FnZVxuICAgICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcFwiLCBbXCJzaG93XCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXAgc2hvdyAke3BhY2thZ2VOYW1lfSc6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW91dHB1dCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB2ZXJzaW9uSW5mbyA9IG91dHB1dFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLnN0YXJ0c1dpdGgoXCJWZXJzaW9uOlwiKSk7XG5cbiAgaWYgKCF2ZXJzaW9uSW5mbykge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGluIG91dHB1dCBvZiAncGlwZW52IHJ1biBwaXAgc2hvdyAke3BhY2thZ2VOYW1lfScgLyAncGlwIHNob3cgJHtwYWNrYWdlTmFtZX0nOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHZlcnNpb24gPSB2ZXJzaW9uSW5mby5zcGxpdChcIjpcIilbMV0udHJpbSgpO1xuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuLy8gT25jZSBodHRwczovL2dpdGh1Yi5jb20vTnVHZXQvSG9tZS9pc3N1ZXMvNzc1MiBnZXRzIHJlc29sdmVkIHdlIGNhbiBhbHNvIHRyeSB3aXRoIC0tanNvblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q1NoYXJwUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcIkFtYXpvbi5KU0lJLlJ1bnRpbWVcIixcbiAgICBjb25zdHJ1Y3RzOiBcIkNvbnN0cnVjdHNcIixcbiAgICBjZGt0ZjogXCJIYXNoaUNvcnAuQ2RrdGZcIixcbiAgICBjZGt0bjogXCJJby5DZGt0blwiLFxuICB9O1xuICBjb25zdCBjU2hhcnBQYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJkb3RuZXRcIiwgW1wibGlzdFwiLCBcInBhY2thZ2VcIiwgXCItLWluY2x1ZGUtdHJhbnNpdGl2ZVwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gcnVuICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhgPiAke2NTaGFycFBhY2thZ2VOYW1lfWApKTtcblxuICBpZiAoIXZlcnNpb25MaW5lKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHZlcnNpb24gZm9yICcke2NTaGFycFBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBBIGxpbmUgbWlnaHQgbG9vayBsaWtlIHRoaXM6XG4gIC8vICAgVHJhbnNpdGl2ZSBQYWNrYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc29sdmVkXG4gIC8vICAgPiBBbWF6b24uSlNJSS5SdW50aW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTcuMVxuICAvLyBUaGVyZWZvcmUgd2UgcmV2ZXJzZSBzcGxpdCBieSB3aGl0ZXNwYWNlIGFuZCByZXZlcnNlXG4gIC8vIHNvIHRoYXQgdGhlIGZpcnN0IHRoaW5nIHdlIGZpbmQgaXMgdGhlIHZlcnNpb24gbnVtYmVyXG4gIHJldHVybiB2ZXJzaW9uTGluZVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAucmV2ZXJzZSgpXG4gICAgLmZpbmQoKHBhcnQpID0+IHBhcnQgIT09IFwiXCIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRHb1BhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgdHJhbnNsYXRpb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAganNpaTogXCJqc2lpLXJ1bnRpbWUtZ29cIixcbiAgICBjZGt0ZjogXCJnaXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrLWdvXCIsXG4gICAgY2RrdG46IFwiZ2l0aHViLmNvbS9vcGVuLWNvbnN0cnVjdHMvY2RrLXRlcnJhaW4tZ29cIixcbiAgfTtcbiAgY29uc3QgZ29QYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJnb1wiLCBbXCJsaXN0XCIsIFwiLW1cIiwgXCJhbGxcIl0sIHtcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ2dvIGxpc3QgLW0gYWxsJzogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhnb1BhY2thZ2VOYW1lKSk7XG5cbiAgaWYgKCF2ZXJzaW9uTGluZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGZvciAnJHtnb1BhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdnbyBsaXN0IC1tIGFsbCc6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gV2UgYXJlIGRlYWxpbmcgd2l0aCBhIGxvY2FsIHZlcnNpb25cbiAgaWYgKHZlcnNpb25MaW5lLmluY2x1ZGVzKFwiPT5cIikpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZvdW5kIGxvY2FsIHZlcnNpb24gZm9yICcke2dvUGFja2FnZU5hbWV9JzogJHt2ZXJzaW9uTGluZX1gKTtcbiAgICB2ZXJzaW9uTGluZSA9IHZlcnNpb25MaW5lLnNwbGl0KFwiPT5cIilbMF0udHJpbSgpO1xuICB9XG5cbiAgcmV0dXJuIHZlcnNpb25MaW5lLnNwbGl0KFwiIFwiKS5wb3AoKT8ucmVwbGFjZShcInZcIiwgXCJcIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE1hdmVuUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcImpzaWktcnVudGltZVwiLFxuICB9O1xuICBjb25zdCBqYXZhUGFja2FnZU5hbWUgPSB0cmFuc2xhdGlvbk1hcFtwYWNrYWdlTmFtZV0gfHwgcGFja2FnZU5hbWU7XG5cbiAgbGV0IG91dHB1dDtcbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwibXZuXCIsIFtcImRlcGVuZGVuY3k6bGlzdFwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIHJ1biAnbXZuIGRlcGVuZGVuY3k6bGlzdCc6ICR7ZX1gKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvblBhcnQgPSBvdXRwdXQuc3BsaXQoXG4gICAgXCJUaGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgYmVlbiByZXNvbHZlZFwiLFxuICApWzFdO1xuICBpZiAoIXJlc29sdXRpb25QYXJ0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHJlc29sdXRpb24gcGFzc2FnZSBpbiBvdXRwdXQgb2YgJ212biBkZXBlbmRlbmN5Omxpc3QnOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIFdlIG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcGFja2FnZSBuYW1lIEFORCBhIGNvbG9uIHRvIG5vdCBtYXRjaCBhIGxpbmUgbGlrZVxuICAvLyBbSU5GT10gICAgY29tLmhhc2hpY29ycDpjZGt0Zi1wcm92aWRlci1hd3M6amFyOjkuMC45OmNvbXBpbGVcbiAgLy8gd2hlbiBsb29raW5nIGZvciB0aGUgY2RrdGYgcGFja2FnZSAoc2VlIEdpdGh1YiBpc3N1ZSAjMTk5NClcbiAgY29uc3QgdmVyc2lvbkxpbmUgPSByZXNvbHV0aW9uUGFydFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKGAke2phdmFQYWNrYWdlTmFtZX06YCkpO1xuXG4gIGlmICghdmVyc2lvbkxpbmUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgdmVyc2lvbiBmb3IgJyR7amF2YVBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdtdm4gZGVwZW5kZW5jeTpsaXN0JzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBFeGFtcGxlIGxpbmU6IFtJTkZPXSAgICBjb20uaGFzaGljb3JwOmNka3RmOmphcjowLjAuMDpjb21waWxlXG4gIGNvbnN0IHZlcnNpb25TdGFydERlbGltaXRlciA9IGAke2phdmFQYWNrYWdlTmFtZX06amFyOmA7XG4gIGNvbnN0IHZlcnNpb25TdGFydCA9XG4gICAgdmVyc2lvbkxpbmUuaW5kZXhPZih2ZXJzaW9uU3RhcnREZWxpbWl0ZXIpICsgdmVyc2lvblN0YXJ0RGVsaW1pdGVyLmxlbmd0aDtcbiAgY29uc3QgdmVyc2lvbkVuZERlbGVtaXRlciA9IFwiOmNvbXBpbGVcIjtcbiAgY29uc3QgdmVyc2lvbkVuZCA9IHZlcnNpb25MaW5lLmluZGV4T2YodmVyc2lvbkVuZERlbGVtaXRlcik7XG4gIHJldHVybiB2ZXJzaW9uTGluZS5zdWJzdHJpbmcodmVyc2lvblN0YXJ0LCB2ZXJzaW9uRW5kKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0SmF2YVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzR3JhZGxlUHJvamVjdChcIi4vXCIpKSB7XG4gICAgcmV0dXJuIGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbiAgfVxuXG4gIHJldHVybiBnZXRNYXZlblBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFBhY2thZ2VWZXJzaW9uKFxuICBsYW5ndWFnZTogc3RyaW5nLFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3Qgbm9PcCA9IGFzeW5jICgpID0+IHVuZGVmaW5lZDtcbiAgY29uc3QgZ2V0TGlicmFyeVZlcnNpb25NYXA6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgKG5hbWU6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG4gID4gPSB7XG4gICAgdHlwZXNjcmlwdDogZ2V0Tm9kZU1vZHVsZVZlcnNpb24sXG4gICAgcHl0aG9uOiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbixcbiAgICBnbzogZ2V0R29QYWNrYWdlVmVyc2lvbixcbiAgICBjc2hhcnA6IGdldENTaGFycFBhY2thZ2VWZXJzaW9uLFxuICAgIGphdmE6IGdldEphdmFQYWNrYWdlVmVyc2lvbixcbiAgfTtcblxuICBjb25zdCBsaWJWZXJzaW9uID0gYXdhaXQgKGdldExpYnJhcnlWZXJzaW9uTWFwW2xhbmd1YWdlXSB8fCBub09wKShcbiAgICBwYWNrYWdlTmFtZSxcbiAgKTtcbiAgcmV0dXJuIGxpYlZlcnNpb24gPz8gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGVjdERlYnVnSW5mb3JtYXRpb24oKSB7XG4gIGNvbnN0IGRlYnVnT3V0cHV0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPiA9IHt9O1xuICBjb25zdCBsYW5ndWFnZSA9IGdldExhbmd1YWdlKCk7XG4gIGRlYnVnT3V0cHV0W1wibGFuZ3VhZ2VcIl0gPSBsYW5ndWFnZSA/PyBudWxsO1xuICBkZWJ1Z091dHB1dFtcImNka3RuLWNsaVwiXSA9IERJU1BMQVlfVkVSU0lPTjtcblxuICBjb25zdCBub2RlID0gZ2V0Tm9kZVZlcnNpb24oKTtcblxuICBkZWJ1Z091dHB1dFtcIm5vZGVcIl0gPSAoYXdhaXQgbm9kZSkgPz8gbnVsbDtcbiAgaWYgKGxhbmd1YWdlKSB7XG4gICAgY29uc3QgY2RrdG4gPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjZGt0blwiKTtcbiAgICBjb25zdCBjZGt0ZiA9IGdldFBhY2thZ2VWZXJzaW9uKGxhbmd1YWdlLCBcImNka3RmXCIpO1xuICAgIGNvbnN0IGNvbnN0cnVjdHMgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjb25zdHJ1Y3RzXCIpO1xuICAgIGNvbnN0IGpzaWkgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJqc2lpXCIpO1xuXG4gICAgZGVidWdPdXRwdXRbXCJjZGt0blwiXSA9IChhd2FpdCBjZGt0bikgPz8gbnVsbDtcbiAgICBkZWJ1Z091dHB1dFtcImNka3RmXCJdID0gKGF3YWl0IGNka3RmKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wiY29uc3RydWN0c1wiXSA9IChhd2FpdCBjb25zdHJ1Y3RzKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wianNpaVwiXSA9IChhd2FpdCBqc2lpKSA/PyBudWxsO1xuICB9XG4gIGRlYnVnT3V0cHV0W1widGVycmFmb3JtXCJdID0gYXdhaXQgdGVycmFmb3JtVmVyc2lvbjtcbiAgZGVidWdPdXRwdXRbXCJhcmNoXCJdID0gb3MuYXJjaCgpO1xuICBkZWJ1Z091dHB1dFtcIm9zXCJdID0gYCR7b3MucGxhdGZvcm0oKX0gJHtvcy5yZWxlYXNlKCl9YDtcblxuICBzd2l0Y2ggKGxhbmd1YWdlKSB7XG4gICAgY2FzZSBcInB5dGhvblwiOlxuICAgICAge1xuICAgICAgICBjb25zdCBweXRob24gPSBnZXRQeXRob25WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IHBpcCA9IGdldFBpcFZlcnNpb24oKTtcbiAgICAgICAgY29uc3QgcGlwZW52ID0gZ2V0UGlwZW52VmVyc2lvbigpO1xuICAgICAgICBkZWJ1Z091dHB1dFtcInB5dGhvblwiXSA9IChhd2FpdCBweXRob24pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wicGlwXCJdID0gKGF3YWl0IHBpcCkgPz8gbnVsbDtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJwaXBlbnZcIl0gPSAoYXdhaXQgcGlwZW52KSA/PyBudWxsO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImphdmFcIjpcbiAgICAgIHtcbiAgICAgICAgY29uc3QgamF2YSA9IGdldEphdmFWZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IG1hdmVuID0gZ2V0TWF2ZW5WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IGdyYWRsZSA9IGdldEdyYWRsZVZlcnNpb24oKTtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJqYXZhXCJdID0gKGF3YWl0IGphdmEpID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wibWF2ZW5cIl0gPSAoYXdhaXQgbWF2ZW4pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wiZ3JhZGxlXCJdID0gKGF3YWl0IGdyYWRsZSkgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJjc2hhcnBcIjpcbiAgICAgIGRlYnVnT3V0cHV0W1wiZG90bmV0XCJdID0gKGF3YWl0IGdldERvdG5ldFZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJnb1wiOlxuICAgICAgZGVidWdPdXRwdXRbXCJnb1wiXSA9IChhd2FpdCBnZXRHb1ZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnT3V0cHV0O1xufVxuIl19
|
|
379
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUE2QjtBQUM3Qix1Q0FBeUI7QUFDekIsdUNBQW1DO0FBQ25DLGlDQUE4QjtBQUM5QiwyQ0FBK0M7QUFDL0MsdUNBQTRDO0FBQzVDLHVDQUFvRDtBQUNwRCxxQ0FBb0U7QUFFcEUsU0FBZ0IsV0FBVyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO0lBQ3JELElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQzFCLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDL0QsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBQUMsV0FBTSxDQUFDO1FBQ1AsaUNBQWlDO1FBQ2pDLGdCQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBWEQsa0NBV0M7QUFFRCxLQUFLLFVBQVUsZ0JBQWdCLENBQzdCLE1BQWMsRUFDZCxjQUFzQjtJQUV0QixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDdEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLFdBQUksRUFDdkIsTUFBTSxFQUNOLENBQUMsY0FBYyxDQUFDLEVBQ2hCLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUM3RCxJQUFJLEVBQ0os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LGNBQWMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLEtBQUssR0FBRyxlQUFlLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbEMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQUEsQ0FBQyxNQUFNLElBQUksQ0FBQyxtQ0FBSSxJQUFJLENBQUM7Z0JBQzNDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxLQUFLLENBQUMsbUNBQUksSUFBSSxDQUFDO2dCQUM3QyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sTUFBTSxDQUFDLG1DQUFJLElBQUksQ0FBQztZQUNqRCxDQUFDO1lBQ0QsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxnQkFBZ0IsRUFBRSxDQUFDLG1DQUFJLElBQUksQ0FBQztZQUMzRCxNQUFNO1FBQ1IsS0FBSyxJQUFJO1lBQ1AsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQUEsQ0FBQyxNQUFNLFlBQVksRUFBRSxDQUFDLG1DQUFJLElBQUksQ0FBQztZQUNuRCxNQUFNO0lBQ1YsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUF0REQsMERBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IHRlcnJhZm9ybVZlcnNpb24gfSBmcm9tIFwiLi90ZXJyYWZvcm1cIjtcbmltcG9ydCB7IERJU1BMQVlfVkVSU0lPTiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmltcG9ydCB7IHBhdGhFeGlzdHMsIHJlYWRGaWxlU3luYyB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgZ2V0R3JhZGxlUGFja2FnZVZlcnNpb24sIGlzR3JhZGxlUHJvamVjdCB9IGZyb20gXCIuL2dyYWRsZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFuZ3VhZ2UocHJvamVjdFBhdGggPSBwcm9jZXNzLmN3ZCgpKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBjZGt0Zkpzb24gPSBKU09OLnBhcnNlKFxuICAgICAgcmVhZEZpbGVTeW5jKHBhdGgucmVzb2x2ZShwcm9qZWN0UGF0aCwgXCJjZGt0Zi5qc29uXCIpLCBcInV0Zi04XCIpLFxuICAgICk7XG4gICAgcmV0dXJuIGNka3RmSnNvbi5sYW5ndWFnZTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gV2UgY2FuIG5vdCBkZXRlY3QgdGhlIGxhbmd1YWdlXG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gZGV0ZWN0IGxhbmd1YWdlIGluICR7cHJvamVjdFBhdGh9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRCaW5hcnlWZXJzaW9uKFxuICBiaW5hcnk6IHN0cmluZyxcbiAgdmVyc2lvbkNvbW1hbmQ6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IG5vT3AgPSAoKSA9PiB7fTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBleGVjKFxuICAgICAgYmluYXJ5LFxuICAgICAgW3ZlcnNpb25Db21tYW5kXSxcbiAgICAgIHsgZW52OiBwcm9jZXNzLmVudiwgc3RkaW86IFt1bmRlZmluZWQsIHVuZGVmaW5lZCwgXCJpZ25vcmVcIl0gfSxcbiAgICAgIG5vT3AsXG4gICAgICBub09wLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdC50cmltKCkucmVwbGFjZSgvXFxyP1xcbnxcXHIvZywgXCJcIik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZhaWxlZCB0byBydW4gJHtiaW5hcnl9ICR7dmVyc2lvbkNvbW1hbmR9OiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RG90bmV0VmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJkb3RuZXRcIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRKYXZhVmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJqYXZhXCIsIFwiLXZlcnNpb25cIik7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0TWF2ZW5WZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcIm12blwiLCBcIi0tdmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdyYWRsZVZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiZ3JhZGxlXCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHl0aG9uVmVyc2lvbigpIHtcbiAgcmV0dXJuIChcbiAgICAoYXdhaXQgZ2V0QmluYXJ5VmVyc2lvbihcInB5dGhvbjNcIiwgXCItLXZlcnNpb25cIikpIHx8XG4gICAgKGF3YWl0IGdldEJpbmFyeVZlcnNpb24oXCJweXRob25cIiwgXCItLXZlcnNpb25cIikpXG4gICk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0UGlwVmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJwaXBcIiwgXCItLXZlcnNpb25cIik7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0UGlwZW52VmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJwaXBlbnZcIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHb1ZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiZ29cIiwgXCJ2ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZVZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwibm9kZVwiLCBcIi0tdmVyc2lvblwiKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Tm9kZU1vZHVsZVZlcnNpb24oXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAvLyBVc2UgdGhlIHByZXNlbmNlIG9mIHRoZSBwbnBtIGxvY2sgZmlsZSBhcyBhIHNpZ25hbCB0aGF0XG4gIC8vIHdlIHNob3VsZCBpbnRlcnJvZ2F0ZSBwYWNrYWdlcyB2aWEgcG5wbSBpbnN0ZWFkIG9mIG5wbS5cbiAgY29uc3QgdXNpbmdQbnBtID0gYXdhaXQgcGF0aEV4aXN0cyhcInBucG0tbG9jay55YW1sXCIpO1xuXG4gIHJldHVybiB1c2luZ1BucG1cbiAgICA/IGdldFBucG1Ob2RlTW9kdWxlVmVyc2lvbihwYWNrYWdlTmFtZSlcbiAgICA6IGdldE5wbU5vZGVNb2R1bGVWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0UG5wbU5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IG91dHB1dDtcblxuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJwbnBtXCIsIFtcImxpc3RcIiwgcGFja2FnZU5hbWUsIFwiLS1qc29uXCJdLCB7XG4gICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYgfSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIHJ1biAncG5wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7ZX1gKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgbGV0IGpzb247XG4gIHRyeSB7XG4gICAganNvbiA9IEpTT04ucGFyc2Uob3V0cHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gcGFyc2Ugb3V0cHV0IG9mICdwbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKFxuICAgICFqc29uIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoanNvbikgfHxcbiAgICBqc29uLmxlbmd0aCA9PT0gMCB8fFxuICAgICFqc29uWzBdPy5kZXBlbmRlbmNpZXM/LltwYWNrYWdlTmFtZV0/LnZlcnNpb25cbiAgKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kICcke3BhY2thZ2VOYW1lfScgaW4gJ3BucG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiBqc29uWzBdLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0udmVyc2lvbjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0TnBtTm9kZU1vZHVsZVZlcnNpb24oXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBsZXQgb3V0cHV0O1xuXG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcbiAgICAgIFwibnBtXCIsXG4gICAgICBbXCJsaXN0XCIsIHBhY2thZ2VOYW1lLCBcIi0tanNvblwiLCBcIi0taW5jbHVkZT1kZXZcIl0sXG4gICAgICB7XG4gICAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiB9LFxuICAgICAgfSxcbiAgICApO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICducG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBqc29uO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIHBhcnNlIG91dHB1dCBvZiAnbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKFxuICAgICFqc29uLmRlcGVuZGVuY2llcyB8fFxuICAgICFqc29uLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gfHxcbiAgICAhanNvbi5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb25cbiAgKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kICcke3BhY2thZ2VOYW1lfScgaW4gJ25wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIGpzb24uZGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXS52ZXJzaW9uO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBvdXRwdXQ7XG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcGVudlwiLCBbXCJydW5cIiwgXCJwaXBcIiwgXCJzaG93XCIsIFwiLXFxXCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcblxuICAgIC8vIFJ1bm5pbmcgd2l0aCBgLXFxYCBzdXBwcmVzc2VzIGJvdGggbWlzc2luZyBwYWNrYWdlcyBhbmQgYWN0dWFsIHBhY2thZ2VcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwZW52XCIsIFtcInJ1blwiLCBcInBpcFwiLCBcInNob3dcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXBlbnYgcnVuIHBpcCBzaG93ICR7cGFja2FnZU5hbWV9JzogJHtlfWApO1xuICB9XG5cbiAgLy8gSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBvdXRwdXQgdXNpbmcgcGlwZW52LCB0cnkgdG8gZ2V0IGl0IHVzaW5nIHBpcCBkaXJlY3RseVxuICBpZiAoIW91dHB1dCkge1xuICAgIHRyeSB7XG4gICAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwXCIsIFtcInNob3dcIiwgXCItcXFcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICB9KTtcblxuICAgICAgLy8gUnVubmluZyB3aXRoIGAtcXFgIHN1cHByZXNzZXMgYm90aCBtaXNzaW5nIHBhY2thZ2VzIGFuZCBhY3R1YWwgcGFja2FnZVxuICAgICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcFwiLCBbXCJzaG93XCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXAgc2hvdyAke3BhY2thZ2VOYW1lfSc6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW91dHB1dCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB2ZXJzaW9uSW5mbyA9IG91dHB1dFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLnN0YXJ0c1dpdGgoXCJWZXJzaW9uOlwiKSk7XG5cbiAgaWYgKCF2ZXJzaW9uSW5mbykge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGluIG91dHB1dCBvZiAncGlwZW52IHJ1biBwaXAgc2hvdyAke3BhY2thZ2VOYW1lfScgLyAncGlwIHNob3cgJHtwYWNrYWdlTmFtZX0nOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHZlcnNpb24gPSB2ZXJzaW9uSW5mby5zcGxpdChcIjpcIilbMV0udHJpbSgpO1xuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuLy8gT25jZSBodHRwczovL2dpdGh1Yi5jb20vTnVHZXQvSG9tZS9pc3N1ZXMvNzc1MiBnZXRzIHJlc29sdmVkIHdlIGNhbiBhbHNvIHRyeSB3aXRoIC0tanNvblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q1NoYXJwUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcIkFtYXpvbi5KU0lJLlJ1bnRpbWVcIixcbiAgICBjb25zdHJ1Y3RzOiBcIkNvbnN0cnVjdHNcIixcbiAgICBjZGt0ZjogXCJIYXNoaUNvcnAuQ2RrdGZcIixcbiAgICBjZGt0bjogXCJJby5DZGt0blwiLFxuICB9O1xuICBjb25zdCBjU2hhcnBQYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJkb3RuZXRcIiwgW1wibGlzdFwiLCBcInBhY2thZ2VcIiwgXCItLWluY2x1ZGUtdHJhbnNpdGl2ZVwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gcnVuICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhgPiAke2NTaGFycFBhY2thZ2VOYW1lfWApKTtcblxuICBpZiAoIXZlcnNpb25MaW5lKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHZlcnNpb24gZm9yICcke2NTaGFycFBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBBIGxpbmUgbWlnaHQgbG9vayBsaWtlIHRoaXM6XG4gIC8vICAgVHJhbnNpdGl2ZSBQYWNrYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc29sdmVkXG4gIC8vICAgPiBBbWF6b24uSlNJSS5SdW50aW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTcuMVxuICAvLyBUaGVyZWZvcmUgd2UgcmV2ZXJzZSBzcGxpdCBieSB3aGl0ZXNwYWNlIGFuZCByZXZlcnNlXG4gIC8vIHNvIHRoYXQgdGhlIGZpcnN0IHRoaW5nIHdlIGZpbmQgaXMgdGhlIHZlcnNpb24gbnVtYmVyXG4gIHJldHVybiB2ZXJzaW9uTGluZVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAucmV2ZXJzZSgpXG4gICAgLmZpbmQoKHBhcnQpID0+IHBhcnQgIT09IFwiXCIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRHb1BhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgdHJhbnNsYXRpb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAganNpaTogXCJqc2lpLXJ1bnRpbWUtZ29cIixcbiAgICBjZGt0ZjogXCJnaXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrLWdvXCIsXG4gICAgY2RrdG46IFwiZ2l0aHViLmNvbS9vcGVuLWNvbnN0cnVjdHMvY2RrLXRlcnJhaW4tZ29cIixcbiAgfTtcbiAgY29uc3QgZ29QYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJnb1wiLCBbXCJsaXN0XCIsIFwiLW1cIiwgXCJhbGxcIl0sIHtcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ2dvIGxpc3QgLW0gYWxsJzogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhnb1BhY2thZ2VOYW1lKSk7XG5cbiAgaWYgKCF2ZXJzaW9uTGluZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGZvciAnJHtnb1BhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdnbyBsaXN0IC1tIGFsbCc6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gV2UgYXJlIGRlYWxpbmcgd2l0aCBhIGxvY2FsIHZlcnNpb25cbiAgaWYgKHZlcnNpb25MaW5lLmluY2x1ZGVzKFwiPT5cIikpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZvdW5kIGxvY2FsIHZlcnNpb24gZm9yICcke2dvUGFja2FnZU5hbWV9JzogJHt2ZXJzaW9uTGluZX1gKTtcbiAgICB2ZXJzaW9uTGluZSA9IHZlcnNpb25MaW5lLnNwbGl0KFwiPT5cIilbMF0udHJpbSgpO1xuICB9XG5cbiAgcmV0dXJuIHZlcnNpb25MaW5lLnNwbGl0KFwiIFwiKS5wb3AoKT8ucmVwbGFjZShcInZcIiwgXCJcIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE1hdmVuUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcImpzaWktcnVudGltZVwiLFxuICB9O1xuICBjb25zdCBqYXZhUGFja2FnZU5hbWUgPSB0cmFuc2xhdGlvbk1hcFtwYWNrYWdlTmFtZV0gfHwgcGFja2FnZU5hbWU7XG5cbiAgbGV0IG91dHB1dDtcbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwibXZuXCIsIFtcImRlcGVuZGVuY3k6bGlzdFwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIHJ1biAnbXZuIGRlcGVuZGVuY3k6bGlzdCc6ICR7ZX1gKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvblBhcnQgPSBvdXRwdXQuc3BsaXQoXG4gICAgXCJUaGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgYmVlbiByZXNvbHZlZFwiLFxuICApWzFdO1xuICBpZiAoIXJlc29sdXRpb25QYXJ0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHJlc29sdXRpb24gcGFzc2FnZSBpbiBvdXRwdXQgb2YgJ212biBkZXBlbmRlbmN5Omxpc3QnOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIFdlIG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcGFja2FnZSBuYW1lIEFORCBhIGNvbG9uIHRvIG5vdCBtYXRjaCBhIGxpbmUgbGlrZVxuICAvLyBbSU5GT10gICAgY29tLmhhc2hpY29ycDpjZGt0Zi1wcm92aWRlci1hd3M6amFyOjkuMC45OmNvbXBpbGVcbiAgLy8gd2hlbiBsb29raW5nIGZvciB0aGUgY2RrdGYgcGFja2FnZSAoc2VlIEdpdGh1YiBpc3N1ZSAjMTk5NClcbiAgY29uc3QgdmVyc2lvbkxpbmUgPSByZXNvbHV0aW9uUGFydFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKGAke2phdmFQYWNrYWdlTmFtZX06YCkpO1xuXG4gIGlmICghdmVyc2lvbkxpbmUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgdmVyc2lvbiBmb3IgJyR7amF2YVBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdtdm4gZGVwZW5kZW5jeTpsaXN0JzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBFeGFtcGxlIGxpbmU6IFtJTkZPXSAgICBjb20uaGFzaGljb3JwOmNka3RmOmphcjowLjAuMDpjb21waWxlXG4gIGNvbnN0IHZlcnNpb25TdGFydERlbGltaXRlciA9IGAke2phdmFQYWNrYWdlTmFtZX06amFyOmA7XG4gIGNvbnN0IHZlcnNpb25TdGFydCA9XG4gICAgdmVyc2lvbkxpbmUuaW5kZXhPZih2ZXJzaW9uU3RhcnREZWxpbWl0ZXIpICsgdmVyc2lvblN0YXJ0RGVsaW1pdGVyLmxlbmd0aDtcbiAgY29uc3QgdmVyc2lvbkVuZERlbGVtaXRlciA9IFwiOmNvbXBpbGVcIjtcbiAgY29uc3QgdmVyc2lvbkVuZCA9IHZlcnNpb25MaW5lLmluZGV4T2YodmVyc2lvbkVuZERlbGVtaXRlcik7XG4gIHJldHVybiB2ZXJzaW9uTGluZS5zdWJzdHJpbmcodmVyc2lvblN0YXJ0LCB2ZXJzaW9uRW5kKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0SmF2YVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzR3JhZGxlUHJvamVjdChcIi4vXCIpKSB7XG4gICAgcmV0dXJuIGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbiAgfVxuXG4gIHJldHVybiBnZXRNYXZlblBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFBhY2thZ2VWZXJzaW9uKFxuICBsYW5ndWFnZTogc3RyaW5nLFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3Qgbm9PcCA9IGFzeW5jICgpID0+IHVuZGVmaW5lZDtcbiAgY29uc3QgZ2V0TGlicmFyeVZlcnNpb25NYXA6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgKG5hbWU6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG4gID4gPSB7XG4gICAgdHlwZXNjcmlwdDogZ2V0Tm9kZU1vZHVsZVZlcnNpb24sXG4gICAgcHl0aG9uOiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbixcbiAgICBnbzogZ2V0R29QYWNrYWdlVmVyc2lvbixcbiAgICBjc2hhcnA6IGdldENTaGFycFBhY2thZ2VWZXJzaW9uLFxuICAgIGphdmE6IGdldEphdmFQYWNrYWdlVmVyc2lvbixcbiAgfTtcblxuICBjb25zdCBsaWJWZXJzaW9uID0gYXdhaXQgKGdldExpYnJhcnlWZXJzaW9uTWFwW2xhbmd1YWdlXSB8fCBub09wKShcbiAgICBwYWNrYWdlTmFtZSxcbiAgKTtcbiAgcmV0dXJuIGxpYlZlcnNpb24gPz8gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGVjdERlYnVnSW5mb3JtYXRpb24oKSB7XG4gIGNvbnN0IGRlYnVnT3V0cHV0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPiA9IHt9O1xuICBjb25zdCBsYW5ndWFnZSA9IGdldExhbmd1YWdlKCk7XG4gIGRlYnVnT3V0cHV0W1wibGFuZ3VhZ2VcIl0gPSBsYW5ndWFnZSA/PyBudWxsO1xuICBkZWJ1Z091dHB1dFtcImNka3RuLWNsaVwiXSA9IERJU1BMQVlfVkVSU0lPTjtcblxuICBjb25zdCBub2RlID0gZ2V0Tm9kZVZlcnNpb24oKTtcblxuICBkZWJ1Z091dHB1dFtcIm5vZGVcIl0gPSAoYXdhaXQgbm9kZSkgPz8gbnVsbDtcbiAgaWYgKGxhbmd1YWdlKSB7XG4gICAgY29uc3QgY2RrdG4gPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjZGt0blwiKTtcbiAgICBjb25zdCBjZGt0ZiA9IGdldFBhY2thZ2VWZXJzaW9uKGxhbmd1YWdlLCBcImNka3RmXCIpO1xuICAgIGNvbnN0IGNvbnN0cnVjdHMgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjb25zdHJ1Y3RzXCIpO1xuICAgIGNvbnN0IGpzaWkgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJqc2lpXCIpO1xuXG4gICAgZGVidWdPdXRwdXRbXCJjZGt0blwiXSA9IChhd2FpdCBjZGt0bikgPz8gbnVsbDtcbiAgICBkZWJ1Z091dHB1dFtcImNka3RmXCJdID0gKGF3YWl0IGNka3RmKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wiY29uc3RydWN0c1wiXSA9IChhd2FpdCBjb25zdHJ1Y3RzKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wianNpaVwiXSA9IChhd2FpdCBqc2lpKSA/PyBudWxsO1xuICB9XG4gIGRlYnVnT3V0cHV0W1widGVycmFmb3JtXCJdID0gYXdhaXQgdGVycmFmb3JtVmVyc2lvbjtcbiAgZGVidWdPdXRwdXRbXCJhcmNoXCJdID0gb3MuYXJjaCgpO1xuICBkZWJ1Z091dHB1dFtcIm9zXCJdID0gYCR7b3MucGxhdGZvcm0oKX0gJHtvcy5yZWxlYXNlKCl9YDtcblxuICBzd2l0Y2ggKGxhbmd1YWdlKSB7XG4gICAgY2FzZSBcInB5dGhvblwiOlxuICAgICAge1xuICAgICAgICBjb25zdCBweXRob24gPSBnZXRQeXRob25WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IHBpcCA9IGdldFBpcFZlcnNpb24oKTtcbiAgICAgICAgY29uc3QgcGlwZW52ID0gZ2V0UGlwZW52VmVyc2lvbigpO1xuICAgICAgICBkZWJ1Z091dHB1dFtcInB5dGhvblwiXSA9IChhd2FpdCBweXRob24pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wicGlwXCJdID0gKGF3YWl0IHBpcCkgPz8gbnVsbDtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJwaXBlbnZcIl0gPSAoYXdhaXQgcGlwZW52KSA/PyBudWxsO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImphdmFcIjpcbiAgICAgIHtcbiAgICAgICAgY29uc3QgamF2YSA9IGdldEphdmFWZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IG1hdmVuID0gZ2V0TWF2ZW5WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IGdyYWRsZSA9IGdldEdyYWRsZVZlcnNpb24oKTtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJqYXZhXCJdID0gKGF3YWl0IGphdmEpID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wibWF2ZW5cIl0gPSAoYXdhaXQgbWF2ZW4pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wiZ3JhZGxlXCJdID0gKGF3YWl0IGdyYWRsZSkgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJjc2hhcnBcIjpcbiAgICAgIGRlYnVnT3V0cHV0W1wiZG90bmV0XCJdID0gKGF3YWl0IGdldERvdG5ldFZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJnb1wiOlxuICAgICAgZGVidWdPdXRwdXRbXCJnb1wiXSA9IChhd2FpdCBnZXRHb1ZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnT3V0cHV0O1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.test.d.ts","sourceRoot":"","sources":["../src/debug.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
// Copyright (c) HashiCorp, Inc
|
|
27
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
28
|
+
const fs = __importStar(require("fs"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
jest.mock("./terraform", () => ({
|
|
31
|
+
terraformVersion: Promise.resolve("1.7.5"),
|
|
32
|
+
}));
|
|
33
|
+
const debug_1 = require("./debug");
|
|
34
|
+
const util_1 = require("./util");
|
|
35
|
+
function writeInstalledPackage(packageName, version) {
|
|
36
|
+
const packageDir = path.join(process.cwd(), "node_modules", packageName);
|
|
37
|
+
fs.mkdirSync(packageDir, { recursive: true });
|
|
38
|
+
fs.writeFileSync(path.join(packageDir, "package.json"), JSON.stringify({ name: packageName, version }, null, 2));
|
|
39
|
+
}
|
|
40
|
+
describe("collectDebugInformation()", () => {
|
|
41
|
+
let previousNodeEnv;
|
|
42
|
+
beforeEach(() => {
|
|
43
|
+
previousNodeEnv = process.env.NODE_ENV;
|
|
44
|
+
});
|
|
45
|
+
afterEach(() => {
|
|
46
|
+
if (previousNodeEnv === undefined)
|
|
47
|
+
delete process.env.NODE_ENV;
|
|
48
|
+
else
|
|
49
|
+
process.env.NODE_ENV = previousNodeEnv;
|
|
50
|
+
});
|
|
51
|
+
it("detects TypeScript packages installed as npm dev dependencies in production", async () => {
|
|
52
|
+
await (0, util_1.withTempDir)("debug.test", async () => {
|
|
53
|
+
fs.writeFileSync("cdktf.json", JSON.stringify({ language: "typescript" }));
|
|
54
|
+
fs.writeFileSync("package.json", JSON.stringify({
|
|
55
|
+
name: "debug-dev-dependency-fixture",
|
|
56
|
+
version: "1.0.0",
|
|
57
|
+
devDependencies: {
|
|
58
|
+
cdktn: "0.23.3",
|
|
59
|
+
cdktf: "0.20.11",
|
|
60
|
+
constructs: "10.3.0",
|
|
61
|
+
jsii: "5.5.0",
|
|
62
|
+
},
|
|
63
|
+
}, null, 2));
|
|
64
|
+
writeInstalledPackage("cdktn", "0.23.3");
|
|
65
|
+
writeInstalledPackage("cdktf", "0.20.11");
|
|
66
|
+
writeInstalledPackage("constructs", "10.3.0");
|
|
67
|
+
writeInstalledPackage("jsii", "5.5.0");
|
|
68
|
+
process.env.NODE_ENV = "production";
|
|
69
|
+
await expect((0, debug_1.collectDebugInformation)()).resolves.toEqual(expect.objectContaining({
|
|
70
|
+
language: "typescript",
|
|
71
|
+
cdktn: "0.23.3",
|
|
72
|
+
cdktf: "0.20.11",
|
|
73
|
+
constructs: "10.3.0",
|
|
74
|
+
jsii: "5.5.0",
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWJ1Zy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztDQUMzQyxDQUFDLENBQUMsQ0FBQztBQUVKLG1DQUFrRDtBQUNsRCxpQ0FBcUM7QUFFckMsU0FBUyxxQkFBcUIsQ0FBQyxXQUFtQixFQUFFLE9BQWU7SUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsRUFBRSxDQUFDLGFBQWEsQ0FDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsRUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0FBQ0osQ0FBQztBQUVELFFBQVEsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7SUFDekMsSUFBSSxlQUFtQyxDQUFDO0lBRXhDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxlQUFlLEtBQUssU0FBUztZQUFFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7O1lBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw2RUFBNkUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMzRixNQUFNLElBQUEsa0JBQVcsRUFBQyxZQUFZLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDekMsRUFBRSxDQUFDLGFBQWEsQ0FDZCxZQUFZLEVBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO1lBQ0YsRUFBRSxDQUFDLGFBQWEsQ0FDZCxjQUFjLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FDWjtnQkFDRSxJQUFJLEVBQUUsOEJBQThCO2dCQUNwQyxPQUFPLEVBQUUsT0FBTztnQkFDaEIsZUFBZSxFQUFFO29CQUNmLEtBQUssRUFBRSxRQUFRO29CQUNmLEtBQUssRUFBRSxTQUFTO29CQUNoQixVQUFVLEVBQUUsUUFBUTtvQkFDcEIsSUFBSSxFQUFFLE9BQU87aUJBQ2Q7YUFDRixFQUNELElBQUksRUFDSixDQUFDLENBQ0YsQ0FDRixDQUFDO1lBRUYscUJBQXFCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMxQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQztZQUVwQyxNQUFNLE1BQU0sQ0FBQyxJQUFBLCtCQUF1QixHQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUN0RCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3RCLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixLQUFLLEVBQUUsUUFBUTtnQkFDZixLQUFLLEVBQUUsU0FBUztnQkFDaEIsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmplc3QubW9jayhcIi4vdGVycmFmb3JtXCIsICgpID0+ICh7XG4gIHRlcnJhZm9ybVZlcnNpb246IFByb21pc2UucmVzb2x2ZShcIjEuNy41XCIpLFxufSkpO1xuXG5pbXBvcnQgeyBjb2xsZWN0RGVidWdJbmZvcm1hdGlvbiB9IGZyb20gXCIuL2RlYnVnXCI7XG5pbXBvcnQgeyB3aXRoVGVtcERpciB9IGZyb20gXCIuL3V0aWxcIjtcblxuZnVuY3Rpb24gd3JpdGVJbnN0YWxsZWRQYWNrYWdlKHBhY2thZ2VOYW1lOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZykge1xuICBjb25zdCBwYWNrYWdlRGlyID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwibm9kZV9tb2R1bGVzXCIsIHBhY2thZ2VOYW1lKTtcbiAgZnMubWtkaXJTeW5jKHBhY2thZ2VEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICBmcy53cml0ZUZpbGVTeW5jKFxuICAgIHBhdGguam9pbihwYWNrYWdlRGlyLCBcInBhY2thZ2UuanNvblwiKSxcbiAgICBKU09OLnN0cmluZ2lmeSh7IG5hbWU6IHBhY2thZ2VOYW1lLCB2ZXJzaW9uIH0sIG51bGwsIDIpLFxuICApO1xufVxuXG5kZXNjcmliZShcImNvbGxlY3REZWJ1Z0luZm9ybWF0aW9uKClcIiwgKCkgPT4ge1xuICBsZXQgcHJldmlvdXNOb2RlRW52OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcHJldmlvdXNOb2RlRW52ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlY7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgaWYgKHByZXZpb3VzTm9kZUVudiA9PT0gdW5kZWZpbmVkKSBkZWxldGUgcHJvY2Vzcy5lbnYuTk9ERV9FTlY7XG4gICAgZWxzZSBwcm9jZXNzLmVudi5OT0RFX0VOViA9IHByZXZpb3VzTm9kZUVudjtcbiAgfSk7XG5cbiAgaXQoXCJkZXRlY3RzIFR5cGVTY3JpcHQgcGFja2FnZXMgaW5zdGFsbGVkIGFzIG5wbSBkZXYgZGVwZW5kZW5jaWVzIGluIHByb2R1Y3Rpb25cIiwgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHdpdGhUZW1wRGlyKFwiZGVidWcudGVzdFwiLCBhc3luYyAoKSA9PiB7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgICBcImNka3RmLmpzb25cIixcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyBsYW5ndWFnZTogXCJ0eXBlc2NyaXB0XCIgfSksXG4gICAgICApO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgICAgXCJwYWNrYWdlLmpzb25cIixcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJkZWJ1Zy1kZXYtZGVwZW5kZW5jeS1maXh0dXJlXCIsXG4gICAgICAgICAgICB2ZXJzaW9uOiBcIjEuMC4wXCIsXG4gICAgICAgICAgICBkZXZEZXBlbmRlbmNpZXM6IHtcbiAgICAgICAgICAgICAgY2RrdG46IFwiMC4yMy4zXCIsXG4gICAgICAgICAgICAgIGNka3RmOiBcIjAuMjAuMTFcIixcbiAgICAgICAgICAgICAgY29uc3RydWN0czogXCIxMC4zLjBcIixcbiAgICAgICAgICAgICAganNpaTogXCI1LjUuMFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgMixcbiAgICAgICAgKSxcbiAgICAgICk7XG5cbiAgICAgIHdyaXRlSW5zdGFsbGVkUGFja2FnZShcImNka3RuXCIsIFwiMC4yMy4zXCIpO1xuICAgICAgd3JpdGVJbnN0YWxsZWRQYWNrYWdlKFwiY2RrdGZcIiwgXCIwLjIwLjExXCIpO1xuICAgICAgd3JpdGVJbnN0YWxsZWRQYWNrYWdlKFwiY29uc3RydWN0c1wiLCBcIjEwLjMuMFwiKTtcbiAgICAgIHdyaXRlSW5zdGFsbGVkUGFja2FnZShcImpzaWlcIiwgXCI1LjUuMFwiKTtcblxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPSBcInByb2R1Y3Rpb25cIjtcblxuICAgICAgYXdhaXQgZXhwZWN0KGNvbGxlY3REZWJ1Z0luZm9ybWF0aW9uKCkpLnJlc29sdmVzLnRvRXF1YWwoXG4gICAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICBsYW5ndWFnZTogXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgICAgY2RrdG46IFwiMC4yMy4zXCIsXG4gICAgICAgICAgY2RrdGY6IFwiMC4yMC4xMVwiLFxuICAgICAgICAgIGNvbnN0cnVjdHM6IFwiMTAuMy4wXCIsXG4gICAgICAgICAganNpaTogXCI1LjUuMFwiLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdktn/commons",
|
|
3
|
-
"version": "0.24.0-pre.
|
|
3
|
+
"version": "0.24.0-pre.69",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"semver": "7.7.4",
|
|
40
40
|
"strip-ansi": "6.0.1",
|
|
41
41
|
"validator": "13.15.35",
|
|
42
|
-
"cdktn": "0.24.0-pre.
|
|
42
|
+
"cdktn": "0.24.0-pre.69"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/cross-spawn": "6.0.6",
|