@firestartr/cli 0.1.8 → 0.1.10
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/index.js +74 -41
- package/build/provisioner/cdktf.json +0 -0
- package/build/provisioner/dist-cdktf/src/handlers/index.d.ts +1 -1
- package/build/provisioner/dist-cdktf/tsconfig.cdktf.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/build/provisioner/dist-cdktf/src/entities/feature/FirestarterGithubRepositoryFeature.d.ts +0 -8
- package/build/provisioner/dist-cdktf/src/entities/feature/FirestarterGithubRepositoryFeature.js +0 -15
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/FirestarterGithubGroup.d.ts +0 -8
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/FirestarterGithubGroup.js +0 -17
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/auxiliars/TeamConfigAux.d.ts +0 -29
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/auxiliars/TeamConfigAux.js +0 -35
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamMembersHelper.d.ts +0 -4
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamMembersHelper.js +0 -28
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamsHelper.d.ts +0 -4
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamsHelper.js +0 -23
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/FirestarterGithubMembership.d.ts +0 -8
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/FirestarterGithubMembership.js +0 -15
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/helpers/MembershipHelper.d.ts +0 -4
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/helpers/MembershipHelper.js +0 -19
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/FirestarterGithubRepository.d.ts +0 -9
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/FirestarterGithubRepository.js +0 -30
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/auxiliars/RepositoryConfigAux.d.ts +0 -52
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/auxiliars/RepositoryConfigAux.js +0 -72
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/ActionsHelper.d.ts +0 -5
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/ActionsHelper.js +0 -19
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/CodeownersHelper.d.ts +0 -5
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/CodeownersHelper.js +0 -24
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/DefaultBranchHelper.d.ts +0 -5
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/DefaultBranchHelper.js +0 -17
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryHelper.d.ts +0 -5
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryHelper.js +0 -72
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryTeamsHelper.d.ts +0 -4
- package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryTeamsHelper.js +0 -49
- package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/FirestarterTerraformModule.d.ts +0 -10
- package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/FirestarterTerraformModule.js +0 -17
- package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/auxiliars/terraformModuleHelper.d.ts +0 -13
- package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/auxiliars/terraformModuleHelper.js +0 -36
package/build/index.js
CHANGED
|
@@ -234213,10 +234213,12 @@ async function loadCRs(crsPath = (0, config_1.getPath)("crs"), excludedPaths = [
|
|
|
234213
234213
|
if (!("kind" in yamlData && "name" in yamlData.metadata)) {
|
|
234214
234214
|
log(`Invalid claim file ${entry}`);
|
|
234215
234215
|
}
|
|
234216
|
-
|
|
234217
|
-
|
|
234216
|
+
else {
|
|
234217
|
+
if (result[`${yamlData.kind}-${yamlData.metadata.name}`]) {
|
|
234218
|
+
log(`Duplicate CR ${yamlData.kind}-${yamlData.metadata.name}`);
|
|
234219
|
+
}
|
|
234220
|
+
result[`${yamlData.kind}-${yamlData.metadata.name}`] = yamlData;
|
|
234218
234221
|
}
|
|
234219
|
-
result[`${yamlData.kind}-${yamlData.metadata.name}`] = yamlData;
|
|
234220
234222
|
}, excludedPaths.concat((0, config_1.getAdditionalPaths)()));
|
|
234221
234223
|
return result;
|
|
234222
234224
|
}
|
|
@@ -234335,7 +234337,7 @@ function getOrg() {
|
|
|
234335
234337
|
const groupOrg = catalog_common_1.default.environment.getFromEnvironmentWithDefault(catalog_common_1.default.types.envVars.org, "");
|
|
234336
234338
|
return groupOrg;
|
|
234337
234339
|
}
|
|
234338
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUFvRDtBQUNwRCx1Q0FBMEU7QUFDMUUsb0VBQW1DO0FBQ25DLDJDQUE0QjtBQUM1QixpREFBcUc7QUFJckcscUNBQWdHO0FBRWhHLG9GQUFpRjtBQUNqRix1Q0FBd0I7QUFDeEIsK0RBQWdEO0FBQ2hELGtEQUF5QjtBQUN6Qiw4Q0FBb0U7QUFFcEUsOENBQXFEO0FBQ3JELHFDQUEwQztBQUMxQyx5REFBbUM7QUFDbkMsNkNBQXFEO0FBRXJELCtDQUEyQztBQUMzQyw2Q0FBbUQ7QUFDbkQsc0RBQTZEO0FBQzdELHdEQUEyRDtBQUczRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGVBQUssRUFBQyw0QkFBNEIsQ0FBQyxDQUFBO0FBRS9DLE1BQU0sVUFBVSxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBSTlDOzs7R0FHRztBQUdILE1BQU0sYUFBYSxHQUFvQjtJQUV0QyxJQUFJLDRCQUFrQixFQUFFO0NBRXhCLENBQUE7QUFFRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxXQUFXO0lBQ2hDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQTtJQUV4QixNQUFNLElBQUEsZUFBSyxFQUFDLElBQUEsZ0JBQU8sRUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1FBRWhELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUU5QixDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQWEsRUFBRSxJQUFRLEVBQUUsRUFBRTtRQUVwQyxNQUFNLE1BQU0sR0FBUSx3QkFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FB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TUFBTSxRQUFRLEdBQVcsd0JBQU0sQ0FBQyxXQUFXLENBQUMsNkJBQTZCLENBRXRFLHdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBRXhCLEVBQUUsQ0FFSCxDQUFBO0lBRUQsT0FBTyxRQUFRLENBQUE7QUFFakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3Jhd2wsIGNyYXdsV2l0aEV4Y2x1c2lvbnN9IGZyb20gXCIuL2NyYXdsZXJcIlxuaW1wb3J0IHsgU0VDVElPTlNfQllfRklMRV9OQU1FLCBTQ0hFTUFTX0JZX1NFQ1RJT05fTkFNRSB9IGZyb20gXCIuL2dsb2JhbHNcIlxuaW1wb3J0IGNvbW1vbiBmcm9tIFwiY2F0YWxvZ19jb21tb25cIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgeyBJTklUSUFMSVpFUlMsIElOSVRJQUxJWkVSU19CWV9GSUxFX05BTUUsIFNDSEVNQVNfQllfSU5JVElBTElaRVJfTkFNRSB9IGZyb20gXCIuL2luaXRpYWxpemVyc1wiXG5pbXBvcnQgeyBSZW5kZXJDbGFpbURhdGEsIFJlbmRlckNsYWltS2V5LCBSZW5kZXJDbGFpbXMgfSBmcm9tIFwiLi9yZW5kZXJlclwiXG5pbXBvcnQgeyBJbml0aWFsaXplclBhdGNoZXMgfSBmcm9tIFwiLi9pbml0aWFsaXplcnMvYmFzZVwiXG5pbXBvcnQgeyBHbG9iYWxTZWN0aW9uIH0gZnJvbSBcIi4vZ2xvYmFscy9iYXNlXCJcbmltcG9ydCB7IGdldEFkZGl0aW9uYWxQYXRocywgZ2V0Q29uZmlndXJlZFByb3ZpZGVyLCBnZXRQYXRoLCBnZXRSZW5hbWVzRW5hYmxlZCB9IGZyb20gXCIuL2NvbmZpZ1wiXG5pbXBvcnQgeyBPdmVycmlkZXJQYXRjaGVzIH0gZnJvbSBcIi4vb3ZlcnJpZGVycy9iYXNlXCJcbmltcG9ydCB7IEdpdGh1YlJlcG9zaXRvcnlPdmVycmlkZXIgfSBmcm9tIFwiLi9vdmVycmlkZXJzL2dpdGh1YlJlcG9zaXRvcnlPdmVycmlkZVwiXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIlxuaW1wb3J0ICogYXMgZmFzdEpzb25QYXRjaCBmcm9tIFwiZmFzdC1qc29uLXBhdGNoXCJcbmltcG9ydCBEZWJ1ZyBmcm9tIFwiZGVidWdcIlxuaW1wb3J0IHsgRmlyZXN0YXJ0ckFsbENsYWltLCBJVmlydHVhbENsYWltIH0gZnJvbSBcIi4vY2xhaW1zL3ZpcnR1YWxcIlxuaW1wb3J0IHsgSUNsYWltIH0gZnJvbSBcIi4vY2xhaW1zL2Jhc2VcIlxuaW1wb3J0IHsgVVVJREluaXRpYWxpemVyIH0gZnJvbSBcIi4vaW5pdGlhbGl6ZXJzL3V1aWRcIlxuaW1wb3J0IHsgQ2xhaW1WYWxpZGF0aW9uIH0gZnJvbSBcIi4vY2xhaW1zXCJcbmltcG9ydCAgY2xhaW1zIGZyb20gXCIuL2NsYWltcy9iYXNlXCJcbmltcG9ydCB7IHN0cmlwS25vd25SZWxhdGlvbnMgfSBmcm9tIFwiLi91dGlscy9jclV0aWxzXCJcbmltcG9ydCB7IE5vcm1hbGl6ZXIgfSBmcm9tIFwiLi9ub3JtYWxpemVycy9iYXNlXCJcbmltcG9ydCB7IE5PUk1BTElaRVJTIH0gZnJvbSBcIi4vbm9ybWFsaXplcnNcIlxuaW1wb3J0IHsgTmFtZU5vcm1hbGl6ZXIgfSBmcm9tIFwiLi9ub3JtYWxpemVycy9uYW1lXCJcbmltcG9ydCB7IEluaXRpYWxpemVyQ2xhaW1SZWYgfSBmcm9tIFwiLi9pbml0aWFsaXplcnMvY2xhaW1SZWZcIlxuaW1wb3J0IHsgSW5pdGlhbGl6ZXJEZWZhdWx0IH0gZnJvbSBcIi4vZGVmYXVsdHMvaW5pdGlhbGl6ZXJcIlxuXG5cbmNvbnN0IGxvZyA9IERlYnVnKCdmaXJlc3RhcnRyOnJlbmRlcmVyOmxvYWRlcicpXG5cbmNvbnN0IGlzWWFtbEZpbGUgPSBuZXcgUmVnRXhwKC9cXC4oeWFtbHx5bWwpJC8pXG5cblxuXG4vKipcbiAqXG4gKiBAcmV0dXJucyBWaXJ0dWFsIENsYWltc1xuICovXG5cblxuY29uc3QgdmlydHVhbENsYWltczogSVZpcnR1YWxDbGFpbVtdID0gW1xuXG5cdG5ldyBGaXJlc3RhcnRyQWxsQ2xhaW0oKVxuXG5dXG5cbi8qXG4gKiBGdW5jdGlvbiB0byBsb2FkIHN5c3RlbSBjbGFpbXMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWNlaXZlcyBubyBpbnB1dC5cbiAqXG4gKiBPdXRwdXQ6XG4gKiAtIEFuIGFueVtdLCB3aXRoIGFsbCB0aGUgc3lzdGVtcyBsb2FkZWQuXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFN5c3RlbXMoKSB7XG5cdGNvbnN0IHJlc3VsdDogYW55W10gPSBbXVxuXG5cdGF3YWl0IGNyYXdsKGdldFBhdGgoXCJzeXN0ZW1zXCIpLCAoZW50cnk6c3RyaW5nKSA9PiB7XG5cblx0XHRyZXR1cm4gaXNZYW1sRmlsZS50ZXN0KGVudHJ5KVxuXG5cdH0sIGFzeW5jIChfZW50cnk6c3RyaW5nLCBkYXRhOmFueSkgPT4ge1xuXG5cdFx0Y29uc3Qgc3lzdGVtOiBhbnkgPSBjb21tb24uaW8uZnJvbVlhbWwoZGF0YSlcblxuXHRcdHJlc3VsdC5wdXNoKHN5c3RlbSk7XG5cblx0fSlcblxuXHRyZXR1cm4gcmVzdWx0XG59XG5cbi8qXG4gKiBGdW5jdGlvbiB0byBsb2FkIGRvbWFpbiBjbGFpbXMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWNlaXZlcyBubyBpbnB1dC5cbiAqXG4gKiBPdXRwdXQ6XG4gKiAtIEFuIGFueVtdLCB3aXRoIGFsbCB0aGUgZG9tYWlucyBsb2FkZWQuXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZERvbWFpbnMoKSB7XG5cblx0Y29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdXG5cblx0YXdhaXQgY3Jhd2woZ2V0UGF0aChcImRvbWFpbnNcIiksIChlbnRyeTpzdHJpbmcpID0+IHtcblxuXHRcdHJldHVybiBpc1lhbWxGaWxlLnRlc3QoZW50cnkpXG5cblx0fSwgYXN5bmMgKF9lbnRyeTpzdHJpbmcsIGRhdGE6YW55KSA9PiB7XG5cblx0XHRjb25zdCBkb21haW46IGFueSA9IGNvbW1vbi5pby5mcm9tWWFtbChkYXRhKVxuXG5cdFx0cmVzdWx0LnB1c2goZG9tYWluKTtcblx0fSlcblxuXHRyZXR1cm4gcmVzdWx0XG59XG5cblxuLypcbiAqIExvYWRzIGFsbCBhcHBsaWNhYmxlIGdsb2JhbHMgZm9yIGEgZ2l2ZW4gY2xhaW0gYW5kIHN0b3JlcyB0aGVtIGludG8gYSBsaXN0LlxuICpcbiAqIElucHV0OlxuICogLSBjbGFpbTogb3VyIGN1c3RvbSBjbGFpbSBvYmplY3QsIHdpdGggd2hpY2ggd2UgY2hlY2sgaWYgdGhlIGdsb2JhbCBpcyBhcHBsaWNhYmxlXG4gKlxuICogUmV0dXJuczpcbiAqIC0gQSBHbG9iYWxTZWN0aW9uIGFycmF5IHByb21pc2UsIGNvbnRhaW5pbmcgYWxsIHRoZSBnbG9iYWxzIGxvYWRlZCBmb3IgdGhpcyBjbGFpbVxuICpcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRHbG9iYWxzKGNsYWltOiBhbnkpOiBQcm9taXNlPEdsb2JhbFNlY3Rpb25bXT4ge1xuXG5cdGNvbnN0IHJlc3VsdDogR2xvYmFsU2VjdGlvbltdID0gW11cblxuXHRhd2FpdCBjcmF3bChnZXRQYXRoKFwiZ2xvYmFsc1wiKSwgKGVudHJ5OnN0cmluZykgPT4ge1xuXG5cdFx0cmV0dXJuIGlzWWFtbEZpbGUudGVzdChlbnRyeSlcblxuXHR9LCBhc3luYyAoZW50cnk6c3RyaW5nLCBkYXRhOmFueSkgPT4ge1xuXG5cdFx0Y29uc3QgZ2xvYmFsRGF0YTogYW55ID0gY29tbW9uLmlvLmZyb21ZYW1sKGRhdGEpO1xuXG5cdFx0Y29uc3QgZXh0OiBzdHJpbmcgPSBwYXRoLmV4dG5hbWUoZW50cnkpO1xuXG5cdFx0Y29uc3QgbmFtZTogc3RyaW5nID0gcGF0aC5iYXNlbmFtZShlbnRyeSwgZXh0KTtcblxuXHRcdGlmKG5hbWUgaW4gU0VDVElPTlNfQllfRklMRV9OQU1FKXtcblxuXHRcdFx0Y29uc3Qgc2VjdGlvbjogYW55ID0gbmV3IFNFQ1RJT05TX0JZX0ZJTEVfTkFNRVtuYW1lXShnbG9iYWxEYXRhKVxuXG5cdFx0XHRpZighKGF3YWl0IHNlY3Rpb24udmFsaWRhdGUoU0NIRU1BU19CWV9TRUNUSU9OX05BTUVbbmFtZV0gfHwge30pKSl7XG5cblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkICR7bmFtZX0gZ2xvYmFsIGZpbGVgKVxuXG5cdFx0XHR9XG5cblx0XHRcdGlmKGdsb2JhbERhdGEua2luZCA9PSBjbGFpbS5raW5kKXtcblxuXHRcdFx0XHRyZXN1bHQucHVzaChzZWN0aW9uKVxuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdGxvZygnU2tpcHBpbmcgZ2xvYmFsICVzIGJlY2F1c2UgaXQgaXMgbm90IGFwcGxpY2FibGUgdG8gJXMnLCBuYW1lLCBjbGFpbS5raW5kKVxuXHRcdFx0XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fSlcblxuXHRsb2coJ0xvYWRlZCBnbG9iYWxzICVPJywgcmVzdWx0KVxuXG5cdHJldHVybiByZXN1bHRcblxufVxuXG4vKlxuICogSWYgdGhlIGlucHV0IGNsYWltIGlzIGEgR2l0aHViUmVwb3NpdG9yeUNsYWltLCBpdCBsb2FkcyBhbGwgaXQncyBhcHBsaWNhYmxlXG4gKiBvdmVycmlkZXMgYW5kIHN0b3JlcyB0aGVtIGludG8gYSBsaXN0LiBPdGhlcndpc2UsIGl0IHJldHVybnMgYW4gZW1wdHkgbGlzdC5cbiAqXG4gKiBJbnB1dDpcbiAqIC0gY2xhaW06IG91ciBjdXN0b20gY2xhaW0gb2JqZWN0LCB3aGljaCBzaG91bGQgYmUgYSBHaXRodWJSZXBvc2l0b3J5Q2xhaW1cbiAqXG4gKiBSZXR1cm5zOlxuICogLSBBbiBPdmVycmlkZXIgYXJyYXksIHdpdGggYSBHaXRodWJSZXBvc2l0b3J5T3ZlcnJpZGVyIGlmIHRoZSBjbGFpbVxuICogICB3YXMgYSBHaXRodWJSZXBvc2l0b3J5Q2xhaW0sIG9yIGVtcHR5IGlmIGl0IHdhcyBub3QuXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZE92ZXJyaWRlcyhjbGFpbTogYW55KTogT3ZlcnJpZGVyUGF0Y2hlc1tdIHtcblxuXG5cdGxldCBvdmVycmlkZXMgOiBPdmVycmlkZXJQYXRjaGVzW10gPSBbXVxuXG5cdGlmKGNsYWltLmtpbmQgPT09IFwiQ29tcG9uZW50Q2xhaW1cIiAmJiBjbGFpbS5wcm92aWRlcnMuZ2l0aHViLm92ZXJyaWRlcyl7XG5cblx0XHRvdmVycmlkZXMucHVzaChuZXcgR2l0aHViUmVwb3NpdG9yeU92ZXJyaWRlcigpKVxuXG5cdH1cblxuXHRyZXR1cm4gb3ZlcnJpZGVzXG5cbn1cblxuXG4vKipcbiAqIExvYWQgYWxsIG5vcm1hbGl6ZXJzIGFuZCBzdG9yZXMgdGhlbSBpbnRvIGEgbGlzdC5cbiAqIEBwYXJhbSBjbGFpbVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWROb3JtYWxpemVycyhfY2xhaW06IGFueSwgcGF0aD86IHN0cmluZyk6IFByb21pc2U8Tm9ybWFsaXplcltdPiB7XG5cblx0bGV0IHJlc3VsdDogTm9ybWFsaXplcltdID0gW11cblxuXHRmb3IgKGNvbnN0IG5vcm1hbGl6ZXIgb2YgTk9STUFMSVpFUlMpIHtcblxuXHRcdHJlc3VsdC5wdXNoKG5ldyBub3JtYWxpemVyKHtwYXRoOiBwYXRofSkpO1xuXG5cdH1cblxuXHRyZXR1cm4gcmVzdWx0O1xuXG59XG5cblxuLypcbiAqIExvYWRzIGFsbCBhcHBsaWNhYmxlIGluaXRpYWxpemVycyBmb3IgYSBnaXZlbiBjbGFpbSBhbmQgc3RvcmVzIHRoZW0gaW50byBhIGxpc3QuXG4gKlxuICogSW5wdXQ6XG4gKiAtIGNsYWltOiBvdXIgY3VzdG9tIGNsYWltIG9iamVjdCwgd2l0aCB3aGljaCB3ZSBjaGVjayBpZiB0aGUgaW5pdGlhbGl6ZXIgaXMgYXBwbGljYWJsZVxuICpcbiAqIFJldHVybnM6XG4gKiAtIEFuIEluaXRpYWxpemVyIGFycmF5IHByb21pc2UsIGNvbnRhaW5pbmcgYWxsIHRoZSBpbml0aWFsaXplcnMgbG9hZGVkIGZvciB0aGlzIGNsYWltXG4gKlxuICovXG5cbmxldCBsb2FkZWRJbml0aWFsaXplcnM6IEluaXRpYWxpemVyUGF0Y2hlc1tdIHwgZmFsc2UgPSBmYWxzZVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEluaXRpYWxpemVycyhjbGFpbTogYW55LCBpbml0aWFsaXplcnNQYXRoOiBzdHJpbmcgPSBnZXRQYXRoKFwiaW5pdGlhbGl6ZXJzXCIpKTogUHJvbWlzZTxJbml0aWFsaXplclBhdGNoZXNbXT4ge1xuXG5cdGxldCByZXN1bHQ6IEluaXRpYWxpemVyUGF0Y2hlc1tdID0gW11cblxuXHRhd2FpdCBjcmF3bChpbml0aWFsaXplcnNQYXRoLCAoZW50cnk6c3RyaW5nKSA9PiB7XG5cblx0XHRyZXR1cm4gaXNZYW1sRmlsZS50ZXN0KGVudHJ5KVxuXG5cdH0sIGFzeW5jKGVudHJ5OnN0cmluZywgZGF0YTphbnkpID0+IHtcblxuXHRcdGNvbnN0IGluaXRpYWxpemVyRGF0YTogYW55ID0gY29tbW9uLmlvLmZyb21ZYW1sKGRhdGEpXG5cblx0XHRjb25zdCBleHQ6IHN0cmluZyA9IHBhdGguZXh0bmFtZShlbnRyeSk7XG5cblx0XHRjb25zdCBuYW1lOiBzdHJpbmcgPSBwYXRoLmJhc2VuYW1lKGVudHJ5LCBleHQpO1xuXG5cdFx0aWYobmFtZSBpbiBJTklUSUFMSVpFUlNfQllfRklMRV9OQU1FKXtcblxuXHRcdFx0Y29uc3QgaW5pdGlhbGl6ZXJCZk46IGFueSA9IG5ldyBJTklUSUFMSVpFUlNfQllfRklMRV9OQU1FW25hbWVdKGluaXRpYWxpemVyRGF0YSlcblxuXHRcdFx0aWYoIShhd2FpdCBpbml0aWFsaXplckJmTi52YWxpZGF0ZShTQ0hFTUFTX0JZX0lOSVRJQUxJWkVSX05BTUVbbmFtZV0gfHwge30pKSl7XG5cblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkICR7bmFtZX0gaW5pdGlhbGl6ZXIgZmlsZWApXG5cblx0XHRcdH1cblxuXHRcdFx0aWYoaW5pdGlhbGl6ZXJEYXRhLmtpbmQgPT09IGNsYWltLmtpbmQpe1xuXG5cdFx0XHRcdHJlc3VsdC5wdXNoKGluaXRpYWxpemVyQmZOKVxuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdGxvZygnU2tpcHBpbmcgaW5pdGlhbGl6ZXIgJXMgYmVjYXVzZSBpdCBpcyBub3QgYXBwbGljYWJsZSB0byAlcycsIG5hbWUsIGNsYWltLmtpbmQpXG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9KVxuXG5cdGZvcihjb25zdCBpbml0aWFsaXplciBvZiBJTklUSUFMSVpFUlMpIHtcblxuXHRcdGlmKChpbml0aWFsaXplci5hcHBsaWNhYmxlS2luZHMpLmluY2x1ZGVzKGNsYWltLmtpbmQpKXtcblxuXHRcdFx0cmVzdWx0LnB1c2gobmV3IGluaXRpYWxpemVyKCkpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHRsb2coJ0xvYWRlZCBpbml0aWFsaXplcnMgJU8nLCByZXN1bHQpXG5cblx0bG9hZGVkSW5pdGlhbGl6ZXJzID0gcmVzdWx0XG5cblx0cmV0dXJuIGxvYWRlZEluaXRpYWxpemVyc1xufVxuXG5cbi8qXG4gKiBMb2FkcyBhbGwgY2xhaW1zIGFuZCBzdG9yZXMgdGhlbSBpbnRvIGEgYW4gb2JqZWN0LlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gcmVjZWl2ZXMgbm8gaW5wdXQuXG4gKlxuICogUmV0dXJuczpcbiAqIC0gQSBSZW5kZXJDbGFpbXMgcHJvbWlzZS4gQSBSZW5kZXJDbGFpbXMgb2JqZWN0IGNvbnRhaW5zLCBmb3IgZWFjaCBjbGFpbTpcbiAqICAgwrcgVGhlIGFjdHVhbCBjbGFpbSBvYmplY3RcbiAqICAgwrcgVGhlIGNsYWltJ3MgcGF0aFxuICogICDCtyBUaGUgY2xhaW0ncyBhcHBsaWNhYmxlIGluaXRpYWxpemVycywgZ2xvYmFscyBhbmQgb3ZlcnJpZGVzXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZENsYWltcyhjbGFpbXNQYXRoOiBzdHJpbmcgPSBnZXRQYXRoKFwiY2xhaW1zXCIpKTogUHJvbWlzZTxSZW5kZXJDbGFpbXM+IHtcblxuXHRjb25zdCByZXN1bHQ6IGFueSA9IHt9XG5cblx0Y29uc3QgZGVmYXVsdHNDbGFpbXMgPSBsb2FkQ2xhaW1EZWZhdWx0cygpXG5cblx0YXdhaXQgY3Jhd2woY2xhaW1zUGF0aCwgKGVudHJ5OnN0cmluZykgPT4ge1xuXG5cdFx0cmV0dXJuIGlzWWFtbEZpbGUudGVzdChlbnRyeSlcblxuXHR9LCBhc3luYyAoZW50cnk6c3RyaW5nLCBkYXRhOmFueSkgPT4ge1xuXG5cdFx0Y29uc3QgY2xhaW06IGFueSA9IHBhdGNoQ2xhaW0oY29tbW9uLmlvLmZyb21ZYW1sKGRhdGEpLCBkZWZhdWx0c0NsYWltcylcblxuXHRcdGlmKCEoXCJraW5kXCIgaW4gY2xhaW0gJiYgXCJuYW1lXCIgaW4gY2xhaW0pKXtcblxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsYWltIGZpbGUgJHtlbnRyeX1gKVxuXG5cdFx0fVxuXG5cdFx0Q2xhaW1WYWxpZGF0aW9uLnZhbGlkYXRlQ2xhaW0oY2xhaW0sIChjbGFpbXMgYXMgYW55KVtgJHtjbGFpbS5raW5kfVNjaGVtYWBdKVxuXG4gICAgICAgICAgICAgICAgYXdhaXQgQ2xhaW1WYWxpZGF0aW9uLm9wdGlvbmFsVmFsaWRhdGlvbihjbGFpbSlcblxuXHRcdGlmKHJlc3VsdFtgJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YF0pIHtcblxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgY2xhaW0gJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YClcblx0XHR9XG5cblx0XHRyZXN1bHRbYCR7Y2xhaW0ua2luZH0tJHtjbGFpbS5uYW1lfWBdID0ge31cblxuXHRcdHJlc3VsdFtgJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YF1bXCJjbGFpbVwiXSA9IGNsYWltXG5cblx0XHRyZXN1bHRbYCR7Y2xhaW0ua2luZH0tJHtjbGFpbS5uYW1lfWBdW1wiY2xhaW1QYXRoXCJdID0gZW50cnlcblxuXHRcdHJlc3VsdFtgJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YF1bXCJpbml0aWFsaXplcnNcIl0gPSBhd2FpdCBsb2FkSW5pdGlhbGl6ZXJzKGNsYWltKTtcblxuXHRcdHJlc3VsdFtgJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YF1bXCJnbG9iYWxzXCJdID0gYXdhaXQgbG9hZEdsb2JhbHMoY2xhaW0pO1xuXG5cdFx0cmVzdWx0W2Ake2NsYWltLmtpbmR9LSR7Y2xhaW0ubmFtZX1gXVtcIm92ZXJyaWRlc1wiXSA9IGxvYWRPdmVycmlkZXMoY2xhaW0pO1xuXG5cdFx0cmVzdWx0W2Ake2NsYWltLmtpbmR9LSR7Y2xhaW0ubmFtZX1gXVtcIm5vcm1hbGl6ZXJzXCJdID0gYXdhaXQgbG9hZE5vcm1hbGl6ZXJzKGNsYWltLCBlbnRyeSk7XG5cblx0fSlcblxuXHRyZXR1cm4gcmVzdWx0XG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRDbGFpbURlZmF1bHRzKCl7XG4gIHJldHVybiBjb21tb24uaW8uZnJvbVlhbWwoZnMucmVhZEZpbGVTeW5jKFxuICAgIGAke2dldFBhdGgoXCJjbGFpbXNEZWZhdWx0c1wiKX0vY2xhaW1zX2RlZmF1bHRzLnlhbWxgLCBcInV0Zi04XCJcbiAgKSlcbn1cblxuLypcbiAqIFVzaW5nIGZhc3QtanNvbi1wYXRjaCwgY29tcGFyZXMgYSBjbGFpbSB0byBpdHMga2luZCdzIGRlZmF1bHRzLCB0aGVuIHBhdGNoZXMgaXQuXG4gKlxuICogSW5wdXQ6XG4gKiAtIGNsYWltOiBvdXIgY3VzdG9tIGNsYWltIG9iamVjdCwgd2hpY2ggd2Ugd2FudCB0byBwYXRjaFxuICogLSBkZWZhdWx0c0NsYWltczogYW4gb2JqZWN0LCBjb250YWluaW5nIHRoZSBkZWZhdWx0cyBmb3IgZWFjaCBjbGFpbSBraW5kLFxuICogICB3aXRoIHRoZSBzYW1lIHN0cnVjdHVyZSB0aGF0IHdlIHVzZSBmb3IgdGhlIGFjdHVhbCBjbGFpbXNcbiAqXG4gKiBSZXR1cm5zOlxuICogLSBUaGUgcGF0Y2hlZCBjbGFpbVxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoQ2xhaW0oY2xhaW06IGFueSwgZGVmYXVsdHNDbGFpbXM6IGFueSl7XG5cblx0aWYoZGVmYXVsdHNDbGFpbXNbY2xhaW0ua2luZF0pe1xuXG5cdFx0Y29uc3QganNvblBhdGNoT3BzOiBhbnkgPSBmYXN0SnNvblBhdGNoLmNvbXBhcmUoY2xhaW0sIGRlZmF1bHRzQ2xhaW1zW2NsYWltLmtpbmRdKS5maWx0ZXIoKGpwOmFueSkgPT4ge1xuXG5cdFx0XHRyZXR1cm4ganAub3AgPT0gXCJhZGRcIlxuXG5cdFx0fSlcblxuXHRcdGNsYWltID0gZmFzdEpzb25QYXRjaC5hcHBseVBhdGNoKGNsYWltLCBqc29uUGF0Y2hPcHMpLm5ld0RvY3VtZW50XG5cblx0fVxuXG5cdHJldHVybiBjbGFpbVxuXG59XG5cblxuLypcbiAqIExvYWRzIGFsbCBDUnMgYW5kIHN0b3JlcyB0aGVtIGludG8gYSBvYmplY3QuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWNlaXZlcyBubyBpbnB1dC5cbiAqXG4gKiBSZXR1cm5zOlxuICogLSBBbiBvYmplY3QgcHJvbWlzZSB3aGljaCBjb250YWlucyBlYWNoIGxvYWRlZCBDUlxuICpcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRDUnMoXG5cblx0Y3JzUGF0aDogc3RyaW5nID0gZ2V0UGF0aChcImNyc1wiKSxcblxuXHRleGNsdWRlZFBhdGhzOiBzdHJpbmdbXSA9IFsgZ2V0UGF0aChcImdsb2JhbHNcIiksIGdldFBhdGgoXCJpbml0aWFsaXplcnNcIildXG5cbikge1xuXG5cdGNvbnN0IHJlc3VsdDogYW55ID0ge31cblxuXHRhd2FpdCBjcmF3bFdpdGhFeGNsdXNpb25zKGNyc1BhdGgsIChlbnRyeTpzdHJpbmcpID0+IHtcblxuXHRcdHJldHVybiBpc1lhbWxGaWxlLnRlc3QoZW50cnkpXG5cblx0fSwgYXN5bmMgKGVudHJ5OnN0cmluZywgZGF0YTphbnkpID0+IHtcblxuXHRcdGNvbnN0IHlhbWxEYXRhOiBhbnkgPSBzdHJpcEtub3duUmVsYXRpb25zKGNvbW1vbi5pby5mcm9tWWFtbChkYXRhKSk7XG5cblx0XHRpZighKFwia2luZFwiIGluIHlhbWxEYXRhICYmIFwibmFtZVwiIGluIHlhbWxEYXRhLm1ldGFkYXRhKSl7XG5cblx0XHRcdGxvZyhgSW52YWxpZCBjbGFpbSBmaWxlICR7ZW50cnl9YClcblxuXHRcdH1cblxuXHRcdGlmKHJlc3VsdFtgJHt5YW1sRGF0YS5raW5kfS0ke3lhbWxEYXRhLm1ldGFkYXRhLm5hbWV9YF0pIHtcblxuXHRcdFx0bG9nKGBEdXBsaWNhdGUgQ1IgJHt5YW1sRGF0YS5raW5kfS0ke3lhbWxEYXRhLm1ldGFkYXRhLm5hbWV9YClcblxuXHRcdH1cblxuXHRcdHJlc3VsdFtgJHt5YW1sRGF0YS5raW5kfS0ke3lhbWxEYXRhLm1ldGFkYXRhLm5hbWV9YF0gPSB5YW1sRGF0YVxuXG5cdH0sXG5cdFx0ZXhjbHVkZWRQYXRocy5jb25jYXQoZ2V0QWRkaXRpb25hbFBhdGhzKCkpXG5cdClcblxuXHRyZXR1cm4gcmVzdWx0XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVuYW1lUmVzdWx0IHtcblx0a2luZDogc3RyaW5nO1xuXHRjbGFpbVBhdGg6IHN0cmluZztcblx0Y2xhaW1OYW1lOiBzdHJpbmc7XG5cdG9sZE5hbWU6IHN0cmluZztcblx0bmV3TmFtZTogc3RyaW5nO1xufVxuXG4vKlxuKiBEZXNjcmlwdGlvbjogR2V0IHRoZSByZW5hbWVkIHVzaW5nIGNsYWltUmVmIGFubm90YXRpb25cbiogSW5wdXQ6IGNsYWltczogYW55LCBjcnM6IGFueVxuKiBPdXRwdXQ6IHJlbmFtZXM6IElSZW5hbWVSZXN1bHRbXVxuKi9cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRSZW5hbWVzKGNsYWltczogYW55LCBjcnM6IGFueSk6IFByb21pc2U8SVJlbmFtZVJlc3VsdFtdPiB7XG5cblx0Lypcblx0ICogSWYgY2hlY2tSZW5hbWVzIGlzIGZhbHNlLCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIGZvciByZW5hbWVzXG5cdCAqL1xuXHRjb25zdCByZW5hbWVzRW5hYmxlZCA9IGdldFJlbmFtZXNFbmFibGVkKCk7XG5cdGlmICghcmVuYW1lc0VuYWJsZWQpIHJldHVybiBbXTtcblxuXHRjb25zdCByZXN1bHQ6IElSZW5hbWVSZXN1bHRbXSA9IFtdO1xuXG5cdC8qKlxuXHQgKiBGb3IgZWFjaCBDUiwgbG9vayBmb3IgYSBjbGFpbSB0aGF0IGRvZXMgbm90IG1hdGNoIHRoZSBuYW1lIHdpdGggQ1IncyBmaXJlc3RhcnRyLmRldi9jbGFpbS1yZWYgYW5ub3RhdGlvblxuXHQgKi9cblx0Zm9yIChsZXQgY3Igb2YgT2JqZWN0LnZhbHVlcyhjcnMpKSB7XG5cblx0XHRjb25zdCBhbnlDcjogYW55ID0gY3I7XG5cblx0XHRpZiAoIWFueUNyPy5tZXRhZGF0YT8uYW5ub3RhdGlvbnMpIGNvbnRpbnVlO1xuXG5cdFx0Ly8gaWYgdGhlIGFubm90YXRpb24gaXMgYSBjbGFpbVJlZlxuXHRcdGNvbnN0IGFubm90YXRpb25OYW1lID0gY29tbW9uLmdlbmVyaWMuZ2V0RmlyZXN0YXJ0ckFubm90YXRpb24oJ2NsYWltLXJlZicpO1xuXG5cdFx0aWYgKGFubm90YXRpb25OYW1lIGluIGFueUNyPy5tZXRhZGF0YT8uYW5ub3RhdGlvbnMpIHtcblxuXHRcdFx0Y29uc3QgY2xhaW1SZWYgPSBhbnlDci5tZXRhZGF0YS5hbm5vdGF0aW9uc1thbm5vdGF0aW9uTmFtZV07XG5cblx0XHRcdC8vIHNwbGl0IHRoZSBhbm5vdGF0aW9uIGludG8ga2luZCBhbmQgbmFtZVxuXHRcdFx0Y29uc3QgW2tpbmQsIG5hbWVdID0gY2xhaW1SZWYuc3BsaXQoXCIvXCIpO1xuXG5cdFx0XHQvLyBpZiB0aGUgY2xhaW0gZXhpc3RzLCBjaGVjayBpZiB0aGUgbmFtZSBpcyBkaWZmZXJlbnQgZm9yIHRoZSBnaXZlbiBwcm92aWRlclxuXHRcdFx0Y29uc3QgcmVmZXJlbmNlZENsYWltID0gY2xhaW1zW2Ake2tpbmR9LSR7bmFtZX1gXS5jbGFpbTtcblxuXG5cdFx0XHRjb25zdCBvbGROYW1lID0gYW55Q3IubWV0YWRhdGEubmFtZTtcblx0XHRcdGNvbnN0IG5ld05hbWUgPSByZWZlcmVuY2VkQ2xhaW0ucHJvdmlkZXJzW2dldENvbmZpZ3VyZWRQcm92aWRlcigpXS5uYW1lO1xuXG5cdFx0XHRpZiAob2xkTmFtZSAhPT0gbmV3TmFtZSkge1xuXG5cdFx0XHRcdHJlc3VsdC5wdXNoKHtcblx0XHRcdFx0XHRraW5kOiByZWZlcmVuY2VkQ2xhaW0ua2luZCxcblx0XHRcdFx0XHRjbGFpbVBhdGg6IGNsYWltc1tgJHtraW5kfS0ke25hbWV9YF0uY2xhaW1QYXRoLFxuXHRcdFx0XHRcdGNsYWltTmFtZTogcmVmZXJlbmNlZENsYWltLm5hbWUsXG5cdFx0XHRcdFx0b2xkTmFtZSxcblx0XHRcdFx0XHRuZXdOYW1lLFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHRyZXR1cm4gcmVzdWx0O1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyRGF0YSB7XG5cdGdsb2JhbHM/OiBhbnksXG5cdGluaXRpYWxpemVycz86IGFueSxcblx0Y2xhaW1zPzogYW55LFxuXHRyZW5hbWVzPzogYW55LFxuXHRjcnM/OiBhbnlcbn1cblxuLypcbiAqIE1haW4gZnVuY3Rpb24gb2YgdGhpcyBmaWxlLiBMb2FkcyBhbGwgdGhlIGRpZmZlcmVudCB0eXBlcyBvZiBvYmplY3RzIGFuZFxuICogc3RvcmVzIHRoZW0gaW50byBhbiBvYmplY3QuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWNlaXZlcyBubyBpbnB1dC5cbiAqXG4gKiBPdXRwdXQ6XG4gKiAtIEFuIG9iamVjdCwgd2hpY2ggY29udGFpbnM6XG4gKiAgIMK3IEFsbCBjbGFpbXMgdG8gYmUgcmVuZGVyZWRcbiAqICAgwrcgQWxsIENScyB0aGF0IHdlcmUgYWxyZWFkeSBjcmVhdGVkXG4gKiAgIMK3IEFsbCByZW5hbWUgb3BlcmF0aW9uc1xuICpcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRBbGwoKXtcblxuXG5cdGNvbnN0IGRhdGE6IHsgcmVuZGVyQ2xhaW1zOiBSZW5kZXJDbGFpbXMsIGNyczogYW55LCByZW5hbWVzPzogSVJlbmFtZVJlc3VsdFtdIH0gPSB7XG5cblx0XHRyZW5kZXJDbGFpbXM6IHt9LFxuXG5cdFx0Y3JzOiB7fSxcblxuXHR9XG5cblx0YXdhaXQgUHJvbWlzZS5hbGwoW1xuXG5cdFx0bG9hZENsYWltcygpLnRoZW4oKGNsYWltczphbnkpID0+IHtcblxuXHRcdFx0ZGF0YVtcInJlbmRlckNsYWltc1wiXSA9IGNsYWltc1xuXG5cdFx0fSlcblxuXHRcdC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xuXG5cdFx0XHR0aHJvdyBlcnJvclxuXG5cdFx0fSlcblxuXHRcdC50aGVuKGFzeW5jKCkgPT4ge1xuXG5cblx0XHRcdGZvcihjb25zdCB2aXJ0dWFsQ2xhaW0gb2YgdmlydHVhbENsYWltcyl7XG5cblx0XHRcdFx0Y29uc3QgZXhwYW5kZWRDbGFpbTogSUNsYWltID0gIGF3YWl0ICh2aXJ0dWFsQ2xhaW0uZXhwYW5kKGRhdGFbXCJyZW5kZXJDbGFpbXNcIl0gLCB7b3JnOiBnZXRPcmcoKX0pKVxuXG5cblx0XHRcdFx0Y29uc3QgZGVmYXVsdENvbmZpZyA9IHtcblx0XHRcdFx0XHRraW5kOiAnRmlyZXN0YXJ0ckdpdGh1Ykdyb3VwJyxcblx0XHRcdFx0XHRkZWZhdWx0VmFsdWVzOiB7XG5cdFx0XHRcdFx0ICBjb250ZXh0OiB7XG5cdFx0XHRcdFx0XHRiYWNrZW5kOiB7XG5cdFx0XHRcdFx0XHQgIHJlZjoge1xuXHRcdFx0XHRcdFx0XHRraW5kOiAnRmlyZXN0YXJ0clByb3ZpZGVyQ29uZmlnJyxcblx0XHRcdFx0XHRcdFx0bmFtZTogJ2ZpcmVzdGFydHItdGVycmFmb3JtLXN0YXRlJ1xuXHRcdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0cHJvdmlkZXI6IHtcblx0XHRcdFx0XHRcdCAgcmVmOiB7XG5cdFx0XHRcdFx0XHRcdGtpbmQ6ICdGaXJlc3RhcnRyUHJvdmlkZXJDb25maWcnLFxuXHRcdFx0XHRcdFx0XHRuYW1lOiAnZ2l0aHViLWFwcCdcblx0XHRcdFx0XHRcdCAgfVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCAgfVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IHJlbmRlckNsYWltOiBSZW5kZXJDbGFpbURhdGEgPSB7XG5cblx0XHRcdFx0XHRjbGFpbTogZXhwYW5kZWRDbGFpbSxcblxuXHRcdFx0XHRcdGNsYWltUGF0aDogXCJ2aXJ0dWFsXCIsXG5cblx0XHRcdFx0XHRpbml0aWFsaXplcnM6IFtuZXcgVVVJREluaXRpYWxpemVyKGV4cGFuZGVkQ2xhaW0pLCBuZXcgSW5pdGlhbGl6ZXJDbGFpbVJlZigpLCBuZXcgSW5pdGlhbGl6ZXJEZWZhdWx0KGRlZmF1bHRDb25maWcpXSxcblxuXHRcdFx0XHRcdG92ZXJyaWRlczogW10sXG5cblx0XHRcdFx0XHRnbG9iYWxzOiBbXSxcblxuXHRcdFx0XHRcdG5vcm1hbGl6ZXJzOiBbbmV3IE5hbWVOb3JtYWxpemVyKCldXG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGRhdGFbXCJyZW5kZXJDbGFpbXNcIl1bYCR7ZXhwYW5kZWRDbGFpbS5raW5kfS0ke2V4cGFuZGVkQ2xhaW0ubmFtZX1gIGFzIFJlbmRlckNsYWltS2V5XSA9IHJlbmRlckNsYWltXG5cdFx0XHR9XG5cblx0XHR9KSxcblxuXHRcdGxvYWRDUnMoKS50aGVuKChjcnM6YW55KSAgPT5cblxuXHRcdFx0ZGF0YVtcImNyc1wiXSA9IGNyc1xuXG5cdCAgICAgICAgKVxuXG5cdF0pXG5cblx0Ly8gV2UgbmVlZCB0byBsb2FkIHJlbmFtZXMgYWZ0ZXIgY3JzIGFuZCBjbGFpbXMgaGFzIGJlZW4gbG9hZGVkIHRvIGNvbXBhcmUgdGhlbSBib3RoXG5cdGRhdGFbXCJyZW5hbWVzXCJdID0gYXdhaXQgbG9hZFJlbmFtZXMoZGF0YVtcInJlbmRlckNsYWltc1wiXSwgZGF0YVtcImNyc1wiXSk7XG5cblx0cmV0dXJuIGRhdGFcblxufVxuXG5cblxuZnVuY3Rpb24gZ2V0T3JnKCl7XG5cblxuXHRjb25zdCBncm91cE9yZzogc3RyaW5nID0gY29tbW9uLmVudmlyb25tZW50LmdldEZyb21FbnZpcm9ubWVudFdpdGhEZWZhdWx0KFxuXG4gICAgY29tbW9uLnR5cGVzLmVudlZhcnMub3JnLFxuXG4gICAgXCJcIlxuXG4gIClcblxuICByZXR1cm4gZ3JvdXBPcmdcblxufVxuIl19
|
|
234340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUFvRDtBQUNwRCx1Q0FBMEU7QUFDMUUsb0VBQW1DO0FBQ25DLDJDQUE0QjtBQUM1QixpREFBcUc7QUFJckcscUNBQWdHO0FBRWhHLG9GQUFpRjtBQUNqRix1Q0FBd0I7QUFDeEIsK0RBQWdEO0FBQ2hELGtEQUF5QjtBQUN6Qiw4Q0FBb0U7QUFFcEUsOENBQXFEO0FBQ3JELHFDQUEwQztBQUMxQyx5REFBbUM7QUFDbkMsNkNBQXFEO0FBRXJELCtDQUEyQztBQUMzQyw2Q0FBbUQ7QUFDbkQsc0RBQTZEO0FBQzdELHdEQUEyRDtBQUczRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGVBQUssRUFBQyw0QkFBNEIsQ0FBQyxDQUFBO0FBRS9DLE1BQU0sVUFBVSxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBSTlDOzs7R0FHRztBQUdILE1BQU0sYUFBYSxHQUFvQjtJQUV0QyxJQUFJLDRCQUFrQixFQUFFO0NBRXhCLENBQUE7QUFFRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxXQUFXO0lBQ2hDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQTtJQUV4QixNQUFNLElBQUEsZUFBSyxFQUFDLElBQUEsZ0JBQU8sRUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1FBRWhELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUU5QixDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQWEsRUFBRSxJQUFRLEVBQUUsRUFBRTtRQUVwQyxNQUFNLE1BQU0sR0FBUSx3QkFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FB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LE1BQU07SUFHZCxNQUFNLFFBQVEsR0FBVyx3QkFBTSxDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsQ0FFdEUsd0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFFeEIsRUFBRSxDQUVILENBQUE7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUVqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmF3bCwgY3Jhd2xXaXRoRXhjbHVzaW9uc30gZnJvbSBcIi4vY3Jhd2xlclwiXG5pbXBvcnQgeyBTRUNUSU9OU19CWV9GSUxFX05BTUUsIFNDSEVNQVNfQllfU0VDVElPTl9OQU1FIH0gZnJvbSBcIi4vZ2xvYmFsc1wiXG5pbXBvcnQgY29tbW9uIGZyb20gXCJjYXRhbG9nX2NvbW1vblwiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IElOSVRJQUxJWkVSUywgSU5JVElBTElaRVJTX0JZX0ZJTEVfTkFNRSwgU0NIRU1BU19CWV9JTklUSUFMSVpFUl9OQU1FIH0gZnJvbSBcIi4vaW5pdGlhbGl6ZXJzXCJcbmltcG9ydCB7IFJlbmRlckNsYWltRGF0YSwgUmVuZGVyQ2xhaW1LZXksIFJlbmRlckNsYWltcyB9IGZyb20gXCIuL3JlbmRlcmVyXCJcbmltcG9ydCB7IEluaXRpYWxpemVyUGF0Y2hlcyB9IGZyb20gXCIuL2luaXRpYWxpemVycy9iYXNlXCJcbmltcG9ydCB7IEdsb2JhbFNlY3Rpb24gfSBmcm9tIFwiLi9nbG9iYWxzL2Jhc2VcIlxuaW1wb3J0IHsgZ2V0QWRkaXRpb25hbFBhdGhzLCBnZXRDb25maWd1cmVkUHJvdmlkZXIsIGdldFBhdGgsIGdldFJlbmFtZXNFbmFibGVkIH0gZnJvbSBcIi4vY29uZmlnXCJcbmltcG9ydCB7IE92ZXJyaWRlclBhdGNoZXMgfSBmcm9tIFwiLi9vdmVycmlkZXJzL2Jhc2VcIlxuaW1wb3J0IHsgR2l0aHViUmVwb3NpdG9yeU92ZXJyaWRlciB9IGZyb20gXCIuL292ZXJyaWRlcnMvZ2l0aHViUmVwb3NpdG9yeU92ZXJyaWRlXCJcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgKiBhcyBmYXN0SnNvblBhdGNoIGZyb20gXCJmYXN0LWpzb24tcGF0Y2hcIlxuaW1wb3J0IERlYnVnIGZyb20gXCJkZWJ1Z1wiXG5pbXBvcnQgeyBGaXJlc3RhcnRyQWxsQ2xhaW0sIElWaXJ0dWFsQ2xhaW0gfSBmcm9tIFwiLi9jbGFpbXMvdmlydHVhbFwiXG5pbXBvcnQgeyBJQ2xhaW0gfSBmcm9tIFwiLi9jbGFpbXMvYmFzZVwiXG5pbXBvcnQgeyBVVUlESW5pdGlhbGl6ZXIgfSBmcm9tIFwiLi9pbml0aWFsaXplcnMvdXVpZFwiXG5pbXBvcnQgeyBDbGFpbVZhbGlkYXRpb24gfSBmcm9tIFwiLi9jbGFpbXNcIlxuaW1wb3J0ICBjbGFpbXMgZnJvbSBcIi4vY2xhaW1zL2Jhc2VcIlxuaW1wb3J0IHsgc3RyaXBLbm93blJlbGF0aW9ucyB9IGZyb20gXCIuL3V0aWxzL2NyVXRpbHNcIlxuaW1wb3J0IHsgTm9ybWFsaXplciB9IGZyb20gXCIuL25vcm1hbGl6ZXJzL2Jhc2VcIlxuaW1wb3J0IHsgTk9STUFMSVpFUlMgfSBmcm9tIFwiLi9ub3JtYWxpemVyc1wiXG5pbXBvcnQgeyBOYW1lTm9ybWFsaXplciB9IGZyb20gXCIuL25vcm1hbGl6ZXJzL25hbWVcIlxuaW1wb3J0IHsgSW5pdGlhbGl6ZXJDbGFpbVJlZiB9IGZyb20gXCIuL2luaXRpYWxpemVycy9jbGFpbVJlZlwiXG5pbXBvcnQgeyBJbml0aWFsaXplckRlZmF1bHQgfSBmcm9tIFwiLi9kZWZhdWx0cy9pbml0aWFsaXplclwiXG5cblxuY29uc3QgbG9nID0gRGVidWcoJ2ZpcmVzdGFydHI6cmVuZGVyZXI6bG9hZGVyJylcblxuY29uc3QgaXNZYW1sRmlsZSA9IG5ldyBSZWdFeHAoL1xcLih5YW1sfHltbCkkLylcblxuXG5cbi8qKlxuICpcbiAqIEByZXR1cm5zIFZpcnR1YWwgQ2xhaW1zXG4gKi9cblxuXG5jb25zdCB2aXJ0dWFsQ2xhaW1zOiBJVmlydHVhbENsYWltW10gPSBbXG5cblx0bmV3IEZpcmVzdGFydHJBbGxDbGFpbSgpXG5cbl1cblxuLypcbiAqIEZ1bmN0aW9uIHRvIGxvYWQgc3lzdGVtIGNsYWltcy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIG5vIGlucHV0LlxuICpcbiAqIE91dHB1dDpcbiAqIC0gQW4gYW55W10sIHdpdGggYWxsIHRoZSBzeXN0ZW1zIGxvYWRlZC5cbiAqXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkU3lzdGVtcygpIHtcblx0Y29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdXG5cblx0YXdhaXQgY3Jhd2woZ2V0UGF0aChcInN5c3RlbXNcIiksIChlbnRyeTpzdHJpbmcpID0+IHtcblxuXHRcdHJldHVybiBpc1lhbWxGaWxlLnRlc3QoZW50cnkpXG5cblx0fSwgYXN5bmMgKF9lbnRyeTpzdHJpbmcsIGRhdGE6YW55KSA9PiB7XG5cblx0XHRjb25zdCBzeXN0ZW06IGFueSA9IGNvbW1vbi5pby5mcm9tWWFtbChkYXRhKVxuXG5cdFx0cmVzdWx0LnB1c2goc3lzdGVtKTtcblxuXHR9KVxuXG5cdHJldHVybiByZXN1bHRcbn1cblxuLypcbiAqIEZ1bmN0aW9uIHRvIGxvYWQgZG9tYWluIGNsYWltcy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIG5vIGlucHV0LlxuICpcbiAqIE91dHB1dDpcbiAqIC0gQW4gYW55W10sIHdpdGggYWxsIHRoZSBkb21haW5zIGxvYWRlZC5cbiAqXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkRG9tYWlucygpIHtcblxuXHRjb25zdCByZXN1bHQ6IGFueVtdID0gW11cblxuXHRhd2FpdCBjcmF3bChnZXRQYXRoKFwiZG9tYWluc1wiKSwgKGVudHJ5OnN0cmluZykgPT4ge1xuXG5cdFx0cmV0dXJuIGlzWWFtbEZpbGUudGVzdChlbnRyeSlcblxuXHR9LCBhc3luYyAoX2VudHJ5OnN0cmluZywgZGF0YTphbnkpID0+IHtcblxuXHRcdGNvbnN0IGRvbWFpbjogYW55ID0gY29tbW9uLmlvLmZyb21ZYW1sKGRhdGEpXG5cblx0XHRyZXN1bHQucHVzaChkb21haW4pO1xuXHR9KVxuXG5cdHJldHVybiByZXN1bHRcbn1cblxuXG4vKlxuICogTG9hZHMgYWxsIGFwcGxpY2FibGUgZ2xvYmFscyBmb3IgYSBnaXZlbiBjbGFpbSBhbmQgc3RvcmVzIHRoZW0gaW50byBhIGxpc3QuXG4gKlxuICogSW5wdXQ6XG4gKiAtIGNsYWltOiBvdXIgY3VzdG9tIGNsYWltIG9iamVjdCwgd2l0aCB3aGljaCB3ZSBjaGVjayBpZiB0aGUgZ2xvYmFsIGlzIGFwcGxpY2FibGVcbiAqXG4gKiBSZXR1cm5zOlxuICogLSBBIEdsb2JhbFNlY3Rpb24gYXJyYXkgcHJvbWlzZSwgY29udGFpbmluZyBhbGwgdGhlIGdsb2JhbHMgbG9hZGVkIGZvciB0aGlzIGNsYWltXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEdsb2JhbHMoY2xhaW06IGFueSk6IFByb21pc2U8R2xvYmFsU2VjdGlvbltdPiB7XG5cblx0Y29uc3QgcmVzdWx0OiBHbG9iYWxTZWN0aW9uW10gPSBbXVxuXG5cdGF3YWl0IGNyYXdsKGdldFBhdGgoXCJnbG9iYWxzXCIpLCAoZW50cnk6c3RyaW5nKSA9PiB7XG5cblx0XHRyZXR1cm4gaXNZYW1sRmlsZS50ZXN0KGVudHJ5KVxuXG5cdH0sIGFzeW5jIChlbnRyeTpzdHJpbmcsIGRhdGE6YW55KSA9PiB7XG5cblx0XHRjb25zdCBnbG9iYWxEYXRhOiBhbnkgPSBjb21tb24uaW8uZnJvbVlhbWwoZGF0YSk7XG5cblx0XHRjb25zdCBleHQ6IHN0cmluZyA9IHBhdGguZXh0bmFtZShlbnRyeSk7XG5cblx0XHRjb25zdCBuYW1lOiBzdHJpbmcgPSBwYXRoLmJhc2VuYW1lKGVudHJ5LCBleHQpO1xuXG5cdFx0aWYobmFtZSBpbiBTRUNUSU9OU19CWV9GSUxFX05BTUUpe1xuXG5cdFx0XHRjb25zdCBzZWN0aW9uOiBhbnkgPSBuZXcgU0VDVElPTlNfQllfRklMRV9OQU1FW25hbWVdKGdsb2JhbERhdGEpXG5cblx0XHRcdGlmKCEoYXdhaXQgc2VjdGlvbi52YWxpZGF0ZShTQ0hFTUFTX0JZX1NFQ1RJT05fTkFNRVtuYW1lXSB8fCB7fSkpKXtcblxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtuYW1lfSBnbG9iYWwgZmlsZWApXG5cblx0XHRcdH1cblxuXHRcdFx0aWYoZ2xvYmFsRGF0YS5raW5kID09IGNsYWltLmtpbmQpe1xuXG5cdFx0XHRcdHJlc3VsdC5wdXNoKHNlY3Rpb24pXG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0bG9nKCdTa2lwcGluZyBnbG9iYWwgJXMgYmVjYXVzZSBpdCBpcyBub3QgYXBwbGljYWJsZSB0byAlcycsIG5hbWUsIGNsYWltLmtpbmQpXG5cdFx0XHRcblx0XHRcdH1cblxuXHRcdH1cblxuXHR9KVxuXG5cdGxvZygnTG9hZGVkIGdsb2JhbHMgJU8nLCByZXN1bHQpXG5cblx0cmV0dXJuIHJlc3VsdFxuXG59XG5cbi8qXG4gKiBJZiB0aGUgaW5wdXQgY2xhaW0gaXMgYSBHaXRodWJSZXBvc2l0b3J5Q2xhaW0sIGl0IGxvYWRzIGFsbCBpdCdzIGFwcGxpY2FibGVcbiAqIG92ZXJyaWRlcyBhbmQgc3RvcmVzIHRoZW0gaW50byBhIGxpc3QuIE90aGVyd2lzZSwgaXQgcmV0dXJucyBhbiBlbXB0eSBsaXN0LlxuICpcbiAqIElucHV0OlxuICogLSBjbGFpbTogb3VyIGN1c3RvbSBjbGFpbSBvYmplY3QsIHdoaWNoIHNob3VsZCBiZSBhIEdpdGh1YlJlcG9zaXRvcnlDbGFpbVxuICpcbiAqIFJldHVybnM6XG4gKiAtIEFuIE92ZXJyaWRlciBhcnJheSwgd2l0aCBhIEdpdGh1YlJlcG9zaXRvcnlPdmVycmlkZXIgaWYgdGhlIGNsYWltXG4gKiAgIHdhcyBhIEdpdGh1YlJlcG9zaXRvcnlDbGFpbSwgb3IgZW1wdHkgaWYgaXQgd2FzIG5vdC5cbiAqXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkT3ZlcnJpZGVzKGNsYWltOiBhbnkpOiBPdmVycmlkZXJQYXRjaGVzW10ge1xuXG5cblx0bGV0IG92ZXJyaWRlcyA6IE92ZXJyaWRlclBhdGNoZXNbXSA9IFtdXG5cblx0aWYoY2xhaW0ua2luZCA9PT0gXCJDb21wb25lbnRDbGFpbVwiICYmIGNsYWltLnByb3ZpZGVycy5naXRodWIub3ZlcnJpZGVzKXtcblxuXHRcdG92ZXJyaWRlcy5wdXNoKG5ldyBHaXRodWJSZXBvc2l0b3J5T3ZlcnJpZGVyKCkpXG5cblx0fVxuXG5cdHJldHVybiBvdmVycmlkZXNcblxufVxuXG5cbi8qKlxuICogTG9hZCBhbGwgbm9ybWFsaXplcnMgYW5kIHN0b3JlcyB0aGVtIGludG8gYSBsaXN0LlxuICogQHBhcmFtIGNsYWltXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZE5vcm1hbGl6ZXJzKF9jbGFpbTogYW55LCBwYXRoPzogc3RyaW5nKTogUHJvbWlzZTxOb3JtYWxpemVyW10+IHtcblxuXHRsZXQgcmVzdWx0OiBOb3JtYWxpemVyW10gPSBbXVxuXG5cdGZvciAoY29uc3Qgbm9ybWFsaXplciBvZiBOT1JNQUxJWkVSUykge1xuXG5cdFx0cmVzdWx0LnB1c2gobmV3IG5vcm1hbGl6ZXIoe3BhdGg6IHBhdGh9KSk7XG5cblx0fVxuXG5cdHJldHVybiByZXN1bHQ7XG5cbn1cblxuXG4vKlxuICogTG9hZHMgYWxsIGFwcGxpY2FibGUgaW5pdGlhbGl6ZXJzIGZvciBhIGdpdmVuIGNsYWltIGFuZCBzdG9yZXMgdGhlbSBpbnRvIGEgbGlzdC5cbiAqXG4gKiBJbnB1dDpcbiAqIC0gY2xhaW06IG91ciBjdXN0b20gY2xhaW0gb2JqZWN0LCB3aXRoIHdoaWNoIHdlIGNoZWNrIGlmIHRoZSBpbml0aWFsaXplciBpcyBhcHBsaWNhYmxlXG4gKlxuICogUmV0dXJuczpcbiAqIC0gQW4gSW5pdGlhbGl6ZXIgYXJyYXkgcHJvbWlzZSwgY29udGFpbmluZyBhbGwgdGhlIGluaXRpYWxpemVycyBsb2FkZWQgZm9yIHRoaXMgY2xhaW1cbiAqXG4gKi9cblxubGV0IGxvYWRlZEluaXRpYWxpemVyczogSW5pdGlhbGl6ZXJQYXRjaGVzW10gfCBmYWxzZSA9IGZhbHNlXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkSW5pdGlhbGl6ZXJzKGNsYWltOiBhbnksIGluaXRpYWxpemVyc1BhdGg6IHN0cmluZyA9IGdldFBhdGgoXCJpbml0aWFsaXplcnNcIikpOiBQcm9taXNlPEluaXRpYWxpemVyUGF0Y2hlc1tdPiB7XG5cblx0bGV0IHJlc3VsdDogSW5pdGlhbGl6ZXJQYXRjaGVzW10gPSBbXVxuXG5cdGF3YWl0IGNyYXdsKGluaXRpYWxpemVyc1BhdGgsIChlbnRyeTpzdHJpbmcpID0+IHtcblxuXHRcdHJldHVybiBpc1lhbWxGaWxlLnRlc3QoZW50cnkpXG5cblx0fSwgYXN5bmMoZW50cnk6c3RyaW5nLCBkYXRhOmFueSkgPT4ge1xuXG5cdFx0Y29uc3QgaW5pdGlhbGl6ZXJEYXRhOiBhbnkgPSBjb21tb24uaW8uZnJvbVlhbWwoZGF0YSlcblxuXHRcdGNvbnN0IGV4dDogc3RyaW5nID0gcGF0aC5leHRuYW1lKGVudHJ5KTtcblxuXHRcdGNvbnN0IG5hbWU6IHN0cmluZyA9IHBhdGguYmFzZW5hbWUoZW50cnksIGV4dCk7XG5cblx0XHRpZihuYW1lIGluIElOSVRJQUxJWkVSU19CWV9GSUxFX05BTUUpe1xuXG5cdFx0XHRjb25zdCBpbml0aWFsaXplckJmTjogYW55ID0gbmV3IElOSVRJQUxJWkVSU19CWV9GSUxFX05BTUVbbmFtZV0oaW5pdGlhbGl6ZXJEYXRhKVxuXG5cdFx0XHRpZighKGF3YWl0IGluaXRpYWxpemVyQmZOLnZhbGlkYXRlKFNDSEVNQVNfQllfSU5JVElBTElaRVJfTkFNRVtuYW1lXSB8fCB7fSkpKXtcblxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtuYW1lfSBpbml0aWFsaXplciBmaWxlYClcblxuXHRcdFx0fVxuXG5cdFx0XHRpZihpbml0aWFsaXplckRhdGEua2luZCA9PT0gY2xhaW0ua2luZCl7XG5cblx0XHRcdFx0cmVzdWx0LnB1c2goaW5pdGlhbGl6ZXJCZk4pXG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0bG9nKCdTa2lwcGluZyBpbml0aWFsaXplciAlcyBiZWNhdXNlIGl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvICVzJywgbmFtZSwgY2xhaW0ua2luZClcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH0pXG5cblx0Zm9yKGNvbnN0IGluaXRpYWxpemVyIG9mIElOSVRJQUxJWkVSUykge1xuXG5cdFx0aWYoKGluaXRpYWxpemVyLmFwcGxpY2FibGVLaW5kcykuaW5jbHVkZXMoY2xhaW0ua2luZCkpe1xuXG5cdFx0XHRyZXN1bHQucHVzaChuZXcgaW5pdGlhbGl6ZXIoKSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdGxvZygnTG9hZGVkIGluaXRpYWxpemVycyAlTycsIHJlc3VsdClcblxuXHRsb2FkZWRJbml0aWFsaXplcnMgPSByZXN1bHRcblxuXHRyZXR1cm4gbG9hZGVkSW5pdGlhbGl6ZXJzXG59XG5cblxuLypcbiAqIExvYWRzIGFsbCBjbGFpbXMgYW5kIHN0b3JlcyB0aGVtIGludG8gYSBhbiBvYmplY3QuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWNlaXZlcyBubyBpbnB1dC5cbiAqXG4gKiBSZXR1cm5zOlxuICogLSBBIFJlbmRlckNsYWltcyBwcm9taXNlLiBBIFJlbmRlckNsYWltcyBvYmplY3QgY29udGFpbnMsIGZvciBlYWNoIGNsYWltOlxuICogICDCtyBUaGUgYWN0dWFsIGNsYWltIG9iamVjdFxuICogICDCtyBUaGUgY2xhaW0ncyBwYXRoXG4gKiAgIMK3IFRoZSBjbGFpbSdzIGFwcGxpY2FibGUgaW5pdGlhbGl6ZXJzLCBnbG9iYWxzIGFuZCBvdmVycmlkZXNcbiAqXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkQ2xhaW1zKGNsYWltc1BhdGg6IHN0cmluZyA9IGdldFBhdGgoXCJjbGFpbXNcIikpOiBQcm9taXNlPFJlbmRlckNsYWltcz4ge1xuXG5cdGNvbnN0IHJlc3VsdDogYW55ID0ge31cblxuXHRjb25zdCBkZWZhdWx0c0NsYWltcyA9IGxvYWRDbGFpbURlZmF1bHRzKClcblxuXHRhd2FpdCBjcmF3bChjbGFpbXNQYXRoLCAoZW50cnk6c3RyaW5nKSA9PiB7XG5cblx0XHRyZXR1cm4gaXNZYW1sRmlsZS50ZXN0KGVudHJ5KVxuXG5cdH0sIGFzeW5jIChlbnRyeTpzdHJpbmcsIGRhdGE6YW55KSA9PiB7XG5cblx0XHRjb25zdCBjbGFpbTogYW55ID0gcGF0Y2hDbGFpbShjb21tb24uaW8uZnJvbVlhbWwoZGF0YSksIGRlZmF1bHRzQ2xhaW1zKVxuXG5cdFx0aWYoIShcImtpbmRcIiBpbiBjbGFpbSAmJiBcIm5hbWVcIiBpbiBjbGFpbSkpe1xuXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2xhaW0gZmlsZSAke2VudHJ5fWApXG5cblx0XHR9XG5cblx0XHRDbGFpbVZhbGlkYXRpb24udmFsaWRhdGVDbGFpbShjbGFpbSwgKGNsYWltcyBhcyBhbnkpW2Ake2NsYWltLmtpbmR9U2NoZW1hYF0pXG5cbiAgICAgICAgICAgICAgICBhd2FpdCBDbGFpbVZhbGlkYXRpb24ub3B0aW9uYWxWYWxpZGF0aW9uKGNsYWltKVxuXG5cdFx0aWYocmVzdWx0W2Ake2NsYWltLmtpbmR9LSR7Y2xhaW0ubmFtZX1gXSkge1xuXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYER1cGxpY2F0ZSBjbGFpbSAke2NsYWltLmtpbmR9LSR7Y2xhaW0ubmFtZX1gKVxuXHRcdH1cblxuXHRcdHJlc3VsdFtgJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YF0gPSB7fVxuXG5cdFx0cmVzdWx0W2Ake2NsYWltLmtpbmR9LSR7Y2xhaW0ubmFtZX1gXVtcImNsYWltXCJdID0gY2xhaW1cblxuXHRcdHJlc3VsdFtgJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YF1bXCJjbGFpbVBhdGhcIl0gPSBlbnRyeVxuXG5cdFx0cmVzdWx0W2Ake2NsYWltLmtpbmR9LSR7Y2xhaW0ubmFtZX1gXVtcImluaXRpYWxpemVyc1wiXSA9IGF3YWl0IGxvYWRJbml0aWFsaXplcnMoY2xhaW0pO1xuXG5cdFx0cmVzdWx0W2Ake2NsYWltLmtpbmR9LSR7Y2xhaW0ubmFtZX1gXVtcImdsb2JhbHNcIl0gPSBhd2FpdCBsb2FkR2xvYmFscyhjbGFpbSk7XG5cblx0XHRyZXN1bHRbYCR7Y2xhaW0ua2luZH0tJHtjbGFpbS5uYW1lfWBdW1wib3ZlcnJpZGVzXCJdID0gbG9hZE92ZXJyaWRlcyhjbGFpbSk7XG5cblx0XHRyZXN1bHRbYCR7Y2xhaW0ua2luZH0tJHtjbGFpbS5uYW1lfWBdW1wibm9ybWFsaXplcnNcIl0gPSBhd2FpdCBsb2FkTm9ybWFsaXplcnMoY2xhaW0sIGVudHJ5KTtcblxuXHR9KVxuXG5cdHJldHVybiByZXN1bHRcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZENsYWltRGVmYXVsdHMoKXtcbiAgcmV0dXJuIGNvbW1vbi5pby5mcm9tWWFtbChmcy5yZWFkRmlsZVN5bmMoXG4gICAgYCR7Z2V0UGF0aChcImNsYWltc0RlZmF1bHRzXCIpfS9jbGFpbXNfZGVmYXVsdHMueWFtbGAsIFwidXRmLThcIlxuICApKVxufVxuXG4vKlxuICogVXNpbmcgZmFzdC1qc29uLXBhdGNoLCBjb21wYXJlcyBhIGNsYWltIHRvIGl0cyBraW5kJ3MgZGVmYXVsdHMsIHRoZW4gcGF0Y2hlcyBpdC5cbiAqXG4gKiBJbnB1dDpcbiAqIC0gY2xhaW06IG91ciBjdXN0b20gY2xhaW0gb2JqZWN0LCB3aGljaCB3ZSB3YW50IHRvIHBhdGNoXG4gKiAtIGRlZmF1bHRzQ2xhaW1zOiBhbiBvYmplY3QsIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHRzIGZvciBlYWNoIGNsYWltIGtpbmQsXG4gKiAgIHdpdGggdGhlIHNhbWUgc3RydWN0dXJlIHRoYXQgd2UgdXNlIGZvciB0aGUgYWN0dWFsIGNsYWltc1xuICpcbiAqIFJldHVybnM6XG4gKiAtIFRoZSBwYXRjaGVkIGNsYWltXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hDbGFpbShjbGFpbTogYW55LCBkZWZhdWx0c0NsYWltczogYW55KXtcblxuXHRpZihkZWZhdWx0c0NsYWltc1tjbGFpbS5raW5kXSl7XG5cblx0XHRjb25zdCBqc29uUGF0Y2hPcHM6IGFueSA9IGZhc3RKc29uUGF0Y2guY29tcGFyZShjbGFpbSwgZGVmYXVsdHNDbGFpbXNbY2xhaW0ua2luZF0pLmZpbHRlcigoanA6YW55KSA9PiB7XG5cblx0XHRcdHJldHVybiBqcC5vcCA9PSBcImFkZFwiXG5cblx0XHR9KVxuXG5cdFx0Y2xhaW0gPSBmYXN0SnNvblBhdGNoLmFwcGx5UGF0Y2goY2xhaW0sIGpzb25QYXRjaE9wcykubmV3RG9jdW1lbnRcblxuXHR9XG5cblx0cmV0dXJuIGNsYWltXG5cbn1cblxuXG4vKlxuICogTG9hZHMgYWxsIENScyBhbmQgc3RvcmVzIHRoZW0gaW50byBhIG9iamVjdC5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIG5vIGlucHV0LlxuICpcbiAqIFJldHVybnM6XG4gKiAtIEFuIG9iamVjdCBwcm9taXNlIHdoaWNoIGNvbnRhaW5zIGVhY2ggbG9hZGVkIENSXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZENScyhcblxuXHRjcnNQYXRoOiBzdHJpbmcgPSBnZXRQYXRoKFwiY3JzXCIpLFxuXG5cdGV4Y2x1ZGVkUGF0aHM6IHN0cmluZ1tdID0gWyBnZXRQYXRoKFwiZ2xvYmFsc1wiKSwgZ2V0UGF0aChcImluaXRpYWxpemVyc1wiKV1cblxuKSB7XG5cblx0Y29uc3QgcmVzdWx0OiBhbnkgPSB7fVxuXG5cdGF3YWl0IGNyYXdsV2l0aEV4Y2x1c2lvbnMoY3JzUGF0aCwgKGVudHJ5OnN0cmluZykgPT4ge1xuXG5cdFx0cmV0dXJuIGlzWWFtbEZpbGUudGVzdChlbnRyeSlcblxuXHR9LCBhc3luYyAoZW50cnk6c3RyaW5nLCBkYXRhOmFueSkgPT4ge1xuXG5cdFx0Y29uc3QgeWFtbERhdGE6IGFueSA9IHN0cmlwS25vd25SZWxhdGlvbnMoY29tbW9uLmlvLmZyb21ZYW1sKGRhdGEpKTtcblxuXHRcdGlmKCEoXCJraW5kXCIgaW4geWFtbERhdGEgJiYgXCJuYW1lXCIgaW4geWFtbERhdGEubWV0YWRhdGEpKXtcblxuXHRcdFx0bG9nKGBJbnZhbGlkIGNsYWltIGZpbGUgJHtlbnRyeX1gKVxuXG5cdFx0fSBlbHNlIHtcblxuICAgICAgICAgICAgaWYocmVzdWx0W2Ake3lhbWxEYXRhLmtpbmR9LSR7eWFtbERhdGEubWV0YWRhdGEubmFtZX1gXSkge1xuXG4gICAgICAgICAgICAgICAgbG9nKGBEdXBsaWNhdGUgQ1IgJHt5YW1sRGF0YS5raW5kfS0ke3lhbWxEYXRhLm1ldGFkYXRhLm5hbWV9YClcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXN1bHRbYCR7eWFtbERhdGEua2luZH0tJHt5YW1sRGF0YS5tZXRhZGF0YS5uYW1lfWBdID0geWFtbERhdGFcblxuICAgICAgICB9XG5cblx0fSxcblx0XHRleGNsdWRlZFBhdGhzLmNvbmNhdChnZXRBZGRpdGlvbmFsUGF0aHMoKSlcblx0KVxuXG5cdHJldHVybiByZXN1bHRcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZW5hbWVSZXN1bHQge1xuXHRraW5kOiBzdHJpbmc7XG5cdGNsYWltUGF0aDogc3RyaW5nO1xuXHRjbGFpbU5hbWU6IHN0cmluZztcblx0b2xkTmFtZTogc3RyaW5nO1xuXHRuZXdOYW1lOiBzdHJpbmc7XG59XG5cbi8qXG4qIERlc2NyaXB0aW9uOiBHZXQgdGhlIHJlbmFtZWQgdXNpbmcgY2xhaW1SZWYgYW5ub3RhdGlvblxuKiBJbnB1dDogY2xhaW1zOiBhbnksIGNyczogYW55XG4qIE91dHB1dDogcmVuYW1lczogSVJlbmFtZVJlc3VsdFtdXG4qL1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFJlbmFtZXMoY2xhaW1zOiBhbnksIGNyczogYW55KTogUHJvbWlzZTxJUmVuYW1lUmVzdWx0W10+IHtcblxuXHQvKlxuXHQgKiBJZiBjaGVja1JlbmFtZXMgaXMgZmFsc2UsIHdlIGRvbid0IG5lZWQgdG8gY2hlY2sgZm9yIHJlbmFtZXNcblx0ICovXG5cdGNvbnN0IHJlbmFtZXNFbmFibGVkID0gZ2V0UmVuYW1lc0VuYWJsZWQoKTtcblx0aWYgKCFyZW5hbWVzRW5hYmxlZCkgcmV0dXJuIFtdO1xuXG5cdGNvbnN0IHJlc3VsdDogSVJlbmFtZVJlc3VsdFtdID0gW107XG5cblx0LyoqXG5cdCAqIEZvciBlYWNoIENSLCBsb29rIGZvciBhIGNsYWltIHRoYXQgZG9lcyBub3QgbWF0Y2ggdGhlIG5hbWUgd2l0aCBDUidzIGZpcmVzdGFydHIuZGV2L2NsYWltLXJlZiBhbm5vdGF0aW9uXG5cdCAqL1xuXHRmb3IgKGxldCBjciBvZiBPYmplY3QudmFsdWVzKGNycykpIHtcblxuXHRcdGNvbnN0IGFueUNyOiBhbnkgPSBjcjtcblxuXHRcdGlmICghYW55Q3I/Lm1ldGFkYXRhPy5hbm5vdGF0aW9ucykgY29udGludWU7XG5cblx0XHQvLyBpZiB0aGUgYW5ub3RhdGlvbiBpcyBhIGNsYWltUmVmXG5cdFx0Y29uc3QgYW5ub3RhdGlvbk5hbWUgPSBjb21tb24uZ2VuZXJpYy5nZXRGaXJlc3RhcnRyQW5ub3RhdGlvbignY2xhaW0tcmVmJyk7XG5cblx0XHRpZiAoYW5ub3RhdGlvbk5hbWUgaW4gYW55Q3I/Lm1ldGFkYXRhPy5hbm5vdGF0aW9ucykge1xuXG5cdFx0XHRjb25zdCBjbGFpbVJlZiA9IGFueUNyLm1ldGFkYXRhLmFubm90YXRpb25zW2Fubm90YXRpb25OYW1lXTtcblxuXHRcdFx0Ly8gc3BsaXQgdGhlIGFubm90YXRpb24gaW50byBraW5kIGFuZCBuYW1lXG5cdFx0XHRjb25zdCBba2luZCwgbmFtZV0gPSBjbGFpbVJlZi5zcGxpdChcIi9cIik7XG5cblx0XHRcdC8vIGlmIHRoZSBjbGFpbSBleGlzdHMsIGNoZWNrIGlmIHRoZSBuYW1lIGlzIGRpZmZlcmVudCBmb3IgdGhlIGdpdmVuIHByb3ZpZGVyXG5cdFx0XHRjb25zdCByZWZlcmVuY2VkQ2xhaW0gPSBjbGFpbXNbYCR7a2luZH0tJHtuYW1lfWBdLmNsYWltO1xuXG5cblx0XHRcdGNvbnN0IG9sZE5hbWUgPSBhbnlDci5tZXRhZGF0YS5uYW1lO1xuXHRcdFx0Y29uc3QgbmV3TmFtZSA9IHJlZmVyZW5jZWRDbGFpbS5wcm92aWRlcnNbZ2V0Q29uZmlndXJlZFByb3ZpZGVyKCldLm5hbWU7XG5cblx0XHRcdGlmIChvbGROYW1lICE9PSBuZXdOYW1lKSB7XG5cblx0XHRcdFx0cmVzdWx0LnB1c2goe1xuXHRcdFx0XHRcdGtpbmQ6IHJlZmVyZW5jZWRDbGFpbS5raW5kLFxuXHRcdFx0XHRcdGNsYWltUGF0aDogY2xhaW1zW2Ake2tpbmR9LSR7bmFtZX1gXS5jbGFpbVBhdGgsXG5cdFx0XHRcdFx0Y2xhaW1OYW1lOiByZWZlcmVuY2VkQ2xhaW0ubmFtZSxcblx0XHRcdFx0XHRvbGROYW1lLFxuXHRcdFx0XHRcdG5ld05hbWUsXG5cdFx0XHRcdH0pO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdHJldHVybiByZXN1bHQ7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJEYXRhIHtcblx0Z2xvYmFscz86IGFueSxcblx0aW5pdGlhbGl6ZXJzPzogYW55LFxuXHRjbGFpbXM/OiBhbnksXG5cdHJlbmFtZXM/OiBhbnksXG5cdGNycz86IGFueVxufVxuXG4vKlxuICogTWFpbiBmdW5jdGlvbiBvZiB0aGlzIGZpbGUuIExvYWRzIGFsbCB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIG9iamVjdHMgYW5kXG4gKiBzdG9yZXMgdGhlbSBpbnRvIGFuIG9iamVjdC5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIG5vIGlucHV0LlxuICpcbiAqIE91dHB1dDpcbiAqIC0gQW4gb2JqZWN0LCB3aGljaCBjb250YWluczpcbiAqICAgwrcgQWxsIGNsYWltcyB0byBiZSByZW5kZXJlZFxuICogICDCtyBBbGwgQ1JzIHRoYXQgd2VyZSBhbHJlYWR5IGNyZWF0ZWRcbiAqICAgwrcgQWxsIHJlbmFtZSBvcGVyYXRpb25zXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEFsbCgpe1xuXG5cblx0Y29uc3QgZGF0YTogeyByZW5kZXJDbGFpbXM6IFJlbmRlckNsYWltcywgY3JzOiBhbnksIHJlbmFtZXM/OiBJUmVuYW1lUmVzdWx0W10gfSA9IHtcblxuXHRcdHJlbmRlckNsYWltczoge30sXG5cblx0XHRjcnM6IHt9LFxuXG5cdH1cblxuXHRhd2FpdCBQcm9taXNlLmFsbChbXG5cblx0XHRsb2FkQ2xhaW1zKCkudGhlbigoY2xhaW1zOmFueSkgPT4ge1xuXG5cdFx0XHRkYXRhW1wicmVuZGVyQ2xhaW1zXCJdID0gY2xhaW1zXG5cblx0XHR9KVxuXG5cdFx0LmNhdGNoKChlcnJvcjogYW55KSA9PiB7XG5cblx0XHRcdHRocm93IGVycm9yXG5cblx0XHR9KVxuXG5cdFx0LnRoZW4oYXN5bmMoKSA9PiB7XG5cblxuXHRcdFx0Zm9yKGNvbnN0IHZpcnR1YWxDbGFpbSBvZiB2aXJ0dWFsQ2xhaW1zKXtcblxuXHRcdFx0XHRjb25zdCBleHBhbmRlZENsYWltOiBJQ2xhaW0gPSAgYXdhaXQgKHZpcnR1YWxDbGFpbS5leHBhbmQoZGF0YVtcInJlbmRlckNsYWltc1wiXSAsIHtvcmc6IGdldE9yZygpfSkpXG5cblxuXHRcdFx0XHRjb25zdCBkZWZhdWx0Q29uZmlnID0ge1xuXHRcdFx0XHRcdGtpbmQ6ICdGaXJlc3RhcnRyR2l0aHViR3JvdXAnLFxuXHRcdFx0XHRcdGRlZmF1bHRWYWx1ZXM6IHtcblx0XHRcdFx0XHQgIGNvbnRleHQ6IHtcblx0XHRcdFx0XHRcdGJhY2tlbmQ6IHtcblx0XHRcdFx0XHRcdCAgcmVmOiB7XG5cdFx0XHRcdFx0XHRcdGtpbmQ6ICdGaXJlc3RhcnRyUHJvdmlkZXJDb25maWcnLFxuXHRcdFx0XHRcdFx0XHRuYW1lOiAnZmlyZXN0YXJ0ci10ZXJyYWZvcm0tc3RhdGUnXG5cdFx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRwcm92aWRlcjoge1xuXHRcdFx0XHRcdFx0ICByZWY6IHtcblx0XHRcdFx0XHRcdFx0a2luZDogJ0ZpcmVzdGFydHJQcm92aWRlckNvbmZpZycsXG5cdFx0XHRcdFx0XHRcdG5hbWU6ICdnaXRodWItYXBwJ1xuXHRcdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3QgcmVuZGVyQ2xhaW06IFJlbmRlckNsYWltRGF0YSA9IHtcblxuXHRcdFx0XHRcdGNsYWltOiBleHBhbmRlZENsYWltLFxuXG5cdFx0XHRcdFx0Y2xhaW1QYXRoOiBcInZpcnR1YWxcIixcblxuXHRcdFx0XHRcdGluaXRpYWxpemVyczogW25ldyBVVUlESW5pdGlhbGl6ZXIoZXhwYW5kZWRDbGFpbSksIG5ldyBJbml0aWFsaXplckNsYWltUmVmKCksIG5ldyBJbml0aWFsaXplckRlZmF1bHQoZGVmYXVsdENvbmZpZyldLFxuXG5cdFx0XHRcdFx0b3ZlcnJpZGVzOiBbXSxcblxuXHRcdFx0XHRcdGdsb2JhbHM6IFtdLFxuXG5cdFx0XHRcdFx0bm9ybWFsaXplcnM6IFtuZXcgTmFtZU5vcm1hbGl6ZXIoKV1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0ZGF0YVtcInJlbmRlckNsYWltc1wiXVtgJHtleHBhbmRlZENsYWltLmtpbmR9LSR7ZXhwYW5kZWRDbGFpbS5uYW1lfWAgYXMgUmVuZGVyQ2xhaW1LZXldID0gcmVuZGVyQ2xhaW1cblx0XHRcdH1cblxuXHRcdH0pLFxuXG5cdFx0bG9hZENScygpLnRoZW4oKGNyczphbnkpICA9PlxuXG5cdFx0XHRkYXRhW1wiY3JzXCJdID0gY3JzXG5cblx0ICAgICAgICApXG5cblx0XSlcblxuXHQvLyBXZSBuZWVkIHRvIGxvYWQgcmVuYW1lcyBhZnRlciBjcnMgYW5kIGNsYWltcyBoYXMgYmVlbiBsb2FkZWQgdG8gY29tcGFyZSB0aGVtIGJvdGhcblx0ZGF0YVtcInJlbmFtZXNcIl0gPSBhd2FpdCBsb2FkUmVuYW1lcyhkYXRhW1wicmVuZGVyQ2xhaW1zXCJdLCBkYXRhW1wiY3JzXCJdKTtcblxuXHRyZXR1cm4gZGF0YVxuXG59XG5cblxuXG5mdW5jdGlvbiBnZXRPcmcoKXtcblxuXG5cdGNvbnN0IGdyb3VwT3JnOiBzdHJpbmcgPSBjb21tb24uZW52aXJvbm1lbnQuZ2V0RnJvbUVudmlyb25tZW50V2l0aERlZmF1bHQoXG5cbiAgICBjb21tb24udHlwZXMuZW52VmFycy5vcmcsXG5cbiAgICBcIlwiXG5cbiAgKVxuXG4gIHJldHVybiBncm91cE9yZ1xuXG59XG4iXX0=
|
|
234339
234341
|
|
|
234340
234342
|
/***/ }),
|
|
234341
234343
|
|
|
@@ -234530,17 +234532,6 @@ const patches_1 = __nccwpck_require__(74312);
|
|
|
234530
234532
|
const refresolver_1 = __nccwpck_require__(68671);
|
|
234531
234533
|
const base_1 = __nccwpck_require__(1440);
|
|
234532
234534
|
const catalog_common_1 = __importDefault(__nccwpck_require__(74100));
|
|
234533
|
-
function setValue(obj, keys, value) {
|
|
234534
|
-
let current = obj;
|
|
234535
|
-
for (let i = 0; i < keys.length - 1; i++) {
|
|
234536
|
-
if (!current[keys[i]]) {
|
|
234537
|
-
current[keys[i]] = {};
|
|
234538
|
-
}
|
|
234539
|
-
current = current[keys[i]];
|
|
234540
|
-
}
|
|
234541
|
-
current[keys[keys.length - 1]] = value;
|
|
234542
|
-
return obj;
|
|
234543
|
-
}
|
|
234544
234535
|
class RefValuesNormalizer extends base_1.Normalizer {
|
|
234545
234536
|
constructor() {
|
|
234546
234537
|
super(...arguments);
|
|
@@ -234575,41 +234566,50 @@ class RefValuesNormalizer extends base_1.Normalizer {
|
|
|
234575
234566
|
exports.RefValuesNormalizer = RefValuesNormalizer;
|
|
234576
234567
|
async function replaceReferences(
|
|
234577
234568
|
// Values to replace
|
|
234578
|
-
providerValues, resolveRef, references = new Map()
|
|
234579
|
-
// Keys path to the current object
|
|
234580
|
-
keys = []) {
|
|
234569
|
+
providerValues, resolveRef, references = new Map()) {
|
|
234581
234570
|
let values = {};
|
|
234582
234571
|
let updatedReferences = references;
|
|
234583
234572
|
for (let key in providerValues) {
|
|
234584
|
-
|
|
234585
|
-
case 'object':
|
|
234586
|
-
let { values: newValues, references: nestedReferences } = await replaceReferences(providerValues[key], resolveRef, updatedReferences, [...keys, key]);
|
|
234587
|
-
values = Object.assign(Object.assign({}, values), newValues);
|
|
234588
|
-
nestedReferences.forEach(ref => updatedReferences.set(ref.name, ref));
|
|
234589
|
-
break;
|
|
234590
|
-
case 'string':
|
|
234591
|
-
let { content, references: newReferences } = await replaceReferencesValues(providerValues[key], resolveRef);
|
|
234592
|
-
values = Object.assign(Object.assign({}, values), setValue(values, [...keys, key], content));
|
|
234593
|
-
newReferences.forEach(ref => updatedReferences.set(ref.name, ref));
|
|
234594
|
-
break;
|
|
234595
|
-
default:
|
|
234596
|
-
break;
|
|
234597
|
-
}
|
|
234573
|
+
values[key] = await interpolateObject(providerValues[key], references, resolveRef);
|
|
234598
234574
|
}
|
|
234599
234575
|
return { values, references: Array.from(updatedReferences.values()) };
|
|
234600
234576
|
}
|
|
234601
234577
|
exports.replaceReferences = replaceReferences;
|
|
234602
|
-
async function
|
|
234578
|
+
async function interpolateObject(toInterpolate, references, resolveRef) {
|
|
234579
|
+
switch (toInterpolate === null || toInterpolate === void 0 ? void 0 : toInterpolate.constructor) {
|
|
234580
|
+
case String: {
|
|
234581
|
+
let content = await replaceReferencesValues(toInterpolate, references, resolveRef);
|
|
234582
|
+
return content;
|
|
234583
|
+
}
|
|
234584
|
+
case Array: {
|
|
234585
|
+
const interpolatedArray = [];
|
|
234586
|
+
for (const element of toInterpolate) {
|
|
234587
|
+
interpolatedArray.push(await interpolateObject(element, references, resolveRef));
|
|
234588
|
+
}
|
|
234589
|
+
return interpolatedArray;
|
|
234590
|
+
}
|
|
234591
|
+
case Object: {
|
|
234592
|
+
const interpolatedObject = {};
|
|
234593
|
+
for (const key in toInterpolate) {
|
|
234594
|
+
interpolatedObject[key] = await interpolateObject(toInterpolate[key], references, resolveRef);
|
|
234595
|
+
}
|
|
234596
|
+
return interpolatedObject;
|
|
234597
|
+
}
|
|
234598
|
+
default:
|
|
234599
|
+
return toInterpolate;
|
|
234600
|
+
}
|
|
234601
|
+
}
|
|
234602
|
+
async function replaceReferencesValues(contents, references, resolveRef) {
|
|
234603
234603
|
const regex = catalog_common_1.default.types.regex.TFWorkspaceRefRegex;
|
|
234604
|
-
const references = [];
|
|
234605
234604
|
let replacedContent = contents;
|
|
234606
234605
|
for (const match of contents.matchAll(regex)) {
|
|
234607
234606
|
const [matchStr, claimName, outputKey] = match;
|
|
234608
234607
|
const cr = await resolveRef("TFWorkspaceClaim", claimName);
|
|
234609
234608
|
if (!cr)
|
|
234610
234609
|
throw new Error(`❌ Could not resolve reference ${claimName}`);
|
|
234611
|
-
|
|
234612
|
-
|
|
234610
|
+
const refName = `${cr.metadata.name}.${outputKey}`;
|
|
234611
|
+
references.set(refName, {
|
|
234612
|
+
name: refName,
|
|
234613
234613
|
ref: {
|
|
234614
234614
|
kind: "FirestartrTerraformWorkspace",
|
|
234615
234615
|
name: cr.metadata.name,
|
|
@@ -234618,9 +234618,9 @@ async function replaceReferencesValues(contents, resolveRef) {
|
|
|
234618
234618
|
});
|
|
234619
234619
|
replacedContent = replacedContent.replace(matchStr, `\${{ references.${cr.metadata.name}.${outputKey} }}`);
|
|
234620
234620
|
}
|
|
234621
|
-
return
|
|
234621
|
+
return replacedContent;
|
|
234622
234622
|
}
|
|
234623
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
234623
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmVmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vcm1hbGl6ZXJzL3JlZlZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3Q0FBNkQ7QUFDN0QsZ0RBQWlEO0FBQ2pELGlDQUFvQztBQUNwQyxvRUFBb0M7QUFJcEMsTUFBYSxtQkFBb0IsU0FBUSxpQkFBVTtJQUFuRDs7UUFFRSx3QkFBbUIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBUW5DLGVBQVUsR0FBYSw2QkFBZSxDQUFBO0lBd0N4QyxDQUFDO0lBOUNDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBWTtRQUUzQixPQUFPLElBQUksQ0FBQztJQUVkLENBQUM7SUFJRCxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQVUsRUFBRSxXQUFnQjtRQUUxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBRWhDLE9BQU87WUFFSDtnQkFFSSxRQUFRLENBQUMsR0FBUTtvQkFFYixPQUFPLElBQUksQ0FBQTtnQkFFZixDQUFDO2dCQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBTztvQkFFZixNQUFNLFFBQVEsR0FBVSxJQUFBLG1CQUFTLEVBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFBO29CQUVoRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFFaEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBRXZELEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUU3QyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO29CQUVyQyxPQUFPLEVBQUUsQ0FBQztnQkFDZCxD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QUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDdEIsR0FBRyxFQUFFLFNBQVM7YUFDZjtTQUNGLENBQUMsQ0FBQztRQUVILGVBQWUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQTtLQUUzRztJQUVELE9BQU8sZUFBZSxDQUFBO0FBRXhCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ3VzdG9tUmVzb3VyY2VQYXRjaCwgaGVscGVyQ1RYIH0gZnJvbSBcIi4uL3BhdGNoZXNcIjtcbmltcG9ydCB7IHJlc29sdmVDbGFpbVJlZiB9IGZyb20gXCIuLi9yZWZyZXNvbHZlclwiO1xuaW1wb3J0IHsgTm9ybWFsaXplciB9IGZyb20gXCIuL2Jhc2VcIjtcbmltcG9ydCBjb21tb24gZnJvbSBcImNhdGFsb2dfY29tbW9uXCI7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuXG5leHBvcnQgY2xhc3MgUmVmVmFsdWVzTm9ybWFsaXplciBleHRlbmRzIE5vcm1hbGl6ZXIge1xuXG4gIGFwcGxpY2FibGVQcm92aWRlcnMgPSBbXCJ0ZXJyYWZvcm1cIl1cblxuICBhc3luYyBfX3ZhbGlkYXRlKF9zY2hlbWE6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgfVxuXG4gIHJzQ2xhaW1SZWY6IEZ1bmN0aW9uID0gcmVzb2x2ZUNsYWltUmVmXG5cbiAgYXN5bmMgX19wYXRjaGVzKGNsYWltOiBhbnksIF9wcmV2aW91c0NSOiBhbnkpOiBQcm9taXNlPElDdXN0b21SZXNvdXJjZVBhdGNoW10+IHtcblxuICAgIGNvbnN0IHJlc29sdmVyID0gdGhpcy5yc0NsYWltUmVmXG5cbiAgICByZXR1cm4gW1xuICAgICAgICBcbiAgICAgICAge1xuXG4gICAgICAgICAgICB2YWxpZGF0ZShfY3I6IGFueSkge1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcblxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgYXN5bmMgYXBwbHkoY3I6IGFueSkge1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcHJvdmlkZXI6c3RyaW5nID0gaGVscGVyQ1RYKHRoaXMpLnByb3ZpZGVyICAgICAgICBcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IGNsYWltLnByb3ZpZGVyc1twcm92aWRlcl0udmFsdWVzO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcmVmcyA9IGF3YWl0IHJlcGxhY2VSZWZlcmVuY2VzKHZhbHVlcywgcmVzb2x2ZXIpO1xuXG4gICAgICAgICAgICAgICAgY3Iuc3BlYy52YWx1ZXMgPSBKU09OLnN0cmluZ2lmeShyZWZzLnZhbHVlcyk7XG5cbiAgICAgICAgICAgICAgICBjci5zcGVjLnJlZmVyZW5jZXMgPSByZWZzLnJlZmVyZW5jZXM7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY3I7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBpZGVudGlmeSgpIHtcblxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5vcm1hbGl6ZXIvcmVmLXZhbHVlc1wiO1xuXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgIH0sIFxuICAgIF07XG4gIH1cbn1cblxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVwbGFjZVJlZmVyZW5jZXMoXG4gIC8vIFZhbHVlcyB0byByZXBsYWNlXG4gIHByb3ZpZGVyVmFsdWVzOiBhbnksXG5cbiAgcmVzb2x2ZVJlZjogRnVuY3Rpb24sXG5cbiAgcmVmZXJlbmNlczogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoKSxcblxuKSB7XG5cbiAgbGV0IHZhbHVlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9XG4gIGxldCB1cGRhdGVkUmVmZXJlbmNlcyA9IHJlZmVyZW5jZXM7XG5cbiAgZm9yIChsZXQga2V5IGluIHByb3ZpZGVyVmFsdWVzKSB7XG4gICAgdmFsdWVzW2tleV0gPSBhd2FpdCBpbnRlcnBvbGF0ZU9iamVjdChwcm92aWRlclZhbHVlc1trZXldLCByZWZlcmVuY2VzLCByZXNvbHZlUmVmKVxuICB9XG5cblxuICByZXR1cm4geyB2YWx1ZXMsIHJlZmVyZW5jZXM6IEFycmF5LmZyb20odXBkYXRlZFJlZmVyZW5jZXMudmFsdWVzKCkpIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gaW50ZXJwb2xhdGVPYmplY3QodG9JbnRlcnBvbGF0ZTogYW55LCByZWZlcmVuY2VzOiBNYXA8c3RyaW5nLCBhbnk+LCByZXNvbHZlUmVmOiBGdW5jdGlvbik6IFByb21pc2U8YW55PiB7XG4gIHN3aXRjaCAodG9JbnRlcnBvbGF0ZT8uY29uc3RydWN0b3IpIHtcbiAgICBjYXNlIFN0cmluZzoge1xuICAgICAgbGV0IGNvbnRlbnQgPSBhd2FpdCByZXBsYWNlUmVmZXJlbmNlc1ZhbHVlcyh0b0ludGVycG9sYXRlLCByZWZlcmVuY2VzLCByZXNvbHZlUmVmKVxuXG4gICAgICByZXR1cm4gY29udGVudFxuICAgIH1cbiAgICBjYXNlIEFycmF5OiB7XG4gICAgICBjb25zdCBpbnRlcnBvbGF0ZWRBcnJheSA9IFtdXG4gICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdG9JbnRlcnBvbGF0ZSkge1xuICAgICAgICBpbnRlcnBvbGF0ZWRBcnJheS5wdXNoKGF3YWl0IGludGVycG9sYXRlT2JqZWN0KGVsZW1lbnQsIHJlZmVyZW5jZXMsIHJlc29sdmVSZWYpKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW50ZXJwb2xhdGVkQXJyYXlcbiAgICB9XG4gICAgY2FzZSBPYmplY3Q6IHtcbiAgICAgIGNvbnN0IGludGVycG9sYXRlZE9iamVjdDogYW55ID0ge31cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHRvSW50ZXJwb2xhdGUpIHtcbiAgICAgICAgaW50ZXJwb2xhdGVkT2JqZWN0W2tleV0gPSBhd2FpdCBpbnRlcnBvbGF0ZU9iamVjdCh0b0ludGVycG9sYXRlW2tleV0sIHJlZmVyZW5jZXMsIHJlc29sdmVSZWYpXG4gICAgICB9XG4gICAgICByZXR1cm4gaW50ZXJwb2xhdGVkT2JqZWN0XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdG9JbnRlcnBvbGF0ZSBcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXBsYWNlUmVmZXJlbmNlc1ZhbHVlcyhjb250ZW50czogc3RyaW5nLCByZWZlcmVuY2VzOiBNYXA8c3RyaW5nLCBhbnk+LCByZXNvbHZlUmVmOiBGdW5jdGlvbikge1xuXG4gIGNvbnN0IHJlZ2V4ID0gY29tbW9uLnR5cGVzLnJlZ2V4LlRGV29ya3NwYWNlUmVmUmVnZXhcblxuICBsZXQgcmVwbGFjZWRDb250ZW50ID0gY29udGVudHM7XG5cbiAgZm9yIChjb25zdCBtYXRjaCBvZiBjb250ZW50cy5tYXRjaEFsbChyZWdleCkpIHtcbiAgICBjb25zdCBbbWF0Y2hTdHIsIGNsYWltTmFtZSwgb3V0cHV0S2V5XSA9IG1hdGNoXG5cbiAgICBjb25zdCBjciA9IGF3YWl0IHJlc29sdmVSZWYoXCJURldvcmtzcGFjZUNsYWltXCIsIGNsYWltTmFtZSlcblxuICAgIGlmICghY3IpIHRocm93IG5ldyBFcnJvcihg4p2MIENvdWxkIG5vdCByZXNvbHZlIHJlZmVyZW5jZSAke2NsYWltTmFtZX1gKVxuICAgIGNvbnN0IHJlZk5hbWUgPSBgJHtjci5tZXRhZGF0YS5uYW1lfS4ke291dHB1dEtleX1gXG4gICAgcmVmZXJlbmNlcy5zZXQocmVmTmFtZSwge1xuICAgICAgbmFtZTogcmVmTmFtZSxcbiAgICAgIHJlZjoge1xuICAgICAgICBraW5kOiBcIkZpcmVzdGFydHJUZXJyYWZvcm1Xb3Jrc3BhY2VcIixcbiAgICAgICAgbmFtZTogY3IubWV0YWRhdGEubmFtZSxcbiAgICAgICAga2V5OiBvdXRwdXRLZXlcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJlcGxhY2VkQ29udGVudCA9IHJlcGxhY2VkQ29udGVudC5yZXBsYWNlKG1hdGNoU3RyLCBgXFwke3sgcmVmZXJlbmNlcy4ke2NyLm1ldGFkYXRhLm5hbWV9LiR7b3V0cHV0S2V5fSB9fWApXG5cbiAgfVxuXG4gIHJldHVybiByZXBsYWNlZENvbnRlbnRcblxufVxuIl19
|
|
234624
234624
|
|
|
234625
234625
|
/***/ }),
|
|
234626
234626
|
|
|
@@ -235382,6 +235382,7 @@ async function render(catalogScope, firestartrScope) {
|
|
|
235382
235382
|
const data = await (0, loader_1.loadAll)();
|
|
235383
235383
|
const result = await fRenderClaims(catalogScope, firestartrScope, data);
|
|
235384
235384
|
(0, references_1.validateReferentialIntegrity)(result);
|
|
235385
|
+
(0, references_1.validateTfStateKeyUniqueness)(result);
|
|
235385
235386
|
return result;
|
|
235386
235387
|
}
|
|
235387
235388
|
exports.render = render;
|
|
@@ -235581,7 +235582,7 @@ function getPreviousCRfromClaim(claim, previousCRs) {
|
|
|
235581
235582
|
function isExcludedFromPreviousCR(crKind) {
|
|
235582
235583
|
return ["FirestartrGithubRepositoryFeature"].includes(crKind);
|
|
235583
235584
|
}
|
|
235584
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxxQ0FBa0Q7QUFDbEQsaURBQWtDO0FBQ2xDLGtEQUEwQjtBQUUxQixpQ0FBdUQ7QUFFdkQscUVBQTBFO0FBRzFFLHlEQUF5RjtBQUN6RiwrQ0FBa0Q7QUFDbEQscUNBQW1FO0FBRW5FLHdEQUFpRTtBQUNqRSx1Q0FBa0M7QUFDbEMsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixvRUFBb0M7QUFDcEMsTUFBTSxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBQTtBQUd2RCxNQUFNLEdBQUcsR0FBRyxJQUFBLGVBQUssRUFBQyxxQkFBcUIsQ0FBQyxDQUFBO0FBcUN4Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FFckMsWUFBMEIsRUFFMUIsTUFBVyxFQUFFLEVBRWIsbUJBQTJCLGVBQWUsRUFFMUMsY0FBc0IsaUJBQWlCO0lBSXZDLE1BQU0sWUFBWSxHQUFHLElBQUksV0FBRyxDQUFDO1FBRTNCLE1BQU0sRUFBRSxnQkFBZ0I7UUFFeEIsbUJBQW1CLEVBQUUsT0FBTztRQUU1QixjQUFjLEVBQUUsc0JBQWMsQ0FBQyxpQkFBaUI7S0FFakQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSxXQUFHLENBQUM7UUFFOUIsTUFBTSxFQUFFLFdBQVc7UUFFbkIsbUJBQW1CLEVBQUUsT0FBTztRQUU1QixjQUFjLEVBQUUsc0JBQWMsQ0FBQyxpQkFBaUI7S0FFakQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxNQUFNLEdBQVEsTUFBTSxhQUFhLENBRXJDLFlBQVksRUFFWixlQUFlLEVBRWY7UUFDRSxZQUFZO1FBRVosR0FBRztRQUVILE9BQU8sRUFBRSxFQUFFO0tBQ1osQ0FDRixDQUFBO0lBRUQsZUFBZSxDQUFDLEtBQUssRUFBRSxD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LFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUU3QyxJQUFHLElBQUEsNEJBQWUsRUFBQyxVQUFVLENBQUM7WUFBRSxTQUFRO1FBRXhDLElBQUcsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUFFLFNBQVE7UUFFdEQsSUFBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUM7WUFFekYsT0FBTyxVQUFVLENBQUE7U0FFbEI7S0FFRjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBRWQsQ0FBQztBQUdELFNBQVMsd0JBQXdCLENBQUMsTUFBYztJQUc5QyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7QUFHL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJUmVuYW1lUmVzdWx0LCBsb2FkQWxsIH0gZnJvbSBcIi4vbG9hZGVyXCI7XG5pbXBvcnQgKiBhcyBjaGFydHMgZnJvbSBcIi4vY2hhcnRzXCJcbmltcG9ydCBEZWJ1ZyBmcm9tIFwiZGVidWdcIjtcbmltcG9ydCB7IEJhc2VDaGFydCB9IGZyb20gXCIuL2NoYXJ0cy9iYXNlXCI7XG5pbXBvcnQgeyBBcGlPYmplY3QsIEFwcCwgWWFtbE91dHB1dFR5cGUgfSBmcm9tIFwiY2RrOHNcIjtcbmltcG9ydCB7IEdsb2JhbFNlY3Rpb24gfSBmcm9tIFwiLi9nbG9iYWxzL2Jhc2VcIjtcbmltcG9ydCB7IGdlbmVyYXRlRmVhdHVyZXNQYXRjaGVzIH0gZnJvbSBcIi4vY2hhcnRzL2dpdGh1Yi9mZWF0dXJlUmVuZGVyZXJcIjtcbmltcG9ydCB7IE92ZXJyaWRlclBhdGNoZXMgfSBmcm9tIFwiLi9vdmVycmlkZXJzL2Jhc2VcIjtcbmltcG9ydCB7IElDdXN0b21SZXNvdXJjZVBhdGNoIH0gZnJvbSBcIi4vcGF0Y2hlc1wiO1xuaW1wb3J0IHsgaXNDYXRhbG9nRW50aXR5LCB2YWxpZGF0ZVJlZmVyZW50aWFsSW50ZWdyaXR5IH0gZnJvbSBcIi4vdmFsaWRhdGlvbnMvcmVmZXJlbmNlc1wiO1xuaW1wb3J0IHsgIHNldFJlbmRlcmVkQ2xhaW0gfSBmcm9tIFwiLi9yZWZyZXNvbHZlclwiO1xuaW1wb3J0IHsgQWxsb3dlZFByb3ZpZGVycywgZ2V0Q29uZmlndXJlZFByb3ZpZGVyIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgeyBOb3JtYWxpemVyIH0gZnJvbSBcIi4vbm9ybWFsaXplcnMvYmFzZVwiO1xuaW1wb3J0IHsgc29ydFJlbmRlckNsYWltc0J5S2luZCB9IGZyb20gXCIuL3JlZnNTb3J0ZXIvcmVmc1NvcnRlclwiO1xuaW1wb3J0IHsgY3Jhd2wgfSBmcm9tIFwiLi9jcmF3bGVyXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IGNvbW1vbiBmcm9tIFwiY2F0YWxvZ19jb21tb25cIjtcbmNvbnN0IENMQUlNX1JFRl9BTk5PVEFUSU9OID0gXCJmaXJlc3RhcnRyLmRldi9jbGFpbS1yZWZcIlxuXG5cbmNvbnN0IGxvZyA9IERlYnVnKFwiZmlyZXN0YXJ0cjpyZW5kZXJlclwiKVxuXG5leHBvcnQgdHlwZSBSZW5kZXJDbGFpbURhdGEgPSB7XG5cbiAgY2xhaW06IGFueVxuXG4gIGNsYWltUGF0aD86IHN0cmluZ1xuXG4gIGluaXRpYWxpemVyczogYW55IFtdXG5cbiAgb3ZlcnJpZGVzOiBPdmVycmlkZXJQYXRjaGVzW11cblxuICBnbG9iYWxzOiBHbG9iYWxTZWN0aW9uW10sXG5cbiAgbm9ybWFsaXplcnM6IE5vcm1hbGl6ZXJbXVxuXG59XG5cbnR5cGUgQ2xhaW1LaW5kID0gc3RyaW5nO1xudHlwZSBDbGFpbU5hbWUgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBSZW5kZXJDbGFpbUtleSA9IGAke0NsYWltS2luZH0tJHtDbGFpbU5hbWV9YFxuXG50eXBlIENSS2luZCA9IHN0cmluZztcbnR5cGUgQ1JOYW1lID0gc3RyaW5nO1xudHlwZSBSZW5kZXJDUktleSA9IGAke0NSS2luZH0tJHtDUk5hbWV9YFxuXG5leHBvcnQgdHlwZSBSZW5kZXJlZENyTWFwID0ge1xuXG4gIFtrZXk6IFJlbmRlckNSS2V5XTogQXBpT2JqZWN0XG59XG5cbmV4cG9ydCB0eXBlIFJlbmRlckNsYWltcyA9IHtcblxuICBba2V5OiBSZW5kZXJDbGFpbUtleV06IFJlbmRlckNsYWltRGF0YVxuXG59XG5cbi8qXG4gKiBGdW5jdGlvbiBjYWxsZWQgd2hlbiByZW5kZXJpbmcgZnJvbSB0aGUgaW1wb3J0ZXIgY2xhc3MuXG4gKlxuICogSW5wdXQ6XG4gKiAtIHJlbmRlckNsYWltczogYSBSZW5kZXJDbGFpbXMgb2JqZWN0LCB3aGljaCBjb250YWlucyB0aGUgbGlzdCBvZiBjbGFpbXNcbiAqICAgd2Ugd2FudCB0byByZW5kZXJcbiAqXG4gKiBSZXR1cm46XG4gKiAtIFRoZSByZXN1bHQgb2YgcmVuZGVyaW5nIHRoZSByZW5kZXJDbGFpbXMgb2JqZWN0LCBwbHVzIHRoZVxuICogICByZW5kZXJlZCBmaXJlc3RhcnRyLWFsbCBncm91cFxuICpcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlckZyb21JbXBvcnRzKFxuXG4gIHJlbmRlckNsYWltczogUmVuZGVyQ2xhaW1zLFxuXG4gIGNyczogYW55ID0ge30sXG5cbiAgY2F0YWxvZ091dHB1dERpcjogc3RyaW5nID0gXCIvdG1wLy5jYXRhbG9nXCIsXG5cbiAgY3JPdXRwdXREaXI6IHN0cmluZyA9IFwiL3RtcC8ucmVzb3VyY2VzXCIsXG5cbikge1xuXG4gIGNvbnN0IGNhdGFsb2dTY29wZSA9IG5ldyBBcHAoe1xuXG4gICAgb3V0ZGlyOiBjYXRhbG9nT3V0cHV0RGlyLFxuXG4gICAgb3V0cHV0RmlsZUV4dGVuc2lvbjogXCIueWFtbFwiLFxuXG4gICAgeWFtbE91dHB1dFR5cGU6IFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX1JFU09VUkNFLFxuXG4gIH0pXG5cbiAgY29uc3QgZmlyZXN0YXJ0clNjb3BlID0gbmV3IEFwcCh7XG5cbiAgICBvdXRkaXI6IGNyT3V0cHV0RGlyLFxuXG4gICAgb3V0cHV0RmlsZUV4dGVuc2lvbjogXCIueWFtbFwiLFxuXG4gICAgeWFtbE91dHB1dFR5cGU6IFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX1JFU09VUkNFLFxuXG4gIH0pXG5cbiAgY29uc3QgcmVzdWx0OiBhbnkgPSBhd2FpdCBmUmVuZGVyQ2xhaW1zKFxuXG4gICAgY2F0YWxvZ1Njb3BlLFxuXG4gICAgZmlyZXN0YXJ0clNjb3BlLFxuXG4gICAge1xuICAgICAgcmVuZGVyQ2xhaW1zLFxuXG4gICAgICBjcnMsXG5cbiAgICAgIHJlbmFtZXM6IFtdXG4gICAgfSxcbiAgKVxuXG4gIGZpcmVzdGFydHJTY29wZS5zeW50aCgpXG5cbiAgcmV0dXJuIHJlc3VsdFxuXG59XG5cblxuLypcbiAqIEZ1bmN0aW9uIGNhbGxlZCB3aGVuIHJlbmRlcmluZyBidXQgbm90IGltcG9ydGluZ1xuICpcbiAqIElucHV0OlxuICogLSBzY29wZTogYW4gb2JqZWN0LCB1c2VkIHRvIHJlcHJlc2VudCBDREtURidzIGV4ZWN1dGlvbiBzY29wZVxuICpcbiAqIFJldHVybjpcbiAqIC0gVGhlIHJlc3VsdCBvZiByZW5kZXJpbmcgdGhlIHJlbmRlckNsYWltcyBvYmplY3QsIHBsdXMgdGhlXG4gKiAgIHJlbmRlcmVkIGZpcmVzdGFydHItYWxsIGdyb3VwXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyKFxuXG4gIGNhdGFsb2dTY29wZTogQ29uc3RydWN0LFxuXG4gIGZpcmVzdGFydHJTY29wZTogQ29uc3RydWN0LFxuXG4gICk6IFByb21pc2U8UmVuZGVyZWRDck1hcD4ge1xuXG4gIGNvbnN0IGRhdGE6IHtcblxuICAgIHJlbmRlckNsYWltczogUmVuZGVyQ2xhaW1zLFxuXG4gICAgY3JzOiBhbnksXG5cbiAgICByZW5hbWVzPzogSVJlbmFtZVJlc3VsdFtdXG5cbiAgfSA9IGF3YWl0IGxvYWRBbGwoKVxuXG4gIGNvbnN0IHJlc3VsdDogYW55ID0gYXdhaXQgZlJlbmRlckNsYWltcyhjYXRhbG9nU2NvcGUsIGZpcmVzdGFydHJTY29wZSwgZGF0YSlcblxuICB2YWxpZGF0ZVJlZmVyZW50aWFsSW50ZWdyaXR5KHJlc3VsdClcblxuICByZXR1cm4gcmVzdWx0XG5cbn1cblxuLypcbiAqIEZ1bmN0aW9uIGNhbGxlZCB3aGVuIHJlbmRlcmluZyBUZXJyYWZvcm0gd29ya3NwYWNlcyBQbGFuc1xuICogYmFzZWQgb24gdGhlIHByZXZpb3VzIHJlbmRlcmVyIFRlcnJhZm9ybSB3b3Jrc3BhY2VzXG4qL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlcldvcmtzcGFjZVBsYW5zKHNvdXJjZTogc3RyaW5nLCBkZXN0aW55OiBzdHJpbmcsIHByTGluazogc3RyaW5nLCBzaGE6IHN0cmluZykge1xuXG4gIC8vIEl0ZXJhdGUgb3ZlciB0aGUgc291cmNlIGZvbGRlciBhbmQgZ2V0IHRoZSBsaXN0IG9mIFRlcnJhZm9ybSB3b3Jrc3BhY2VzXG5cbiAgYXdhaXQgY3Jhd2woc291cmNlLCAoKSA9PiB0cnVlLCAoZW50cnk6IHN0cmluZywgZGF0YTogYW55KSA9PiB7XG5cbiAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguam9pbihkZXN0aW55LCBwYXRoLmJhc2VuYW1lKGVudHJ5KSlcblxuICAgIGNvbnN0IHdvcmtzcGFjZTogYW55ID0gY29tbW9uLmlvLmZyb21ZYW1sKGRhdGEpXG5cbiAgICB3b3Jrc3BhY2Uua2luZCA9IFwiRmlyZXN0YXJ0clRlcnJhZm9ybVdvcmtzcGFjZVBsYW5cIlxuICAgIHdvcmtzcGFjZS5tZXRhZGF0YS5hbm5vdGF0aW9ucyA9IHtcbiAgICAgIC4uLndvcmtzcGFjZS5tZXRhZGF0YS5hbm5vdGF0aW9ucyxcbiAgICAgIFtjb21tb24uZ2VuZXJpYy5nZXRGaXJlc3RhcnRyQW5ub3RhdGlvbihcInB1bGwtcmVxdWVzdC1wbGFuXCIpXTogcHJMaW5rLFxuICAgICAgW2NvbW1vbi5nZW5lcmljLmdldEZpcmVzdGFydHJBbm5vdGF0aW9uKFwicGxhbi1zaGFcIildOiBzaGFcbiAgICB9XG5cbiAgICBjb25zdCB3b3Jrc3BhY2VQbGFuID0gY29tbW9uLmlvLnRvWWFtbCh7XG4gICAgICAuLi53b3Jrc3BhY2VcbiAgICB9LCB7IHF1b3RpbmdUeXBlOiAnXCInLCBsaW5lV2lkdGg6IC0xIH0pXG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCB3b3Jrc3BhY2VQbGFuKVxuXG4gIH0pXG5cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZExhc3RTdGF0ZUFuZExhc3RDbGFpbUFubm90YXRpb25zKFxuICBmaWxlUGF0aDogc3RyaW5nLCBsYXN0U3RhdGVQUkxpbms6IHN0cmluZywgbGFzdENsYWltUFJMaW5rOiBzdHJpbmdcbikge1xuXG4gIC8vIEl0ZXJhdGUgb3ZlciB0aGUgc291cmNlIGZvbGRlciBhbmQgZ2V0IHRoZSBsaXN0IG9mIFRlcnJhZm9ybSB3b3Jrc3BhY2VzXG5cbiAgY29uc3Qgd29ya3NwYWNlOiBhbnkgPSBjb21tb24uaW8uZnJvbVlhbWwoZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0Zi04XCIpKTtcblxuICBjb25zdCBzdGF0ZUxpbmtBc0FycmF5OiBzdHJpbmdbXSA9IGxhc3RTdGF0ZVBSTGluay5zcGxpdChcIi9cIik7XG4gIGNvbnN0IHN0YXRlQW5ub3RhdGlvblZhbHVlOiBzdHJpbmcgPSBgJHtzdGF0ZUxpbmtBc0FycmF5WzNdfS8ke3N0YXRlTGlua0FzQXJyYXlbNF19IyR7c3RhdGVMaW5rQXNBcnJheVs2XX1gXG5cbiAgY29uc3QgY2xhaW1MaW5rQXNBcnJheTogc3RyaW5nW10gPSBsYXN0Q2xhaW1QUkxpbmsuc3BsaXQoXCIvXCIpO1xuICBjb25zdCBjbGFpbUFubm90YXRpb25WYWx1ZTogc3RyaW5nID0gYCR7Y2xhaW1MaW5rQXNBcnJheVszXX0vJHtjbGFpbUxpbmtBc0FycmF5WzRdfSMke2NsYWltTGlua0FzQXJyYXlbNl19YFxuXG4gIHdvcmtzcGFjZS5tZXRhZGF0YS5hbm5vdGF0aW9ucyA9IHtcbiAgICAuLi53b3Jrc3BhY2UubWV0YWRhdGEuYW5ub3RhdGlvbnMsXG4gICAgW2NvbW1vbi5nZW5lcmljLmdldEZpcmVzdGFydHJBbm5vdGF0aW9uKFwibGFzdC1zdGF0ZS1wclwiKV06IHN0YXRlQW5ub3RhdGlvblZhbHVlLFxuICAgIFtjb21tb24uZ2VuZXJpYy5nZXRGaXJlc3RhcnRyQW5ub3RhdGlvbihcImxhc3QtY2xhaW0tcHJcIildOiBjbGFpbUFubm90YXRpb25WYWx1ZVxuICB9XG5cbiAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgY29tbW9uLmlvLnRvWWFtbChcbiAgICB7IC4uLndvcmtzcGFjZSB9LCB7IHF1b3RpbmdUeXBlOiAnXCInLCBsaW5lV2lkdGg6IC0xIH1cbiAgKSlcblxufVxuXG5hc3luYyBmdW5jdGlvbiBmUmVuZGVyQ2xhaW1zKFxuXG4gIGNhdGFsb2dTY29wZTogQ29uc3RydWN0LFxuXG4gIGZpcmVzdGFydHJTY29wZTogQ29uc3RydWN0LFxuXG4gIGRhdGE6IHtcblxuICAgIHJlbmRlckNsYWltczogUmVuZGVyQ2xhaW1zLFxuXG4gICAgY3JzOiBhbnksXG5cbiAgICByZW5hbWVzPzogSVJlbmFtZVJlc3VsdFtdXG5cbiAgfSxcblxuKTogUHJvbWlzZTxSZW5kZXJlZENyTWFwPiB7XG5cbiAgY29uc3QgcmVzdWx0OiBSZW5kZXJlZENyTWFwID0ge31cblxuICBjb25zdCB7IHJlbmRlckNsYWltcywgY3JzIH0gPSBkYXRhXG5cbiAgY29uc3Qgc29ydGVkS2luZHMgPSBzb3J0S2luZHMoW1wiVXNlckNsYWltXCIsIFwiR3JvdXBDbGFpbVwiLCBcIkNvbXBvbmVudENsYWltXCIsIFwiRG9tYWluQ2xhaW1cIiwgXCJTeXN0ZW1DbGFpbVwiLCBcIlRGV29ya3NwYWNlQ2xhaW1cIiwgXCJBcmdvRGVwbG95Q2xhaW1cIl0sIHJlbmRlckNsYWltcylcblxuICBmb3IgKGNvbnN0IHJlbmRlckNsYWltcyBvZiBzb3J0ZWRLaW5kcykge1xuXG4gICAgZm9yIChjb25zdCBjbGFpbUtleSBvZiBPYmplY3Qua2V5cyhyZW5kZXJDbGFpbXMpKSB7XG5cbiAgICAgIGNvbnN0IGNsYWltID0gcmVuZGVyQ2xhaW1zW2NsYWltS2V5IGFzIFJlbmRlckNsYWltS2V5XS5jbGFpbVxuXG4gICAgICBjb25zdCBjb25maWd1cmVkUHJvdmlkZXIgPSBnZXRDb25maWd1cmVkUHJvdmlkZXIoKS50b1N0cmluZygpXG5cbiAgICAgIGxldCBwcm92aWRlcnMgPSBPYmplY3Qua2V5cyhjbGFpbS5wcm92aWRlcnMpXG5cbiAgICAgIGlmKGNvbmZpZ3VyZWRQcm92aWRlciAhPSBBbGxvd2VkUHJvdmlkZXJzLmFsbC50b1N0cmluZygpKXtcblxuICAgICAgICBwcm92aWRlcnMgPSBwcm92aWRlcnMuZmlsdGVyKFxuXG4gICAgICAgICAgKHByb3ZpZGVyOiBzdHJpbmcpID0+IHByb3ZpZGVyID09PSBjb25maWd1cmVkUHJvdmlkZXJcblxuICAgICAgICApXG5cbiAgICAgIH1cblxuXG4gICAgICBjb25zdCBwcmV2aW91c0NSID0gZ2V0UHJldmlvdXNDUmZyb21DbGFpbShjbGFpbSwgY3JzKVxuXG4gICAgICBjb25zdCBwYXRjaGVzID0gYXdhaXQgZXh0cmFjdFBhdGNoZXMocmVuZGVyQ2xhaW1zW2NsYWltS2V5IGFzIFJlbmRlckNsYWltS2V5XSwgcHJldmlvdXNDUilcblxuICAgICAgaWYgKCFwcmV2aW91c0NSKSB7XG5cbiAgICAgICAgbG9nKGBObyBDUiBmb3VuZCBmb3IgY2xhaW0gJHtjbGFpbUtleX0sIGl0IHdpbGwgYmUgcmVuZGVyZWQgZnJvbSBzY3JhdGNoYClcblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7ZmlyZXN0YXJ0ckVudGl0eSwgZXh0cmFDaGFydHMsIGNhdGFsb2dFbnRpdHl9ICA9IGF3YWl0IHJlbmRlckNsYWltKFxuXG4gICAgICAgIGNhdGFsb2dTY29wZSxcblxuICAgICAgICBmaXJlc3RhcnRyU2NvcGUsXG5cbiAgICAgICAgY2xhaW0sXG5cbiAgICAgICAgcGF0Y2hlcyxcblxuICAgICAgICBwcmV2aW91c0NSLFxuXG4gICAgICApXG5cbiAgICAgIGlmKGNhdGFsb2dFbnRpdHkpIHtcblxuICAgICAgICByZXN1bHRbYCR7Y2F0YWxvZ0VudGl0eS5raW5kfS0ke2NhdGFsb2dFbnRpdHkubWV0YWRhdGEubmFtZX1gXSA9IGNhdGFsb2dFbnRpdHkudG9Kc29uKClcbiAgICAgIFxuICAgICAgfVxuXG4gICAgICAvKipcblxuICAgICAgKiBJZiB0aGVyZSBpcyBubyBwcm92aWRlciBkb24ndCBzdG9yZSB0aGUgQ1IgaW4gdGhlIG1hcFxuXG4gICAgICAqL1xuXG4gICAgICBpZiAoIWZpcmVzdGFydHJFbnRpdHkpIGNvbnRpbnVlO1xuXG4gICAgICBjb25zdCBmaXJlc3RhcnRyRW50aXR5SnNvbiA9IGZpcmVzdGFydHJFbnRpdHkudG9Kc29uKClcblxuICAgICAgc2V0UmVuZGVyZWRDbGFpbShjbGFpbSwgZmlyZXN0YXJ0ckVudGl0eUpzb24pXG5cbiAgICAgIGZvcihjb25zdCBleHRyYUNoYXJ0IG9mIGV4dHJhQ2hhcnRzKXtcblxuICAgICAgICBjb25zdCB7Y2xhaW0sIGNoYXJ0fSA9IGV4dHJhQ2hhcnRcblxuICAgICAgICBzZXRSZW5kZXJlZENsYWltKGNsYWltLCBjaGFydC50b0pzb24oKSlcblxuICAgICAgICByZXN1bHRbYCR7Y2hhcnQua2luZH0tJHtjaGFydC5tZXRhZGF0YS5uYW1lfWBdID0gY2hhcnQudG9Kc29uKClcblxuICAgICAgfVxuXG4gICAgICBpZighZmlyZXN0YXJ0ckVudGl0eUpzb24ubWV0YWRhdGEuYW5ub3RhdGlvbnMgfHwgIWZpcmVzdGFydHJFbnRpdHlKc29uLm1ldGFkYXRhLm5hbWUpIHRocm93IGZpcmVzdGFydHJFbnRpdHlKc29uXG5cbiAgICAgIHJlc3VsdFtgJHtmaXJlc3RhcnRyRW50aXR5LmtpbmR9LSR7ZmlyZXN0YXJ0ckVudGl0eUpzb24ubWV0YWRhdGEubmFtZX1gXSA9IGZpcmVzdGFydHJFbnRpdHlKc29uXG5cbiAgICB9XG5cbiAgfVxuXG4gIHJldHVybiByZXN1bHRcblxufVxuXG5hc3luYyBmdW5jdGlvbiBleHRyYWN0UGF0Y2hlcyhcblxuICBjbGFpbVRvUmVuZGVyRGF0YTogUmVuZGVyQ2xhaW1EYXRhLCBwcmV2aW91c0NSOiBhbnlcblxuKTogUHJvbWlzZTxJQ3VzdG9tUmVzb3VyY2VQYXRjaFtdPiB7XG5cbiAgbGV0IHRvdGFsUGF0Y2hlczogSUN1c3RvbVJlc291cmNlUGF0Y2hbXSA9IFtdXG5cblxuICBmb3IgKGNvbnN0IG5vcm1hbGl6ZXIgb2YgY2xhaW1Ub1JlbmRlckRhdGEubm9ybWFsaXplcnMpIHtcblxuICAgIGNvbnN0IHBhdGNoZXMgPSBhd2FpdCBub3JtYWxpemVyLnBhdGNoZXMoY2xhaW1Ub1JlbmRlckRhdGFbXCJjbGFpbVwiXSwgcHJldmlvdXNDUilcblxuICAgIHRvdGFsUGF0Y2hlcyA9IHRvdGFsUGF0Y2hlcy5jb25jYXQocGF0Y2hlcykuZmxhdCgpXG5cbiAgfVxuXG4gIGZvciAoY29uc3QgaW5pdGlhbGl6ZXIgb2YgY2xhaW1Ub1JlbmRlckRhdGEuaW5pdGlhbGl6ZXJzKSB7XG5cbiAgICBjb25zdCBwYXRjaGVzID0gYXdhaXQgaW5pdGlhbGl6ZXIucGF0Y2hlcyhjbGFpbVRvUmVuZGVyRGF0YVtcImNsYWltXCJdLCBwcmV2aW91c0NSKVxuXG4gICAgdG90YWxQYXRjaGVzID0gdG90YWxQYXRjaGVzLmNvbmNhdChwYXRjaGVzKS5mbGF0KClcblxuICB9XG5cbiAgZm9yIChjb25zdCBvdmVycmlkZXIgb2YgY2xhaW1Ub1JlbmRlckRhdGEub3ZlcnJpZGVzKSB7XG5cbiAgICBjb25zdCBwYXRjaGVzID0gYXdhaXQgb3ZlcnJpZGVyLnBhdGNoZXMoY2xhaW1Ub1JlbmRlckRhdGFbXCJjbGFpbVwiXSwgcHJldmlvdXNDUilcblxuICAgIHRvdGFsUGF0Y2hlcyA9IHRvdGFsUGF0Y2hlcy5jb25jYXQocGF0Y2hlcykuZmxhdCgpXG5cbiAgfVxuXG5cbiAgaWYgKGNsYWltVG9SZW5kZXJEYXRhLmNsYWltLmtpbmQgPT09IFwiQ29tcG9uZW50Q2xhaW1cIikge1xuXG4gICAgdG90YWxQYXRjaGVzID0gdG90YWxQYXRjaGVzLmNvbmNhdCgoYXdhaXQgZ2VuZXJhdGVGZWF0dXJlc1BhdGNoZXMoY2xhaW1Ub1JlbmRlckRhdGEuY2xhaW0pKSkuZmxhdCgpXG5cbiAgfVxuXG5cbiAgZm9yIChjb25zdCBnbG9iYWwgb2YgY2xhaW1Ub1JlbmRlckRhdGEuZ2xvYmFscykge1xuXG4gICAgY29uc3QgcGF0Y2hlcyA9IGF3YWl0IGdsb2JhbC5wYXRjaGVzKGNsYWltVG9SZW5kZXJEYXRhLmNsYWltLCBwcmV2aW91c0NSKVxuXG4gICAgdG90YWxQYXRjaGVzID0gdG90YWxQYXRjaGVzLmNvbmNhdChwYXRjaGVzKS5mbGF0KClcblxuICB9XG5cbiAgcmV0dXJuIHRvdGFsUGF0Y2hlc1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlbmRlckNsYWltUmVzdWx0IHtcbiAgY2F0YWxvZ0VudGl0eT86IEFwaU9iamVjdDtcbiAgZmlyZXN0YXJ0ckVudGl0eT86IEFwaU9iamVjdDtcbiAgZXh0cmFDaGFydHM6IHsgY2xhaW06IHtraW5kOiBzdHJpbmcsIG5hbWU6IHN0cmluZ30sIGNoYXJ0OiBBcGlPYmplY3R9W107XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbmRlckNsYWltKFxuXG4gIGNhdGFsb2dTY29wZTogQ29uc3RydWN0LFxuXG4gIGZpcmVzdGFydHJTY29wZTogQ29uc3RydWN0LFxuXG4gIGNsYWltOiBhbnksXG5cbiAgcGF0Y2hlczogSUN1c3RvbVJlc291cmNlUGF0Y2hbXSxcblxuICBwcmV2aW91c0NSOiBhbnkgfCBudWxsID0gbnVsbFxuXG4gICk6IFByb21pc2U8SVJlbmRlckNsYWltUmVzdWx0PiB7XG5cbiAgbGV0IGNhdGFsb2dFbnRpdHk6IEJhc2VDaGFydCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgbGV0IGZpcmVzdGFydHJFbnRpdHk6IEJhc2VDaGFydCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdCBjaGFydElkID0gYCR7Y2xhaW0ua2luZH0tJHtjbGFpbS5uYW1lfWAudG9Mb3dlckNhc2UoKTtcblxuICBsZXQgZmlyZXN0YXJ0cklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBpZiAocHJldmlvdXNDUikge1xuXG4gICAgZmlyZXN0YXJ0cklkID0gcHJldmlvdXNDUj8uc3BlYz8uZmlyZXN0YXJ0cj8udGZTdGF0ZUtleSB8fCBudWxsO1xuXG4gIH1cblxuICBjb25zdCByZW5kZXJQYXRjaGVzID0gcGF0Y2hlcy5maWx0ZXIoKHBhdGNoOiBhbnkpID0+ICFwYXRjaC5pc1Bvc3RQYXRjaClcbiAgY29uc3QgcG9zdFBhdGNoZXMgPSBwYXRjaGVzLmZpbHRlcigocGF0Y2g6YW55KSA9PiBwYXRjaC5pc1Bvc3RQYXRjaClcblxuICBjb25zdCBwcm92aWRlciA9IGdldENvbmZpZ3VyZWRQcm92aWRlcigpXG5cbiAgc3dpdGNoIChjbGFpbS5raW5kKSB7XG5cbiAgICBjYXNlIFwiRG9tYWluQ2xhaW1cIjpcblxuICAgICAgY2F0YWxvZ0VudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5DYXRhbG9nRG9tYWluQ2hhcnQoXG4gICAgICAgIGNhdGFsb2dTY29wZSwgXG4gICAgICAgIGBjYXRhbG9nLSR7Y2hhcnRJZH1gLCBcbiAgICAgICAgZmlyZXN0YXJ0cklkLCBcbiAgICAgICAgY2xhaW0sIFxuICAgICAgICByZW5kZXJQYXRjaGVzXG4gICAgICApO1xuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgXCJTeXN0ZW1DbGFpbVwiOlxuXG4gICAgICBjYXRhbG9nRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LkNhdGFsb2dTeXN0ZW1DaGFydChcbiAgICAgICAgY2F0YWxvZ1Njb3BlLCBcbiAgICAgICAgYGNhdGFsb2ctJHtjaGFydElkfWAsIFxuICAgICAgICBmaXJlc3RhcnRySWQsIFxuICAgICAgICBjbGFpbSwgXG4gICAgICAgIHJlbmRlclBhdGNoZXNcbiAgICAgICk7XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBcIkdyb3VwQ2xhaW1cIjpcblxuICAgICAgY2F0YWxvZ0VudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5DYXRhbG9nR3JvdXBDaGFydChjYXRhbG9nU2NvcGUsIGBjYXRhbG9nLSR7Y2hhcnRJZH1gLCBmaXJlc3RhcnRySWQsIGNsYWltLCByZW5kZXJQYXRjaGVzKTtcblxuICAgICAgaWYgKGNsYWltLnByb3ZpZGVycy5naXRodWIgJiYgKHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmdpdGh1YiB8fCBwcm92aWRlciA9PT0gQWxsb3dlZFByb3ZpZGVycy5hbGwpKSB7XG5cbiAgICAgICAgZmlyZXN0YXJ0ckVudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5HaXRodWJHcm91cENoYXJ0KFxuICAgICAgICAgIGZpcmVzdGFydHJTY29wZSxcbiAgICAgICAgICBgZ2l0aHViLSR7Y2hhcnRJZH1gLFxuICAgICAgICAgIGZpcmVzdGFydHJJZCxcbiAgICAgICAgICBjbGFpbSxcbiAgICAgICAgICByZW5kZXJQYXRjaGVzXG4gICAgICAgICk7XG5cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFwiVXNlckNsYWltXCI6XG5cbiAgICAgIGNhdGFsb2dFbnRpdHkgPSBuZXcgY2hhcnRzLmRlZmF1bHQuQ2F0YWxvZ1VzZXJDaGFydChjYXRhbG9nU2NvcGUsIGNoYXJ0SWQsIGZpcmVzdGFydHJJZCwgY2xhaW0sIHJlbmRlclBhdGNoZXMpO1xuXG4gICAgICBpZiAoY2xhaW0ucHJvdmlkZXJzLmdpdGh1YiAmJiAocHJvdmlkZXIgPT09IEFsbG93ZWRQcm92aWRlcnMuZ2l0aHViIHx8IHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmFsbCkpIHtcblxuICAgICAgICBmaXJlc3RhcnRyRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LkdpdGh1Yk1lbWJlcnNoaXBDaGFydChcbiAgICAgICAgICBmaXJlc3RhcnRyU2NvcGUsXG4gICAgICAgICAgYGdpdGh1Yi0ke2NoYXJ0SWR9YCxcbiAgICAgICAgICBmaXJlc3RhcnRySWQsXG4gICAgICAgICAgY2xhaW0sXG4gICAgICAgICAgcmVuZGVyUGF0Y2hlc1xuICAgICAgICApO1xuXG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBcIkNvbXBvbmVudENsYWltXCI6XG5cbiAgICAgIGlmIChjbGFpbS5wcm92aWRlcnMuZ2l0aHViICYmIChwcm92aWRlciA9PT0gQWxsb3dlZFByb3ZpZGVycy5naXRodWIgfHwgcHJvdmlkZXIgPT09IEFsbG93ZWRQcm92aWRlcnMuYWxsKSkge1xuXG4gICAgICAgIGZpcmVzdGFydHJFbnRpdHkgPSBuZXcgY2hhcnRzLmRlZmF1bHQuR2l0aHViUmVwb3NpdG9yeUNoYXJ0KFxuICAgICAgICAgIGZpcmVzdGFydHJTY29wZSxcbiAgICAgICAgICBgZ2l0aHViLSR7Y2hhcnRJZH1gLFxuICAgICAgICAgIGZpcmVzdGFydHJJZCxcbiAgICAgICAgICBjbGFpbSxcbiAgICAgICAgICByZW5kZXJQYXRjaGVzXG4gICAgICAgICk7XG5cbiAgICAgIH1cbiAgICAgIGNhdGFsb2dFbnRpdHkgPSBuZXcgY2hhcnRzLmRlZmF1bHQuQ2F0YWxvZ0NvbXBvbmVudENoYXJ0KFxuICAgICAgICBjYXRhbG9nU2NvcGUsIGNoYXJ0SWQsIGZpcmVzdGFydHJJZCwgY2xhaW0sIHJlbmRlclBhdGNoZXNcbiAgICAgICk7XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBcIlRGV29ya3NwYWNlQ2xhaW1cIjpcblxuICAgICAgaWYgKGNsYWltLnByb3ZpZGVycy50ZXJyYWZvcm0gJiYgKHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLnRlcnJhZm9ybSB8fCBwcm92aWRlciA9PT0gQWxsb3dlZFByb3ZpZGVycy5hbGwpKSB7XG5cbiAgICAgICAgZmlyZXN0YXJ0ckVudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5URldvcmtzcGFjZUNoYXJ0KFxuICAgICAgICAgIGZpcmVzdGFydHJTY29wZSwgXG4gICAgICAgICAgYHRlcnJhZm9ybS0ke2NoYXJ0SWR9YCwgXG4gICAgICAgICAgZmlyZXN0YXJ0cklkLFxuICAgICAgICAgIGNsYWltLFxuICAgICAgICAgIHJlbmRlclBhdGNoZXNcbiAgICAgICAgKTtcblxuICAgICAgfVxuICAgICAgY2F0YWxvZ0VudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5DYXRhbG9nVEZXb3Jrc3BhY2VDaGFydChcbiAgICAgICAgY2F0YWxvZ1Njb3BlLCBjaGFydElkLCBmaXJlc3RhcnRySWQsIGNsYWltLCByZW5kZXJQYXRjaGVzXG4gICAgICApO1xuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgXCJBcmdvRGVwbG95Q2xhaW1cIjpcblxuICAgICAgaWYgKGNsYWltLnByb3ZpZGVycy5hcmdvY2QgJiYgKHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmFyZ29jZCB8fCBwcm92aWRlciA9PT0gQWxsb3dlZFByb3ZpZGVycy5hbGwpKSB7XG5cbiAgICAgICAgZmlyZXN0YXJ0ckVudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5BcmdvRGVwbG95Q2hhcnQoXG4gICAgICAgICAgZmlyZXN0YXJ0clNjb3BlLCBcbiAgICAgICAgICBgYXJnb2NkLSR7Y2hhcnRJZH1gLCBcbiAgICAgICAgICBmaXJlc3RhcnRySWQsXG4gICAgICAgICAgY2xhaW0sXG4gICAgICAgICAgcmVuZGVyUGF0Y2hlc1xuICAgICAgICApO1xuXG4gICAgICB9XG4gICAgICBcbiAgICAgIGNhdGFsb2dFbnRpdHkgPSBuZXcgY2hhcnRzLmRlZmF1bHQuQ2F0YWxvZ0FyZ29EZXBsb3lDaGFydChcbiAgICAgICAgY2F0YWxvZ1Njb3BlLCBjaGFydElkLCBmaXJlc3RhcnRySWQsIGNsYWltLCByZW5kZXJQYXRjaGVzXG4gICAgICApO1xuXG4gICAgICBicmVhaztcblxuXG4gICAgZGVmYXVsdDpcblxuICAgICAgY29uc29sZS5lcnJvcihgVW5rbm93biBjbGFpbSBraW5kOiAke2NsYWltLmtpbmR9YCk7XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0byBvbmx5IHJlbmRlciB0aGUgY2F0YWxvZyBlbnRpdHksIGJ1dCBub3QgdGhlIG90aGVyIHdheSBhcm91bmRcbiAgICovXG4gIGlmICghY2F0YWxvZ0VudGl0eSkge1xuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcmVuZGVyIGNsYWltICR7Y2xhaW0ua2luZH0tJHtjbGFpbS5uYW1lfWApO1xuXG4gIH1cblxuICAvKlxuICAgKlxuICAgKiBSZW5kZXIgcGhhc2VcbiAgICpcbiAgICovXG4gIGNvbnN0IFtjYXRhbG9nQ2hhcnQsIGZpcmVzdGFydHJFbnRpdHlDaGFydF0gPSBhd2FpdCBQcm9taXNlLmFsbChcblxuICAgIFtcbiAgICAgIHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmFsbCA/IGNhdGFsb2dFbnRpdHkucmVuZGVyKCkgOiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKSxcblxuICAgICAgZmlyZXN0YXJ0ckVudGl0eT8ucmVuZGVyKCksXG5cbiAgICBdXG5cbiAgKVxuXG4gIC8qXG4gICAqXG4gICAqIFBvc3QgcmVuZGVyIHBoYXNlIChhbmQgcmV0dXJuKVxuICAgKlxuICAgKi9cbiAgcmV0dXJuIHtcblxuICAgIGNhdGFsb2dFbnRpdHk6IGNhdGFsb2dDaGFydCA/IGF3YWl0IGNhdGFsb2dDaGFydC5wb3N0UmVuZGVyZXIocG9zdFBhdGNoZXMpIDogdW5kZWZpbmVkLFxuXG4gICAgZmlyZXN0YXJ0ckVudGl0eTogYXdhaXQgKGZpcmVzdGFydHJFbnRpdHlDaGFydCA/IGZpcmVzdGFydHJFbnRpdHlDaGFydC5wb3N0UmVuZGVyZXIocG9zdFBhdGNoZXMpIDogdW5kZWZpbmVkKSxcblxuICAgIGV4dHJhQ2hhcnRzOiBhd2FpdCBmaXJlc3RhcnRyRW50aXR5Py5leHRyYUNoYXJ0cygpIHx8IFtdXG4gIH07XG5cbn1cblxuXG5cbmZ1bmN0aW9uIHNvcnRLaW5kcyhvcmRlcmVkS2luZHM6IHN0cmluZ1tdLCBjbGFpbXM6IFJlbmRlckNsYWltcykge1xuXG4gIGNvbnN0IHJlc3VsdDogUmVuZGVyQ2xhaW1zW10gPSBbXVxuXG4gIGZvciAoY29uc3Qga2luZCBvZiBvcmRlcmVkS2luZHMpIHtcblxuICAgIGNvbnN0IGtpbmRSZW5kZXJDbGFpbXM6IGFueSA9IHNvcnRSZW5kZXJDbGFpbXNCeUtpbmQoY2xhaW1zLCBba2luZF0pXG5cbiAgICByZXN1bHQucHVzaChraW5kUmVuZGVyQ2xhaW1zKVxuXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG5cbn1cblxuXG5cblxuXG5mdW5jdGlvbiBnZXRQcmV2aW91c0NSZnJvbUNsYWltKGNsYWltOiBhbnksIHByZXZpb3VzQ1JzOiBhbnkpIHtcblxuICBjb25zdCBwcmV2aW91c0NSc0tleXMgPSBPYmplY3Qua2V5cyhwcmV2aW91c0NScylcblxuICBmb3IoY29uc3QgcHJldmlvdXNDUktleSBvZiBwcmV2aW91c0NSc0tleXMpe1xuXG4gICAgY29uc3QgcHJldmlvdXNDUiA9IHByZXZpb3VzQ1JzW3ByZXZpb3VzQ1JLZXldXG5cbiAgICBpZihpc0NhdGFsb2dFbnRpdHkocHJldmlvdXNDUikpIGNvbnRpbnVlXG5cbiAgICBpZihpc0V4Y2x1ZGVkRnJvbVByZXZpb3VzQ1IocHJldmlvdXNDUi5raW5kKSkgY29udGludWVcblxuICAgIGlmKHByZXZpb3VzQ1IubWV0YWRhdGEuYW5ub3RhdGlvbnNbQ0xBSU1fUkVGX0FOTk9UQVRJT05dID09PSBgJHtjbGFpbS5raW5kfS8ke2NsYWltLm5hbWV9YCl7XG5cbiAgICAgIHJldHVybiBwcmV2aW91c0NSXG5cbiAgICB9XG5cbiAgfVxuXG4gIHJldHVybiBmYWxzZVxuXG59XG5cblxuZnVuY3Rpb24gaXNFeGNsdWRlZEZyb21QcmV2aW91c0NSKGNyS2luZDogc3RyaW5nKXtcblxuXG4gIHJldHVybiBbXCJGaXJlc3RhcnRyR2l0aHViUmVwb3NpdG9yeUZlYXR1cmVcIl0uaW5jbHVkZXMoY3JLaW5kKVxuXG5cbn1cbiJdfQ==
|
|
235585
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxxQ0FBa0Q7QUFDbEQsaURBQWtDO0FBQ2xDLGtEQUEwQjtBQUUxQixpQ0FBdUQ7QUFFdkQscUVBQTBFO0FBRzFFLHlEQUF1SDtBQUN2SCwrQ0FBa0Q7QUFDbEQscUNBQW1FO0FBRW5FLHdEQUFpRTtBQUNqRSx1Q0FBa0M7QUFDbEMsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixvRUFBb0M7QUFDcEMsTUFBTSxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBQTtBQUd2RCxNQUFNLEdBQUcsR0FBRyxJQUFBLGVBQUssRUFBQyxxQkFBcUIsQ0FBQyxDQUFBO0FBcUN4Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FFckMsWUFBMEIsRUFFMUIsTUFBVyxFQUFFLEVBRWIsbUJBQTJCLGVBQWUsRUFFMUMsY0FBc0IsaUJBQWlCO0lBSXZDLE1BQU0sWUFBWSxHQUFHLElBQUksV0FBRyxDQUFDO1FBRTNCLE1BQU0sRUFBRSxnQkFBZ0I7UUFFeEIsbUJBQW1CLEVBQUUsT0FBTztRQUU1QixjQUFjLEVBQUUsc0JBQWMsQ0FBQyxpQkFBaUI7S0FFakQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSxXQUFHLENBQUM7UUFFOUIsTUFBTSxFQUFFLFdBQVc7UUFFbkIsbUJBQW1CLEVBQUUsT0FBTztRQUU1QixjQUFjLEVBQUUsc0JBQWMsQ0FBQyxpQkFBaUI7S0FFakQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxNQUFNLEdBQVEsTUFBTSxhQUFhLENBRXJDLFlBQVksRUFFWixlQUFlLEVBRWY7UUFDRSxZQUFZO1FBRVosR0FBRztRQUVILE9BQU8sRUFBRSxFQUFFO0tBQ1osQ0FDRixDQUFBO0lBRUQsZUFBZSxDQUFDLEtBQUssRUFBRSxD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QWEsSUFBSSxlQUFlLEVBQUM7UUFFekMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRTdDLElBQUcsSUFBQSw0QkFBZSxFQUFDLFVBQVUsQ0FBQztZQUFFLFNBQVE7UUFFeEMsSUFBRyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQUUsU0FBUTtRQUV0RCxJQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBQztZQUV6RixPQUFPLFVBQVUsQ0FBQTtTQUVsQjtLQUVGO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFFZCxDQUFDO0FBR0QsU0FBUyx3QkFBd0IsQ0FBQyxNQUFjO0lBRzlDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUcvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElSZW5hbWVSZXN1bHQsIGxvYWRBbGwgfSBmcm9tIFwiLi9sb2FkZXJcIjtcbmltcG9ydCAqIGFzIGNoYXJ0cyBmcm9tIFwiLi9jaGFydHNcIlxuaW1wb3J0IERlYnVnIGZyb20gXCJkZWJ1Z1wiO1xuaW1wb3J0IHsgQmFzZUNoYXJ0IH0gZnJvbSBcIi4vY2hhcnRzL2Jhc2VcIjtcbmltcG9ydCB7IEFwaU9iamVjdCwgQXBwLCBZYW1sT3V0cHV0VHlwZSB9IGZyb20gXCJjZGs4c1wiO1xuaW1wb3J0IHsgR2xvYmFsU2VjdGlvbiB9IGZyb20gXCIuL2dsb2JhbHMvYmFzZVwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVGZWF0dXJlc1BhdGNoZXMgfSBmcm9tIFwiLi9jaGFydHMvZ2l0aHViL2ZlYXR1cmVSZW5kZXJlclwiO1xuaW1wb3J0IHsgT3ZlcnJpZGVyUGF0Y2hlcyB9IGZyb20gXCIuL292ZXJyaWRlcnMvYmFzZVwiO1xuaW1wb3J0IHsgSUN1c3RvbVJlc291cmNlUGF0Y2ggfSBmcm9tIFwiLi9wYXRjaGVzXCI7XG5pbXBvcnQgeyBpc0NhdGFsb2dFbnRpdHksIHZhbGlkYXRlUmVmZXJlbnRpYWxJbnRlZ3JpdHksIHZhbGlkYXRlVGZTdGF0ZUtleVVuaXF1ZW5lc3MgfSBmcm9tIFwiLi92YWxpZGF0aW9ucy9yZWZlcmVuY2VzXCI7XG5pbXBvcnQgeyAgc2V0UmVuZGVyZWRDbGFpbSB9IGZyb20gXCIuL3JlZnJlc29sdmVyXCI7XG5pbXBvcnQgeyBBbGxvd2VkUHJvdmlkZXJzLCBnZXRDb25maWd1cmVkUHJvdmlkZXIgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IE5vcm1hbGl6ZXIgfSBmcm9tIFwiLi9ub3JtYWxpemVycy9iYXNlXCI7XG5pbXBvcnQgeyBzb3J0UmVuZGVyQ2xhaW1zQnlLaW5kIH0gZnJvbSBcIi4vcmVmc1NvcnRlci9yZWZzU29ydGVyXCI7XG5pbXBvcnQgeyBjcmF3bCB9IGZyb20gXCIuL2NyYXdsZXJcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgY29tbW9uIGZyb20gXCJjYXRhbG9nX2NvbW1vblwiO1xuY29uc3QgQ0xBSU1fUkVGX0FOTk9UQVRJT04gPSBcImZpcmVzdGFydHIuZGV2L2NsYWltLXJlZlwiXG5cblxuY29uc3QgbG9nID0gRGVidWcoXCJmaXJlc3RhcnRyOnJlbmRlcmVyXCIpXG5cbmV4cG9ydCB0eXBlIFJlbmRlckNsYWltRGF0YSA9IHtcblxuICBjbGFpbTogYW55XG5cbiAgY2xhaW1QYXRoPzogc3RyaW5nXG5cbiAgaW5pdGlhbGl6ZXJzOiBhbnkgW11cblxuICBvdmVycmlkZXM6IE92ZXJyaWRlclBhdGNoZXNbXVxuXG4gIGdsb2JhbHM6IEdsb2JhbFNlY3Rpb25bXSxcblxuICBub3JtYWxpemVyczogTm9ybWFsaXplcltdXG5cbn1cblxudHlwZSBDbGFpbUtpbmQgPSBzdHJpbmc7XG50eXBlIENsYWltTmFtZSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIFJlbmRlckNsYWltS2V5ID0gYCR7Q2xhaW1LaW5kfS0ke0NsYWltTmFtZX1gXG5cbnR5cGUgQ1JLaW5kID0gc3RyaW5nO1xudHlwZSBDUk5hbWUgPSBzdHJpbmc7XG50eXBlIFJlbmRlckNSS2V5ID0gYCR7Q1JLaW5kfS0ke0NSTmFtZX1gXG5cbmV4cG9ydCB0eXBlIFJlbmRlcmVkQ3JNYXAgPSB7XG5cbiAgW2tleTogUmVuZGVyQ1JLZXldOiBBcGlPYmplY3Rcbn1cblxuZXhwb3J0IHR5cGUgUmVuZGVyQ2xhaW1zID0ge1xuXG4gIFtrZXk6IFJlbmRlckNsYWltS2V5XTogUmVuZGVyQ2xhaW1EYXRhXG5cbn1cblxuLypcbiAqIEZ1bmN0aW9uIGNhbGxlZCB3aGVuIHJlbmRlcmluZyBmcm9tIHRoZSBpbXBvcnRlciBjbGFzcy5cbiAqXG4gKiBJbnB1dDpcbiAqIC0gcmVuZGVyQ2xhaW1zOiBhIFJlbmRlckNsYWltcyBvYmplY3QsIHdoaWNoIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGNsYWltc1xuICogICB3ZSB3YW50IHRvIHJlbmRlclxuICpcbiAqIFJldHVybjpcbiAqIC0gVGhlIHJlc3VsdCBvZiByZW5kZXJpbmcgdGhlIHJlbmRlckNsYWltcyBvYmplY3QsIHBsdXMgdGhlXG4gKiAgIHJlbmRlcmVkIGZpcmVzdGFydHItYWxsIGdyb3VwXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyRnJvbUltcG9ydHMoXG5cbiAgcmVuZGVyQ2xhaW1zOiBSZW5kZXJDbGFpbXMsXG5cbiAgY3JzOiBhbnkgPSB7fSxcblxuICBjYXRhbG9nT3V0cHV0RGlyOiBzdHJpbmcgPSBcIi90bXAvLmNhdGFsb2dcIixcblxuICBjck91dHB1dERpcjogc3RyaW5nID0gXCIvdG1wLy5yZXNvdXJjZXNcIixcblxuKSB7XG5cbiAgY29uc3QgY2F0YWxvZ1Njb3BlID0gbmV3IEFwcCh7XG5cbiAgICBvdXRkaXI6IGNhdGFsb2dPdXRwdXREaXIsXG5cbiAgICBvdXRwdXRGaWxlRXh0ZW5zaW9uOiBcIi55YW1sXCIsXG5cbiAgICB5YW1sT3V0cHV0VHlwZTogWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfUkVTT1VSQ0UsXG5cbiAgfSlcblxuICBjb25zdCBmaXJlc3RhcnRyU2NvcGUgPSBuZXcgQXBwKHtcblxuICAgIG91dGRpcjogY3JPdXRwdXREaXIsXG5cbiAgICBvdXRwdXRGaWxlRXh0ZW5zaW9uOiBcIi55YW1sXCIsXG5cbiAgICB5YW1sT3V0cHV0VHlwZTogWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfUkVTT1VSQ0UsXG5cbiAgfSlcblxuICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IGZSZW5kZXJDbGFpbXMoXG5cbiAgICBjYXRhbG9nU2NvcGUsXG5cbiAgICBmaXJlc3RhcnRyU2NvcGUsXG5cbiAgICB7XG4gICAgICByZW5kZXJDbGFpbXMsXG5cbiAgICAgIGNycyxcblxuICAgICAgcmVuYW1lczogW11cbiAgICB9LFxuICApXG5cbiAgZmlyZXN0YXJ0clNjb3BlLnN5bnRoKClcblxuICByZXR1cm4gcmVzdWx0XG5cbn1cblxuXG4vKlxuICogRnVuY3Rpb24gY2FsbGVkIHdoZW4gcmVuZGVyaW5nIGJ1dCBub3QgaW1wb3J0aW5nXG4gKlxuICogSW5wdXQ6XG4gKiAtIHNjb3BlOiBhbiBvYmplY3QsIHVzZWQgdG8gcmVwcmVzZW50IENES1RGJ3MgZXhlY3V0aW9uIHNjb3BlXG4gKlxuICogUmV0dXJuOlxuICogLSBUaGUgcmVzdWx0IG9mIHJlbmRlcmluZyB0aGUgcmVuZGVyQ2xhaW1zIG9iamVjdCwgcGx1cyB0aGVcbiAqICAgcmVuZGVyZWQgZmlyZXN0YXJ0ci1hbGwgZ3JvdXBcbiAqXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5kZXIoXG5cbiAgY2F0YWxvZ1Njb3BlOiBDb25zdHJ1Y3QsXG5cbiAgZmlyZXN0YXJ0clNjb3BlOiBDb25zdHJ1Y3QsXG5cbiAgKTogUHJvbWlzZTxSZW5kZXJlZENyTWFwPiB7XG5cbiAgY29uc3QgZGF0YToge1xuXG4gICAgcmVuZGVyQ2xhaW1zOiBSZW5kZXJDbGFpbXMsXG5cbiAgICBjcnM6IGFueSxcblxuICAgIHJlbmFtZXM/OiBJUmVuYW1lUmVzdWx0W11cblxuICB9ID0gYXdhaXQgbG9hZEFsbCgpXG5cbiAgY29uc3QgcmVzdWx0OiBhbnkgPSBhd2FpdCBmUmVuZGVyQ2xhaW1zKGNhdGFsb2dTY29wZSwgZmlyZXN0YXJ0clNjb3BlLCBkYXRhKVxuXG4gIHZhbGlkYXRlUmVmZXJlbnRpYWxJbnRlZ3JpdHkocmVzdWx0KVxuXG4gIHZhbGlkYXRlVGZTdGF0ZUtleVVuaXF1ZW5lc3MocmVzdWx0KVxuXG4gIHJldHVybiByZXN1bHRcblxufVxuXG4vKlxuICogRnVuY3Rpb24gY2FsbGVkIHdoZW4gcmVuZGVyaW5nIFRlcnJhZm9ybSB3b3Jrc3BhY2VzIFBsYW5zXG4gKiBiYXNlZCBvbiB0aGUgcHJldmlvdXMgcmVuZGVyZXIgVGVycmFmb3JtIHdvcmtzcGFjZXNcbiovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyV29ya3NwYWNlUGxhbnMoc291cmNlOiBzdHJpbmcsIGRlc3Rpbnk6IHN0cmluZywgcHJMaW5rOiBzdHJpbmcsIHNoYTogc3RyaW5nKSB7XG5cbiAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBzb3VyY2UgZm9sZGVyIGFuZCBnZXQgdGhlIGxpc3Qgb2YgVGVycmFmb3JtIHdvcmtzcGFjZXNcblxuICBhd2FpdCBjcmF3bChzb3VyY2UsICgpID0+IHRydWUsIChlbnRyeTogc3RyaW5nLCBkYXRhOiBhbnkpID0+IHtcblxuICAgIGNvbnN0IGZpbGVOYW1lID0gcGF0aC5qb2luKGRlc3RpbnksIHBhdGguYmFzZW5hbWUoZW50cnkpKVxuXG4gICAgY29uc3Qgd29ya3NwYWNlOiBhbnkgPSBjb21tb24uaW8uZnJvbVlhbWwoZGF0YSlcblxuICAgIHdvcmtzcGFjZS5raW5kID0gXCJGaXJlc3RhcnRyVGVycmFmb3JtV29ya3NwYWNlUGxhblwiXG4gICAgd29ya3NwYWNlLm1ldGFkYXRhLmFubm90YXRpb25zID0ge1xuICAgICAgLi4ud29ya3NwYWNlLm1ldGFkYXRhLmFubm90YXRpb25zLFxuICAgICAgW2NvbW1vbi5nZW5lcmljLmdldEZpcmVzdGFydHJBbm5vdGF0aW9uKFwicHVsbC1yZXF1ZXN0LXBsYW5cIildOiBwckxpbmssXG4gICAgICBbY29tbW9uLmdlbmVyaWMuZ2V0RmlyZXN0YXJ0ckFubm90YXRpb24oXCJwbGFuLXNoYVwiKV06IHNoYVxuICAgIH1cblxuICAgIGNvbnN0IHdvcmtzcGFjZVBsYW4gPSBjb21tb24uaW8udG9ZYW1sKHtcbiAgICAgIC4uLndvcmtzcGFjZVxuICAgIH0sIHsgcXVvdGluZ1R5cGU6ICdcIicsIGxpbmVXaWR0aDogLTEgfSlcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZU5hbWUsIHdvcmtzcGFjZVBsYW4pXG5cbiAgfSlcblxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkTGFzdFN0YXRlQW5kTGFzdENsYWltQW5ub3RhdGlvbnMoXG4gIGZpbGVQYXRoOiBzdHJpbmcsIGxhc3RTdGF0ZVBSTGluazogc3RyaW5nLCBsYXN0Q2xhaW1QUkxpbms6IHN0cmluZ1xuKSB7XG5cbiAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBzb3VyY2UgZm9sZGVyIGFuZCBnZXQgdGhlIGxpc3Qgb2YgVGVycmFmb3JtIHdvcmtzcGFjZXNcblxuICBjb25zdCB3b3Jrc3BhY2U6IGFueSA9IGNvbW1vbi5pby5mcm9tWWFtbChmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIFwidXRmLThcIikpO1xuXG4gIGNvbnN0IHN0YXRlTGlua0FzQXJyYXk6IHN0cmluZ1tdID0gbGFzdFN0YXRlUFJMaW5rLnNwbGl0KFwiL1wiKTtcbiAgY29uc3Qgc3RhdGVBbm5vdGF0aW9uVmFsdWU6IHN0cmluZyA9IGAke3N0YXRlTGlua0FzQXJyYXlbM119LyR7c3RhdGVMaW5rQXNBcnJheVs0XX0jJHtzdGF0ZUxpbmtBc0FycmF5WzZdfWBcblxuICBjb25zdCBjbGFpbUxpbmtBc0FycmF5OiBzdHJpbmdbXSA9IGxhc3RDbGFpbVBSTGluay5zcGxpdChcIi9cIik7XG4gIGNvbnN0IGNsYWltQW5ub3RhdGlvblZhbHVlOiBzdHJpbmcgPSBgJHtjbGFpbUxpbmtBc0FycmF5WzNdfS8ke2NsYWltTGlua0FzQXJyYXlbNF19IyR7Y2xhaW1MaW5rQXNBcnJheVs2XX1gXG5cbiAgd29ya3NwYWNlLm1ldGFkYXRhLmFubm90YXRpb25zID0ge1xuICAgIC4uLndvcmtzcGFjZS5tZXRhZGF0YS5hbm5vdGF0aW9ucyxcbiAgICBbY29tbW9uLmdlbmVyaWMuZ2V0RmlyZXN0YXJ0ckFubm90YXRpb24oXCJsYXN0LXN0YXRlLXByXCIpXTogc3RhdGVBbm5vdGF0aW9uVmFsdWUsXG4gICAgW2NvbW1vbi5nZW5lcmljLmdldEZpcmVzdGFydHJBbm5vdGF0aW9uKFwibGFzdC1jbGFpbS1wclwiKV06IGNsYWltQW5ub3RhdGlvblZhbHVlXG4gIH1cblxuICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBjb21tb24uaW8udG9ZYW1sKFxuICAgIHsgLi4ud29ya3NwYWNlIH0sIHsgcXVvdGluZ1R5cGU6ICdcIicsIGxpbmVXaWR0aDogLTEgfVxuICApKVxuXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZSZW5kZXJDbGFpbXMoXG5cbiAgY2F0YWxvZ1Njb3BlOiBDb25zdHJ1Y3QsXG5cbiAgZmlyZXN0YXJ0clNjb3BlOiBDb25zdHJ1Y3QsXG5cbiAgZGF0YToge1xuXG4gICAgcmVuZGVyQ2xhaW1zOiBSZW5kZXJDbGFpbXMsXG5cbiAgICBjcnM6IGFueSxcblxuICAgIHJlbmFtZXM/OiBJUmVuYW1lUmVzdWx0W11cblxuICB9LFxuXG4pOiBQcm9taXNlPFJlbmRlcmVkQ3JNYXA+IHtcblxuICBjb25zdCByZXN1bHQ6IFJlbmRlcmVkQ3JNYXAgPSB7fVxuXG4gIGNvbnN0IHsgcmVuZGVyQ2xhaW1zLCBjcnMgfSA9IGRhdGFcblxuICBjb25zdCBzb3J0ZWRLaW5kcyA9IHNvcnRLaW5kcyhbXCJVc2VyQ2xhaW1cIiwgXCJHcm91cENsYWltXCIsIFwiQ29tcG9uZW50Q2xhaW1cIiwgXCJEb21haW5DbGFpbVwiLCBcIlN5c3RlbUNsYWltXCIsIFwiVEZXb3Jrc3BhY2VDbGFpbVwiLCBcIkFyZ29EZXBsb3lDbGFpbVwiXSwgcmVuZGVyQ2xhaW1zKVxuXG4gIGZvciAoY29uc3QgcmVuZGVyQ2xhaW1zIG9mIHNvcnRlZEtpbmRzKSB7XG5cbiAgICBmb3IgKGNvbnN0IGNsYWltS2V5IG9mIE9iamVjdC5rZXlzKHJlbmRlckNsYWltcykpIHtcblxuICAgICAgY29uc3QgY2xhaW0gPSByZW5kZXJDbGFpbXNbY2xhaW1LZXkgYXMgUmVuZGVyQ2xhaW1LZXldLmNsYWltXG5cbiAgICAgIGNvbnN0IGNvbmZpZ3VyZWRQcm92aWRlciA9IGdldENvbmZpZ3VyZWRQcm92aWRlcigpLnRvU3RyaW5nKClcblxuICAgICAgbGV0IHByb3ZpZGVycyA9IE9iamVjdC5rZXlzKGNsYWltLnByb3ZpZGVycylcblxuICAgICAgaWYoY29uZmlndXJlZFByb3ZpZGVyICE9IEFsbG93ZWRQcm92aWRlcnMuYWxsLnRvU3RyaW5nKCkpe1xuXG4gICAgICAgIHByb3ZpZGVycyA9IHByb3ZpZGVycy5maWx0ZXIoXG5cbiAgICAgICAgICAocHJvdmlkZXI6IHN0cmluZykgPT4gcHJvdmlkZXIgPT09IGNvbmZpZ3VyZWRQcm92aWRlclxuXG4gICAgICAgIClcblxuICAgICAgfVxuXG5cbiAgICAgIGNvbnN0IHByZXZpb3VzQ1IgPSBnZXRQcmV2aW91c0NSZnJvbUNsYWltKGNsYWltLCBjcnMpXG5cbiAgICAgIGNvbnN0IHBhdGNoZXMgPSBhd2FpdCBleHRyYWN0UGF0Y2hlcyhyZW5kZXJDbGFpbXNbY2xhaW1LZXkgYXMgUmVuZGVyQ2xhaW1LZXldLCBwcmV2aW91c0NSKVxuXG4gICAgICBpZiAoIXByZXZpb3VzQ1IpIHtcblxuICAgICAgICBsb2coYE5vIENSIGZvdW5kIGZvciBjbGFpbSAke2NsYWltS2V5fSwgaXQgd2lsbCBiZSByZW5kZXJlZCBmcm9tIHNjcmF0Y2hgKVxuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHtmaXJlc3RhcnRyRW50aXR5LCBleHRyYUNoYXJ0cywgY2F0YWxvZ0VudGl0eX0gID0gYXdhaXQgcmVuZGVyQ2xhaW0oXG5cbiAgICAgICAgY2F0YWxvZ1Njb3BlLFxuXG4gICAgICAgIGZpcmVzdGFydHJTY29wZSxcblxuICAgICAgICBjbGFpbSxcblxuICAgICAgICBwYXRjaGVzLFxuXG4gICAgICAgIHByZXZpb3VzQ1IsXG5cbiAgICAgIClcblxuICAgICAgaWYoY2F0YWxvZ0VudGl0eSkge1xuXG4gICAgICAgIHJlc3VsdFtgJHtjYXRhbG9nRW50aXR5LmtpbmR9LSR7Y2F0YWxvZ0VudGl0eS5tZXRhZGF0YS5uYW1lfWBdID0gY2F0YWxvZ0VudGl0eS50b0pzb24oKVxuICAgICAgXG4gICAgICB9XG5cbiAgICAgIC8qKlxuXG4gICAgICAqIElmIHRoZXJlIGlzIG5vIHByb3ZpZGVyIGRvbid0IHN0b3JlIHRoZSBDUiBpbiB0aGUgbWFwXG5cbiAgICAgICovXG5cbiAgICAgIGlmICghZmlyZXN0YXJ0ckVudGl0eSkgY29udGludWU7XG5cbiAgICAgIGNvbnN0IGZpcmVzdGFydHJFbnRpdHlKc29uID0gZmlyZXN0YXJ0ckVudGl0eS50b0pzb24oKVxuXG4gICAgICBzZXRSZW5kZXJlZENsYWltKGNsYWltLCBmaXJlc3RhcnRyRW50aXR5SnNvbilcblxuICAgICAgZm9yKGNvbnN0IGV4dHJhQ2hhcnQgb2YgZXh0cmFDaGFydHMpe1xuXG4gICAgICAgIGNvbnN0IHtjbGFpbSwgY2hhcnR9ID0gZXh0cmFDaGFydFxuXG4gICAgICAgIHNldFJlbmRlcmVkQ2xhaW0oY2xhaW0sIGNoYXJ0LnRvSnNvbigpKVxuXG4gICAgICAgIHJlc3VsdFtgJHtjaGFydC5raW5kfS0ke2NoYXJ0Lm1ldGFkYXRhLm5hbWV9YF0gPSBjaGFydC50b0pzb24oKVxuXG4gICAgICB9XG5cbiAgICAgIGlmKCFmaXJlc3RhcnRyRW50aXR5SnNvbi5tZXRhZGF0YS5hbm5vdGF0aW9ucyB8fCAhZmlyZXN0YXJ0ckVudGl0eUpzb24ubWV0YWRhdGEubmFtZSkgdGhyb3cgZmlyZXN0YXJ0ckVudGl0eUpzb25cblxuICAgICAgcmVzdWx0W2Ake2ZpcmVzdGFydHJFbnRpdHkua2luZH0tJHtmaXJlc3RhcnRyRW50aXR5SnNvbi5tZXRhZGF0YS5uYW1lfWBdID0gZmlyZXN0YXJ0ckVudGl0eUpzb25cblxuICAgIH1cblxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxuXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4dHJhY3RQYXRjaGVzKFxuXG4gIGNsYWltVG9SZW5kZXJEYXRhOiBSZW5kZXJDbGFpbURhdGEsIHByZXZpb3VzQ1I6IGFueVxuXG4pOiBQcm9taXNlPElDdXN0b21SZXNvdXJjZVBhdGNoW10+IHtcblxuICBsZXQgdG90YWxQYXRjaGVzOiBJQ3VzdG9tUmVzb3VyY2VQYXRjaFtdID0gW11cblxuXG4gIGZvciAoY29uc3Qgbm9ybWFsaXplciBvZiBjbGFpbVRvUmVuZGVyRGF0YS5ub3JtYWxpemVycykge1xuXG4gICAgY29uc3QgcGF0Y2hlcyA9IGF3YWl0IG5vcm1hbGl6ZXIucGF0Y2hlcyhjbGFpbVRvUmVuZGVyRGF0YVtcImNsYWltXCJdLCBwcmV2aW91c0NSKVxuXG4gICAgdG90YWxQYXRjaGVzID0gdG90YWxQYXRjaGVzLmNvbmNhdChwYXRjaGVzKS5mbGF0KClcblxuICB9XG5cbiAgZm9yIChjb25zdCBpbml0aWFsaXplciBvZiBjbGFpbVRvUmVuZGVyRGF0YS5pbml0aWFsaXplcnMpIHtcblxuICAgIGNvbnN0IHBhdGNoZXMgPSBhd2FpdCBpbml0aWFsaXplci5wYXRjaGVzKGNsYWltVG9SZW5kZXJEYXRhW1wiY2xhaW1cIl0sIHByZXZpb3VzQ1IpXG5cbiAgICB0b3RhbFBhdGNoZXMgPSB0b3RhbFBhdGNoZXMuY29uY2F0KHBhdGNoZXMpLmZsYXQoKVxuXG4gIH1cblxuICBmb3IgKGNvbnN0IG92ZXJyaWRlciBvZiBjbGFpbVRvUmVuZGVyRGF0YS5vdmVycmlkZXMpIHtcblxuICAgIGNvbnN0IHBhdGNoZXMgPSBhd2FpdCBvdmVycmlkZXIucGF0Y2hlcyhjbGFpbVRvUmVuZGVyRGF0YVtcImNsYWltXCJdLCBwcmV2aW91c0NSKVxuXG4gICAgdG90YWxQYXRjaGVzID0gdG90YWxQYXRjaGVzLmNvbmNhdChwYXRjaGVzKS5mbGF0KClcblxuICB9XG5cblxuICBpZiAoY2xhaW1Ub1JlbmRlckRhdGEuY2xhaW0ua2luZCA9PT0gXCJDb21wb25lbnRDbGFpbVwiKSB7XG5cbiAgICB0b3RhbFBhdGNoZXMgPSB0b3RhbFBhdGNoZXMuY29uY2F0KChhd2FpdCBnZW5lcmF0ZUZlYXR1cmVzUGF0Y2hlcyhjbGFpbVRvUmVuZGVyRGF0YS5jbGFpbSkpKS5mbGF0KClcblxuICB9XG5cblxuICBmb3IgKGNvbnN0IGdsb2JhbCBvZiBjbGFpbVRvUmVuZGVyRGF0YS5nbG9iYWxzKSB7XG5cbiAgICBjb25zdCBwYXRjaGVzID0gYXdhaXQgZ2xvYmFsLnBhdGNoZXMoY2xhaW1Ub1JlbmRlckRhdGEuY2xhaW0sIHByZXZpb3VzQ1IpXG5cbiAgICB0b3RhbFBhdGNoZXMgPSB0b3RhbFBhdGNoZXMuY29uY2F0KHBhdGNoZXMpLmZsYXQoKVxuXG4gIH1cblxuICByZXR1cm4gdG90YWxQYXRjaGVzXG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVuZGVyQ2xhaW1SZXN1bHQge1xuICBjYXRhbG9nRW50aXR5PzogQXBpT2JqZWN0O1xuICBmaXJlc3RhcnRyRW50aXR5PzogQXBpT2JqZWN0O1xuICBleHRyYUNoYXJ0czogeyBjbGFpbToge2tpbmQ6IHN0cmluZywgbmFtZTogc3RyaW5nfSwgY2hhcnQ6IEFwaU9iamVjdH1bXTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVuZGVyQ2xhaW0oXG5cbiAgY2F0YWxvZ1Njb3BlOiBDb25zdHJ1Y3QsXG5cbiAgZmlyZXN0YXJ0clNjb3BlOiBDb25zdHJ1Y3QsXG5cbiAgY2xhaW06IGFueSxcblxuICBwYXRjaGVzOiBJQ3VzdG9tUmVzb3VyY2VQYXRjaFtdLFxuXG4gIHByZXZpb3VzQ1I6IGFueSB8IG51bGwgPSBudWxsXG5cbiAgKTogUHJvbWlzZTxJUmVuZGVyQ2xhaW1SZXN1bHQ+IHtcblxuICBsZXQgY2F0YWxvZ0VudGl0eTogQmFzZUNoYXJ0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBsZXQgZmlyZXN0YXJ0ckVudGl0eTogQmFzZUNoYXJ0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGNoYXJ0SWQgPSBgJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuXG4gIGxldCBmaXJlc3RhcnRySWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChwcmV2aW91c0NSKSB7XG5cbiAgICBmaXJlc3RhcnRySWQgPSBwcmV2aW91c0NSPy5zcGVjPy5maXJlc3RhcnRyPy50ZlN0YXRlS2V5IHx8IG51bGw7XG5cbiAgfVxuXG4gIGNvbnN0IHJlbmRlclBhdGNoZXMgPSBwYXRjaGVzLmZpbHRlcigocGF0Y2g6IGFueSkgPT4gIXBhdGNoLmlzUG9zdFBhdGNoKVxuICBjb25zdCBwb3N0UGF0Y2hlcyA9IHBhdGNoZXMuZmlsdGVyKChwYXRjaDphbnkpID0+IHBhdGNoLmlzUG9zdFBhdGNoKVxuXG4gIGNvbnN0IHByb3ZpZGVyID0gZ2V0Q29uZmlndXJlZFByb3ZpZGVyKClcblxuICBzd2l0Y2ggKGNsYWltLmtpbmQpIHtcblxuICAgIGNhc2UgXCJEb21haW5DbGFpbVwiOlxuXG4gICAgICBjYXRhbG9nRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LkNhdGFsb2dEb21haW5DaGFydChcbiAgICAgICAgY2F0YWxvZ1Njb3BlLCBcbiAgICAgICAgYGNhdGFsb2ctJHtjaGFydElkfWAsIFxuICAgICAgICBmaXJlc3RhcnRySWQsIFxuICAgICAgICBjbGFpbSwgXG4gICAgICAgIHJlbmRlclBhdGNoZXNcbiAgICAgICk7XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBcIlN5c3RlbUNsYWltXCI6XG5cbiAgICAgIGNhdGFsb2dFbnRpdHkgPSBuZXcgY2hhcnRzLmRlZmF1bHQuQ2F0YWxvZ1N5c3RlbUNoYXJ0KFxuICAgICAgICBjYXRhbG9nU2NvcGUsIFxuICAgICAgICBgY2F0YWxvZy0ke2NoYXJ0SWR9YCwgXG4gICAgICAgIGZpcmVzdGFydHJJZCwgXG4gICAgICAgIGNsYWltLCBcbiAgICAgICAgcmVuZGVyUGF0Y2hlc1xuICAgICAgKTtcblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFwiR3JvdXBDbGFpbVwiOlxuXG4gICAgICBjYXRhbG9nRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LkNhdGFsb2dHcm91cENoYXJ0KGNhdGFsb2dTY29wZSwgYGNhdGFsb2ctJHtjaGFydElkfWAsIGZpcmVzdGFydHJJZCwgY2xhaW0sIHJlbmRlclBhdGNoZXMpO1xuXG4gICAgICBpZiAoY2xhaW0ucHJvdmlkZXJzLmdpdGh1YiAmJiAocHJvdmlkZXIgPT09IEFsbG93ZWRQcm92aWRlcnMuZ2l0aHViIHx8IHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmFsbCkpIHtcblxuICAgICAgICBmaXJlc3RhcnRyRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LkdpdGh1Ykdyb3VwQ2hhcnQoXG4gICAgICAgICAgZmlyZXN0YXJ0clNjb3BlLFxuICAgICAgICAgIGBnaXRodWItJHtjaGFydElkfWAsXG4gICAgICAgICAgZmlyZXN0YXJ0cklkLFxuICAgICAgICAgIGNsYWltLFxuICAgICAgICAgIHJlbmRlclBhdGNoZXNcbiAgICAgICAgKTtcblxuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgXCJVc2VyQ2xhaW1cIjpcblxuICAgICAgY2F0YWxvZ0VudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5DYXRhbG9nVXNlckNoYXJ0KGNhdGFsb2dTY29wZSwgY2hhcnRJZCwgZmlyZXN0YXJ0cklkLCBjbGFpbSwgcmVuZGVyUGF0Y2hlcyk7XG5cbiAgICAgIGlmIChjbGFpbS5wcm92aWRlcnMuZ2l0aHViICYmIChwcm92aWRlciA9PT0gQWxsb3dlZFByb3ZpZGVycy5naXRodWIgfHwgcHJvdmlkZXIgPT09IEFsbG93ZWRQcm92aWRlcnMuYWxsKSkge1xuXG4gICAgICAgIGZpcmVzdGFydHJFbnRpdHkgPSBuZXcgY2hhcnRzLmRlZmF1bHQuR2l0aHViTWVtYmVyc2hpcENoYXJ0KFxuICAgICAgICAgIGZpcmVzdGFydHJTY29wZSxcbiAgICAgICAgICBgZ2l0aHViLSR7Y2hhcnRJZH1gLFxuICAgICAgICAgIGZpcmVzdGFydHJJZCxcbiAgICAgICAgICBjbGFpbSxcbiAgICAgICAgICByZW5kZXJQYXRjaGVzXG4gICAgICAgICk7XG5cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFwiQ29tcG9uZW50Q2xhaW1cIjpcblxuICAgICAgaWYgKGNsYWltLnByb3ZpZGVycy5naXRodWIgJiYgKHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmdpdGh1YiB8fCBwcm92aWRlciA9PT0gQWxsb3dlZFByb3ZpZGVycy5hbGwpKSB7XG5cbiAgICAgICAgZmlyZXN0YXJ0ckVudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5HaXRodWJSZXBvc2l0b3J5Q2hhcnQoXG4gICAgICAgICAgZmlyZXN0YXJ0clNjb3BlLFxuICAgICAgICAgIGBnaXRodWItJHtjaGFydElkfWAsXG4gICAgICAgICAgZmlyZXN0YXJ0cklkLFxuICAgICAgICAgIGNsYWltLFxuICAgICAgICAgIHJlbmRlclBhdGNoZXNcbiAgICAgICAgKTtcblxuICAgICAgfVxuICAgICAgY2F0YWxvZ0VudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5DYXRhbG9nQ29tcG9uZW50Q2hhcnQoXG4gICAgICAgIGNhdGFsb2dTY29wZSwgY2hhcnRJZCwgZmlyZXN0YXJ0cklkLCBjbGFpbSwgcmVuZGVyUGF0Y2hlc1xuICAgICAgKTtcblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFwiVEZXb3Jrc3BhY2VDbGFpbVwiOlxuXG4gICAgICBpZiAoY2xhaW0ucHJvdmlkZXJzLnRlcnJhZm9ybSAmJiAocHJvdmlkZXIgPT09IEFsbG93ZWRQcm92aWRlcnMudGVycmFmb3JtIHx8IHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmFsbCkpIHtcblxuICAgICAgICBmaXJlc3RhcnRyRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LlRGV29ya3NwYWNlQ2hhcnQoXG4gICAgICAgICAgZmlyZXN0YXJ0clNjb3BlLCBcbiAgICAgICAgICBgdGVycmFmb3JtLSR7Y2hhcnRJZH1gLCBcbiAgICAgICAgICBmaXJlc3RhcnRySWQsXG4gICAgICAgICAgY2xhaW0sXG4gICAgICAgICAgcmVuZGVyUGF0Y2hlc1xuICAgICAgICApO1xuXG4gICAgICB9XG4gICAgICBjYXRhbG9nRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LkNhdGFsb2dURldvcmtzcGFjZUNoYXJ0KFxuICAgICAgICBjYXRhbG9nU2NvcGUsIGNoYXJ0SWQsIGZpcmVzdGFydHJJZCwgY2xhaW0sIHJlbmRlclBhdGNoZXNcbiAgICAgICk7XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBcIkFyZ29EZXBsb3lDbGFpbVwiOlxuXG4gICAgICBpZiAoY2xhaW0ucHJvdmlkZXJzLmFyZ29jZCAmJiAocHJvdmlkZXIgPT09IEFsbG93ZWRQcm92aWRlcnMuYXJnb2NkIHx8IHByb3ZpZGVyID09PSBBbGxvd2VkUHJvdmlkZXJzLmFsbCkpIHtcblxuICAgICAgICBmaXJlc3RhcnRyRW50aXR5ID0gbmV3IGNoYXJ0cy5kZWZhdWx0LkFyZ29EZXBsb3lDaGFydChcbiAgICAgICAgICBmaXJlc3RhcnRyU2NvcGUsIFxuICAgICAgICAgIGBhcmdvY2QtJHtjaGFydElkfWAsIFxuICAgICAgICAgIGZpcmVzdGFydHJJZCxcbiAgICAgICAgICBjbGFpbSxcbiAgICAgICAgICByZW5kZXJQYXRjaGVzXG4gICAgICAgICk7XG5cbiAgICAgIH1cbiAgICAgIFxuICAgICAgY2F0YWxvZ0VudGl0eSA9IG5ldyBjaGFydHMuZGVmYXVsdC5DYXRhbG9nQXJnb0RlcGxveUNoYXJ0KFxuICAgICAgICBjYXRhbG9nU2NvcGUsIGNoYXJ0SWQsIGZpcmVzdGFydHJJZCwgY2xhaW0sIHJlbmRlclBhdGNoZXNcbiAgICAgICk7XG5cbiAgICAgIGJyZWFrO1xuXG5cbiAgICBkZWZhdWx0OlxuXG4gICAgICBjb25zb2xlLmVycm9yKGBVbmtub3duIGNsYWltIGtpbmQ6ICR7Y2xhaW0ua2luZH1gKTtcblxuICAgICAgYnJlYWs7XG4gIH1cblxuICAvKipcbiAgICogVGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRvIG9ubHkgcmVuZGVyIHRoZSBjYXRhbG9nIGVudGl0eSwgYnV0IG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZFxuICAgKi9cbiAgaWYgKCFjYXRhbG9nRW50aXR5KSB7XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZW5kZXIgY2xhaW0gJHtjbGFpbS5raW5kfS0ke2NsYWltLm5hbWV9YCk7XG5cbiAgfVxuXG4gIC8qXG4gICAqXG4gICAqIFJlbmRlciBwaGFzZVxuICAgKlxuICAgKi9cbiAgY29uc3QgW2NhdGFsb2dDaGFydCwgZmlyZXN0YXJ0ckVudGl0eUNoYXJ0XSA9IGF3YWl0IFByb21pc2UuYWxsKFxuXG4gICAgW1xuICAgICAgcHJvdmlkZXIgPT09IEFsbG93ZWRQcm92aWRlcnMuYWxsID8gY2F0YWxvZ0VudGl0eS5yZW5kZXIoKSA6IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpLFxuXG4gICAgICBmaXJlc3RhcnRyRW50aXR5Py5yZW5kZXIoKSxcblxuICAgIF1cblxuICApXG5cbiAgLypcbiAgICpcbiAgICogUG9zdCByZW5kZXIgcGhhc2UgKGFuZCByZXR1cm4pXG4gICAqXG4gICAqL1xuICByZXR1cm4ge1xuXG4gICAgY2F0YWxvZ0VudGl0eTogY2F0YWxvZ0NoYXJ0ID8gYXdhaXQgY2F0YWxvZ0NoYXJ0LnBvc3RSZW5kZXJlcihwb3N0UGF0Y2hlcykgOiB1bmRlZmluZWQsXG5cbiAgICBmaXJlc3RhcnRyRW50aXR5OiBhd2FpdCAoZmlyZXN0YXJ0ckVudGl0eUNoYXJ0ID8gZmlyZXN0YXJ0ckVudGl0eUNoYXJ0LnBvc3RSZW5kZXJlcihwb3N0UGF0Y2hlcykgOiB1bmRlZmluZWQpLFxuXG4gICAgZXh0cmFDaGFydHM6IGF3YWl0IGZpcmVzdGFydHJFbnRpdHk/LmV4dHJhQ2hhcnRzKCkgfHwgW11cbiAgfTtcblxufVxuXG5cblxuZnVuY3Rpb24gc29ydEtpbmRzKG9yZGVyZWRLaW5kczogc3RyaW5nW10sIGNsYWltczogUmVuZGVyQ2xhaW1zKSB7XG5cbiAgY29uc3QgcmVzdWx0OiBSZW5kZXJDbGFpbXNbXSA9IFtdXG5cbiAgZm9yIChjb25zdCBraW5kIG9mIG9yZGVyZWRLaW5kcykge1xuXG4gICAgY29uc3Qga2luZFJlbmRlckNsYWltczogYW55ID0gc29ydFJlbmRlckNsYWltc0J5S2luZChjbGFpbXMsIFtraW5kXSlcblxuICAgIHJlc3VsdC5wdXNoKGtpbmRSZW5kZXJDbGFpbXMpXG5cbiAgfVxuXG4gIHJldHVybiByZXN1bHRcblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIGdldFByZXZpb3VzQ1Jmcm9tQ2xhaW0oY2xhaW06IGFueSwgcHJldmlvdXNDUnM6IGFueSkge1xuXG4gIGNvbnN0IHByZXZpb3VzQ1JzS2V5cyA9IE9iamVjdC5rZXlzKHByZXZpb3VzQ1JzKVxuXG4gIGZvcihjb25zdCBwcmV2aW91c0NSS2V5IG9mIHByZXZpb3VzQ1JzS2V5cyl7XG5cbiAgICBjb25zdCBwcmV2aW91c0NSID0gcHJldmlvdXNDUnNbcHJldmlvdXNDUktleV1cblxuICAgIGlmKGlzQ2F0YWxvZ0VudGl0eShwcmV2aW91c0NSKSkgY29udGludWVcblxuICAgIGlmKGlzRXhjbHVkZWRGcm9tUHJldmlvdXNDUihwcmV2aW91c0NSLmtpbmQpKSBjb250aW51ZVxuXG4gICAgaWYocHJldmlvdXNDUi5tZXRhZGF0YS5hbm5vdGF0aW9uc1tDTEFJTV9SRUZfQU5OT1RBVElPTl0gPT09IGAke2NsYWltLmtpbmR9LyR7Y2xhaW0ubmFtZX1gKXtcblxuICAgICAgcmV0dXJuIHByZXZpb3VzQ1JcblxuICAgIH1cblxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG5cbn1cblxuXG5mdW5jdGlvbiBpc0V4Y2x1ZGVkRnJvbVByZXZpb3VzQ1IoY3JLaW5kOiBzdHJpbmcpe1xuXG5cbiAgcmV0dXJuIFtcIkZpcmVzdGFydHJHaXRodWJSZXBvc2l0b3J5RmVhdHVyZVwiXS5pbmNsdWRlcyhjcktpbmQpXG5cblxufVxuIl19
|
|
235585
235586
|
|
|
235586
235587
|
/***/ }),
|
|
235587
235588
|
|
|
@@ -236064,7 +236065,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
236064
236065
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
236065
236066
|
};
|
|
236066
236067
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
236067
|
-
exports.isCatalogEntity = exports.validateReferentialIntegrity = void 0;
|
|
236068
|
+
exports.isCatalogEntity = exports.validateTfStateKeyUniqueness = exports.validateReferentialIntegrity = void 0;
|
|
236068
236069
|
const config_1 = __nccwpck_require__(56600);
|
|
236069
236070
|
const lodash_1 = __importDefault(__nccwpck_require__(78018));
|
|
236070
236071
|
const wellKnownStructures_1 = __nccwpck_require__(67482);
|
|
@@ -236112,6 +236113,35 @@ function validateReferentialIntegrity(crs) {
|
|
|
236112
236113
|
}
|
|
236113
236114
|
}
|
|
236114
236115
|
exports.validateReferentialIntegrity = validateReferentialIntegrity;
|
|
236116
|
+
function validateTfStateKeyUniqueness(crs) {
|
|
236117
|
+
const tfStateKeys = {};
|
|
236118
|
+
for (const crKey of Object.keys(crs)) {
|
|
236119
|
+
const cr = crs[crKey];
|
|
236120
|
+
if (!isTerraformWorkspace(cr))
|
|
236121
|
+
continue;
|
|
236122
|
+
const tfKey = cr.spec.firestartr.tfStateKey;
|
|
236123
|
+
if (tfStateKeys[tfKey]) {
|
|
236124
|
+
throw new Error(`❗❗ ❌ RENDER ERROR ❌ ❗❗
|
|
236125
|
+
|
|
236126
|
+
The tfStateKey ${tfKey} is not unique,
|
|
236127
|
+
|
|
236128
|
+
It is being used by the following CRs:
|
|
236129
|
+
|
|
236130
|
+
- ${tfStateKeys[tfKey].kind} ${tfStateKeys[tfKey].metadata.name}
|
|
236131
|
+
|
|
236132
|
+
- ${cr.kind} ${cr.metadata.name}
|
|
236133
|
+
|
|
236134
|
+
Check the following Claims to ensure that the tfStateKey is unique:
|
|
236135
|
+
|
|
236136
|
+
- ${tfStateKeys[tfKey].metadata.annotations["firestartr.dev/claim-ref"]}
|
|
236137
|
+
|
|
236138
|
+
- ${cr.metadata.annotations["firestartr.dev/claim-ref"]}
|
|
236139
|
+
`);
|
|
236140
|
+
}
|
|
236141
|
+
tfStateKeys[cr.spec.firestartr.tfStateKey] = cr;
|
|
236142
|
+
}
|
|
236143
|
+
}
|
|
236144
|
+
exports.validateTfStateKeyUniqueness = validateTfStateKeyUniqueness;
|
|
236115
236145
|
/**
|
|
236116
236146
|
* @description This function validates that all references in the CR are valid,
|
|
236117
236147
|
* it uses the wellknownRelations object to know which properties to validate
|
|
@@ -236216,7 +236246,10 @@ function isCatalogEntity(cr) {
|
|
|
236216
236246
|
].includes(cr.kind);
|
|
236217
236247
|
}
|
|
236218
236248
|
exports.isCatalogEntity = isCatalogEntity;
|
|
236219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9ucy9yZWZlcmVuY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNDQUFvRTtBQUNwRSxvREFBdUI7QUFDdkIsK0RBQXVEO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLG9CQUFvQixHQUFRO0lBQ2hDLHVCQUF1QixFQUFFLENBQUUsY0FBYyxDQUFFO0lBQzNDLDRCQUE0QixFQUFFLENBQUUsa0JBQWtCLENBQUU7SUFDcEQsNEJBQTRCLEVBQUUsRUFBRTtJQUNoQyw4QkFBOEIsRUFBRSxFQUFFO0NBQ25DLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSw0QkFBNEIsR0FBUTtJQUN4QyxXQUFXLEVBQUUsQ0FBRSxZQUFZLEVBQUUsYUFBYSxDQUFFO0lBQzVDLFFBQVEsRUFBRSxDQUFFLFlBQVksQ0FBRTtJQUMxQixVQUFVLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO0lBQ2hGLE9BQU8sRUFBRSxDQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFFO0lBQzNELFFBQVEsRUFBRSxDQUFFLGFBQWEsRUFBRSxZQUFZLENBQUU7SUFDekMsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBUTtJQUNoQyx1QkFBdUIsRUFBRSxPQUFPO0lBQ2hDLDRCQUE0QixFQUFFLFlBQVk7SUFDMUMsNEJBQTRCLEVBQUUsTUFBTTtJQUNwQyw4QkFBOEIsRUFBRSxhQUFhO0NBQzlDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxHQUFRO0lBQ25ELEtBQUksTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQztRQUNsQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxD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Q1IsTUFBTTtRQUNOLE9BQU87UUFDUCxVQUFVO0tBQ1gsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3JCLENBQUM7QUFURCwwQ0FTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldENvbmZpZ3VyZWRQcm92aWRlciwgQWxsb3dlZFByb3ZpZGVycyB9IGZyb20gXCIuLi9jb25maWdcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IGlzQ29sbGFib3JhdG9yIH0gZnJvbSBcIi4vd2VsbEtub3duU3RydWN0dXJlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIG9iamVjdCBjb250YWlucyB0aGUgd2VsbCBrbm93biByZWxhdGlvbnMgYmV0d2VlbiBDUnNcbiAqIFRoZSBrZXkgaXMgdGhlIGtpbmQgb2YgdGhlIENSIGFuZCB0aGUgdmFsdWUgaXMgYW4gYXJyYXkgb2YgcHJvcGVydGllcyB0aGF0IGFyZSByZWZlcmVuY2VzIHRvIG90aGVyIENSc1xuICogVGhlIHZhbHVlIGlzIHRoZSBwYXRoIHRvIHRoZSBwcm9wZXJ0eSBpbiB0aGUgQ1JcbiAqL1xuY29uc3QgV0VMTF9LTk9XTl9SRUxBVElPTlM6IGFueSA9IHtcbiAgXCJGaXJlc3RhcnRyR2l0aHViR3JvdXBcIjogWyBcInNwZWMubWVtYmVyc1wiIF0sXG4gIFwiRmlyZXN0YXJ0ckdpdGh1YlJlcG9zaXRvcnlcIjogWyBcInNwZWMucGVybWlzc2lvbnNcIiBdLFxuICBcIkZpcmVzdGFydHJHaXRodWJNZW1iZXJzaGlwXCI6IFtdLFxuICBcIkZpcmVzYXJ0ZXJUZXJyYWZvcm1Xb3Jrc3BhY2VcIjogW10sXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIG9iamVjdCBjb250YWlucyB0aGUgd2VsbCBrbm93biByZWxhdGlvbnMgYmV0d2VlbiBDUnMgaW4gdGhlIGNhdGFsb2cgcmVwb1xuICogVGhlIGtleSBpcyB0aGUga2luZCBvZiB0aGUgQ1IgYW5kIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlZmVyZW5jZXMgdG8gb3RoZXIgQ1JzXG4gKiBUaGUgdmFsdWUgaXMgdGhlIHBhdGggdG8gdGhlIHByb3BlcnR5IGluIHRoZSBDUlxuICovXG5jb25zdCBXRUxMX0tOT1dOX1JFTEFUSU9OU19DQVRBTE9HOiBhbnkgPSB7XG4gIFwiQ29tcG9uZW50XCI6IFsgXCJzcGVjLm93bmVyXCIsIFwic3BlYy5zeXN0ZW1cIiBdLFxuICBcIkRvbWFpblwiOiBbIFwic3BlYy5vd25lclwiIF0sXG4gIFwiUmVzb3VyY2VcIjogW1wic3BlYy5vd25lclwiLCBcInNwZWMuc3lzdGVtXCIsIFwic3BlYy5kZXBlbmRlbmN5T2ZcIiwgXCJzcGVjLmRlcGVuZHNPblwiXSxcbiAgXCJHcm91cFwiOiBbIFwic3BlYy5jaGlsZHJlblwiLCBcInNwZWMubWVtYmVyc1wiLCBcInNwZWMucGFyZW50XCIgXSxcbiAgXCJTeXN0ZW1cIjogWyBcInNwZWMuZG9tYWluXCIsIFwic3BlYy5vd25lclwiIF0sXG4gIFwiVXNlclwiOiBbXSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRoaXMgb2JqZWN0IG1hcHMgdGhlIGtpbmQgb2YgdGhlIENSIHRvIHRoZSBraW5kIG9mIHRoZSBjbGFpbVxuICogVGhpcyB3aWxsIGJlIHVzZWQgZm9yIGZlZWRiYWNrIG1lc3NhZ2VzIHRvIGZpbmFsIHVzZXJzXG4gKi9cbmNvbnN0IE1BUF9LSU5EX0NSX1RPX0NMQUlNOiBhbnkgPSB7XG4gIFwiRmlyZXN0YXJ0ckdpdGh1Ykdyb3VwXCI6IFwiZ3JvdXBcIixcbiAgXCJGaXJlc3RhcnRyR2l0aHViUmVwb3NpdG9yeVwiOiBcInJlcG9zaXRvcnlcIixcbiAgXCJGaXJlc3RhcnRyR2l0aHViTWVtYmVyc2hpcFwiOiBcInVzZXJcIixcbiAgXCJGaXJlc3RhcnRyVGVycmFmb3JtV29ya3NwYWNlXCI6IFwidGZ3b3Jrc3BhY2VcIixcbn07XG5cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiB2YWxpZGF0ZXMgdGhhdCBhbGwgcmVmZXJlbmNlcyBpbiB0aGUgQ1JzIGFyZSB2YWxpZFxuICogQHBhcmFtIGNycyBUaGUgY3JzIG9iamVjdCBpcyBhIG1hcCBvZiBjcnMgd2hlcmUgdGhlIGtleSBpcyB0aGUga2luZCBhbmQgbWV0YWRhLm5hbWUgb2YgdGhlIGNyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVJlZmVyZW50aWFsSW50ZWdyaXR5KGNyczogYW55KSB7XG4gIGZvcihjb25zdCBjcktleSBvZiBPYmplY3Qua2V5cyhjcnMpKXtcbiAgICB2YWxpZGF0ZVJlZmVyZW5jZXNJbkNSKGNyc1tjcktleV0sIGNycylcbiAgfVxufVxuXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRoaXMgZnVuY3Rpb24gdmFsaWRhdGVzIHRoYXQgYWxsIHJlZmVyZW5jZXMgaW4gdGhlIENSIGFyZSB2YWxpZCxcbiAqIGl0IHVzZXMgdGhlIHdlbGxrbm93blJlbGF0aW9ucyBvYmplY3QgdG8ga25vdyB3aGljaCBwcm9wZXJ0aWVzIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gY3IgVGhlIGNyIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gY3JzIFRoZSBjcnMgb2JqZWN0IGlzIGEgbWFwIG9mIGNycyB3aGVyZSB0aGUga2V5IGlzIHRoZSBraW5kIGFuZCBtZXRhZGEubmFtZSBvZiB0aGUgY3JcbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVSZWZlcmVuY2VzSW5DUihjcjogYW55LCBjcnM6IGFueSkge1xuICBpZihpc0NhdGFsb2dFbnRpdHkoY3IpKSB7XG4gICAgaWYoZ2V0Q29uZmlndXJlZFByb3ZpZGVyKCkgPT09IEFsbG93ZWRQcm92aWRlcnMuY2F0YWxvZykge1xuICAgICAgdmFsaWRhdGVDYXRhbG9nRW50aXRpZXMoY3IsIGNycyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhbGlkYXRlTm9uQ2F0YWxvZ0VudGl0aWVzKGNyLCBjcnMpO1xuICB9XG59XG5cblxuZnVuY3Rpb24gdGhyb3dJZlJlZk5vdEZvdW5kKGNyczogYW55LCByZWZPYmo6IGFueSwgcmVmU3RyOiBzdHJpbmcsIGNyU3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgcmVmS2V5ID0gYCR7cmVmT2JqLmtpbmR9LSR7cmVmT2JqLm5hbWV9YFxuXG4gIGlmKCFjcnNbcmVmS2V5XSl7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEVycm9yOiBSZWZlcmVuY2UgXCIke3JlZlN0cn1cIiBpbiBjbGFpbSBmb3IgJHtjclN0cn0gbm90IGZvdW5kYFxuICAgIClcbiAgfVxufVxuXG5cbi8qXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiB2YWxpZGF0ZXMgbm9uIGNhdGFsb2cgZW50aXRpZXMsIHVzaW5nIHRoZVxuICogV0VMTF9LTk9XTl9SRUxBVElPTlMgb2JqZWN0IHRvIGtub3cgd2hpY2ggZmllbGRzIHRvIHZhbGlkYXRlLlxuICogSXQgcmV0dXJucyBub3RoaW5nIGFuZCB0aHJvd3MgYW4gZXJyb3IgaWYgYSByZWZlcmVuY2UgaXMgbm90IGZvdW5kLlxuICpcbiAqIEBwYXJhbSBjciBUaGUgY3IgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBjcnMgVGhlIGNycyBvYmplY3QgaXMgYSBtYXAgb2YgY3JzIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGtpbmQgYW5kIG1ldGFkYS5uYW1lIG9mIHRoZSBjclxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZU5vbkNhdGFsb2dFbnRpdGllcyhjcjogYW55LCBjcnM6IGFueSkge1xuICBmb3IoY29uc3QgcmVsIG9mIFdFTExfS05PV05fUkVMQVRJT05TW2NyLmtpbmRdIHx8IFtdKXtcbiAgICBjb25zdCBwcm9wZXJ0eVJlZiA9IF8uZ2V0KGNyLCByZWwpO1xuXG4gICAgaWYoIXByb3BlcnR5UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDUiAke2NyLmtpbmR9ICR7Y3IubWV0YWRhdGEubmFtZX0gZG9lcyBub3QgaGF2ZSBwcm9wZXJ0eSAke3JlbH1gXG4gICAgICApXG4gICAgfVxuXG4gICAgaWYoIUFycmF5LmlzQXJyYXkocHJvcGVydHlSZWYpKSB7XG5cbiAgICAgIGlmKGlzQ29sbGFib3JhdG9yKHByb3BlcnR5UmVmKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dJZlJlZk5vdEZvdW5kKFxuICAgICAgICBjcnMsXG4gICAgICAgIHByb3BlcnR5UmVmLFxuICAgICAgICBgJHtNQVBfS0lORF9DUl9UT19DTEFJTVtwcm9wZXJ0eVJlZi5raW5kXX06JHtwcm9wZXJ0eVJlZi5uYW1lfWAsXG4gICAgICAgIGAke2NyLmtpbmR9LSR7Y3IubWV0YWRhdGEubmFtZX1gLFxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IoY29uc3QgcHJvcGVydHlSZWwgb2YgcHJvcGVydHlSZWYpe1xuXG4gICAgICAgIGlmKGlzQ29sbGFib3JhdG9yKHByb3BlcnR5UmVsKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3dJZlJlZk5vdEZvdW5kKFxuICAgICAgICAgIGNycyxcbiAgICAgICAgICBwcm9wZXJ0eVJlbC5yZWYsXG4gICAgICAgICAgYCR7TUFQX0tJTkRfQ1JfVE9fQ0xBSU1bcHJvcGVydHlSZWwucmVmLmtpbmRdfToke3Byb3BlcnR5UmVsLnJlZi5uYW1lfWAsXG4gICAgICAgICAgYCR7Y3Iua2luZH0tJHtjci5tZXRhZGF0YS5uYW1lfWAsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKlxuICogQGRlc2NyaXB0aW9uIFRoaXMgZnVuY3Rpb24gdmFsaWRhdGVzIGNhdGFsb2cgZW50aXRpZXMsIHVzaW5nIHRoZVxuICogV0VMTF9LTk9XTl9SRUxBVElPTlNfQ0FUQUxPRyBvYmplY3QgdG8ga25vdyB3aGljaCBmaWVsZHMgdG8gdmFsaWRhdGUuXG4gKiBJdCByZXR1cm5zIG5vdGhpbmcgYW5kIHRocm93cyBhbiBlcnJvciBpZiBhIHJlZmVyZW5jZSBpcyBub3QgZm91bmQuXG4gKlxuICogQHBhcmFtIGNyIFRoZSBjciB0byB2YWxpZGF0ZVxuICogQHBhcmFtIGNycyBUaGUgY3JzIG9iamVjdCBpcyBhIG1hcCBvZiBjcnMgd2hlcmUgdGhlIGtleSBpcyB0aGUga2luZCBhbmQgbWV0YWRhLm5hbWUgb2YgdGhlIGNyXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlQ2F0YWxvZ0VudGl0aWVzKGNyOiBhbnksIGNyczogYW55KSB7XG4gIGZvcihjb25zdCByZWwgb2YgV0VMTF9LTk9XTl9SRUxBVElPTlNfQ0FUQUxPR1tjci5raW5kXSl7XG4gICAgaWYoXy5oYXMoY3IsIHJlbCkpIHtcbiAgICAgIGNvbnN0IHJlZk9iamVjdCA9IF8uZ2V0KGNyLCByZWwpO1xuXG4gICAgICBpZighQXJyYXkuaXNBcnJheShyZWZPYmplY3QpKSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5UmVmOiBhbnkgPSBjcmVhdGVDYXRhbG9nRW50aXR5UHJvcGVydHlSZWYocmVmT2JqZWN0KTtcbiAgICAgICAgdGhyb3dJZlJlZk5vdEZvdW5kKFxuICAgICAgICAgIGNycyxcbiAgICAgICAgICBwcm9wZXJ0eVJlZixcbiAgICAgICAgICBgJHtwcm9wZXJ0eVJlZi5raW5kLnRvTG93ZXJDYXNlKCl9OiR7cHJvcGVydHlSZWYubmFtZX1gLFxuICAgICAgICAgIGAke2NyLmtpbmR9LSR7Y3IubmFtZX1gLFxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IoY29uc3QgcmVmRW50cnkgb2YgcmVmT2JqZWN0KXtcbiAgICAgICAgICBjb25zdCBwcm9wZXJ0eVJlZjogYW55ID0gY3JlYXRlQ2F0YWxvZ0VudGl0eVByb3BlcnR5UmVmKHJlZkVudHJ5KTtcbiAgICAgICAgICB0aHJvd0lmUmVmTm90Rm91bmQoXG4gICAgICAgICAgICBjcnMsXG4gICAgICAgICAgICBwcm9wZXJ0eVJlZixcbiAgICAgICAgICAgIGAke3Byb3BlcnR5UmVmLmtpbmQudG9Mb3dlckNhc2UoKX06JHtwcm9wZXJ0eVJlZi5uYW1lfWAsXG4gICAgICAgICAgICBgJHtjci5raW5kfS0ke2NyLm5hbWV9YCxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIEBkZXNjcmlwdGlvbiBXaGVuIGRlYWxpbmcgd2l0aCBjYXRhbG9nIGVudGl0aWVzLCB0aGVpciByZWZlcmVuY2VzIGFyZSBzdG9yZWRcbiAqIGFzIGEgc3RyaW5nIGluIHRoZSBcIltraW5kXTpbbmFtZV1cIiBmb3JtYXQuIFRoaXMgZnVuY3Rpb24gdHJhbnNmb3JtcyB0aG9zZSBzdHJpbmdzXG4gKiBpbnRvIGEgcmVmZXJlbmNlIGluIHRoZSB7IGtpbmQ6IFtraW5kXSwgbmFtZTogW25hbWVdIH0gZm9ybWF0XG4gKlxuICogQHBhcmFtIHJlZlN0cmluZyBUaGUgc3RyaW5nIHRvIHRyYW5zZm9ybS4gTXVzdCBiZSBpbiB0aGUgXCJba2luZF06W25hbWVdXCIgZm9ybWF0XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUNhdGFsb2dFbnRpdHlQcm9wZXJ0eVJlZihyZWZTdHJpbmc6IHN0cmluZyk6IGFueSB7XG4gIGNvbnN0IHNwbGl0dGVkUmVmU3RyaW5nOiBzdHJpbmdbXSA9IHJlZlN0cmluZy5zcGxpdChcIjpcIik7XG4gIHJldHVybiB7XG4gICAgLy8gVGhlIGtpbmQgc3RyaW5nIG5lZWRzIHRvIGJlIGNhcGl0YWxpemVkXG4gICAga2luZDpcbiAgICAgIHNwbGl0dGVkUmVmU3RyaW5nWzBdLnN1YnN0cmluZygwLCAxKS50b1VwcGVyQ2FzZSgpICtcbiAgICAgIHNwbGl0dGVkUmVmU3RyaW5nWzBdLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpLFxuICAgIG5hbWU6IHNwbGl0dGVkUmVmU3RyaW5nWzFdLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NhdGFsb2dFbnRpdHkoY3I6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gW1xuICAgIFwiQ29tcG9uZW50XCIsIFxuICAgIFwiRG9tYWluXCIsIFxuICAgIFwiU3lzdGVtXCIsIFxuICAgIFwiVXNlclwiLCBcbiAgICBcIkdyb3VwXCIsIFxuICAgIFwiUmVzb3VyY2VcIlxuICBdLmluY2x1ZGVzKGNyLmtpbmQpXG59XG4iXX0=
|
|
236249
|
+
function isTerraformWorkspace(cr) {
|
|
236250
|
+
return cr.kind === "FirestartrTerraformWorkspace";
|
|
236251
|
+
}
|
|
236252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9ucy9yZWZlcmVuY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNDQUFvRTtBQUNwRSxvREFBdUI7QUFDdkIsK0RBQXVEO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLG9CQUFvQixHQUFRO0lBQ2hDLHVCQUF1QixFQUFFLENBQUUsY0FBYyxDQUFFO0lBQzNDLDRCQUE0QixFQUFFLENBQUUsa0JBQWtCLENBQUU7SUFDcEQsNEJBQTRCLEVBQUUsRUFBRTtJQUNoQyw4QkFBOEIsRUFBRSxFQUFFO0NBQ25DLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSw0QkFBNEIsR0FBUTtJQUN4QyxXQUFXLEVBQUUsQ0FBRSxZQUFZLEVBQUUsYUFBYSxDQUFFO0lBQzVDLFFBQVEsRUFBRSxDQUFFLFlBQVksQ0FBRTtJQUMxQixVQUFVLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO0lBQ2hGLE9BQU8sRUFBRSxDQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFFO0lBQzNELFFBQVEsRUFBRSxDQUFFLGFBQWEsRUFBRSxZQUFZLENBQUU7SUFDekMsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBUTtJQUNoQyx1QkFBdUIsRUFBRSxPQUFPO0lBQ2hDLDRCQUE0QixFQUFFLFlBQVk7SUFDMUMsNEJBQTRCLEVBQUUsTUFBTTtJQUNwQyw4QkFBOEIsRUFBRSxhQUFhO0NBQzlDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxHQUFRO0lBQ25ELEtBQUksTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQztRQUNsQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxD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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldENvbmZpZ3VyZWRQcm92aWRlciwgQWxsb3dlZFByb3ZpZGVycyB9IGZyb20gXCIuLi9jb25maWdcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IGlzQ29sbGFib3JhdG9yIH0gZnJvbSBcIi4vd2VsbEtub3duU3RydWN0dXJlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIG9iamVjdCBjb250YWlucyB0aGUgd2VsbCBrbm93biByZWxhdGlvbnMgYmV0d2VlbiBDUnNcbiAqIFRoZSBrZXkgaXMgdGhlIGtpbmQgb2YgdGhlIENSIGFuZCB0aGUgdmFsdWUgaXMgYW4gYXJyYXkgb2YgcHJvcGVydGllcyB0aGF0IGFyZSByZWZlcmVuY2VzIHRvIG90aGVyIENSc1xuICogVGhlIHZhbHVlIGlzIHRoZSBwYXRoIHRvIHRoZSBwcm9wZXJ0eSBpbiB0aGUgQ1JcbiAqL1xuY29uc3QgV0VMTF9LTk9XTl9SRUxBVElPTlM6IGFueSA9IHtcbiAgXCJGaXJlc3RhcnRyR2l0aHViR3JvdXBcIjogWyBcInNwZWMubWVtYmVyc1wiIF0sXG4gIFwiRmlyZXN0YXJ0ckdpdGh1YlJlcG9zaXRvcnlcIjogWyBcInNwZWMucGVybWlzc2lvbnNcIiBdLFxuICBcIkZpcmVzdGFydHJHaXRodWJNZW1iZXJzaGlwXCI6IFtdLFxuICBcIkZpcmVzYXJ0ZXJUZXJyYWZvcm1Xb3Jrc3BhY2VcIjogW10sXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIG9iamVjdCBjb250YWlucyB0aGUgd2VsbCBrbm93biByZWxhdGlvbnMgYmV0d2VlbiBDUnMgaW4gdGhlIGNhdGFsb2cgcmVwb1xuICogVGhlIGtleSBpcyB0aGUga2luZCBvZiB0aGUgQ1IgYW5kIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlZmVyZW5jZXMgdG8gb3RoZXIgQ1JzXG4gKiBUaGUgdmFsdWUgaXMgdGhlIHBhdGggdG8gdGhlIHByb3BlcnR5IGluIHRoZSBDUlxuICovXG5jb25zdCBXRUxMX0tOT1dOX1JFTEFUSU9OU19DQVRBTE9HOiBhbnkgPSB7XG4gIFwiQ29tcG9uZW50XCI6IFsgXCJzcGVjLm93bmVyXCIsIFwic3BlYy5zeXN0ZW1cIiBdLFxuICBcIkRvbWFpblwiOiBbIFwic3BlYy5vd25lclwiIF0sXG4gIFwiUmVzb3VyY2VcIjogW1wic3BlYy5vd25lclwiLCBcInNwZWMuc3lzdGVtXCIsIFwic3BlYy5kZXBlbmRlbmN5T2ZcIiwgXCJzcGVjLmRlcGVuZHNPblwiXSxcbiAgXCJHcm91cFwiOiBbIFwic3BlYy5jaGlsZHJlblwiLCBcInNwZWMubWVtYmVyc1wiLCBcInNwZWMucGFyZW50XCIgXSxcbiAgXCJTeXN0ZW1cIjogWyBcInNwZWMuZG9tYWluXCIsIFwic3BlYy5vd25lclwiIF0sXG4gIFwiVXNlclwiOiBbXSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRoaXMgb2JqZWN0IG1hcHMgdGhlIGtpbmQgb2YgdGhlIENSIHRvIHRoZSBraW5kIG9mIHRoZSBjbGFpbVxuICogVGhpcyB3aWxsIGJlIHVzZWQgZm9yIGZlZWRiYWNrIG1lc3NhZ2VzIHRvIGZpbmFsIHVzZXJzXG4gKi9cbmNvbnN0IE1BUF9LSU5EX0NSX1RPX0NMQUlNOiBhbnkgPSB7XG4gIFwiRmlyZXN0YXJ0ckdpdGh1Ykdyb3VwXCI6IFwiZ3JvdXBcIixcbiAgXCJGaXJlc3RhcnRyR2l0aHViUmVwb3NpdG9yeVwiOiBcInJlcG9zaXRvcnlcIixcbiAgXCJGaXJlc3RhcnRyR2l0aHViTWVtYmVyc2hpcFwiOiBcInVzZXJcIixcbiAgXCJGaXJlc3RhcnRyVGVycmFmb3JtV29ya3NwYWNlXCI6IFwidGZ3b3Jrc3BhY2VcIixcbn07XG5cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiB2YWxpZGF0ZXMgdGhhdCBhbGwgcmVmZXJlbmNlcyBpbiB0aGUgQ1JzIGFyZSB2YWxpZFxuICogQHBhcmFtIGNycyBUaGUgY3JzIG9iamVjdCBpcyBhIG1hcCBvZiBjcnMgd2hlcmUgdGhlIGtleSBpcyB0aGUga2luZCBhbmQgbWV0YWRhLm5hbWUgb2YgdGhlIGNyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVJlZmVyZW50aWFsSW50ZWdyaXR5KGNyczogYW55KSB7XG4gIGZvcihjb25zdCBjcktleSBvZiBPYmplY3Qua2V5cyhjcnMpKXtcbiAgICB2YWxpZGF0ZVJlZmVyZW5jZXNJbkNSKGNyc1tjcktleV0sIGNycylcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUZlN0YXRlS2V5VW5pcXVlbmVzcyhjcnM6IGFueSkge1xuICBcbiAgY29uc3QgdGZTdGF0ZUtleXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcblxuICBmb3IoY29uc3QgY3JLZXkgb2YgT2JqZWN0LmtleXMoY3JzKSl7XG4gICAgXG4gICAgY29uc3QgY3IgPSBjcnNbY3JLZXldO1xuICAgIFxuICAgIGlmKCFpc1RlcnJhZm9ybVdvcmtzcGFjZShjcikpIGNvbnRpbnVlXG4gICAgXG4gICAgY29uc3QgdGZLZXkgPSBjci5zcGVjLmZpcmVzdGFydHIudGZTdGF0ZUtleTtcbiAgICAgIFxuICAgIGlmKHRmU3RhdGVLZXlzW3RmS2V5XSkge1xuICAgIFxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgIFxuYOKdl+KdlyDinYwgUkVOREVSIEVSUk9SIOKdjCDinZfinZdcblxuVGhlIHRmU3RhdGVLZXkgJHt0ZktleX0gaXMgbm90IHVuaXF1ZSxcblxuSXQgaXMgYmVpbmcgdXNlZCBieSB0aGUgZm9sbG93aW5nIENSczpcblxuLSAke3RmU3RhdGVLZXlzW3RmS2V5XS5raW5kfSAke3RmU3RhdGVLZXlzW3RmS2V5XS5tZXRhZGF0YS5uYW1lfVxuXG4tICR7Y3Iua2luZH0gJHtjci5tZXRhZGF0YS5uYW1lfVxuXG5DaGVjayB0aGUgZm9sbG93aW5nIENsYWltcyB0byBlbnN1cmUgdGhhdCB0aGUgdGZTdGF0ZUtleSBpcyB1bmlxdWU6XG5cbi0gJHt0ZlN0YXRlS2V5c1t0ZktleV0ubWV0YWRhdGEuYW5ub3RhdGlvbnNbXCJmaXJlc3RhcnRyLmRldi9jbGFpbS1yZWZcIl19XG5cbi0gJHtjci5tZXRhZGF0YS5hbm5vdGF0aW9uc1tcImZpcmVzdGFydHIuZGV2L2NsYWltLXJlZlwiXX1cbmBcbiAgICAgIClcbiAgICBcbiAgICB9XG4gICAgICBcbiAgICB0ZlN0YXRlS2V5c1tjci5zcGVjLmZpcmVzdGFydHIudGZTdGF0ZUtleV0gPSBjclxuICB9XG59XG5cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiB2YWxpZGF0ZXMgdGhhdCBhbGwgcmVmZXJlbmNlcyBpbiB0aGUgQ1IgYXJlIHZhbGlkLFxuICogaXQgdXNlcyB0aGUgd2VsbGtub3duUmVsYXRpb25zIG9iamVjdCB0byBrbm93IHdoaWNoIHByb3BlcnRpZXMgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBjciBUaGUgY3IgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBjcnMgVGhlIGNycyBvYmplY3QgaXMgYSBtYXAgb2YgY3JzIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGtpbmQgYW5kIG1ldGFkYS5uYW1lIG9mIHRoZSBjclxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZVJlZmVyZW5jZXNJbkNSKGNyOiBhbnksIGNyczogYW55KSB7XG4gIGlmKGlzQ2F0YWxvZ0VudGl0eShjcikpIHtcbiAgICBpZihnZXRDb25maWd1cmVkUHJvdmlkZXIoKSA9PT0gQWxsb3dlZFByb3ZpZGVycy5jYXRhbG9nKSB7XG4gICAgICB2YWxpZGF0ZUNhdGFsb2dFbnRpdGllcyhjciwgY3JzKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFsaWRhdGVOb25DYXRhbG9nRW50aXRpZXMoY3IsIGNycyk7XG4gIH1cbn1cblxuXG5mdW5jdGlvbiB0aHJvd0lmUmVmTm90Rm91bmQoY3JzOiBhbnksIHJlZk9iajogYW55LCByZWZTdHI6IHN0cmluZywgY3JTdHI6IHN0cmluZykge1xuICBjb25zdCByZWZLZXkgPSBgJHtyZWZPYmoua2luZH0tJHtyZWZPYmoubmFtZX1gXG5cbiAgaWYoIWNyc1tyZWZLZXldKXtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRXJyb3I6IFJlZmVyZW5jZSBcIiR7cmVmU3RyfVwiIGluIGNsYWltIGZvciAke2NyU3RyfSBub3QgZm91bmRgXG4gICAgKVxuICB9XG59XG5cblxuLypcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGZ1bmN0aW9uIHZhbGlkYXRlcyBub24gY2F0YWxvZyBlbnRpdGllcywgdXNpbmcgdGhlXG4gKiBXRUxMX0tOT1dOX1JFTEFUSU9OUyBvYmplY3QgdG8ga25vdyB3aGljaCBmaWVsZHMgdG8gdmFsaWRhdGUuXG4gKiBJdCByZXR1cm5zIG5vdGhpbmcgYW5kIHRocm93cyBhbiBlcnJvciBpZiBhIHJlZmVyZW5jZSBpcyBub3QgZm91bmQuXG4gKlxuICogQHBhcmFtIGNyIFRoZSBjciB0byB2YWxpZGF0ZVxuICogQHBhcmFtIGNycyBUaGUgY3JzIG9iamVjdCBpcyBhIG1hcCBvZiBjcnMgd2hlcmUgdGhlIGtleSBpcyB0aGUga2luZCBhbmQgbWV0YWRhLm5hbWUgb2YgdGhlIGNyXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlTm9uQ2F0YWxvZ0VudGl0aWVzKGNyOiBhbnksIGNyczogYW55KSB7XG4gIGZvcihjb25zdCByZWwgb2YgV0VMTF9LTk9XTl9SRUxBVElPTlNbY3Iua2luZF0gfHwgW10pe1xuICAgIGNvbnN0IHByb3BlcnR5UmVmID0gXy5nZXQoY3IsIHJlbCk7XG5cbiAgICBpZighcHJvcGVydHlSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENSICR7Y3Iua2luZH0gJHtjci5tZXRhZGF0YS5uYW1lfSBkb2VzIG5vdCBoYXZlIHByb3BlcnR5ICR7cmVsfWBcbiAgICAgIClcbiAgICB9XG5cbiAgICBpZighQXJyYXkuaXNBcnJheShwcm9wZXJ0eVJlZikpIHtcblxuICAgICAgaWYoaXNDb2xsYWJvcmF0b3IocHJvcGVydHlSZWYpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aHJvd0lmUmVmTm90Rm91bmQoXG4gICAgICAgIGNycyxcbiAgICAgICAgcHJvcGVydHlSZWYsXG4gICAgICAgIGAke01BUF9LSU5EX0NSX1RPX0NMQUlNW3Byb3BlcnR5UmVmLmtpbmRdfToke3Byb3BlcnR5UmVmLm5hbWV9YCxcbiAgICAgICAgYCR7Y3Iua2luZH0tJHtjci5tZXRhZGF0YS5uYW1lfWAsXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcihjb25zdCBwcm9wZXJ0eVJlbCBvZiBwcm9wZXJ0eVJlZil7XG5cbiAgICAgICAgaWYoaXNDb2xsYWJvcmF0b3IocHJvcGVydHlSZWwpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvd0lmUmVmTm90Rm91bmQoXG4gICAgICAgICAgY3JzLFxuICAgICAgICAgIHByb3BlcnR5UmVsLnJlZixcbiAgICAgICAgICBgJHtNQVBfS0lORF9DUl9UT19DTEFJTVtwcm9wZXJ0eVJlbC5yZWYua2luZF19OiR7cHJvcGVydHlSZWwucmVmLm5hbWV9YCxcbiAgICAgICAgICBgJHtjci5raW5kfS0ke2NyLm1ldGFkYXRhLm5hbWV9YCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiB2YWxpZGF0ZXMgY2F0YWxvZyBlbnRpdGllcywgdXNpbmcgdGhlXG4gKiBXRUxMX0tOT1dOX1JFTEFUSU9OU19DQVRBTE9HIG9iamVjdCB0byBrbm93IHdoaWNoIGZpZWxkcyB0byB2YWxpZGF0ZS5cbiAqIEl0IHJldHVybnMgbm90aGluZyBhbmQgdGhyb3dzIGFuIGVycm9yIGlmIGEgcmVmZXJlbmNlIGlzIG5vdCBmb3VuZC5cbiAqXG4gKiBAcGFyYW0gY3IgVGhlIGNyIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gY3JzIFRoZSBjcnMgb2JqZWN0IGlzIGEgbWFwIG9mIGNycyB3aGVyZSB0aGUga2V5IGlzIHRoZSBraW5kIGFuZCBtZXRhZGEubmFtZSBvZiB0aGUgY3JcbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVDYXRhbG9nRW50aXRpZXMoY3I6IGFueSwgY3JzOiBhbnkpIHtcbiAgZm9yKGNvbnN0IHJlbCBvZiBXRUxMX0tOT1dOX1JFTEFUSU9OU19DQVRBTE9HW2NyLmtpbmRdKXtcbiAgICBpZihfLmhhcyhjciwgcmVsKSkge1xuICAgICAgY29uc3QgcmVmT2JqZWN0ID0gXy5nZXQoY3IsIHJlbCk7XG5cbiAgICAgIGlmKCFBcnJheS5pc0FycmF5KHJlZk9iamVjdCkpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlSZWY6IGFueSA9IGNyZWF0ZUNhdGFsb2dFbnRpdHlQcm9wZXJ0eVJlZihyZWZPYmplY3QpO1xuICAgICAgICB0aHJvd0lmUmVmTm90Rm91bmQoXG4gICAgICAgICAgY3JzLFxuICAgICAgICAgIHByb3BlcnR5UmVmLFxuICAgICAgICAgIGAke3Byb3BlcnR5UmVmLmtpbmQudG9Mb3dlckNhc2UoKX06JHtwcm9wZXJ0eVJlZi5uYW1lfWAsXG4gICAgICAgICAgYCR7Y3Iua2luZH0tJHtjci5uYW1lfWAsXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcihjb25zdCByZWZFbnRyeSBvZiByZWZPYmplY3Qpe1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5UmVmOiBhbnkgPSBjcmVhdGVDYXRhbG9nRW50aXR5UHJvcGVydHlSZWYocmVmRW50cnkpO1xuICAgICAgICAgIHRocm93SWZSZWZOb3RGb3VuZChcbiAgICAgICAgICAgIGNycyxcbiAgICAgICAgICAgIHByb3BlcnR5UmVmLFxuICAgICAgICAgICAgYCR7cHJvcGVydHlSZWYua2luZC50b0xvd2VyQ2FzZSgpfToke3Byb3BlcnR5UmVmLm5hbWV9YCxcbiAgICAgICAgICAgIGAke2NyLmtpbmR9LSR7Y3IubmFtZX1gLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxuICogQGRlc2NyaXB0aW9uIFdoZW4gZGVhbGluZyB3aXRoIGNhdGFsb2cgZW50aXRpZXMsIHRoZWlyIHJlZmVyZW5jZXMgYXJlIHN0b3JlZFxuICogYXMgYSBzdHJpbmcgaW4gdGhlIFwiW2tpbmRdOltuYW1lXVwiIGZvcm1hdC4gVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIHRob3NlIHN0cmluZ3NcbiAqIGludG8gYSByZWZlcmVuY2UgaW4gdGhlIHsga2luZDogW2tpbmRdLCBuYW1lOiBbbmFtZV0gfSBmb3JtYXRcbiAqXG4gKiBAcGFyYW0gcmVmU3RyaW5nIFRoZSBzdHJpbmcgdG8gdHJhbnNmb3JtLiBNdXN0IGJlIGluIHRoZSBcIltraW5kXTpbbmFtZV1cIiBmb3JtYXRcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQ2F0YWxvZ0VudGl0eVByb3BlcnR5UmVmKHJlZlN0cmluZzogc3RyaW5nKTogYW55IHtcbiAgY29uc3Qgc3BsaXR0ZWRSZWZTdHJpbmc6IHN0cmluZ1tdID0gcmVmU3RyaW5nLnNwbGl0KFwiOlwiKTtcbiAgcmV0dXJuIHtcbiAgICAvLyBUaGUga2luZCBzdHJpbmcgbmVlZHMgdG8gYmUgY2FwaXRhbGl6ZWRcbiAgICBraW5kOlxuICAgICAgc3BsaXR0ZWRSZWZTdHJpbmdbMF0uc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgK1xuICAgICAgc3BsaXR0ZWRSZWZTdHJpbmdbMF0uc3Vic3RyaW5nKDEpLnRvTG93ZXJDYXNlKCksXG4gICAgbmFtZTogc3BsaXR0ZWRSZWZTdHJpbmdbMV0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2F0YWxvZ0VudGl0eShjcjogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBbXG4gICAgXCJDb21wb25lbnRcIiwgXG4gICAgXCJEb21haW5cIiwgXG4gICAgXCJTeXN0ZW1cIiwgXG4gICAgXCJVc2VyXCIsIFxuICAgIFwiR3JvdXBcIiwgXG4gICAgXCJSZXNvdXJjZVwiXG4gIF0uaW5jbHVkZXMoY3Iua2luZClcbn1cblxuXG5mdW5jdGlvbiBpc1RlcnJhZm9ybVdvcmtzcGFjZShjcjogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBjci5raW5kID09PSBcIkZpcmVzdGFydHJUZXJyYWZvcm1Xb3Jrc3BhY2VcIlxufVxuIl19
|
|
236220
236253
|
|
|
236221
236254
|
/***/ }),
|
|
236222
236255
|
|
|
File without changes
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare function prepareFeatures(components: any, storeRef: any): Promise<void>;
|
|
2
|
-
export declare function getActionByStatus(status: any): import("catalog_common/dist/src/types/catalog").ArtifactStatuses.unknownStatus | "deploy"
|
|
2
|
+
export declare function getActionByStatus(status: any): "destroy" | import("catalog_common/dist/src/types/catalog").ArtifactStatuses.unknownStatus | "deploy";
|
|
3
3
|
export declare function getNextStatus(status: any): import("catalog_common/dist/src/types/catalog").ArtifactStatuses.deletedStatus | import("catalog_common/dist/src/types/catalog").ArtifactStatuses.errorStatus | import("catalog_common/dist/src/types/catalog").ArtifactStatuses.creatingStatus | import("catalog_common/dist/src/types/catalog").ArtifactStatuses.renamingStatus | import("catalog_common/dist/src/types/catalog").ArtifactStatuses.provisionedStatus | import("catalog_common/dist/src/types/catalog").ArtifactStatuses.provisioningStatus | import("catalog_common/dist/src/types/catalog").ArtifactStatuses.unknownStatus;
|