@trudb/tru-common-lib 0.1.337 → 0.1.339
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.
|
@@ -34,6 +34,9 @@ const SELECT_ALL_ICON = `
|
|
|
34
34
|
const SORT_ICON = `
|
|
35
35
|
<svg height="20" viewBox="0 -960 960 960" width="24"><path d="M440-120v-567l-64 63-56-56 160-160 160 160-56 56-64-63v567h-80Z"/></svg>
|
|
36
36
|
`;
|
|
37
|
+
const CHANGE_PASSWORD_ICON = `
|
|
38
|
+
<svg height="20px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M480-480Zm0 400q-139-35-229.5-159.5T160-516v-244l320-120 320 120v262q0 9-1 19h-81q1-10 1.5-19t.5-18v-189l-240-90-240 90v189q0 121 68 220t172 132v84Zm200 0v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Z"/></svg>
|
|
39
|
+
`;
|
|
37
40
|
export class TruIconModule {
|
|
38
41
|
constructor(sanitizer, iconRegistry) {
|
|
39
42
|
iconRegistry.addSvgIconLiteral("go-to-icon", sanitizer.bypassSecurityTrustHtml(GO_TO_ICON));
|
|
@@ -46,6 +49,7 @@ export class TruIconModule {
|
|
|
46
49
|
iconRegistry.addSvgIconLiteral("unlink-icon", sanitizer.bypassSecurityTrustHtml(UNLINK_ICON));
|
|
47
50
|
iconRegistry.addSvgIconLiteral("select-all-icon", sanitizer.bypassSecurityTrustHtml(SELECT_ALL_ICON));
|
|
48
51
|
iconRegistry.addSvgIconLiteral("sort-icon", sanitizer.bypassSecurityTrustHtml(SORT_ICON));
|
|
52
|
+
iconRegistry.addSvgIconLiteral("change-password-icon", sanitizer.bypassSecurityTrustHtml(CHANGE_PASSWORD_ICON));
|
|
49
53
|
}
|
|
50
54
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruIconModule, deps: [{ token: i1.DomSanitizer }, { token: i2.MatIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
51
55
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: TruIconModule, imports: [CommonModule, FormsModule] });
|
|
@@ -59,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
59
63
|
exports: []
|
|
60
64
|
}]
|
|
61
65
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.MatIconRegistry }] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWljb24tbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9hc3NldHMvdHJ1LWljb24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUk3QyxNQUFNLFVBQVUsR0FBRzs7Q0FFbEIsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHOztDQUVyQixDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUc7O0NBRXBCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRzs7Q0FFbkIsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHOztDQUVqQixDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUc7O0NBRXJCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRzs7Q0FFbkIsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHOztDQUVuQixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUc7O0NBRXZCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRzs7Q0FFakIsQ0FBQztBQU9GLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQVksU0FBdUIsRUFBRSxZQUE2QjtRQUNoRSxZQUFZLENBQUMsaUJBQWlCLENBQzVCLFlBQVksRUFDWixTQUFTLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQzlDLENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLGVBQWUsRUFDZixTQUFTLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQ2pELENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLGNBQWMsRUFDZCxTQUFTLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQ2hELENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLGFBQWEsRUFDYixTQUFTLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQy9DLENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLFdBQVcsRUFDWCxTQUFTLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQy9DLENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLGVBQWUsRUFDZixTQUFTLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQ2pELENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLGFBQWEsRUFDYixTQUFTLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQy9DLENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLGFBQWEsRUFDYixTQUFTLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQy9DLENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLGlCQUFpQixFQUNqQixTQUFTLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQ25ELENBQUM7UUFDRixZQUFZLENBQUMsaUJBQWlCLENBQzVCLFdBQVcsRUFDWCxTQUFTLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQzdDLENBQUM7SUFDSixDQUFDO3VHQTFDVSxhQUFhO3dHQUFiLGFBQWEsWUFKZCxZQUFZLEVBQUUsV0FBVzt3R0FJeEIsYUFBYSxZQUpkLFlBQVksRUFBRSxXQUFXOzsyRkFJeEIsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5cbmNvbnN0IEdPX1RPX0lDT04gPSBgXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyMFwiPjxwYXRoIGQ9XCJNMjE2LTE0NHEtMjkuNyAwLTUwLjg1LTIxLjE1UTE0NC0xODYuMyAxNDQtMjE2di01MjhxMC0yOS43IDIxLjE1LTUwLjg1UTE4Ni4zLTgxNiAyMTYtODE2aDI2NHY3MkgyMTZ2NTI4aDUyOHYtMjY0aDcydjI2NHEwIDI5LjctMjEuMTUgNTAuODVRNzczLjctMTQ0IDc0NC0xNDRIMjE2Wm0xNzEtMTkyLTUxLTUxIDM1Ny0zNTdINTc2di03MmgyNDB2MjQwaC03MnYtMTE3TDM4Ny0zMzZaXCIvPjwvc3ZnPlxuYDtcblxuY29uc3QgQ0FMRU5EQVJfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRcIj48cGF0aCBkPVwiTTIwMC04MHEtMzMgMC01Ni41LTIzLjVUMTIwLTE2MHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04MDBoNDB2LTgwaDgwdjgwaDMyMHYtODBoODB2ODBoNDBxMzMgMCA1Ni41IDIzLjVUODQwLTcyMHY1NjBxMCAzMy0yMy41IDU2LjVUNzYwLTgwSDIwMFptMC04MGg1NjB2LTQwMEgyMDB2NDAwWm0wLTQ4MGg1NjB2LTgwSDIwMHY4MFptMCAwdi04MCA4MFptMjgwIDI0MHEtMTcgMC0yOC41LTExLjVUNDQwLTQ0MHEwLTE3IDExLjUtMjguNVQ0ODAtNDgwcTE3IDAgMjguNSAxMS41VDUyMC00NDBxMCAxNy0xMS41IDI4LjVUNDgwLTQwMFptLTE2MCAwcS0xNyAwLTI4LjUtMTEuNVQyODAtNDQwcTAtMTcgMTEuNS0yOC41VDMyMC00ODBxMTcgMCAyOC41IDExLjVUMzYwLTQ0MHEwIDE3LTExLjUgMjguNVQzMjAtNDAwWm0zMjAgMHEtMTcgMC0yOC41LTExLjVUNjAwLTQ0MHEwLTE3IDExLjUtMjguNVQ2NDAtNDgwcTE3IDAgMjguNSAxMS41VDY4MC00NDBxMCAxNy0xMS41IDI4LjVUNjQwLTQwMFpNNDgwLTI0MHEtMTcgMC0yOC41LTExLjVUNDQwLTI4MHEwLTE3IDExLjUtMjguNVQ0ODAtMzIwcTE3IDAgMjguNSAxMS41VDUyMC0yODBxMCAxNy0xMS41IDI4LjVUNDgwLTI0MFptLTE2MCAwcS0xNyAwLTI4LjUtMTEuNVQyODAtMjgwcTAtMTcgMTEuNS0yOC41VDMyMC0zMjBxMTcgMCAyOC41IDExLjVUMzYwLTI4MHEwIDE3LTExLjUgMjguNVQzMjAtMjQwWm0zMjAgMHEtMTcgMC0yOC41LTExLjVUNjAwLTI4MHEwLTE3IDExLjUtMjguNVQ2NDAtMzIwcTE3IDAgMjguNSAxMS41VDY4MC0yODBxMCAxNy0xMS41IDI4LjVUNjQwLTI0MFpcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBMT0FESU5HX0lDT04gPSBgXG4gIDxzdmcgaGVpZ2h0ID0gXCIyNFwiIHZpZXdCb3ggPSBcIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGggPSBcIjI0XCIgPiA8cGF0aCBkPVwiTTMxNC0xOTVxLTEwNC00OC0xNjkuNS0xNDVUNzktNTU5cTAtMjYgMy01MXQ5LTQ5bC00NiAyNy00MC02OSAxOTEtMTEwIDExMCAxOTAtNzAgNDAtNTQtOTRxLTExIDI3LTE2LjUgNTZ0LTUuNSA2MHEwIDk3IDUzIDE3Ni41VDM1NC0yNjVsLTQwIDcwWm0zMDYtNDg1di04MGgxMDlxLTQ2LTU3LTExMS04OC41VDQ4MC04ODBxLTU1IDAtMTA0IDE3dC05MCA0OGwtNDAtNzBxNTAtMzUgMTA4LjUtNTVUNDc5LTk2MHE3OSAwIDE1MS41IDI5LjVUNzYwLTg0NXYtNTVoODB2MjIwSDYyMFpNNTk0LTgwIDQwMy0xOTBsMTEwLTE5MCA2OSA0MC01NyA5OHExMTgtMTcgMTk2LjUtMTA2LjVUODAwLTU1OXEwLTExLS41LTIxdC0yLjUtMjBoODFxMSAxMCAxLjUgMTkuNXQuNSAyMC41cTAgMTM1LTgwLjUgMjQxLjVUNTkwLTE3NWw0NCAyNi00MCA2OVpcIiAvPiA8L3N2Zz5cbmA7XG5cbmNvbnN0IENJUkNMRV9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjQ4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCI0OFwiPjxwYXRoIGQ9XCJNNDgwLTgwcS04MiAwLTE1NS0zMS41dC0xMjcuNS04NlExNDMtMjUyIDExMS41LTMyNVQ4MC00ODBxMC04MyAzMS41LTE1NnQ4Ni0xMjdRMjUyLTgxNyAzMjUtODQ4LjVUNDgwLTg4MHE4MyAwIDE1NiAzMS41VDc2My03NjNxNTQgNTQgODUuNSAxMjdUODgwLTQ4MHEwIDgyLTMxLjUgMTU1VDc2My0xOTcuNXEtNTQgNTQuNS0xMjcgODZUNDgwLTgwWlwiLz48L3N2Zz5cbmA7XG5cbmNvbnN0IE1PUkVfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRcIj48cGF0aCBkPVwiTTQ4MC0xNjBxLTMzIDAtNTYuNS0yMy41VDQwMC0yNDBxMC0zMyAyMy41LTU2LjVUNDgwLTMyMHEzMyAwIDU2LjUgMjMuNVQ1NjAtMjQwcTAgMzMtMjMuNSA1Ni41VDQ4MC0xNjBabTAtMjQwcS0zMyAwLTU2LjUtMjMuNVQ0MDAtNDgwcTAtMzMgMjMuNS01Ni41VDQ4MC01NjBxMzMgMCA1Ni41IDIzLjVUNTYwLTQ4MHEwIDMzLTIzLjUgNTYuNVQ0ODAtNDAwWm0wLTI0MHEtMzMgMC01Ni41LTIzLjVUNDAwLTcyMHEwLTMzIDIzLjUtNTYuNVQ0ODAtODAwcTMzIDAgNTYuNSAyMy41VDU2MC03MjBxMCAzMy0yMy41IDU2LjVUNDgwLTY0MFpcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBET1dOTE9BRF9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyMFwiPjxwYXRoIGQ9XCJNNDgwLTMzNiAyODgtNTI4bDUxLTUxIDEwNSAxMDV2LTM0Mmg3MnYzNDJsMTA1LTEwNSA1MSA1MS0xOTIgMTkyWk0yNjMuNzE3LTE5MlEyMzQtMTkyIDIxMy0yMTMuMTVUMTkyLTI2NHYtNzJoNzJ2NzJoNDMydi03Mmg3MnY3MnEwIDI5LjctMjEuMTYyIDUwLjg1UTcyNS42NzYtMTkyIDY5NS45Ni0xOTJIMjYzLjcxN1pcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBVUExPQURfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTQ0NC0zMzZ2LTM0MkwzMzktNTczbC01MS01MSAxOTItMTkyIDE5MiAxOTItNTEgNTEtMTA1LTEwNXYzNDJoLTcyWk0yNjMuNzE3LTE5MlEyMzQtMTkyIDIxMy0yMTMuMTVUMTkyLTI2NHYtNzJoNzJ2NzJoNDMydi03Mmg3MnY3MnEwIDI5LjctMjEuMTYyIDUwLjg1UTcyNS42NzYtMTkyIDY5NS45Ni0xOTJIMjYzLjcxN1pcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBVTkxJTktfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwibTc1NC0zMDgtNTYtNTVxNDEuNzc4LTExLjI5NyA2Ny44ODktNDMuNjQ5UTc5Mi00MzkgNzkyLTQ4MHEwLTUwLTM1LTg1dC04NS0zNUg1Mjh2LTcyaDE0NHE3OS42OCAwIDEzNS44NCA1Ni4yMjRRODY0LTU1OS41NTMgODY0LTQ3OS43ODIgODY0LTQyNSA4MzQuNS0zNzlUNzU0LTMwOFpNNjE4LTQ0NGwtNzItNzJoNzh2NzJoLTZaTTc2OC05MCA5MC03NjhsNTEtNTEgNjc4IDY3OC01MSA1MVpNNDMyLTI4OEgyODhxLTc5LjY4IDAtMTM1Ljg0LTU2LjE2VDk2LTQ4MHEwLTYzLjkzMiAzOC0xMTMuOTY2UTE3Mi02NDQgMjQyLTY3M2w3MCA3M2gtMjNxLTUxIDAtODYgMzV0LTM1IDg1cTAgNTAgMzUgODV0ODUgMzVoMTQ0djcyWm0tOTYtMTU2di03Mmg1Nmw3MSA3MkgzMzZaXCIvPjwvc3ZnPlxuYDtcblxuY29uc3QgU0VMRUNUX0FMTF9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjIwcHhcIiBmaWxsPVwiIzAwMDAwMFwiIHdpZHRoPVwiMjBweFwiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgLTEwIDEwMCAxMjVcIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgMTAwIDEwMFwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCI+PGc+PHBhdGggZD1cIk05OSw5OUgyLjU5OEw5OSwyLjU5OFY5OXpcIi8+PC9nPjwvc3ZnPlxuYDtcblxuY29uc3QgU09SVF9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNFwiPjxwYXRoIGQ9XCJNNDQwLTEyMHYtNTY3bC02NCA2My01Ni01NiAxNjAtMTYwIDE2MCAxNjAtNTYgNTYtNjQtNjN2NTY3aC04MFpcIi8+PC9zdmc+XG5gO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFRydUljb25Nb2R1bGUge1xuICBjb25zdHJ1Y3RvcihzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnkpIHtcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoXG4gICAgICBcImdvLXRvLWljb25cIixcbiAgICAgIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChHT19UT19JQ09OKVxuICAgICk7XG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKFxuICAgICAgXCJjYWxlbmRhci1pY29uXCIsXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoQ0FMRU5EQVJfSUNPTilcbiAgICApO1xuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbChcbiAgICAgIFwibG9hZGluZy1pY29uXCIsXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoTE9BRElOR19JQ09OKVxuICAgICk7XG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKFxuICAgICAgXCJjaXJjbGUtaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKENJUkNMRV9JQ09OKVxuICAgICk7XG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKFxuICAgICAgXCJtb3JlLWljb25cIixcbiAgICAgIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChDSVJDTEVfSUNPTilcbiAgICApO1xuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbChcbiAgICAgIFwiZG93bmxvYWQtaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKERPV05MT0FEX0lDT04pXG4gICAgKTtcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoXG4gICAgICBcInVwbG9hZC1pY29uXCIsXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoVVBMT0FEX0lDT04pXG4gICAgKTtcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoXG4gICAgICBcInVubGluay1pY29uXCIsXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoVU5MSU5LX0lDT04pXG4gICAgKTtcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoXG4gICAgICBcInNlbGVjdC1hbGwtaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFNFTEVDVF9BTExfSUNPTilcbiAgICApO1xuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbChcbiAgICAgIFwic29ydC1pY29uXCIsXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoU09SVF9JQ09OKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWljb24tbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9hc3NldHMvdHJ1LWljb24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUk3QyxNQUFNLFVBQVUsR0FBRzs7Q0FFbEIsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHOztDQUVyQixDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUc7O0NBRXBCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRzs7Q0FFbkIsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHOztDQUVqQixDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUc7O0NBRXJCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRzs7Q0FFbkIsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHOztDQUVuQixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUc7O0NBRXZCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRzs7Q0FFakIsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUc7O0NBRTVCLENBQUE7QUFPRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFZLFNBQXVCLEVBQUUsWUFBNkI7UUFDaEUsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixZQUFZLEVBQ1osU0FBUyxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUM5QyxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixlQUFlLEVBQ2YsU0FBUyxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUNqRCxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixjQUFjLEVBQ2QsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUNoRCxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixhQUFhLEVBQ2IsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixXQUFXLEVBQ1gsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixlQUFlLEVBQ2YsU0FBUyxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUNqRCxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixhQUFhLEVBQ2IsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixhQUFhLEVBQ2IsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixpQkFBaUIsRUFDakIsU0FBUyxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUNuRCxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixXQUFXLEVBQ1gsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUM3QyxDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUM1QixzQkFBc0IsRUFDdEIsU0FBUyxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO3VHQTlDVSxhQUFhO3dHQUFiLGFBQWEsWUFKZCxZQUFZLEVBQUUsV0FBVzt3R0FJeEIsYUFBYSxZQUpkLFlBQVksRUFBRSxXQUFXOzsyRkFJeEIsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5cbmNvbnN0IEdPX1RPX0lDT04gPSBgXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyMFwiPjxwYXRoIGQ9XCJNMjE2LTE0NHEtMjkuNyAwLTUwLjg1LTIxLjE1UTE0NC0xODYuMyAxNDQtMjE2di01MjhxMC0yOS43IDIxLjE1LTUwLjg1UTE4Ni4zLTgxNiAyMTYtODE2aDI2NHY3MkgyMTZ2NTI4aDUyOHYtMjY0aDcydjI2NHEwIDI5LjctMjEuMTUgNTAuODVRNzczLjctMTQ0IDc0NC0xNDRIMjE2Wm0xNzEtMTkyLTUxLTUxIDM1Ny0zNTdINTc2di03MmgyNDB2MjQwaC03MnYtMTE3TDM4Ny0zMzZaXCIvPjwvc3ZnPlxuYDtcblxuY29uc3QgQ0FMRU5EQVJfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRcIj48cGF0aCBkPVwiTTIwMC04MHEtMzMgMC01Ni41LTIzLjVUMTIwLTE2MHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04MDBoNDB2LTgwaDgwdjgwaDMyMHYtODBoODB2ODBoNDBxMzMgMCA1Ni41IDIzLjVUODQwLTcyMHY1NjBxMCAzMy0yMy41IDU2LjVUNzYwLTgwSDIwMFptMC04MGg1NjB2LTQwMEgyMDB2NDAwWm0wLTQ4MGg1NjB2LTgwSDIwMHY4MFptMCAwdi04MCA4MFptMjgwIDI0MHEtMTcgMC0yOC41LTExLjVUNDQwLTQ0MHEwLTE3IDExLjUtMjguNVQ0ODAtNDgwcTE3IDAgMjguNSAxMS41VDUyMC00NDBxMCAxNy0xMS41IDI4LjVUNDgwLTQwMFptLTE2MCAwcS0xNyAwLTI4LjUtMTEuNVQyODAtNDQwcTAtMTcgMTEuNS0yOC41VDMyMC00ODBxMTcgMCAyOC41IDExLjVUMzYwLTQ0MHEwIDE3LTExLjUgMjguNVQzMjAtNDAwWm0zMjAgMHEtMTcgMC0yOC41LTExLjVUNjAwLTQ0MHEwLTE3IDExLjUtMjguNVQ2NDAtNDgwcTE3IDAgMjguNSAxMS41VDY4MC00NDBxMCAxNy0xMS41IDI4LjVUNjQwLTQwMFpNNDgwLTI0MHEtMTcgMC0yOC41LTExLjVUNDQwLTI4MHEwLTE3IDExLjUtMjguNVQ0ODAtMzIwcTE3IDAgMjguNSAxMS41VDUyMC0yODBxMCAxNy0xMS41IDI4LjVUNDgwLTI0MFptLTE2MCAwcS0xNyAwLTI4LjUtMTEuNVQyODAtMjgwcTAtMTcgMTEuNS0yOC41VDMyMC0zMjBxMTcgMCAyOC41IDExLjVUMzYwLTI4MHEwIDE3LTExLjUgMjguNVQzMjAtMjQwWm0zMjAgMHEtMTcgMC0yOC41LTExLjVUNjAwLTI4MHEwLTE3IDExLjUtMjguNVQ2NDAtMzIwcTE3IDAgMjguNSAxMS41VDY4MC0yODBxMCAxNy0xMS41IDI4LjVUNjQwLTI0MFpcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBMT0FESU5HX0lDT04gPSBgXG4gIDxzdmcgaGVpZ2h0ID0gXCIyNFwiIHZpZXdCb3ggPSBcIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGggPSBcIjI0XCIgPiA8cGF0aCBkPVwiTTMxNC0xOTVxLTEwNC00OC0xNjkuNS0xNDVUNzktNTU5cTAtMjYgMy01MXQ5LTQ5bC00NiAyNy00MC02OSAxOTEtMTEwIDExMCAxOTAtNzAgNDAtNTQtOTRxLTExIDI3LTE2LjUgNTZ0LTUuNSA2MHEwIDk3IDUzIDE3Ni41VDM1NC0yNjVsLTQwIDcwWm0zMDYtNDg1di04MGgxMDlxLTQ2LTU3LTExMS04OC41VDQ4MC04ODBxLTU1IDAtMTA0IDE3dC05MCA0OGwtNDAtNzBxNTAtMzUgMTA4LjUtNTVUNDc5LTk2MHE3OSAwIDE1MS41IDI5LjVUNzYwLTg0NXYtNTVoODB2MjIwSDYyMFpNNTk0LTgwIDQwMy0xOTBsMTEwLTE5MCA2OSA0MC01NyA5OHExMTgtMTcgMTk2LjUtMTA2LjVUODAwLTU1OXEwLTExLS41LTIxdC0yLjUtMjBoODFxMSAxMCAxLjUgMTkuNXQuNSAyMC41cTAgMTM1LTgwLjUgMjQxLjVUNTkwLTE3NWw0NCAyNi00MCA2OVpcIiAvPiA8L3N2Zz5cbmA7XG5cbmNvbnN0IENJUkNMRV9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjQ4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCI0OFwiPjxwYXRoIGQ9XCJNNDgwLTgwcS04MiAwLTE1NS0zMS41dC0xMjcuNS04NlExNDMtMjUyIDExMS41LTMyNVQ4MC00ODBxMC04MyAzMS41LTE1NnQ4Ni0xMjdRMjUyLTgxNyAzMjUtODQ4LjVUNDgwLTg4MHE4MyAwIDE1NiAzMS41VDc2My03NjNxNTQgNTQgODUuNSAxMjdUODgwLTQ4MHEwIDgyLTMxLjUgMTU1VDc2My0xOTcuNXEtNTQgNTQuNS0xMjcgODZUNDgwLTgwWlwiLz48L3N2Zz5cbmA7XG5cbmNvbnN0IE1PUkVfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRcIj48cGF0aCBkPVwiTTQ4MC0xNjBxLTMzIDAtNTYuNS0yMy41VDQwMC0yNDBxMC0zMyAyMy41LTU2LjVUNDgwLTMyMHEzMyAwIDU2LjUgMjMuNVQ1NjAtMjQwcTAgMzMtMjMuNSA1Ni41VDQ4MC0xNjBabTAtMjQwcS0zMyAwLTU2LjUtMjMuNVQ0MDAtNDgwcTAtMzMgMjMuNS01Ni41VDQ4MC01NjBxMzMgMCA1Ni41IDIzLjVUNTYwLTQ4MHEwIDMzLTIzLjUgNTYuNVQ0ODAtNDAwWm0wLTI0MHEtMzMgMC01Ni41LTIzLjVUNDAwLTcyMHEwLTMzIDIzLjUtNTYuNVQ0ODAtODAwcTMzIDAgNTYuNSAyMy41VDU2MC03MjBxMCAzMy0yMy41IDU2LjVUNDgwLTY0MFpcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBET1dOTE9BRF9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyMFwiPjxwYXRoIGQ9XCJNNDgwLTMzNiAyODgtNTI4bDUxLTUxIDEwNSAxMDV2LTM0Mmg3MnYzNDJsMTA1LTEwNSA1MSA1MS0xOTIgMTkyWk0yNjMuNzE3LTE5MlEyMzQtMTkyIDIxMy0yMTMuMTVUMTkyLTI2NHYtNzJoNzJ2NzJoNDMydi03Mmg3MnY3MnEwIDI5LjctMjEuMTYyIDUwLjg1UTcyNS42NzYtMTkyIDY5NS45Ni0xOTJIMjYzLjcxN1pcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBVUExPQURfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTQ0NC0zMzZ2LTM0MkwzMzktNTczbC01MS01MSAxOTItMTkyIDE5MiAxOTItNTEgNTEtMTA1LTEwNXYzNDJoLTcyWk0yNjMuNzE3LTE5MlEyMzQtMTkyIDIxMy0yMTMuMTVUMTkyLTI2NHYtNzJoNzJ2NzJoNDMydi03Mmg3MnY3MnEwIDI5LjctMjEuMTYyIDUwLjg1UTcyNS42NzYtMTkyIDY5NS45Ni0xOTJIMjYzLjcxN1pcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBVTkxJTktfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwibTc1NC0zMDgtNTYtNTVxNDEuNzc4LTExLjI5NyA2Ny44ODktNDMuNjQ5UTc5Mi00MzkgNzkyLTQ4MHEwLTUwLTM1LTg1dC04NS0zNUg1Mjh2LTcyaDE0NHE3OS42OCAwIDEzNS44NCA1Ni4yMjRRODY0LTU1OS41NTMgODY0LTQ3OS43ODIgODY0LTQyNSA4MzQuNS0zNzlUNzU0LTMwOFpNNjE4LTQ0NGwtNzItNzJoNzh2NzJoLTZaTTc2OC05MCA5MC03NjhsNTEtNTEgNjc4IDY3OC01MSA1MVpNNDMyLTI4OEgyODhxLTc5LjY4IDAtMTM1Ljg0LTU2LjE2VDk2LTQ4MHEwLTYzLjkzMiAzOC0xMTMuOTY2UTE3Mi02NDQgMjQyLTY3M2w3MCA3M2gtMjNxLTUxIDAtODYgMzV0LTM1IDg1cTAgNTAgMzUgODV0ODUgMzVoMTQ0djcyWm0tOTYtMTU2di03Mmg1Nmw3MSA3MkgzMzZaXCIvPjwvc3ZnPlxuYDtcblxuY29uc3QgU0VMRUNUX0FMTF9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjIwcHhcIiBmaWxsPVwiIzAwMDAwMFwiIHdpZHRoPVwiMjBweFwiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgLTEwIDEwMCAxMjVcIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgMTAwIDEwMFwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCI+PGc+PHBhdGggZD1cIk05OSw5OUgyLjU5OEw5OSwyLjU5OFY5OXpcIi8+PC9nPjwvc3ZnPlxuYDtcblxuY29uc3QgU09SVF9JQ09OID0gYFxuICA8c3ZnIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNFwiPjxwYXRoIGQ9XCJNNDQwLTEyMHYtNTY3bC02NCA2My01Ni01NiAxNjAtMTYwIDE2MCAxNjAtNTYgNTYtNjQtNjN2NTY3aC04MFpcIi8+PC9zdmc+XG5gO1xuXG5jb25zdCBDSEFOR0VfUEFTU1dPUkRfSUNPTiA9IGBcbiAgPHN2ZyBoZWlnaHQ9XCIyMHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiNlOGVhZWRcIj48cGF0aCBkPVwiTTQ4MC00ODBabTAgNDAwcS0xMzktMzUtMjI5LjUtMTU5LjVUMTYwLTUxNnYtMjQ0bDMyMC0xMjAgMzIwIDEyMHYyNjJxMCA5LTEgMTloLTgxcTEtMTAgMS41LTE5dC41LTE4di0xODlsLTI0MC05MC0yNDAgOTB2MTg5cTAgMTIxIDY4IDIyMHQxNzIgMTMydjg0Wm0yMDAgMHYtMTIwSDU2MHYtODBoMTIwdi0xMjBoODB2MTIwaDEyMHY4MEg3NjB2MTIwaC04MFpNNDIwLTM2MGgxMjBsLTIzLTEyOXEyMC0xMCAzMS41LTI5dDExLjUtNDJxMC0zMy0yMy41LTU2LjVUNDgwLTY0MHEtMzMgMC01Ni41IDIzLjVUNDAwLTU2MHEwIDIzIDExLjUgNDJ0MzEuNSAyOWwtMjMgMTI5WlwiLz48L3N2Zz5cbmBcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBUcnVJY29uTW9kdWxlIHtcbiAgY29uc3RydWN0b3Ioc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5KSB7XG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKFxuICAgICAgXCJnby10by1pY29uXCIsXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoR09fVE9fSUNPTilcbiAgICApO1xuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbChcbiAgICAgIFwiY2FsZW5kYXItaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKENBTEVOREFSX0lDT04pXG4gICAgKTtcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoXG4gICAgICBcImxvYWRpbmctaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKExPQURJTkdfSUNPTilcbiAgICApO1xuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbChcbiAgICAgIFwiY2lyY2xlLWljb25cIixcbiAgICAgIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChDSVJDTEVfSUNPTilcbiAgICApO1xuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbChcbiAgICAgIFwibW9yZS1pY29uXCIsXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoQ0lSQ0xFX0lDT04pXG4gICAgKTtcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoXG4gICAgICBcImRvd25sb2FkLWljb25cIixcbiAgICAgIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChET1dOTE9BRF9JQ09OKVxuICAgICk7XG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKFxuICAgICAgXCJ1cGxvYWQtaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFVQTE9BRF9JQ09OKVxuICAgICk7XG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKFxuICAgICAgXCJ1bmxpbmstaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFVOTElOS19JQ09OKVxuICAgICk7XG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKFxuICAgICAgXCJzZWxlY3QtYWxsLWljb25cIixcbiAgICAgIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChTRUxFQ1RfQUxMX0lDT04pXG4gICAgKTtcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoXG4gICAgICBcInNvcnQtaWNvblwiLFxuICAgICAgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFNPUlRfSUNPTilcbiAgICApO1xuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbChcbiAgICAgIFwiY2hhbmdlLXBhc3N3b3JkLWljb25cIixcbiAgICAgIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChDSEFOR0VfUEFTU1dPUkRfSUNPTilcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -313,7 +313,7 @@ export class TruEntityAccessor {
|
|
|
313
313
|
if (!contentDisposition)
|
|
314
314
|
return; // NOTE: cannot save without header info
|
|
315
315
|
var filename = this.extractFilenameFromContentDisposition(contentDisposition);
|
|
316
|
-
const buffer = await response.
|
|
316
|
+
const buffer = await response.body;
|
|
317
317
|
var blob = new Blob([buffer], { type: response.headers.get('content-type') });
|
|
318
318
|
var link = document.createElement('a');
|
|
319
319
|
link.href = URL.createObjectURL(blob);
|
|
@@ -337,4 +337,4 @@ export class TruEntityAccessor {
|
|
|
337
337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruEntityAccessor, decorators: [{
|
|
338
338
|
type: Injectable
|
|
339
339
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TruAppEnvironment }, { type: i3.TruUiNotification }, { type: i4.TruUser }] });
|
|
340
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVudGl0eS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LWVudGl0eS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBc0MsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2xGLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBT25ELE1BQU0sT0FBTyxpQkFBaUI7SUFPbEI7SUFDQTtJQUNBO0lBQ0E7SUFURixjQUFjLENBQW9CO0lBQ2xDLGNBQWMsQ0FBaUI7SUFDL0IsZUFBZSxHQUFXLENBQUMsQ0FBQztJQUM1QixRQUFRLENBQVM7SUFFekIsWUFDVSxVQUFzQixFQUN0QixjQUFpQyxFQUNqQyxjQUFpQyxFQUNqQyxJQUFhO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFNBQUksR0FBSixJQUFJLENBQVM7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxXQUEyQjtRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7SUFFTyxtQkFB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ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFbnRpdHksIEVudGl0eU1hbmFnZXIsIEVudGl0eVF1ZXJ5LCBGZXRjaFN0cmF0ZWd5IH0gZnJvbSBcImJyZWV6ZS1jbGllbnRcIjtcclxuaW1wb3J0IHsgVHJ1RW50aXR5QmFzZSB9IGZyb20gJy4uL2Jhc2UtY2xhc3Nlcy90cnUtZW50aXR5LWJhc2UnXHJcbmltcG9ydCB7IFRydVVpTm90aWZpY2F0aW9uIH0gZnJvbSBcIi4vdHJ1LXVpLW5vdGlmaWNhdGlvblwiO1xyXG5pbXBvcnQgeyBUcnVEYXRhQ29udGV4dCB9IGZyb20gXCIuL3RydS1kYXRhLWNvbnRleHRcIjtcclxuaW1wb3J0IHsgVHJ1QnJlZXplQ29udGV4dCB9IGZyb20gXCIuL3RydS1icmVlemUtY29udGV4dC1mYWN0b3J5XCI7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSBcInVuZGVyc2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBkZWZlciwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJ1QXBwRW52aXJvbm1lbnQgfSBmcm9tIFwiLi90cnUtYXBwLWVudmlyb25tZW50XCI7XHJcbmltcG9ydCB7IFRydUNob2ljZSB9IGZyb20gXCIuLi9jbGFzc2VzL3RydS1jaG9pY2VcIjtcclxuaW1wb3J0IHsgVHJ1TmFtZVZhbHVlIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LW5hbWUtdmFsdWVcIjtcclxuaW1wb3J0IHsgVHJ1VXNlciB9IGZyb20gXCIuL3RydS11c2VyXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcnVFbnRpdHlBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfYnJlZXplQ29udGV4dCE6IFRydUJyZWV6ZUNvbnRleHQ7XHJcbiAgcHJpdmF0ZSBfZW50aXR5TWFuYWdlciE6IEVudGl0eU1hbmFnZXI7XHJcbiAgcHJpdmF0ZSBfbWF4UmVjb3JkQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfYmFzZVVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgYXBwRW52aXJvbm1lbnQ6IFRydUFwcEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSB1aU5vdGlmaWNhdGlvbjogVHJ1VWlOb3RpZmljYXRpb24sXHJcbiAgICBwcml2YXRlIHVzZXI6IFRydVVzZXIpIHtcclxuICAgIHRoaXMuX21heFJlY29yZENvdW50ID0gdGhpcy5hcHBFbnZpcm9ubWVudC5tYXhSZWNvcmRDb3VudDtcclxuICAgIHRoaXMuX2Jhc2VVcmwgPSB0aGlzLmFwcEVudmlyb25tZW50LmFwcFVyaTtcclxuICB9XHJcblxyXG4gIHNldCBjb250ZXh0KGRhdGFDb250ZXh0OiBUcnVEYXRhQ29udGV4dCkge1xyXG4gICAgdGhpcy5fYnJlZXplQ29udGV4dCA9IGRhdGFDb250ZXh0LmJyZWV6ZUNvbnRleHQ7XHJcbiAgICB0aGlzLl9lbnRpdHlNYW5hZ2VyID0gZGF0YUNvbnRleHQuZW50aXR5TWFuYWdlcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UXVlcnlTZXJ2aWNlTmFtZSA9IChlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlKSA9PiB7XHJcbiAgICByZXR1cm4gJ1F1ZXJ5JyArIGVudGl0eS5uYW1lO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3YXJuSWZNYXhSZWNvcmRzID0gKGVudGl0aWVzOiBhbnlbXSwgZW50aXR5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBpZiAoZW50aXRpZXMubGVuZ3RoID49IHRoaXMuYXBwRW52aXJvbm1lbnQubWF4UmVjb3JkQ291bnQpXHJcbiAgICAgIHRoaXMudWlOb3RpZmljYXRpb24ud2FybmluZygnWycgKyBlbnRpdHlOYW1lICsgJ10gaGFzIG1vcmUgcmVjb3JkcyBhdmFpbGFibGUgdGhhbiBzdXBwb3J0ZWQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0UXVlcnlDaG9pY2VzID0gKHF1ZXJ5OiBFbnRpdHlRdWVyeSwgZW50aXRpZXM6IEFycmF5PEVudGl0eT4sIHBLZXlOYW1lOiBzdHJpbmcsIGhpZDogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiBBcnJheTxUcnVDaG9pY2U+ID0+IHtcclxuICAgIGlmIChxdWVyeSAmJiBxdWVyeS5vcmRlckJ5Q2xhdXNlKVxyXG4gICAgICByZXR1cm4gXy5tYXAoZW50aXRpZXMsIChlbnRpdHk6IGFueSkgPT4geyByZXR1cm4geyB2YWx1ZTogeyAkOiBlbnRpdHlbcEtleU5hbWVdIH0sIGxhYmVsOiBoaWQgIT09IG51bGwgPyBoaWQgOiBlbnRpdHkuSElEIH07IH0pO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gXy5tYXAoZW50aXRpZXMsIChlbnRpdHk6IGFueSkgPT4geyByZXR1cm4geyB2YWx1ZTogeyAkOiBlbnRpdHlbcEtleU5hbWVdIH0sIGxhYmVsOiBoaWQgIT09IG51bGwgPyBoaWQgOiBlbnRpdHkuSElEIH07IH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXROYW1lVmFsdWVzID0gKHF1ZXJ5OiBFbnRpdHlRdWVyeSwgZW50aXRpZXM6IEFycmF5PEVudGl0eT4sIHBLZXlOYW1lOiBzdHJpbmcpOiBBcnJheTxUcnVOYW1lVmFsdWU+ID0+IHtcclxuICAgICAgaWYgKHF1ZXJ5ICYmIHF1ZXJ5Lm9yZGVyQnlDbGF1c2UpXHJcbiAgICAgICAgcmV0dXJuIF8ubWFwKGVudGl0aWVzLCAoZW50aXR5OiBhbnkpID0+IHsgcmV0dXJuIHsgbmFtZTogZW50aXR5Lk5hbWUsIHZhbHVlOiB7ICQ6IGVudGl0eS5WYWx1ZSB9LCBlbnRpdHk6IGVudGl0eSB9OyB9KTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJldHVybiBfLm1hcChlbnRpdGllcywgKGVudGl0eTogYW55KSA9PiB7IHJldHVybiB7IG5hbWU6IGVudGl0eS5OYW1lLCB2YWx1ZTogeyAkOiBlbnRpdHkuVmFsdWUgfSwgZW50aXR5OiBlbnRpdHkgfTsgfSk7XHJcbiAgfVxyXG5cclxuICBhZGQgPSAoZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSwgY29udGV4dEZpbHRlcnM6IGFueSA9IG51bGwpID0+IHtcclxuICAgIGxldCBuZXdFbnRpdHkgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLmNyZWF0ZUVudGl0eShlbnRpdHkucHJvdG90eXBlLmVudGl0eVR5cGUpO1xyXG4gICAgcmV0dXJuIG5ld0VudGl0eTtcclxuICB9O1xyXG5cclxuICBzZWFyY2ggPSAoZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIHNldHVwUXVlcnk6IGFueSB8IG51bGwgPSBudWxsLFxyXG4gICAgZXhwYW5kczogW10gfCBudWxsLFxyXG4gICAgZ2xvYmFsOiBib29sZWFuKTogT2JzZXJ2YWJsZTxFbnRpdHlbXT4gPT4ge1xyXG5cclxuICAgIHZhciBxdWVyeTogYW55O1xyXG4gICAgaWYgKGV4cGFuZHMgJiYgZXhwYW5kcy5sZW5ndGgpIHtcclxuICAgICAgaWYgKGdsb2JhbClcclxuICAgICAgICBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpLmV4cGFuZChleHBhbmRzLmpvaW4oJywgJykpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKS5leHBhbmQoZXhwYW5kcy5qb2luKCcsICcpKS50b3AodGhpcy5hcHBFbnZpcm9ubWVudC5tYXhSZWNvcmRDb3VudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoZ2xvYmFsKVxyXG4gICAgICAgIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpLnRvcCh0aGlzLmFwcEVudmlyb25tZW50Lm1heFJlY29yZENvdW50KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2V0dXBRdWVyeSAhPSBudWxsKVxyXG4gICAgICBxdWVyeSA9IHNldHVwUXVlcnkocXVlcnkpO1xyXG5cclxuICAgIHJldHVybiBkZWZlcigoKSA9PiBmcm9tKHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5KS50aGVuKChxdWVyeURhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIWdsb2JhbClcclxuICAgICAgICB0aGlzLndhcm5JZk1heFJlY29yZHMocXVlcnlEYXRhLnJlc3VsdHMsIGVudGl0eS5uYW1lKTtcclxuICAgICAgcmV0dXJuIHF1ZXJ5RGF0YS5yZXN1bHRzO1xyXG4gICAgfSkpKTtcclxuICB9O1xyXG5cclxuICBzZWFyY2hDYWNoZU9ubHkgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgc2V0dXBRdWVyeTogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICBleHBhbmRzOiBbXSB8IG51bGwgPSBudWxsKTogT2JzZXJ2YWJsZTxFbnRpdHlbXT4gPT4ge1xyXG4gICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSk7XHJcbiAgICBpZiAoc2V0dXBRdWVyeSlcclxuICAgICAgcXVlcnkgPSBzZXR1cFF1ZXJ5KHF1ZXJ5KTtcclxuICAgIHJldHVybiBvZih0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpKTtcclxuICB9O1xyXG5cclxuICBzZWFyY2hDYWNoZU9ubHlTeW5jaHJvbm91c2x5ID0gKFxyXG4gICAgZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIHNldHVwUXVlcnk6IGFueSB8IG51bGwgPSBudWxsLFxyXG4gICAgZXhwYW5kczogW10gfCBudWxsID0gbnVsbCk6IEFycmF5PGFueT4gPT4ge1xyXG4gICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSk7XHJcbiAgICBpZiAoc2V0dXBRdWVyeSlcclxuICAgICAgcXVlcnkgPSBzZXR1cFF1ZXJ5KHF1ZXJ5KTtcclxuICAgIHJldHVybiB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaEJ5UmVmQ2FjaGVPbmx5U3luY2hyb25vdXNseSA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICByZWY6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXHJcbiAgICBleHBhbmRzOiBbXSB8IG51bGwgPSBudWxsKTogQXJyYXk8YW55PiA9PiB7XHJcbiAgICBsZXQgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKTtcclxuICAgIGlmIChyZWYpXHJcbiAgICAgIHF1ZXJ5ID0gcXVlcnkud2hlcmUoZW50aXR5Lm5hbWUgKyAnUmVmJywgJz09JywgcmVmKTtcclxuICAgIHJldHVybiB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaFF1ZXJ5Q2hvaWNlcyA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICBzZXR1cFF1ZXJ5OiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgIGhpZDogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICBnb1RvU2VydmVyOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICByZWY6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPFRydUNob2ljZVtdPiA9PiB7XHJcbiAgICB0eXBlIE9iamVjdEtleSA9IGtleW9mIHR5cGVvZiBlbnRpdHk7XHJcbiAgICBjb25zdCBwa2V5TmFtZSA9IGVudGl0eS5uYW1lICsgJ1JlZicgYXMgT2JqZWN0S2V5O1xyXG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSk7XHJcbiAgICBpZiAoc2V0dXBRdWVyeSlcclxuICAgICAgcXVlcnkgPSBzZXR1cFF1ZXJ5KHF1ZXJ5KSA/PyBxdWVyeTtcclxuICAgIGlmIChyZWYpXHJcbiAgICAgIHF1ZXJ5ID0gcXVlcnkud2hlcmUoZW50aXR5Lm5hbWUgKyAnUmVmJywgJz09JywgcmVmKTtcclxuICAgIHF1ZXJ5ID0gcXVlcnkudG9wKHRoaXMuYXBwRW52aXJvbm1lbnQubWF4UmVjb3JkQ291bnQpO1xyXG4gICAgaWYgKGdvVG9TZXJ2ZXIpIHtcclxuICAgICAgcmV0dXJuIGRlZmVyKCgpID0+IGZyb20odGhpcy5fZW50aXR5TWFuYWdlci5leGVjdXRlUXVlcnkocXVlcnkpLnRoZW4oKHF1ZXJ5RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0UXVlcnlDaG9pY2VzKHF1ZXJ5LCBxdWVyeURhdGEucmVzdWx0cywgcGtleU5hbWUsIG51bGwpO1xyXG4gICAgICB9KSkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9mKHRoaXMuZm9ybWF0UXVlcnlDaG9pY2VzKHF1ZXJ5LCB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpLCBwa2V5TmFtZSwgbnVsbCkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaE5hbWVWYWx1ZXNDYWNoZU9ubHkgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgc2V0dXBRdWVyeTogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICByZWY6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPFRydU5hbWVWYWx1ZVtdPiA9PiB7XHJcbiAgICB0eXBlIE9iamVjdEtleSA9IGtleW9mIHR5cGVvZiBlbnRpdHk7XHJcbiAgICBjb25zdCBwa2V5TmFtZSA9IGVudGl0eS5uYW1lICsgJ1JlZicgYXMgT2JqZWN0S2V5O1xyXG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSk7XHJcbiAgICBpZiAoc2V0dXBRdWVyeSlcclxuICAgICAgICBxdWVyeSA9IHNldHVwUXVlcnkocXVlcnkpID8/IHF1ZXJ5O1xyXG4gICAgaWYgKHJlZilcclxuICAgICAgICBxdWVyeSA9IHF1ZXJ5LndoZXJlKGVudGl0eS5uYW1lICsgJ1JlZicsICc9PScsIHJlZik7XHJcbiAgICByZXR1cm4gb2YodGhpcy5mb3JtYXROYW1lVmFsdWVzKHF1ZXJ5LCB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpLCBwa2V5TmFtZSkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaEJ5UmVmID0gKFxyXG4gICAgZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIHJlZjogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xyXG4gICAgdHlwZSBPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgZW50aXR5O1xyXG4gICAgY29uc3QgcGtleU5hbWUgPSBlbnRpdHkubmFtZSArICdSZWYnIGFzIE9iamVjdEtleTtcclxuICAgIHZhciBxdWVyeU9wdGlvbnMgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLnF1ZXJ5T3B0aW9ucy51c2luZyh7XHJcbiAgICAgIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3kuRnJvbVNlcnZlclxyXG4gICAgfSk7XHJcbiAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKS53aGVyZShlbnRpdHkubmFtZSArICdSZWYnLCAnPT0nLCByZWYpLnVzaW5nKHF1ZXJ5T3B0aW9ucyk7XHJcbiAgICByZXR1cm4gZGVmZXIoKCkgPT4gZnJvbSh0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeShxdWVyeSkudGhlbigocXVlcnlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0UXVlcnlDaG9pY2VzKHF1ZXJ5LCBxdWVyeURhdGEucmVzdWx0cywgcGtleU5hbWUsIG51bGwpO1xyXG4gICAgfSkpKTtcclxuICB9O1xyXG5cclxuICBzZWFyY2hCeVJlZlByZWZlcmVkQ2FjaGUgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgcmVmOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgICBsZXQgY2FjaGVkRW50aXR5ID0gdGhpcy5zZWFyY2hCeVJlZkNhY2hlT25seShlbnRpdHksIHJlZik7XHJcbiAgICBpZiAoY2FjaGVkRW50aXR5KSB7XHJcbiAgICAgIHZhciBxdWVyeU9wdGlvbnMgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLnF1ZXJ5T3B0aW9ucy51c2luZyh7XHJcbiAgICAgICAgZmV0Y2hTdHJhdGVneTogRmV0Y2hTdHJhdGVneS5Gcm9tTG9jYWxDYWNoZVxyXG4gICAgICB9KTtcclxuICAgICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSkud2hlcmUoZW50aXR5Lm5hbWUgKyAnUmVmJywgJz09JywgcmVmKS51c2luZyhxdWVyeU9wdGlvbnMpO1xyXG4gICAgICByZXR1cm4gZGVmZXIoKCkgPT4gZnJvbSh0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeShxdWVyeSkudGhlbigocXVlcnlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcXVlcnlEYXRhLnJlc3VsdHNbMF07XHJcbiAgICAgIH0pKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IHRoaXMuX2VudGl0eU1hbmFnZXIucXVlcnlPcHRpb25zLnVzaW5nKHtcclxuICAgICAgICBmZXRjaFN0cmF0ZWd5OiBGZXRjaFN0cmF0ZWd5LkZyb21TZXJ2ZXJcclxuICAgICAgfSk7XHJcbiAgICAgIHZhciBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpLndoZXJlKGVudGl0eS5uYW1lICsgJ1JlZicsICc9PScsIHJlZikudXNpbmcocXVlcnlPcHRpb25zKTtcclxuICAgICAgcmV0dXJuIGRlZmVyKCgpID0+IGZyb20odGhpcy5fZW50aXR5TWFuYWdlci5leGVjdXRlUXVlcnkocXVlcnkpLnRoZW4oKHF1ZXJ5RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YS5yZXN1bHRzWzBdO1xyXG4gICAgICB9KSkpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHNlYXJjaEJ5UmVmQ2FjaGVPbmx5ID0gKFxyXG4gICAgZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIHJlZjogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIGluY2x1ZGVEZWxldGVkOiBib29sZWFuID0gZmFsc2UpID0+IHtcclxuXHJcbiAgICBpZiAoIWluY2x1ZGVEZWxldGVkKVxyXG4gICAgICBpbmNsdWRlRGVsZXRlZCA9IGZhbHNlO1xyXG4gICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IHRoaXMuX2VudGl0eU1hbmFnZXIucXVlcnlPcHRpb25zLnVzaW5nKHtcclxuICAgICAgaW5jbHVkZURlbGV0ZWQ6IGluY2x1ZGVEZWxldGVkLFxyXG4gICAgICBmZXRjaFN0cmF0ZWd5OiBGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlXHJcbiAgICB9KTtcclxuICAgIHZhciBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpLndoZXJlKGVudGl0eS5uYW1lICsgJ1JlZicsICc9PScsIHJlZikudXNpbmcocXVlcnlPcHRpb25zKTtcclxuICAgIHZhciByZXN1bHQgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpWzBdO1xyXG4gICAgaWYgKHJlc3VsdClcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaEJ5UmVmQXJyYXlDYWNoZU9ubHkgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgc2V0dXBRdWVyeTogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICByZWZzOiBBcnJheTxudW1iZXI+LFxyXG4gICAgaW5jbHVkZURlbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xyXG4gIFxyXG4gICAgaWYgKCFpbmNsdWRlRGVsZXRlZClcclxuICAgICAgaW5jbHVkZURlbGV0ZWQgPSBmYWxzZTtcclxuICAgIHZhciBxdWVyeU9wdGlvbnMgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLnF1ZXJ5T3B0aW9ucy51c2luZyh7XHJcbiAgICAgIGluY2x1ZGVEZWxldGVkOiBpbmNsdWRlRGVsZXRlZCxcclxuICAgICAgZmV0Y2hTdHJhdGVneTogRmV0Y2hTdHJhdGVneS5Gcm9tTG9jYWxDYWNoZVxyXG4gICAgfSk7XHJcblxyXG4gICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSkudXNpbmcocXVlcnlPcHRpb25zKTtcclxuXHJcbiAgICBpZiAoc2V0dXBRdWVyeSlcclxuICAgICAgcXVlcnkgPSBzZXR1cFF1ZXJ5KHF1ZXJ5KTtcclxuICAgIGlmIChxdWVyeSA9PT0gbnVsbCkvL3NldHVwUXVlcnkoKSByZXR1cm5lZCBudWxsIHRvIHNlbGVjdCBubyByb3dzXHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIGlmIChyZWZzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdHlwZSBPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgZW50aXR5O1xyXG4gICAgICBjb25zdCBwa2V5TmFtZSA9IGVudGl0eS5uYW1lICsgJ1JlZicgYXMgT2JqZWN0S2V5O1xyXG4gICAgICB2YXIgcHJlZGljYXRlID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVQcmVkaWNhdGUocGtleU5hbWUsICc9PScsIHJlZnNbMF0pO1xyXG4gICAgICBfLnJlc3QocmVmcywgMSkuZm9yRWFjaChmdW5jdGlvbiAocmVmKSB7XHJcbiAgICAgICAgcHJlZGljYXRlID0gcHJlZGljYXRlLm9yKHBrZXlOYW1lLCAnPT0nLCByZWYpO1xyXG4gICAgICB9KTtcclxuICAgICAgcXVlcnkgPSBxdWVyeS53aGVyZShwcmVkaWNhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciByZXN1bHRzID0gdGhpcy5fZW50aXR5TWFuYWdlci5leGVjdXRlUXVlcnlMb2NhbGx5KHF1ZXJ5KTtcclxuICAgIGlmIChyZXN1bHRzICYmIHJlc3VsdHMubGVuZ3RoKVxyXG4gICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoQnlSZWZXaXRoUXVlcnkgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgc2V0dXBRdWVyeTogYW55LFxyXG4gICAgcmVmOiBudW1iZXIpOiBPYnNlcnZhYmxlPEVudGl0eVtdPiA9PiB7XHJcbiAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKTtcclxuICAgIHF1ZXJ5ID0gc2V0dXBRdWVyeShxdWVyeSk7XHJcblxyXG4gICAgdHlwZSBPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgZW50aXR5O1xyXG4gICAgY29uc3QgcGtleU5hbWUgPSBlbnRpdHkubmFtZSArICdSZWYnIGFzIE9iamVjdEtleTtcclxuICAgIHZhciBwcmVkaWNhdGUgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVByZWRpY2F0ZShwa2V5TmFtZSwgJz09JywgcmVmKTtcclxuICAgIHF1ZXJ5ID0gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuXHJcbiAgICB2YXIgbG9jYWxSZXN1bHRzID0gdGhpcy5fZW50aXR5TWFuYWdlci5leGVjdXRlUXVlcnlMb2NhbGx5KHF1ZXJ5KTtcclxuXHJcbiAgICBpZiAobG9jYWxSZXN1bHRzLmxlbmd0aClcclxuICAgICAgcmV0dXJuIG9mKGxvY2FsUmVzdWx0cyk7XHJcblxyXG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IGZyb20odGhpcy5fZW50aXR5TWFuYWdlci5leGVjdXRlUXVlcnkocXVlcnkpLnRoZW4oKHF1ZXJ5RGF0YSkgPT4ge1xyXG4gICAgICByZXR1cm4gcXVlcnlEYXRhLnJlc3VsdHM7XHJcbiAgICB9KSkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaFVzZXJCeVJlZkNhY2hlT25seSA9IChcclxuICAgIHJlZjogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIGluY2x1ZGVEZWxldGVkOiBib29sZWFuID0gZmFsc2UpID0+IHtcclxuXHJcbiAgICBpZiAoIWluY2x1ZGVEZWxldGVkKVxyXG4gICAgICBpbmNsdWRlRGVsZXRlZCA9IGZhbHNlO1xyXG4gICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IHRoaXMuX2VudGl0eU1hbmFnZXIucXVlcnlPcHRpb25zLnVzaW5nKHtcclxuICAgICAgaW5jbHVkZURlbGV0ZWQ6IGluY2x1ZGVEZWxldGVkLFxyXG4gICAgICBmZXRjaFN0cmF0ZWd5OiBGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlXHJcbiAgICB9KTtcclxuICAgIHZhciBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkoJ1F1ZXJ5VHJ1RGJVc2VyJykud2hlcmUoJ1RydURiVXNlclJlZicsICc9PScsIHJlZikudXNpbmcocXVlcnlPcHRpb25zKTtcclxuICAgIHZhciByZXN1bHQgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpWzBdO1xyXG4gICAgaWYgKHJlc3VsdClcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH07XHJcblxyXG4gIGN1c3RvbVNlYXJjaCA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICBxdWVyeTogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gZGVmZXIoKCkgPT4gZnJvbSh0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeShxdWVyeSkudGhlbigocXVlcnlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy53YXJuSWZNYXhSZWNvcmRzKHF1ZXJ5RGF0YS5yZXN1bHRzLCBlbnRpdHkubmFtZSk7XHJcbiAgICAgIHJldHVybiBxdWVyeURhdGEucmVzdWx0cztcclxuICAgIH0pKSk7XHJcbiAgfTtcclxuXHJcbiAgZXhwb3J0ID0gKFxyXG4gICAgZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIGdyaWRTcGVjOiBzdHJpbmcsXHJcbiAgICBzZXR1cFF1ZXJ5OiBhbnkgfCBudWxsLFxyXG4gICAgZW50aXR5UmVmczogc3RyaW5nIHwgbnVsbCxcclxuICAgIG9wdGlvbnM6IGFueSkgPT4ge1xyXG5cclxuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xyXG4gICAgdmFyIGFyZ3MgPSB7XHJcbiAgICAgIHJ1bkFzeW5jOiBmYWxzZSxcclxuICAgICAgdXNlTmFtZXM6IGZhbHNlLFxyXG4gICAgICB1c2VFbXB0eVRhZ3M6IGZhbHNlLFxyXG4gICAgICBlbnRpdHlSZWZzOiBudWxsIGFzIHN0cmluZyB8IG51bGwsXHJcbiAgICAgIGVudGl0eVR5cGVOYW1lOiBlbnRpdHkubmFtZSxcclxuICAgICAgZ3JpZFNwZWM6IGdyaWRTcGVjXHJcbiAgICB9O1xyXG4gICAgaWYgKG9wdGlvbnMuYXN5bmMpXHJcbiAgICAgIGFyZ3MucnVuQXN5bmMgPSB0cnVlO1xyXG4gICAgaWYgKG9wdGlvbnMudXNlTmFtZXMpXHJcbiAgICAgIGFyZ3MudXNlTmFtZXMgPSB0cnVlO1xyXG4gICAgaWYgKG9wdGlvbnMudXNlRW1wdHlUYWdzKVxyXG4gICAgICBhcmdzLnVzZUVtcHR5VGFncyA9IHRydWU7XHJcbiAgICB2YXIgcXVlcnlUZXh0O1xyXG4gICAgaWYgKG9wdGlvbnMudXNlR3JpZCkge1xyXG4gICAgICBhcmdzLmVudGl0eVJlZnMgPSBlbnRpdHlSZWZzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSgnbm9uYW1lJyk7XHJcbiAgICAgIGlmIChzZXR1cFF1ZXJ5KVxyXG4gICAgICAgIHF1ZXJ5ID0gc2V0dXBRdWVyeShxdWVyeSk7XHJcbiAgICAgIGlmIChxdWVyeSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMudWlOb3RpZmljYXRpb24ud2FybmluZygnTm8gcmVjb3JkcyBzZWxlY3RlZCBieSBxdWVyeScpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBxdWVyeVRleHQgPSBxdWVyeS5fdG9VcmkodGhpcy5fZW50aXR5TWFuYWdlcik7XHJcbiAgICAgICAgcXVlcnlUZXh0ID0gcXVlcnlUZXh0LnNwbGl0KCc/JylbMV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVpTm90aWZpY2F0aW9uLmluZm8oYXJncy5ydW5Bc3luYyA/ICdRdWV1aW5nIGV4cG9ydC4uLicgOiAnRXhwb3J0aW5nLi4uJyk7XHJcblxyXG4gICAgbGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IFhNTEh0dHBSZXF1ZXN0LkRPTkUpIHtcclxuICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PSAyMDApIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coeGhyLnJlc3BvbnNlVHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgeGhyLm9wZW4oJ1BPU1QnLCB0aGlzLl9iYXNlVXJsICsgJy9hcGkvZXhwb3J0L2V4ZWN1dGUnKTtcclxuICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCcpO1xyXG4gICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XHJcbiAgICB4aHIuc2VuZChKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgIHVzZXJSZWY6IHRoaXMudXNlci5hY3RpdmVVc2VyUmVmLFxyXG4gICAgICBydW5Bc3luYzogYXJncy5ydW5Bc3luYyxcclxuICAgICAgdXNlTmFtZXM6IGFyZ3MudXNlTmFtZXMsXHJcbiAgICAgIHVzZUVtcHR5VGFnczogYXJncy51c2VFbXB0eVRhZ3MsXHJcbiAgICAgIGVudGl0eVJlZnM6IGFyZ3MuZW50aXR5UmVmcyxcclxuICAgICAgZW50aXR5VHlwZU5hbWU6IGFyZ3MuZW50aXR5VHlwZU5hbWUsXHJcbiAgICAgIGdyaWRTcGVjOiBhcmdzLmdyaWRTcGVjLFxyXG4gICAgICBxdWVyeTogcXVlcnlUZXh0XHJcbiAgICB9KSlcclxuICB9O1xyXG5cclxuICBkb3dubG9hZEZyb21VcmwgPSAodXJsOiBzdHJpbmcsIGRhdGE6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5fYmFzZVVybCArIHVybCwgSlNPTi5zdHJpbmdpZnkoZGF0YSksIHtcclxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnIH0sXHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyxcclxuICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ1xyXG4gICAgfSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHsgdGhpcy5zYXZlRG93bmxvYWRlZEZpbGUocmVzcG9uc2UpOyB9LFxyXG4gICAgICAgIGVycm9yOiAoZXg6IGFueSkgPT4geyBjb25zb2xlLmxvZygnZXJyb3InLCB0aGlzLnVpTm90aWZpY2F0aW9uLmVycm9yKCdTZXJ2ZXIgRXJyb3I6ICcgKyBleC5zdGF0dXMsIFtleC5lcnJvci5NZXNzYWdlXSkpIH1cclxuICAgICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgZG93bmxvYWRGcm9tU2VydmljZSA9IChzZXJ2aWNlTmFtZTogc3RyaW5nLCBkYXRhOiBhbnkpID0+IHtcclxuICAgIHRoaXMuZG93bmxvYWRGcm9tVXJsKHNlcnZpY2VOYW1lLCBkYXRhKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAqIFJlcXVlc3QgYW4gYWN0aW9uLlxyXG4gICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgLSBOYW1lIG9mIHRoZSBhY3Rpb24uXHJcbiAgKiBAcGFyYW0ge3N0cmluZ30gZW50aXR5UmVmcyAtIENvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGVudGl0eSBwa2V5IHZhbHVlcy5cclxuICAqIEByZXR1cm5zIHtwcm9taXNlfSBvbiBzdWNjZXNzLCBwYXNzZXMgdGhlIHJlc3VsdHMgdG8gc3VjY2VzcyBoYW5kbGVyOyBcclxuICAqICAgICAgb24gZmFpbHVyZSwgcGFzc2VzIGV4Y2VwdGlvbiB0byBmYWlsIGhhbmRsZXIuXHJcbiAgKi9cclxuICByZXF1ZXN0QWN0aW9uID0gKGFjdGlvbk5hbWU6IHN0cmluZywgZW50aXR5UmVmczogc3RyaW5nKSA9PiB7XHJcbiAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KCdSZXF1ZXN0QWN0aW9uJyArIGFjdGlvbk5hbWUpXHJcbiAgICAud2l0aFBhcmFtZXRlcnMoe1xyXG4gICAgICAkbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICRlbmNvZGluZzogJ0pTT04nLFxyXG4gICAgICAkZGF0YTogeyByZWZzOiBlbnRpdHlSZWZzIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IGZyb20odGhpcy5fZW50aXR5TWFuYWdlci5leGVjdXRlUXVlcnkocXVlcnkpLnRoZW4oKHF1ZXJ5RGF0YTogYW55KSA9PiB7O1xyXG4gICAgICByZXR1cm4gcXVlcnlEYXRhLnJlc3VsdHM7XHJcbiAgICB9KSkpO1xyXG5gYH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlRG93bmxvYWRlZEZpbGUgPSBhc3luYyAocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICB2YXIgY29udGVudERpc3Bvc2l0aW9uID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtZGlzcG9zaXRpb24nKTtcclxuICAgIGlmICghY29udGVudERpc3Bvc2l0aW9uKVxyXG4gICAgICByZXR1cm47IC8vIE5PVEU6IGNhbm5vdCBzYXZlIHdpdGhvdXQgaGVhZGVyIGluZm9cclxuICAgIHZhciBmaWxlbmFtZSA9IHRoaXMuZXh0cmFjdEZpbGVuYW1lRnJvbUNvbnRlbnREaXNwb3NpdGlvbihjb250ZW50RGlzcG9zaXRpb24pO1xyXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTtcclxuICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpIGFzIHN0cmluZyB9KTtcclxuICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgbGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVuYW1lKTtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICAgIGxpbmsucmVtb3ZlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RGaWxlbmFtZUZyb21Db250ZW50RGlzcG9zaXRpb24gPSAodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICB2YXIgcGFydHMgPSBfLm1hcCh0ZXh0LnNwbGl0KCc7JyksIGZ1bmN0aW9uIChwYXJ0KSB7IHJldHVybiBwYXJ0LnRyaW0oKTsgfSk7XHJcbiAgICB2YXIgcHJlZml4ID0gJ2ZpbGVuYW1lPSc7XHJcbiAgICB2YXIgZmlsZW5hbWVQYXJ0ID0gXy5maW5kKHBhcnRzLCBmdW5jdGlvbiAocGFydCkgeyByZXR1cm4gcGFydC5zdWJzdHJpbmcoMCwgcHJlZml4Lmxlbmd0aCkgPT09IHByZWZpeCB9KTtcclxuICAgIGlmICghZmlsZW5hbWVQYXJ0KVxyXG4gICAgICByZXR1cm4gJ2ZpbGUnO1xyXG4gICAgdmFyIGZpbGVuYW1lID0gZmlsZW5hbWVQYXJ0LnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoKTtcclxuICAgIGZpbGVuYW1lID0gZmlsZW5hbWUucmVwbGFjZSgvXCIvZywgJycpO1xyXG4gICAgcmV0dXJuIGZpbGVuYW1lO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVudGl0eS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LWVudGl0eS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBc0MsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2xGLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBT25ELE1BQU0sT0FBTyxpQkFBaUI7SUFPbEI7SUFDQTtJQUNBO0lBQ0E7SUFURixjQUFjLENBQW9CO0lBQ2xDLGNBQWMsQ0FBaUI7SUFDL0IsZUFBZSxHQUFXLENBQUMsQ0FBQztJQUM1QixRQUFRLENBQVM7SUFFekIsWUFDVSxVQUFzQixFQUN0QixjQUFpQyxFQUNqQyxjQUFpQyxFQUNqQyxJQUFhO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFNBQUksR0FBSixJQUFJLENBQVM7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxXQUEyQjtRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7SUFFTyxtQkFB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OlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEVudGl0eSwgRW50aXR5TWFuYWdlciwgRW50aXR5UXVlcnksIEZldGNoU3RyYXRlZ3kgfSBmcm9tIFwiYnJlZXplLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBUcnVFbnRpdHlCYXNlIH0gZnJvbSAnLi4vYmFzZS1jbGFzc2VzL3RydS1lbnRpdHktYmFzZSdcclxuaW1wb3J0IHsgVHJ1VWlOb3RpZmljYXRpb24gfSBmcm9tIFwiLi90cnUtdWktbm90aWZpY2F0aW9uXCI7XHJcbmltcG9ydCB7IFRydURhdGFDb250ZXh0IH0gZnJvbSBcIi4vdHJ1LWRhdGEtY29udGV4dFwiO1xyXG5pbXBvcnQgeyBUcnVCcmVlemVDb250ZXh0IH0gZnJvbSBcIi4vdHJ1LWJyZWV6ZS1jb250ZXh0LWZhY3RvcnlcIjtcclxuaW1wb3J0ICogYXMgXyBmcm9tIFwidW5kZXJzY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IGRlZmVyLCBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcnVBcHBFbnZpcm9ubWVudCB9IGZyb20gXCIuL3RydS1hcHAtZW52aXJvbm1lbnRcIjtcclxuaW1wb3J0IHsgVHJ1Q2hvaWNlIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWNob2ljZVwiO1xyXG5pbXBvcnQgeyBUcnVOYW1lVmFsdWUgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtbmFtZS12YWx1ZVwiO1xyXG5pbXBvcnQgeyBUcnVVc2VyIH0gZnJvbSBcIi4vdHJ1LXVzZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRydUVudGl0eUFjY2Vzc29yIHtcclxuICBwcml2YXRlIF9icmVlemVDb250ZXh0ITogVHJ1QnJlZXplQ29udGV4dDtcclxuICBwcml2YXRlIF9lbnRpdHlNYW5hZ2VyITogRW50aXR5TWFuYWdlcjtcclxuICBwcml2YXRlIF9tYXhSZWNvcmRDb3VudDogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9iYXNlVXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhcHBFbnZpcm9ubWVudDogVHJ1QXBwRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIHVpTm90aWZpY2F0aW9uOiBUcnVVaU5vdGlmaWNhdGlvbixcclxuICAgIHByaXZhdGUgdXNlcjogVHJ1VXNlcikge1xyXG4gICAgdGhpcy5fbWF4UmVjb3JkQ291bnQgPSB0aGlzLmFwcEVudmlyb25tZW50Lm1heFJlY29yZENvdW50O1xyXG4gICAgdGhpcy5fYmFzZVVybCA9IHRoaXMuYXBwRW52aXJvbm1lbnQuYXBwVXJpO1xyXG4gIH1cclxuXHJcbiAgc2V0IGNvbnRleHQoZGF0YUNvbnRleHQ6IFRydURhdGFDb250ZXh0KSB7XHJcbiAgICB0aGlzLl9icmVlemVDb250ZXh0ID0gZGF0YUNvbnRleHQuYnJlZXplQ29udGV4dDtcclxuICAgIHRoaXMuX2VudGl0eU1hbmFnZXIgPSBkYXRhQ29udGV4dC5lbnRpdHlNYW5hZ2VyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRRdWVyeVNlcnZpY2VOYW1lID0gKGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UpID0+IHtcclxuICAgIHJldHVybiAnUXVlcnknICsgZW50aXR5Lm5hbWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdhcm5JZk1heFJlY29yZHMgPSAoZW50aXRpZXM6IGFueVtdLCBlbnRpdHlOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChlbnRpdGllcy5sZW5ndGggPj0gdGhpcy5hcHBFbnZpcm9ubWVudC5tYXhSZWNvcmRDb3VudClcclxuICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi53YXJuaW5nKCdbJyArIGVudGl0eU5hbWUgKyAnXSBoYXMgbW9yZSByZWNvcmRzIGF2YWlsYWJsZSB0aGFuIHN1cHBvcnRlZCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRRdWVyeUNob2ljZXMgPSAocXVlcnk6IEVudGl0eVF1ZXJ5LCBlbnRpdGllczogQXJyYXk8RW50aXR5PiwgcEtleU5hbWU6IHN0cmluZywgaGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IEFycmF5PFRydUNob2ljZT4gPT4ge1xyXG4gICAgaWYgKHF1ZXJ5ICYmIHF1ZXJ5Lm9yZGVyQnlDbGF1c2UpXHJcbiAgICAgIHJldHVybiBfLm1hcChlbnRpdGllcywgKGVudGl0eTogYW55KSA9PiB7IHJldHVybiB7IHZhbHVlOiB7ICQ6IGVudGl0eVtwS2V5TmFtZV0gfSwgbGFiZWw6IGhpZCAhPT0gbnVsbCA/IGhpZCA6IGVudGl0eS5ISUQgfTsgfSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBfLm1hcChlbnRpdGllcywgKGVudGl0eTogYW55KSA9PiB7IHJldHVybiB7IHZhbHVlOiB7ICQ6IGVudGl0eVtwS2V5TmFtZV0gfSwgbGFiZWw6IGhpZCAhPT0gbnVsbCA/IGhpZCA6IGVudGl0eS5ISUQgfTsgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdE5hbWVWYWx1ZXMgPSAocXVlcnk6IEVudGl0eVF1ZXJ5LCBlbnRpdGllczogQXJyYXk8RW50aXR5PiwgcEtleU5hbWU6IHN0cmluZyk6IEFycmF5PFRydU5hbWVWYWx1ZT4gPT4ge1xyXG4gICAgICBpZiAocXVlcnkgJiYgcXVlcnkub3JkZXJCeUNsYXVzZSlcclxuICAgICAgICByZXR1cm4gXy5tYXAoZW50aXRpZXMsIChlbnRpdHk6IGFueSkgPT4geyByZXR1cm4geyBuYW1lOiBlbnRpdHkuTmFtZSwgdmFsdWU6IHsgJDogZW50aXR5LlZhbHVlIH0sIGVudGl0eTogZW50aXR5IH07IH0pO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcmV0dXJuIF8ubWFwKGVudGl0aWVzLCAoZW50aXR5OiBhbnkpID0+IHsgcmV0dXJuIHsgbmFtZTogZW50aXR5Lk5hbWUsIHZhbHVlOiB7ICQ6IGVudGl0eS5WYWx1ZSB9LCBlbnRpdHk6IGVudGl0eSB9OyB9KTtcclxuICB9XHJcblxyXG4gIGFkZCA9IChlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLCBjb250ZXh0RmlsdGVyczogYW55ID0gbnVsbCkgPT4ge1xyXG4gICAgbGV0IG5ld0VudGl0eSA9IHRoaXMuX2VudGl0eU1hbmFnZXIuY3JlYXRlRW50aXR5KGVudGl0eS5wcm90b3R5cGUuZW50aXR5VHlwZSk7XHJcbiAgICByZXR1cm4gbmV3RW50aXR5O1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaCA9IChlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgc2V0dXBRdWVyeTogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICBleHBhbmRzOiBbXSB8IG51bGwsXHJcbiAgICBnbG9iYWw6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEVudGl0eVtdPiA9PiB7XHJcblxyXG4gICAgdmFyIHF1ZXJ5OiBhbnk7XHJcbiAgICBpZiAoZXhwYW5kcyAmJiBleHBhbmRzLmxlbmd0aCkge1xyXG4gICAgICBpZiAoZ2xvYmFsKVxyXG4gICAgICAgIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSkuZXhwYW5kKGV4cGFuZHMuam9pbignLCAnKSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpLmV4cGFuZChleHBhbmRzLmpvaW4oJywgJykpLnRvcCh0aGlzLmFwcEVudmlyb25tZW50Lm1heFJlY29yZENvdW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChnbG9iYWwpXHJcbiAgICAgICAgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSkudG9wKHRoaXMuYXBwRW52aXJvbm1lbnQubWF4UmVjb3JkQ291bnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZXR1cFF1ZXJ5ICE9IG51bGwpXHJcbiAgICAgIHF1ZXJ5ID0gc2V0dXBRdWVyeShxdWVyeSk7XHJcblxyXG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IGZyb20odGhpcy5fZW50aXR5TWFuYWdlci5leGVjdXRlUXVlcnkocXVlcnkpLnRoZW4oKHF1ZXJ5RGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghZ2xvYmFsKVxyXG4gICAgICAgIHRoaXMud2FybklmTWF4UmVjb3JkcyhxdWVyeURhdGEucmVzdWx0cywgZW50aXR5Lm5hbWUpO1xyXG4gICAgICByZXR1cm4gcXVlcnlEYXRhLnJlc3VsdHM7XHJcbiAgICB9KSkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaENhY2hlT25seSA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICBzZXR1cFF1ZXJ5OiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgIGV4cGFuZHM6IFtdIHwgbnVsbCA9IG51bGwpOiBPYnNlcnZhYmxlPEVudGl0eVtdPiA9PiB7XHJcbiAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKTtcclxuICAgIGlmIChzZXR1cFF1ZXJ5KVxyXG4gICAgICBxdWVyeSA9IHNldHVwUXVlcnkocXVlcnkpO1xyXG4gICAgcmV0dXJuIG9mKHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5TG9jYWxseShxdWVyeSkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaENhY2hlT25seVN5bmNocm9ub3VzbHkgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgc2V0dXBRdWVyeTogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICBleHBhbmRzOiBbXSB8IG51bGwgPSBudWxsKTogQXJyYXk8YW55PiA9PiB7XHJcbiAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKTtcclxuICAgIGlmIChzZXR1cFF1ZXJ5KVxyXG4gICAgICBxdWVyeSA9IHNldHVwUXVlcnkocXVlcnkpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5TG9jYWxseShxdWVyeSk7XHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoQnlSZWZDYWNoZU9ubHlTeW5jaHJvbm91c2x5ID0gKFxyXG4gICAgZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIHJlZjogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcclxuICAgIGV4cGFuZHM6IFtdIHwgbnVsbCA9IG51bGwpOiBBcnJheTxhbnk+ID0+IHtcclxuICAgIGxldCBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpO1xyXG4gICAgaWYgKHJlZilcclxuICAgICAgcXVlcnkgPSBxdWVyeS53aGVyZShlbnRpdHkubmFtZSArICdSZWYnLCAnPT0nLCByZWYpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5TG9jYWxseShxdWVyeSk7XHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoUXVlcnlDaG9pY2VzID0gKFxyXG4gICAgZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIHNldHVwUXVlcnk6IGFueSB8IG51bGwgPSBudWxsLFxyXG4gICAgaGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgIGdvVG9TZXJ2ZXI6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgIHJlZjogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8VHJ1Q2hvaWNlW10+ID0+IHtcclxuICAgIHR5cGUgT2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIGVudGl0eTtcclxuICAgIGNvbnN0IHBrZXlOYW1lID0gZW50aXR5Lm5hbWUgKyAnUmVmJyBhcyBPYmplY3RLZXk7XHJcbiAgICBsZXQgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKTtcclxuICAgIGlmIChzZXR1cFF1ZXJ5KVxyXG4gICAgICBxdWVyeSA9IHNldHVwUXVlcnkocXVlcnkpID8/IHF1ZXJ5O1xyXG4gICAgaWYgKHJlZilcclxuICAgICAgcXVlcnkgPSBxdWVyeS53aGVyZShlbnRpdHkubmFtZSArICdSZWYnLCAnPT0nLCByZWYpO1xyXG4gICAgcXVlcnkgPSBxdWVyeS50b3AodGhpcy5hcHBFbnZpcm9ubWVudC5tYXhSZWNvcmRDb3VudCk7XHJcbiAgICBpZiAoZ29Ub1NlcnZlcikge1xyXG4gICAgICByZXR1cm4gZGVmZXIoKCkgPT4gZnJvbSh0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeShxdWVyeSkudGhlbigocXVlcnlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRRdWVyeUNob2ljZXMocXVlcnksIHF1ZXJ5RGF0YS5yZXN1bHRzLCBwa2V5TmFtZSwgbnVsbCk7XHJcbiAgICAgIH0pKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YodGhpcy5mb3JtYXRRdWVyeUNob2ljZXMocXVlcnksIHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5TG9jYWxseShxdWVyeSksIHBrZXlOYW1lLCBudWxsKSk7XHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoTmFtZVZhbHVlc0NhY2hlT25seSA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICBzZXR1cFF1ZXJ5OiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgIHJlZjogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8VHJ1TmFtZVZhbHVlW10+ID0+IHtcclxuICAgIHR5cGUgT2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIGVudGl0eTtcclxuICAgIGNvbnN0IHBrZXlOYW1lID0gZW50aXR5Lm5hbWUgKyAnUmVmJyBhcyBPYmplY3RLZXk7XHJcbiAgICBsZXQgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKTtcclxuICAgIGlmIChzZXR1cFF1ZXJ5KVxyXG4gICAgICAgIHF1ZXJ5ID0gc2V0dXBRdWVyeShxdWVyeSkgPz8gcXVlcnk7XHJcbiAgICBpZiAocmVmKVxyXG4gICAgICAgIHF1ZXJ5ID0gcXVlcnkud2hlcmUoZW50aXR5Lm5hbWUgKyAnUmVmJywgJz09JywgcmVmKTtcclxuICAgIHJldHVybiBvZih0aGlzLmZvcm1hdE5hbWVWYWx1ZXMocXVlcnksIHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5TG9jYWxseShxdWVyeSksIHBrZXlOYW1lKSk7XHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoQnlSZWYgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgcmVmOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgICB0eXBlIE9iamVjdEtleSA9IGtleW9mIHR5cGVvZiBlbnRpdHk7XHJcbiAgICBjb25zdCBwa2V5TmFtZSA9IGVudGl0eS5uYW1lICsgJ1JlZicgYXMgT2JqZWN0S2V5O1xyXG4gICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IHRoaXMuX2VudGl0eU1hbmFnZXIucXVlcnlPcHRpb25zLnVzaW5nKHtcclxuICAgICAgZmV0Y2hTdHJhdGVneTogRmV0Y2hTdHJhdGVneS5Gcm9tU2VydmVyXHJcbiAgICB9KTtcclxuICAgIHZhciBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpLndoZXJlKGVudGl0eS5uYW1lICsgJ1JlZicsICc9PScsIHJlZikudXNpbmcocXVlcnlPcHRpb25zKTtcclxuICAgIHJldHVybiBkZWZlcigoKSA9PiBmcm9tKHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5KS50aGVuKChxdWVyeURhdGE6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRRdWVyeUNob2ljZXMocXVlcnksIHF1ZXJ5RGF0YS5yZXN1bHRzLCBwa2V5TmFtZSwgbnVsbCk7XHJcbiAgICB9KSkpO1xyXG4gIH07XHJcblxyXG4gIHNlYXJjaEJ5UmVmUHJlZmVyZWRDYWNoZSA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICByZWY6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpID0+IHtcclxuICAgIGxldCBjYWNoZWRFbnRpdHkgPSB0aGlzLnNlYXJjaEJ5UmVmQ2FjaGVPbmx5KGVudGl0eSwgcmVmKTtcclxuICAgIGlmIChjYWNoZWRFbnRpdHkpIHtcclxuICAgICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IHRoaXMuX2VudGl0eU1hbmFnZXIucXVlcnlPcHRpb25zLnVzaW5nKHtcclxuICAgICAgICBmZXRjaFN0cmF0ZWd5OiBGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlXHJcbiAgICAgIH0pO1xyXG4gICAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKS53aGVyZShlbnRpdHkubmFtZSArICdSZWYnLCAnPT0nLCByZWYpLnVzaW5nKHF1ZXJ5T3B0aW9ucyk7XHJcbiAgICAgIHJldHVybiBkZWZlcigoKSA9PiBmcm9tKHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5KS50aGVuKChxdWVyeURhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBxdWVyeURhdGEucmVzdWx0c1swXTtcclxuICAgICAgfSkpKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB2YXIgcXVlcnlPcHRpb25zID0gdGhpcy5fZW50aXR5TWFuYWdlci5xdWVyeU9wdGlvbnMudXNpbmcoe1xyXG4gICAgICAgIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3kuRnJvbVNlcnZlclxyXG4gICAgICB9KTtcclxuICAgICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSkud2hlcmUoZW50aXR5Lm5hbWUgKyAnUmVmJywgJz09JywgcmVmKS51c2luZyhxdWVyeU9wdGlvbnMpO1xyXG4gICAgICByZXR1cm4gZGVmZXIoKCkgPT4gZnJvbSh0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeShxdWVyeSkudGhlbigocXVlcnlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcXVlcnlEYXRhLnJlc3VsdHNbMF07XHJcbiAgICAgIH0pKSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoQnlSZWZDYWNoZU9ubHkgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgcmVmOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgaW5jbHVkZURlbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xyXG5cclxuICAgIGlmICghaW5jbHVkZURlbGV0ZWQpXHJcbiAgICAgIGluY2x1ZGVEZWxldGVkID0gZmFsc2U7XHJcbiAgICB2YXIgcXVlcnlPcHRpb25zID0gdGhpcy5fZW50aXR5TWFuYWdlci5xdWVyeU9wdGlvbnMudXNpbmcoe1xyXG4gICAgICBpbmNsdWRlRGVsZXRlZDogaW5jbHVkZURlbGV0ZWQsXHJcbiAgICAgIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3kuRnJvbUxvY2FsQ2FjaGVcclxuICAgIH0pO1xyXG4gICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSh0aGlzLmdldFF1ZXJ5U2VydmljZU5hbWUoZW50aXR5KSkud2hlcmUoZW50aXR5Lm5hbWUgKyAnUmVmJywgJz09JywgcmVmKS51c2luZyhxdWVyeU9wdGlvbnMpO1xyXG4gICAgdmFyIHJlc3VsdCA9IHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5TG9jYWxseShxdWVyeSlbMF07XHJcbiAgICBpZiAocmVzdWx0KVxyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoQnlSZWZBcnJheUNhY2hlT25seSA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICBzZXR1cFF1ZXJ5OiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgIHJlZnM6IEFycmF5PG51bWJlcj4sXHJcbiAgICBpbmNsdWRlRGVsZXRlZDogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XHJcbiAgXHJcbiAgICBpZiAoIWluY2x1ZGVEZWxldGVkKVxyXG4gICAgICBpbmNsdWRlRGVsZXRlZCA9IGZhbHNlO1xyXG4gICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IHRoaXMuX2VudGl0eU1hbmFnZXIucXVlcnlPcHRpb25zLnVzaW5nKHtcclxuICAgICAgaW5jbHVkZURlbGV0ZWQ6IGluY2x1ZGVEZWxldGVkLFxyXG4gICAgICBmZXRjaFN0cmF0ZWd5OiBGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlXHJcbiAgICB9KTtcclxuXHJcbiAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KHRoaXMuZ2V0UXVlcnlTZXJ2aWNlTmFtZShlbnRpdHkpKS51c2luZyhxdWVyeU9wdGlvbnMpO1xyXG5cclxuICAgIGlmIChzZXR1cFF1ZXJ5KVxyXG4gICAgICBxdWVyeSA9IHNldHVwUXVlcnkocXVlcnkpO1xyXG4gICAgaWYgKHF1ZXJ5ID09PSBudWxsKS8vc2V0dXBRdWVyeSgpIHJldHVybmVkIG51bGwgdG8gc2VsZWN0IG5vIHJvd3NcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgaWYgKHJlZnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0eXBlIE9iamVjdEtleSA9IGtleW9mIHR5cGVvZiBlbnRpdHk7XHJcbiAgICAgIGNvbnN0IHBrZXlOYW1lID0gZW50aXR5Lm5hbWUgKyAnUmVmJyBhcyBPYmplY3RLZXk7XHJcbiAgICAgIHZhciBwcmVkaWNhdGUgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVByZWRpY2F0ZShwa2V5TmFtZSwgJz09JywgcmVmc1swXSk7XHJcbiAgICAgIF8ucmVzdChyZWZzLCAxKS5mb3JFYWNoKGZ1bmN0aW9uIChyZWYpIHtcclxuICAgICAgICBwcmVkaWNhdGUgPSBwcmVkaWNhdGUub3IocGtleU5hbWUsICc9PScsIHJlZik7XHJcbiAgICAgIH0pO1xyXG4gICAgICBxdWVyeSA9IHF1ZXJ5LndoZXJlKHByZWRpY2F0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHJlc3VsdHMgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpO1xyXG4gICAgaWYgKHJlc3VsdHMgJiYgcmVzdWx0cy5sZW5ndGgpXHJcbiAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hCeVJlZldpdGhRdWVyeSA9IChcclxuICAgIGVudGl0eTogdHlwZW9mIFRydUVudGl0eUJhc2UsXHJcbiAgICBzZXR1cFF1ZXJ5OiBhbnksXHJcbiAgICByZWY6IG51bWJlcik6IE9ic2VydmFibGU8RW50aXR5W10+ID0+IHtcclxuICAgIHZhciBxdWVyeSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUXVlcnkodGhpcy5nZXRRdWVyeVNlcnZpY2VOYW1lKGVudGl0eSkpO1xyXG4gICAgcXVlcnkgPSBzZXR1cFF1ZXJ5KHF1ZXJ5KTtcclxuXHJcbiAgICB0eXBlIE9iamVjdEtleSA9IGtleW9mIHR5cGVvZiBlbnRpdHk7XHJcbiAgICBjb25zdCBwa2V5TmFtZSA9IGVudGl0eS5uYW1lICsgJ1JlZicgYXMgT2JqZWN0S2V5O1xyXG4gICAgdmFyIHByZWRpY2F0ZSA9IHRoaXMuX2JyZWV6ZUNvbnRleHQuY3JlYXRlUHJlZGljYXRlKHBrZXlOYW1lLCAnPT0nLCByZWYpO1xyXG4gICAgcXVlcnkgPSBxdWVyeS53aGVyZShwcmVkaWNhdGUpO1xyXG5cclxuICAgIHZhciBsb2NhbFJlc3VsdHMgPSB0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeUxvY2FsbHkocXVlcnkpO1xyXG5cclxuICAgIGlmIChsb2NhbFJlc3VsdHMubGVuZ3RoKVxyXG4gICAgICByZXR1cm4gb2YobG9jYWxSZXN1bHRzKTtcclxuXHJcbiAgICByZXR1cm4gZGVmZXIoKCkgPT4gZnJvbSh0aGlzLl9lbnRpdHlNYW5hZ2VyLmV4ZWN1dGVRdWVyeShxdWVyeSkudGhlbigocXVlcnlEYXRhKSA9PiB7XHJcbiAgICAgIHJldHVybiBxdWVyeURhdGEucmVzdWx0cztcclxuICAgIH0pKSk7XHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoVXNlckJ5UmVmQ2FjaGVPbmx5ID0gKFxyXG4gICAgcmVmOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgaW5jbHVkZURlbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xyXG5cclxuICAgIGlmICghaW5jbHVkZURlbGV0ZWQpXHJcbiAgICAgIGluY2x1ZGVEZWxldGVkID0gZmFsc2U7XHJcbiAgICB2YXIgcXVlcnlPcHRpb25zID0gdGhpcy5fZW50aXR5TWFuYWdlci5xdWVyeU9wdGlvbnMudXNpbmcoe1xyXG4gICAgICBpbmNsdWRlRGVsZXRlZDogaW5jbHVkZURlbGV0ZWQsXHJcbiAgICAgIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3kuRnJvbUxvY2FsQ2FjaGVcclxuICAgIH0pO1xyXG4gICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSgnUXVlcnlUcnVEYlVzZXInKS53aGVyZSgnVHJ1RGJVc2VyUmVmJywgJz09JywgcmVmKS51c2luZyhxdWVyeU9wdGlvbnMpO1xyXG4gICAgdmFyIHJlc3VsdCA9IHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5TG9jYWxseShxdWVyeSlbMF07XHJcbiAgICBpZiAocmVzdWx0KVxyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxuXHJcbiAgY3VzdG9tU2VhcmNoID0gKFxyXG4gICAgZW50aXR5OiB0eXBlb2YgVHJ1RW50aXR5QmFzZSxcclxuICAgIHF1ZXJ5OiBhbnkpID0+IHtcclxuICAgIHJldHVybiBkZWZlcigoKSA9PiBmcm9tKHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5KS50aGVuKChxdWVyeURhdGE6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLndhcm5JZk1heFJlY29yZHMocXVlcnlEYXRhLnJlc3VsdHMsIGVudGl0eS5uYW1lKTtcclxuICAgICAgcmV0dXJuIHF1ZXJ5RGF0YS5yZXN1bHRzO1xyXG4gICAgfSkpKTtcclxuICB9O1xyXG5cclxuICBleHBvcnQgPSAoXHJcbiAgICBlbnRpdHk6IHR5cGVvZiBUcnVFbnRpdHlCYXNlLFxyXG4gICAgZ3JpZFNwZWM6IHN0cmluZyxcclxuICAgIHNldHVwUXVlcnk6IGFueSB8IG51bGwsXHJcbiAgICBlbnRpdHlSZWZzOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgb3B0aW9uczogYW55KSA9PiB7XHJcblxyXG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XHJcbiAgICB2YXIgYXJncyA9IHtcclxuICAgICAgcnVuQXN5bmM6IGZhbHNlLFxyXG4gICAgICB1c2VOYW1lczogZmFsc2UsXHJcbiAgICAgIHVzZUVtcHR5VGFnczogZmFsc2UsXHJcbiAgICAgIGVudGl0eVJlZnM6IG51bGwgYXMgc3RyaW5nIHwgbnVsbCxcclxuICAgICAgZW50aXR5VHlwZU5hbWU6IGVudGl0eS5uYW1lLFxyXG4gICAgICBncmlkU3BlYzogZ3JpZFNwZWNcclxuICAgIH07XHJcbiAgICBpZiAob3B0aW9ucy5hc3luYylcclxuICAgICAgYXJncy5ydW5Bc3luYyA9IHRydWU7XHJcbiAgICBpZiAob3B0aW9ucy51c2VOYW1lcylcclxuICAgICAgYXJncy51c2VOYW1lcyA9IHRydWU7XHJcbiAgICBpZiAob3B0aW9ucy51c2VFbXB0eVRhZ3MpXHJcbiAgICAgIGFyZ3MudXNlRW1wdHlUYWdzID0gdHJ1ZTtcclxuICAgIHZhciBxdWVyeVRleHQ7XHJcbiAgICBpZiAob3B0aW9ucy51c2VHcmlkKSB7XHJcbiAgICAgIGFyZ3MuZW50aXR5UmVmcyA9IGVudGl0eVJlZnM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YXIgcXVlcnkgPSB0aGlzLl9icmVlemVDb250ZXh0LmNyZWF0ZVF1ZXJ5KCdub25hbWUnKTtcclxuICAgICAgaWYgKHNldHVwUXVlcnkpXHJcbiAgICAgICAgcXVlcnkgPSBzZXR1cFF1ZXJ5KHF1ZXJ5KTtcclxuICAgICAgaWYgKHF1ZXJ5ID09PSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi53YXJuaW5nKCdObyByZWNvcmRzIHNlbGVjdGVkIGJ5IHF1ZXJ5Jyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHF1ZXJ5VGV4dCA9IHF1ZXJ5Ll90b1VyaSh0aGlzLl9lbnRpdHlNYW5hZ2VyKTtcclxuICAgICAgICBxdWVyeVRleHQgPSBxdWVyeVRleHQuc3BsaXQoJz8nKVsxXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudWlOb3RpZmljYXRpb24uaW5mbyhhcmdzLnJ1bkFzeW5jID8gJ1F1ZXVpbmcgZXhwb3J0Li4uJyA6ICdFeHBvcnRpbmcuLi4nKTtcclxuXHJcbiAgICBsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICBpZiAoeGhyLnJlYWR5U3RhdGUgPT0gWE1MSHR0cFJlcXVlc3QuRE9ORSkge1xyXG4gICAgICAgIGlmICh4aHIuc3RhdHVzID09IDIwMCkge1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh4aHIucmVzcG9uc2VUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB4aHIub3BlbignUE9TVCcsIHRoaXMuX2Jhc2VVcmwgKyAnL2FwaS9leHBvcnQvZXhlY3V0ZScpO1xyXG4gICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PVVURi04Jyk7XHJcbiAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcclxuICAgIHhoci5zZW5kKEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgdXNlclJlZjogdGhpcy51c2VyLmFjdGl2ZVVzZXJSZWYsXHJcbiAgICAgIHJ1bkFzeW5jOiBhcmdzLnJ1bkFzeW5jLFxyXG4gICAgICB1c2VOYW1lczogYXJncy51c2VOYW1lcyxcclxuICAgICAgdXNlRW1wdHlUYWdzOiBhcmdzLnVzZUVtcHR5VGFncyxcclxuICAgICAgZW50aXR5UmVmczogYXJncy5lbnRpdHlSZWZzLFxyXG4gICAgICBlbnRpdHlUeXBlTmFtZTogYXJncy5lbnRpdHlUeXBlTmFtZSxcclxuICAgICAgZ3JpZFNwZWM6IGFyZ3MuZ3JpZFNwZWMsXHJcbiAgICAgIHF1ZXJ5OiBxdWVyeVRleHRcclxuICAgIH0pKVxyXG4gIH07XHJcblxyXG4gIGRvd25sb2FkRnJvbVVybCA9ICh1cmw6IHN0cmluZywgZGF0YTogYW55KSA9PiB7XHJcbiAgICB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLl9iYXNlVXJsICsgdXJsLCBKU09OLnN0cmluZ2lmeShkYXRhKSwge1xyXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCcgfSxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLFxyXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnXHJcbiAgICB9KVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7IHRoaXMuc2F2ZURvd25sb2FkZWRGaWxlKHJlc3BvbnNlKTsgfSxcclxuICAgICAgICBlcnJvcjogKGV4OiBhbnkpID0+IHsgY29uc29sZS5sb2coJ2Vycm9yJywgdGhpcy51aU5vdGlmaWNhdGlvbi5lcnJvcignU2VydmVyIEVycm9yOiAnICsgZXguc3RhdHVzLCBbZXguZXJyb3IuTWVzc2FnZV0pKSB9XHJcbiAgICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIGRvd25sb2FkRnJvbVNlcnZpY2UgPSAoc2VydmljZU5hbWU6IHN0cmluZywgZGF0YTogYW55KSA9PiB7XHJcbiAgICB0aGlzLmRvd25sb2FkRnJvbVVybChzZXJ2aWNlTmFtZSwgZGF0YSk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgKiBSZXF1ZXN0IGFuIGFjdGlvbi5cclxuICAqIEBwYXJhbSB7c3RyaW5nfSBhY3Rpb25OYW1lIC0gTmFtZSBvZiB0aGUgYWN0aW9uLlxyXG4gICogQHBhcmFtIHtzdHJpbmd9IGVudGl0eVJlZnMgLSBDb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBlbnRpdHkgcGtleSB2YWx1ZXMuXHJcbiAgKiBAcmV0dXJucyB7cHJvbWlzZX0gb24gc3VjY2VzcywgcGFzc2VzIHRoZSByZXN1bHRzIHRvIHN1Y2Nlc3MgaGFuZGxlcjsgXHJcbiAgKiAgICAgIG9uIGZhaWx1cmUsIHBhc3NlcyBleGNlcHRpb24gdG8gZmFpbCBoYW5kbGVyLlxyXG4gICovXHJcbiAgcmVxdWVzdEFjdGlvbiA9IChhY3Rpb25OYW1lOiBzdHJpbmcsIGVudGl0eVJlZnM6IHN0cmluZykgPT4ge1xyXG4gICAgdmFyIHF1ZXJ5ID0gdGhpcy5fYnJlZXplQ29udGV4dC5jcmVhdGVRdWVyeSgnUmVxdWVzdEFjdGlvbicgKyBhY3Rpb25OYW1lKVxyXG4gICAgLndpdGhQYXJhbWV0ZXJzKHtcclxuICAgICAgJG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAkZW5jb2Rpbmc6ICdKU09OJyxcclxuICAgICAgJGRhdGE6IHsgcmVmczogZW50aXR5UmVmcyB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkZWZlcigoKSA9PiBmcm9tKHRoaXMuX2VudGl0eU1hbmFnZXIuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5KS50aGVuKChxdWVyeURhdGE6IGFueSkgPT4geztcclxuICAgICAgcmV0dXJuIHF1ZXJ5RGF0YS5yZXN1bHRzO1xyXG4gICAgfSkpKTtcclxuYGB9XHJcblxyXG4gIHByaXZhdGUgc2F2ZURvd25sb2FkZWRGaWxlID0gYXN5bmMgKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgdmFyIGNvbnRlbnREaXNwb3NpdGlvbiA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LWRpc3Bvc2l0aW9uJyk7XHJcbiAgICBpZiAoIWNvbnRlbnREaXNwb3NpdGlvbilcclxuICAgICAgcmV0dXJuOyAvLyBOT1RFOiBjYW5ub3Qgc2F2ZSB3aXRob3V0IGhlYWRlciBpbmZvXHJcbiAgICB2YXIgZmlsZW5hbWUgPSB0aGlzLmV4dHJhY3RGaWxlbmFtZUZyb21Db250ZW50RGlzcG9zaXRpb24oY29udGVudERpc3Bvc2l0aW9uKTtcclxuICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHJlc3BvbnNlLmJvZHk7XHJcbiAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKSBhcyBzdHJpbmcgfSk7XHJcbiAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlbmFtZSk7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICBsaW5rLnJlbW92ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0RmlsZW5hbWVGcm9tQ29udGVudERpc3Bvc2l0aW9uID0gKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgdmFyIHBhcnRzID0gXy5tYXAodGV4dC5zcGxpdCgnOycpLCBmdW5jdGlvbiAocGFydCkgeyByZXR1cm4gcGFydC50cmltKCk7IH0pO1xyXG4gICAgdmFyIHByZWZpeCA9ICdmaWxlbmFtZT0nO1xyXG4gICAgdmFyIGZpbGVuYW1lUGFydCA9IF8uZmluZChwYXJ0cywgZnVuY3Rpb24gKHBhcnQpIHsgcmV0dXJuIHBhcnQuc3Vic3RyaW5nKDAsIHByZWZpeC5sZW5ndGgpID09PSBwcmVmaXggfSk7XHJcbiAgICBpZiAoIWZpbGVuYW1lUGFydClcclxuICAgICAgcmV0dXJuICdmaWxlJztcclxuICAgIHZhciBmaWxlbmFtZSA9IGZpbGVuYW1lUGFydC5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XHJcbiAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLnJlcGxhY2UoL1wiL2csICcnKTtcclxuICAgIHJldHVybiBmaWxlbmFtZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1176,7 +1176,7 @@ class TruEntityAccessor {
|
|
|
1176
1176
|
if (!contentDisposition)
|
|
1177
1177
|
return; // NOTE: cannot save without header info
|
|
1178
1178
|
var filename = this.extractFilenameFromContentDisposition(contentDisposition);
|
|
1179
|
-
const buffer = await response.
|
|
1179
|
+
const buffer = await response.body;
|
|
1180
1180
|
var blob = new Blob([buffer], { type: response.headers.get('content-type') });
|
|
1181
1181
|
var link = document.createElement('a');
|
|
1182
1182
|
link.href = URL.createObjectURL(blob);
|
|
@@ -9395,6 +9395,9 @@ const SELECT_ALL_ICON = `
|
|
|
9395
9395
|
const SORT_ICON = `
|
|
9396
9396
|
<svg height="20" viewBox="0 -960 960 960" width="24"><path d="M440-120v-567l-64 63-56-56 160-160 160 160-56 56-64-63v567h-80Z"/></svg>
|
|
9397
9397
|
`;
|
|
9398
|
+
const CHANGE_PASSWORD_ICON = `
|
|
9399
|
+
<svg height="20px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M480-480Zm0 400q-139-35-229.5-159.5T160-516v-244l320-120 320 120v262q0 9-1 19h-81q1-10 1.5-19t.5-18v-189l-240-90-240 90v189q0 121 68 220t172 132v84Zm200 0v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Z"/></svg>
|
|
9400
|
+
`;
|
|
9398
9401
|
class TruIconModule {
|
|
9399
9402
|
constructor(sanitizer, iconRegistry) {
|
|
9400
9403
|
iconRegistry.addSvgIconLiteral("go-to-icon", sanitizer.bypassSecurityTrustHtml(GO_TO_ICON));
|
|
@@ -9407,6 +9410,7 @@ class TruIconModule {
|
|
|
9407
9410
|
iconRegistry.addSvgIconLiteral("unlink-icon", sanitizer.bypassSecurityTrustHtml(UNLINK_ICON));
|
|
9408
9411
|
iconRegistry.addSvgIconLiteral("select-all-icon", sanitizer.bypassSecurityTrustHtml(SELECT_ALL_ICON));
|
|
9409
9412
|
iconRegistry.addSvgIconLiteral("sort-icon", sanitizer.bypassSecurityTrustHtml(SORT_ICON));
|
|
9413
|
+
iconRegistry.addSvgIconLiteral("change-password-icon", sanitizer.bypassSecurityTrustHtml(CHANGE_PASSWORD_ICON));
|
|
9410
9414
|
}
|
|
9411
9415
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruIconModule, deps: [{ token: i1$6.DomSanitizer }, { token: i2$1.MatIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9412
9416
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: TruIconModule, imports: [CommonModule, FormsModule] });
|