@senior-gestao-pessoas/payroll-core 9.3.0-ce4e33bc-a617-435b-b394-9a9e3ca226f4 → 9.3.0-d3341f01-2532-4915-b7ea-ac938a442b19
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/bundles/senior-gestao-pessoas-payroll-core.umd.js +13 -0
- package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
- package/components/historical-pix-account/historical-pix-account.component.d.ts +1 -0
- package/esm2015/components/historical-pix-account/historical-pix-account.component.js +14 -1
- package/esm5/components/historical-pix-account/historical-pix-account.component.js +14 -1
- package/fesm2015/senior-gestao-pessoas-payroll-core.js +13 -0
- package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-payroll-core.js +13 -0
- package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/package.json +1 -1
- package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
|
@@ -25,6 +25,7 @@ export declare class HistoricalPixAccountComponent implements OnInit, OnDestroy,
|
|
|
25
25
|
paramsForm: FormGroup;
|
|
26
26
|
defaultCpfNumber: string;
|
|
27
27
|
permission: object;
|
|
28
|
+
listDataReciever: any[];
|
|
28
29
|
isOnlyView: EventEmitter<any>;
|
|
29
30
|
isOnlyEdit: EventEmitter<any>;
|
|
30
31
|
isOnlyDelete: EventEmitter<any>;
|
|
@@ -20,6 +20,7 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
|
|
|
20
20
|
this.isViewMode = false;
|
|
21
21
|
this.withSideBar = true;
|
|
22
22
|
this.defaultCpfNumber = null;
|
|
23
|
+
this.listDataReciever = [];
|
|
23
24
|
this.isOnlyView = new EventEmitter();
|
|
24
25
|
this.isOnlyEdit = new EventEmitter();
|
|
25
26
|
this.isOnlyDelete = new EventEmitter();
|
|
@@ -76,6 +77,11 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
|
|
|
76
77
|
}
|
|
77
78
|
else {
|
|
78
79
|
this.isOnlyEdit.emit(true);
|
|
80
|
+
if (!this.listDataReciever && this.listDataReciever.length == 0) {
|
|
81
|
+
rowData["index"] = key;
|
|
82
|
+
this.pixAccountItemInput = { currentItem: rowData, listData: this.listDataNoPage, isEditMode: true };
|
|
83
|
+
this.visible = true;
|
|
84
|
+
}
|
|
79
85
|
}
|
|
80
86
|
},
|
|
81
87
|
},
|
|
@@ -89,6 +95,10 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
|
|
|
89
95
|
}
|
|
90
96
|
else {
|
|
91
97
|
this.isOnlyDelete.emit(true);
|
|
98
|
+
if (!this.listDataReciever && this.listDataReciever.length == 0) {
|
|
99
|
+
this.loading = true;
|
|
100
|
+
this.deleteAnnuityItem(key);
|
|
101
|
+
}
|
|
92
102
|
}
|
|
93
103
|
},
|
|
94
104
|
},
|
|
@@ -346,6 +356,9 @@ tslib_1.__decorate([
|
|
|
346
356
|
tslib_1.__decorate([
|
|
347
357
|
Input()
|
|
348
358
|
], HistoricalPixAccountComponent.prototype, "permission", void 0);
|
|
359
|
+
tslib_1.__decorate([
|
|
360
|
+
Input()
|
|
361
|
+
], HistoricalPixAccountComponent.prototype, "listDataReciever", void 0);
|
|
349
362
|
tslib_1.__decorate([
|
|
350
363
|
Output()
|
|
351
364
|
], HistoricalPixAccountComponent.prototype, "isOnlyView", void 0);
|
|
@@ -376,4 +389,4 @@ HistoricalPixAccountComponent = tslib_1.__decorate([
|
|
|
376
389
|
})
|
|
377
390
|
], HistoricalPixAccountComponent);
|
|
378
391
|
export { HistoricalPixAccountComponent };
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvaGlzdG9yaWNhbC1waXgtYWNjb3VudC9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTdDLElBQWEsNkJBQTZCLEdBQTFDLE1BQWEsNkJBQTZCO0lBcUh0QyxZQUNZLGdCQUFrQyxFQUNsQyxFQUFxQixFQUNyQixXQUF3QixFQUN4QixjQUE4QjtRQUg5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxD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QUMyQjtBQUVuQztJQURDLEtBQUssRUFBRTtpRUFDcUI7QUFFN0I7SUFEQyxLQUFLLEVBQUU7dUVBQytCO0FBRXZDO0lBREMsS0FBSyxFQUFFO2lFQUNrQjtBQUcxQjtJQURDLE1BQU0sRUFBRTtpRUFDMEQ7QUFFbkU7SUFEQyxNQUFNLEVBQUU7aUVBQzBEO0FBRW5FO0lBREMsTUFBTSxFQUFFO21FQUM0RDtBQXNQckU7SUFEQyxLQUFLLEVBQUU7K0RBR1A7QUFVRDtJQURDLEtBQUssRUFBRTtzRUFHUDtBQVVEO0lBREMsS0FBSyxFQUFFO2dFQU1QO0FBR0Q7SUFEQyxLQUFLLEVBQUU7NERBR1A7QUFqVVEsNkJBQTZCO0lBTnpDLFNBQVMsQ0FBQztRQUNQLDhDQUE4QztRQUM5QyxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLDRyUUFBc0Q7O0tBRXpELENBQUM7R0FDVyw2QkFBNkIsQ0FrWHpDO1NBbFhZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgSW5wdXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ3VzdG9tRmllbGRzQ29tcG9uZW50LCBOdW1iZXJMb2NhbGVPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IGNvbXBhcmVWYWx1ZXMsIGlzVmFsaWQsIG1vdW50Q3VzdG9tVG9TYXZlIH0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcbmltcG9ydCB7IERpcmVjdGlvbkVudW1lcmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bXNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRm9ybWF0VXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL2Zvcm1hdC11dGlscy9mb3JtYXQtdXRpbHMuc2VydmljZVwiO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiBcImMtaGlzdG9yaWNhbC1waXgtYWNjb3VudFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vaGlzdG9yaWNhbC1waXgtYWNjb3VudC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBIaXN0b3JpY2FsUGl4QWNjb3VudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKEN1c3RvbUZpZWxkc0NvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRzQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkRm9ybUdyb3VwOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgX2RhdGVDaGFuZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBfZGlzcGxheURhdGVDaGFuZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWNvcmRCeVJvdzogbnVtYmVyID0gMTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93RGF0ZUNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1zZ1Rvb2x0aXBBZGQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0VkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNWaWV3TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1cnJlbmN5OiBOdW1iZXJMb2NhbGVPcHRpb25zO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1c3RvbUVudGl0eTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1c3RvbVNlcnZpY2U6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB3aXRoU2lkZUJhcjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFyYW1zRm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlZmF1bHRDcGZOdW1iZXI6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGVybWlzc2lvbjogb2JqZWN0O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzT25seVZpZXc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc09ubHlFZGl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5RGVsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBoaXN0b3JpY2FsUGl4QWNjb3VudExpc3Q6IEZvcm1Hcm91cDtcbiAgICBwcml2YXRlIG9yZGVyQnk6IHsgZmllbGQ6IHN0cmluZzsgZGlyZWN0aW9uOiBEaXJlY3Rpb25FbnVtZXJhdGlvbiB9ID0ge1xuICAgICAgICBmaWVsZDogXCJkYXRlQ2hhbmdlXCIsXG4gICAgICAgIGRpcmVjdGlvbjogRGlyZWN0aW9uRW51bWVyYXRpb24uREVTQyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZTogYm9vbGVhbjtcbiAgICBwdWJsaWMgcGl4QWNjb3VudEl0ZW1JbnB1dDogb2JqZWN0ID0ge307XG4gICAgcHVibGljIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgYWN0aW9uTGFiZWw6IHN0cmluZyA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW50cmllc19xdWVyeV9hY3Rpb25zX3RvdGFsX3RpdGxlXCIpO1xuICAgIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcbiAgICBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xuICAgIHB1YmxpYyBtc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlOiBzdHJpbmc7XG4gICAgcHVibGljIGxpc3REYXRhOiBvYmplY3RbXSA9IFtdO1xuICAgIHB1YmxpYyBsaXN0RGF0YU5vUGFnZTogb2JqZWN0W10gPSBbXTtcbiAgICBwdWJsaWMgY29scyA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3BpeF9rZXlfdHlwZVwiKSxcbiAgICAgICAgICAgIGZpZWxkOiBcInBpeEtleVR5cGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3BpeF9rZXlcIiksXG4gICAgICAgICAgICBmaWVsZDogXCJwaXhLZXlcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuaGlzdG9yaWNhbF9waXhfYWNjb3VudF9sYWJlbF9wZXJjZW50YWdlXCIpLFxuICAgICAgICAgICAgZmllbGQ6IFwicGVyY2VudGFnZVwiLFxuICAgICAgICB9LFxuICAgIF07XG4gICAgYWN0aW9ucyA9IChyb3dEYXRhOiBhbnkgPSB7fSwga2V5OiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLmlzRWRpdE1vZGUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2ltYWdlX2Nyb3BwZXJfdmlld1wiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWxsb3dUb1ZpZXdIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3dEYXRhW1wiaW5kZXhcIl0gPSBrZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBpeEFjY291bnRJdGVtSW5wdXQgPSB7IGN1cnJlbnRJdGVtOiByb3dEYXRhLCBsaXN0RGF0YTogdGhpcy5saXN0RGF0YU5vUGFnZSwgaXNFZGl0TW9kZTogZmFsc2UgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT25seVZpZXcuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZpc2libGU6ICEhKCF0aGlzLmlzRWRpdE1vZGUgJiYgdGhpcy53aXRoU2lkZUJhciksXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZWRpdFwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWxsb3dUb0VkaXRIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3dEYXRhW1wiaW5kZXhcIl0gPSBrZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBpeEFjY291bnRJdGVtSW5wdXQgPSB7IGN1cnJlbnRJdGVtOiByb3dEYXRhLCBsaXN0RGF0YTogdGhpcy5saXN0RGF0YU5vUGFnZSwgaXNFZGl0TW9kZTogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5RWRpdC5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmlzaWJsZTogIXRoaXMuaXNFZGl0TW9kZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5kZWxldGVcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FsbG93VG9EZWxldGVIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGVBbm51aXR5SXRlbShrZXkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09ubHlEZWxldGUuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2wodGhpcy5maWVsZEZvcm1Hcm91cCwgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxhenlMb2FkKGV2ZW50PzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gZXZlbnQgJiYgZXZlbnQuZmlyc3QgPyBldmVudC5maXJzdCA6IDA7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBldmVudCAmJiBldmVudC5yb3dzID8gZXZlbnQucm93cyA6IHRoaXMucmVjb3JkQnlSb3c7XG4gICAgICAgIGNvbnN0IGFyckxpc3QgPSB0aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpO1xuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XG4gICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gbnVsbDtcblxuICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQubXVsdGlTb3J0TWV0YSAmJiBldmVudC5tdWx0aVNvcnRNZXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgZXZlbnQubXVsdGlTb3J0TWV0YS5tYXAoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyQnkuZmllbGQgPSB2YWx1ZS5maWVsZDtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyQnkuZGlyZWN0aW9uID0gdmFsdWUub3JkZXIgPT09IDEgPyBEaXJlY3Rpb25FbnVtZXJhdGlvbi5BU0MgOiBEaXJlY3Rpb25FbnVtZXJhdGlvbi5ERVNDO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJyTGlzdCAmJiBhcnJMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSBhcnJMaXN0Lmxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBhcnJMaXN0O1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YU5vUGFnZSA9IFsuLi5hcnJMaXN0XTtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEuc29ydChjb21wYXJlVmFsdWVzKHRoaXMub3JkZXJCeS5maWVsZCwgdGhpcy5vcmRlckJ5LmRpcmVjdGlvbikpO1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IHRoaXMubGlzdERhdGEuc2xpY2UoZmlyc3QsIChmaXJzdCArIHJvd3MpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGFOb1BhZ2UgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRWRpdE1vZGUgfHwgYXJyTGlzdCAmJiBhcnJMaXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoQ3NzSW5JRTExKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVtIEJ1ZyBkZSBDU1MgcXVlIGFjb250ZWNlIG5hcyBsaW5oYXMgZGEgdGFiZWxhLCBxdWUgcmVzb2x2ZSBzw7MgYXR1YWxpemFuZG8gcXVhbHF1ZXIgcGFydGUgZG8gQ1NTIGRhIHBhZ2luYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlZnJlc2hDc3NJbklFMTEoKSB7XG4gICAgICAgIGlmICgvbXNpZVxcc3x0cmlkZW50XFwvfGVkZ2VcXC8vaS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJyb3cwXCIpO1xuICAgICAgICAgICAgICAgIGlmIChyb3cgJiYgcm93WzBdKVxuICAgICAgICAgICAgICAgICAgICByb3dbMF0uY2xhc3NOYW1lID0gJ3JlZnJlc2gnO1xuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBpeEFjY291bnRJdGVtSW5wdXQgPSB7fTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTm90QWxsb3dNZXNzYWdlKCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lcnJvclwiKSxcbiAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5wZXJtaXNzaW9uX2Vycm9yX25vdF9hbGxvd2VkXCIpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUFubnVpdHlJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IG5ld2xpc3QgPSBbLi4udGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKV07XG4gICAgICAgIG5ld2xpc3Quc29ydChjb21wYXJlVmFsdWVzKHRoaXMub3JkZXJCeS5maWVsZCwgdGhpcy5vcmRlckJ5LmRpcmVjdGlvbikpO1xuICAgICAgICBkZWxldGUgbmV3bGlzdFtpbmRleF07XG4gICAgICAgIG5ld2xpc3QgPSBuZXdsaXN0LmZpbHRlcih2YWwgPT4gdmFsKTtcbiAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnNldFZhbHVlKG5ld2xpc3QpO1xuICAgICAgICB0aGlzLnZlcmlmeVRvdGFsUGVyY2VudGFnZSgpO1xuICAgICAgICB0aGlzLm9uTGF6eUxvYWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCk6IG9iamVjdFtdIHtcbiAgICAgICAgaWYgKHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKSAmJlxuICAgICAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnZhbHVlICYmXG4gICAgICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikudmFsdWUubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKSAmJiB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikudmFsdWU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSXRlbUluTGlzdCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9ICRldmVudCAmJiAkZXZlbnQuaW5kZXggPj0gMCA/ICRldmVudC5pbmRleCA6IG51bGw7XG4gICAgICAgIGNvbnN0IG5ld0RhdGFMaXN0ID0gdGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKSA/IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCkgOiBbXTtcblxuICAgICAgICBpZiAoaW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgbmV3RGF0YUxpc3RbaW5kZXhdID0gJGV2ZW50O1xuICAgICAgICAgICAgZGVsZXRlICRldmVudC5pbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkKCRldmVudFtcImN1c3RvbUZpZWxkc1wiXSkgJiYgT2JqZWN0LmtleXMoJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXN0b21WYWx1ZSA9IG1vdW50Q3VzdG9tVG9TYXZlKCRldmVudFtcImN1c3RvbUZpZWxkc1wiXSk7XG4gICAgICAgICAgICAgICAgJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdID0gWy4uLmN1c3RvbVZhbHVlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRldmVudFtcImRhdGVDaGFuZ2VcIl0gPSB0aGlzLmRhdGVDaGFuZ2U7XG4gICAgICAgICAgICBuZXdEYXRhTGlzdC5wdXNoKCRldmVudCk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnNldFZhbHVlKG5ld0RhdGFMaXN0KTtcbiAgICAgICAgdGhpcy52ZXJpZnlUb3RhbFBlcmNlbnRhZ2UoKTtcbiAgICAgICAgdGhpcy5vbkxhenlMb2FkKHsgZmlyc3Q6IHRoaXMuZ2V0TnVtYmVyUGFnZUJ5SW5kZXgoaW5kZXgsIG5ld0RhdGFMaXN0KSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE51bWJlclBhZ2VCeUluZGV4KGluZGV4OiBudW1iZXIsIGxpc3Q6IG9iamVjdFtdKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGluZGV4KSB7XG4gICAgICAgICAgICBjb25zdCB0b3RhbCA9IGxpc3QubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgc3ViID0gdGhpcy5yZWNvcmRCeVJvdyAtIDE7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHRvdGFsIC8gdGhpcy5yZWNvcmRCeVJvdykgKiB0aGlzLnJlY29yZEJ5Um93IC0gc3ViIC0gMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcmlmeVRvdGFsUGVyY2VudGFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCkgPyB0aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpIDogW107XG4gICAgICAgIGNvbnN0IGFycmF5UGVyY2VudGFnZTogYW55ID0gW107XG5cbiAgICAgICAgaWYgKCFsaXN0Lmxlbmd0aCkgcmV0dXJuIHRoaXMubXNnVG90YWxMaW1pdEJ5UGVyY2VudGFnZSA9IG51bGw7XG5cbiAgICAgICAgbGlzdC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gYXJyYXlQZXJjZW50YWdlLnB1c2goaXRlbSAmJiBpdGVtW1wicGVyY2VudGFnZVwiXSkpO1xuXG4gICAgICAgIGNvbnN0IHN1bVBlcmNlbnRhZ2UgPSBhcnJheVBlcmNlbnRhZ2UucmVkdWNlKCh0b3RhbDogbnVtYmVyLCBwZXJjZW50YWdlOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0b3RhbCArIHBlcmNlbnRhZ2U7XG4gICAgICAgIH0sIDApO1xuXG4gICAgICAgIGlmIChzdW1QZXJjZW50YWdlID09PSAxMDApIHtcbiAgICAgICAgICAgIHRoaXMubXNnVG90YWxMaW1pdEJ5UGVyY2VudGFnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuaGlzdG9yaWNhbF9waXhfYWNjb3VudF9tc2dfbGltaXRfdG90YWxfYnlfcGVyY2VudGFnZVwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubXNnVG90YWxMaW1pdEJ5UGVyY2VudGFnZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2NvcGVkQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucy5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVjb3Jkc01lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiBgJHsgdGhpcy50b3RhbFJlY29yZHMgfHwgMCB9ICR7IHRoaXMudG90YWxSZWNvcmRzID09PSAxID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5hZG1pc3Npb25fcmVnaXN0ZXJcIikgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmFkbWlzc2lvbl9yZWdpc3RlcnNcIikgfWA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBnZXRUb29sdGlwQW5kRGlzYWJsZUJ1dHRvbkFkZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUNoYW5nZSA/IG51bGwgOiB0aGlzLm1zZ1Rvb2x0aXBBZGQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGRhdGVDaGFuZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkYXRlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZGF0ZUNoYW5nZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fZGF0ZUNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YS5maWx0ZXIoKHJvdzogYW55KSA9PiByb3dbXCJkYXRlQ2hhbmdlXCJdID0gdGhpcy5fZGF0ZUNoYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZGlzcGxheURhdGVDaGFuZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlEYXRlQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGlzcGxheURhdGVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9kaXNwbGF5RGF0ZUNoYW5nZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fZGlzcGxheURhdGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEuZmlsdGVyKChyb3c6IGFueSkgPT4gcm93W1wiZGlzcGxheURhdGVDaGFuZ2VcIl0gPSB0aGlzLl9kaXNwbGF5RGF0ZUNoYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgYWRkTGlzdERhdGEobGlzdDogb2JqZWN0W10pIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnBhdGNoVmFsdWUobGlzdCk7XG4gICAgICAgIHRoaXMudmVyaWZ5VG90YWxQZXJjZW50YWdlKCk7XG4gICAgICAgIHRoaXMub25MYXp5TG9hZCgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLnZpc2libGUpO1xuICAgIH1cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRUZWxlcGhvbmVOdW1iZXIodGVsZXBob25lTnVtYmVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZFRlbGVwaG9uZU51bWJlcih0ZWxlcGhvbmVOdW1iZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRDcGYoY3BmOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZENwZihjcGYpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRDbnBqKGNucGo6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ25waihjbnBqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUGVyY2VudGFnZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEZvcm1hdFV0aWxzU2VydmljZS5nZXRGb3JtYXR0ZWRQZXJjZW50YWdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9BZGRIaXN0b3JpY2FsKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uW1wiaW5jbHVpclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb0RlbGV0ZUhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJleGNsdWlyXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvRWRpdEhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJlZGl0YXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9WaWV3SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcInZpc3VhbGl6YXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
392
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvaGlzdG9yaWNhbC1waXgtYWNjb3VudC9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTdDLElBQWEsNkJBQTZCLEdBQTFDLE1BQWEsNkJBQTZCO0lBZ0l0QyxZQUNZLGdCQUFrQyxFQUNsQyxFQUFxQixFQUNyQixXQUF3QixFQUN4QixjQUE4QjtRQUg5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxD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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIElucHV0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25EZXN0cm95LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPdXRwdXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEN1c3RvbUZpZWxkc0NvbXBvbmVudCwgTnVtYmVyTG9jYWxlT3B0aW9ucyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBjb21wYXJlVmFsdWVzLCBpc1ZhbGlkLCBtb3VudEN1c3RvbVRvU2F2ZSB9IGZyb20gXCIuLi91dGlscy9oZWxwZXJzXCI7XG5pbXBvcnQgeyBEaXJlY3Rpb25FbnVtZXJhdGlvbiB9IGZyb20gXCIuLi8uLi9jb3JlL2VudW1zXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEZvcm1hdFV0aWxzU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9mb3JtYXQtdXRpbHMvZm9ybWF0LXV0aWxzLnNlcnZpY2VcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogXCJjLWhpc3RvcmljYWwtcGl4LWFjY291bnRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vaGlzdG9yaWNhbC1waXgtYWNjb3VudC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgSGlzdG9yaWNhbFBpeEFjY291bnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChDdXN0b21GaWVsZHNDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBjdXN0b21GaWVsZHM6IEN1c3RvbUZpZWxkc0NvbXBvbmVudDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWVsZEZvcm1Hcm91cDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIF9kYXRlQ2hhbmdlOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgX2Rpc3BsYXlEYXRlQ2hhbmdlOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVjb3JkQnlSb3c6IG51bWJlciA9IDE7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0RhdGVDaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtc2dUb29sdGlwQWRkOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNFZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzVmlld01vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXJyZW5jeTogTnVtYmVyTG9jYWxlT3B0aW9ucztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXN0b21FbnRpdHk6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXN0b21TZXJ2aWNlOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgd2l0aFNpZGVCYXI6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhcmFtc0Zvcm06IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZWZhdWx0Q3BmTnVtYmVyOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBlcm1pc3Npb246IG9iamVjdDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaXN0RGF0YVJlY2lldmVyOiBhbnlbXSA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzT25seVZpZXc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc09ubHlFZGl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5RGVsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBoaXN0b3JpY2FsUGl4QWNjb3VudExpc3Q6IEZvcm1Hcm91cDtcbiAgICBwcml2YXRlIG9yZGVyQnk6IHsgZmllbGQ6IHN0cmluZzsgZGlyZWN0aW9uOiBEaXJlY3Rpb25FbnVtZXJhdGlvbiB9ID0ge1xuICAgICAgICBmaWVsZDogXCJkYXRlQ2hhbmdlXCIsXG4gICAgICAgIGRpcmVjdGlvbjogRGlyZWN0aW9uRW51bWVyYXRpb24uREVTQyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZTogYm9vbGVhbjtcbiAgICBwdWJsaWMgcGl4QWNjb3VudEl0ZW1JbnB1dDogb2JqZWN0ID0ge307XG4gICAgcHVibGljIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgYWN0aW9uTGFiZWw6IHN0cmluZyA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW50cmllc19xdWVyeV9hY3Rpb25zX3RvdGFsX3RpdGxlXCIpO1xuICAgIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcbiAgICBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xuICAgIHB1YmxpYyBtc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlOiBzdHJpbmc7XG4gICAgcHVibGljIGxpc3REYXRhOiBvYmplY3RbXSA9IFtdO1xuICAgIHB1YmxpYyBsaXN0RGF0YU5vUGFnZTogb2JqZWN0W10gPSBbXTtcbiAgICBwdWJsaWMgY29scyA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3BpeF9rZXlfdHlwZVwiKSxcbiAgICAgICAgICAgIGZpZWxkOiBcInBpeEtleVR5cGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3BpeF9rZXlcIiksXG4gICAgICAgICAgICBmaWVsZDogXCJwaXhLZXlcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuaGlzdG9yaWNhbF9waXhfYWNjb3VudF9sYWJlbF9wZXJjZW50YWdlXCIpLFxuICAgICAgICAgICAgZmllbGQ6IFwicGVyY2VudGFnZVwiLFxuICAgICAgICB9LFxuICAgIF07XG4gICAgYWN0aW9ucyA9IChyb3dEYXRhOiBhbnkgPSB7fSwga2V5OiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLmlzRWRpdE1vZGUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2ltYWdlX2Nyb3BwZXJfdmlld1wiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWxsb3dUb1ZpZXdIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3dEYXRhW1wiaW5kZXhcIl0gPSBrZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBpeEFjY291bnRJdGVtSW5wdXQgPSB7IGN1cnJlbnRJdGVtOiByb3dEYXRhLCBsaXN0RGF0YTogdGhpcy5saXN0RGF0YU5vUGFnZSwgaXNFZGl0TW9kZTogZmFsc2UgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT25seVZpZXcuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZpc2libGU6ICEhKCF0aGlzLmlzRWRpdE1vZGUgJiYgdGhpcy53aXRoU2lkZUJhciksXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZWRpdFwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWxsb3dUb0VkaXRIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3dEYXRhW1wiaW5kZXhcIl0gPSBrZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBpeEFjY291bnRJdGVtSW5wdXQgPSB7IGN1cnJlbnRJdGVtOiByb3dEYXRhLCBsaXN0RGF0YTogdGhpcy5saXN0RGF0YU5vUGFnZSwgaXNFZGl0TW9kZTogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5RWRpdC5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmxpc3REYXRhUmVjaWV2ZXIgJiYgdGhpcy5saXN0RGF0YVJlY2lldmVyLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93RGF0YVtcImluZGV4XCJdID0ga2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEl0ZW1JbnB1dCA9IHsgY3VycmVudEl0ZW06IHJvd0RhdGEsIGxpc3REYXRhOiB0aGlzLmxpc3REYXRhTm9QYWdlLCBpc0VkaXRNb2RlOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZpc2libGU6ICF0aGlzLmlzRWRpdE1vZGUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZGVsZXRlXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlQW5udWl0eUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5RGVsZXRlLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubGlzdERhdGFSZWNpZXZlciAmJiB0aGlzLmxpc3REYXRhUmVjaWV2ZXIubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlQW5udWl0eUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2wodGhpcy5maWVsZEZvcm1Hcm91cCwgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxhenlMb2FkKGV2ZW50PzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gZXZlbnQgJiYgZXZlbnQuZmlyc3QgPyBldmVudC5maXJzdCA6IDA7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBldmVudCAmJiBldmVudC5yb3dzID8gZXZlbnQucm93cyA6IHRoaXMucmVjb3JkQnlSb3c7XG4gICAgICAgIGNvbnN0IGFyckxpc3QgPSB0aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpO1xuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XG4gICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gbnVsbDtcblxuICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQubXVsdGlTb3J0TWV0YSAmJiBldmVudC5tdWx0aVNvcnRNZXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgZXZlbnQubXVsdGlTb3J0TWV0YS5tYXAoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyQnkuZmllbGQgPSB2YWx1ZS5maWVsZDtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyQnkuZGlyZWN0aW9uID0gdmFsdWUub3JkZXIgPT09IDEgPyBEaXJlY3Rpb25FbnVtZXJhdGlvbi5BU0MgOiBEaXJlY3Rpb25FbnVtZXJhdGlvbi5ERVNDO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJyTGlzdCAmJiBhcnJMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSBhcnJMaXN0Lmxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBhcnJMaXN0O1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YU5vUGFnZSA9IFsuLi5hcnJMaXN0XTtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEuc29ydChjb21wYXJlVmFsdWVzKHRoaXMub3JkZXJCeS5maWVsZCwgdGhpcy5vcmRlckJ5LmRpcmVjdGlvbikpO1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IHRoaXMubGlzdERhdGEuc2xpY2UoZmlyc3QsIChmaXJzdCArIHJvd3MpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGFOb1BhZ2UgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRWRpdE1vZGUgfHwgYXJyTGlzdCAmJiBhcnJMaXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoQ3NzSW5JRTExKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVtIEJ1ZyBkZSBDU1MgcXVlIGFjb250ZWNlIG5hcyBsaW5oYXMgZGEgdGFiZWxhLCBxdWUgcmVzb2x2ZSBzw7MgYXR1YWxpemFuZG8gcXVhbHF1ZXIgcGFydGUgZG8gQ1NTIGRhIHBhZ2luYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlZnJlc2hDc3NJbklFMTEoKSB7XG4gICAgICAgIGlmICgvbXNpZVxcc3x0cmlkZW50XFwvfGVkZ2VcXC8vaS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJyb3cwXCIpO1xuICAgICAgICAgICAgICAgIGlmIChyb3cgJiYgcm93WzBdKVxuICAgICAgICAgICAgICAgICAgICByb3dbMF0uY2xhc3NOYW1lID0gJ3JlZnJlc2gnO1xuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBpeEFjY291bnRJdGVtSW5wdXQgPSB7fTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTm90QWxsb3dNZXNzYWdlKCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lcnJvclwiKSxcbiAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5wZXJtaXNzaW9uX2Vycm9yX25vdF9hbGxvd2VkXCIpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUFubnVpdHlJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IG5ld2xpc3QgPSBbLi4udGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKV07XG4gICAgICAgIG5ld2xpc3Quc29ydChjb21wYXJlVmFsdWVzKHRoaXMub3JkZXJCeS5maWVsZCwgdGhpcy5vcmRlckJ5LmRpcmVjdGlvbikpO1xuICAgICAgICBkZWxldGUgbmV3bGlzdFtpbmRleF07XG4gICAgICAgIG5ld2xpc3QgPSBuZXdsaXN0LmZpbHRlcih2YWwgPT4gdmFsKTtcbiAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnNldFZhbHVlKG5ld2xpc3QpO1xuICAgICAgICB0aGlzLnZlcmlmeVRvdGFsUGVyY2VudGFnZSgpO1xuICAgICAgICB0aGlzLm9uTGF6eUxvYWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCk6IG9iamVjdFtdIHtcbiAgICAgICAgaWYgKHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKSAmJlxuICAgICAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnZhbHVlICYmXG4gICAgICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikudmFsdWUubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKSAmJiB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikudmFsdWU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSXRlbUluTGlzdCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9ICRldmVudCAmJiAkZXZlbnQuaW5kZXggPj0gMCA/ICRldmVudC5pbmRleCA6IG51bGw7XG4gICAgICAgIGNvbnN0IG5ld0RhdGFMaXN0ID0gdGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKSA/IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCkgOiBbXTtcblxuICAgICAgICBpZiAoaW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgbmV3RGF0YUxpc3RbaW5kZXhdID0gJGV2ZW50O1xuICAgICAgICAgICAgZGVsZXRlICRldmVudC5pbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkKCRldmVudFtcImN1c3RvbUZpZWxkc1wiXSkgJiYgT2JqZWN0LmtleXMoJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXN0b21WYWx1ZSA9IG1vdW50Q3VzdG9tVG9TYXZlKCRldmVudFtcImN1c3RvbUZpZWxkc1wiXSk7XG4gICAgICAgICAgICAgICAgJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdID0gWy4uLmN1c3RvbVZhbHVlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRldmVudFtcImRhdGVDaGFuZ2VcIl0gPSB0aGlzLmRhdGVDaGFuZ2U7XG4gICAgICAgICAgICBuZXdEYXRhTGlzdC5wdXNoKCRldmVudCk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnNldFZhbHVlKG5ld0RhdGFMaXN0KTtcbiAgICAgICAgdGhpcy52ZXJpZnlUb3RhbFBlcmNlbnRhZ2UoKTtcbiAgICAgICAgdGhpcy5vbkxhenlMb2FkKHsgZmlyc3Q6IHRoaXMuZ2V0TnVtYmVyUGFnZUJ5SW5kZXgoaW5kZXgsIG5ld0RhdGFMaXN0KSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE51bWJlclBhZ2VCeUluZGV4KGluZGV4OiBudW1iZXIsIGxpc3Q6IG9iamVjdFtdKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGluZGV4KSB7XG4gICAgICAgICAgICBjb25zdCB0b3RhbCA9IGxpc3QubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgc3ViID0gdGhpcy5yZWNvcmRCeVJvdyAtIDE7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHRvdGFsIC8gdGhpcy5yZWNvcmRCeVJvdykgKiB0aGlzLnJlY29yZEJ5Um93IC0gc3ViIC0gMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcmlmeVRvdGFsUGVyY2VudGFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCkgPyB0aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpIDogW107XG4gICAgICAgIGNvbnN0IGFycmF5UGVyY2VudGFnZTogYW55ID0gW107XG5cbiAgICAgICAgaWYgKCFsaXN0Lmxlbmd0aCkgcmV0dXJuIHRoaXMubXNnVG90YWxMaW1pdEJ5UGVyY2VudGFnZSA9IG51bGw7XG5cbiAgICAgICAgbGlzdC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gYXJyYXlQZXJjZW50YWdlLnB1c2goaXRlbSAmJiBpdGVtW1wicGVyY2VudGFnZVwiXSkpO1xuXG4gICAgICAgIGNvbnN0IHN1bVBlcmNlbnRhZ2UgPSBhcnJheVBlcmNlbnRhZ2UucmVkdWNlKCh0b3RhbDogbnVtYmVyLCBwZXJjZW50YWdlOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0b3RhbCArIHBlcmNlbnRhZ2U7XG4gICAgICAgIH0sIDApO1xuXG4gICAgICAgIGlmIChzdW1QZXJjZW50YWdlID09PSAxMDApIHtcbiAgICAgICAgICAgIHRoaXMubXNnVG90YWxMaW1pdEJ5UGVyY2VudGFnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuaGlzdG9yaWNhbF9waXhfYWNjb3VudF9tc2dfbGltaXRfdG90YWxfYnlfcGVyY2VudGFnZVwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubXNnVG90YWxMaW1pdEJ5UGVyY2VudGFnZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2NvcGVkQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucy5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVjb3Jkc01lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiBgJHsgdGhpcy50b3RhbFJlY29yZHMgfHwgMCB9ICR7IHRoaXMudG90YWxSZWNvcmRzID09PSAxID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5hZG1pc3Npb25fcmVnaXN0ZXJcIikgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmFkbWlzc2lvbl9yZWdpc3RlcnNcIikgfWA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBnZXRUb29sdGlwQW5kRGlzYWJsZUJ1dHRvbkFkZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUNoYW5nZSA/IG51bGwgOiB0aGlzLm1zZ1Rvb2x0aXBBZGQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGRhdGVDaGFuZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkYXRlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZGF0ZUNoYW5nZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fZGF0ZUNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YS5maWx0ZXIoKHJvdzogYW55KSA9PiByb3dbXCJkYXRlQ2hhbmdlXCJdID0gdGhpcy5fZGF0ZUNoYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZGlzcGxheURhdGVDaGFuZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlEYXRlQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGlzcGxheURhdGVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9kaXNwbGF5RGF0ZUNoYW5nZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fZGlzcGxheURhdGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEuZmlsdGVyKChyb3c6IGFueSkgPT4gcm93W1wiZGlzcGxheURhdGVDaGFuZ2VcIl0gPSB0aGlzLl9kaXNwbGF5RGF0ZUNoYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgYWRkTGlzdERhdGEobGlzdDogb2JqZWN0W10pIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpLnBhdGNoVmFsdWUobGlzdCk7XG4gICAgICAgIHRoaXMudmVyaWZ5VG90YWxQZXJjZW50YWdlKCk7XG4gICAgICAgIHRoaXMub25MYXp5TG9hZCgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLnZpc2libGUpO1xuICAgIH1cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRUZWxlcGhvbmVOdW1iZXIodGVsZXBob25lTnVtYmVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZFRlbGVwaG9uZU51bWJlcih0ZWxlcGhvbmVOdW1iZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRDcGYoY3BmOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZENwZihjcGYpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRDbnBqKGNucGo6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ25waihjbnBqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUGVyY2VudGFnZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEZvcm1hdFV0aWxzU2VydmljZS5nZXRGb3JtYXR0ZWRQZXJjZW50YWdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9BZGRIaXN0b3JpY2FsKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uW1wiaW5jbHVpclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb0RlbGV0ZUhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJleGNsdWlyXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvRWRpdEhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJlZGl0YXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9WaWV3SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcInZpc3VhbGl6YXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -21,6 +21,7 @@ var HistoricalPixAccountComponent = /** @class */ (function () {
|
|
|
21
21
|
this.isViewMode = false;
|
|
22
22
|
this.withSideBar = true;
|
|
23
23
|
this.defaultCpfNumber = null;
|
|
24
|
+
this.listDataReciever = [];
|
|
24
25
|
this.isOnlyView = new EventEmitter();
|
|
25
26
|
this.isOnlyEdit = new EventEmitter();
|
|
26
27
|
this.isOnlyDelete = new EventEmitter();
|
|
@@ -78,6 +79,11 @@ var HistoricalPixAccountComponent = /** @class */ (function () {
|
|
|
78
79
|
}
|
|
79
80
|
else {
|
|
80
81
|
_this.isOnlyEdit.emit(true);
|
|
82
|
+
if (!_this.listDataReciever && _this.listDataReciever.length == 0) {
|
|
83
|
+
rowData["index"] = key;
|
|
84
|
+
_this.pixAccountItemInput = { currentItem: rowData, listData: _this.listDataNoPage, isEditMode: true };
|
|
85
|
+
_this.visible = true;
|
|
86
|
+
}
|
|
81
87
|
}
|
|
82
88
|
},
|
|
83
89
|
},
|
|
@@ -91,6 +97,10 @@ var HistoricalPixAccountComponent = /** @class */ (function () {
|
|
|
91
97
|
}
|
|
92
98
|
else {
|
|
93
99
|
_this.isOnlyDelete.emit(true);
|
|
100
|
+
if (!_this.listDataReciever && _this.listDataReciever.length == 0) {
|
|
101
|
+
_this.loading = true;
|
|
102
|
+
_this.deleteAnnuityItem(key);
|
|
103
|
+
}
|
|
94
104
|
}
|
|
95
105
|
},
|
|
96
106
|
},
|
|
@@ -394,6 +404,9 @@ var HistoricalPixAccountComponent = /** @class */ (function () {
|
|
|
394
404
|
tslib_1.__decorate([
|
|
395
405
|
Input()
|
|
396
406
|
], HistoricalPixAccountComponent.prototype, "permission", void 0);
|
|
407
|
+
tslib_1.__decorate([
|
|
408
|
+
Input()
|
|
409
|
+
], HistoricalPixAccountComponent.prototype, "listDataReciever", void 0);
|
|
397
410
|
tslib_1.__decorate([
|
|
398
411
|
Output()
|
|
399
412
|
], HistoricalPixAccountComponent.prototype, "isOnlyView", void 0);
|
|
@@ -426,4 +439,4 @@ var HistoricalPixAccountComponent = /** @class */ (function () {
|
|
|
426
439
|
return HistoricalPixAccountComponent;
|
|
427
440
|
}());
|
|
428
441
|
export { HistoricalPixAccountComponent };
|
|
429
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvaGlzdG9yaWNhbC1waXgtYWNjb3VudC9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTdDO0lBcUhJLHVDQUNZLGdCQUFrQyxFQUNsQyxFQUFxQixFQUNyQixXQUF3QixFQUN4QixjQUE4QjtRQUoxQyxpQkFPQztRQU5XLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FB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QUFFO3lFQUMrQjtJQUV2QztRQURDLEtBQUssRUFBRTt3RUFDcUI7SUFFN0I7UUFEQyxLQUFLLEVBQUU7cUVBQzJCO0lBRW5DO1FBREMsS0FBSyxFQUFFO3FFQUMyQjtJQUVuQztRQURDLEtBQUssRUFBRTttRUFDNkI7SUFFckM7UUFEQyxLQUFLLEVBQUU7dUVBQ29CO0lBRTVCO1FBREMsS0FBSyxFQUFFO3dFQUNxQjtJQUU3QjtRQURDLEtBQUssRUFBRTtzRUFDMkI7SUFFbkM7UUFEQyxLQUFLLEVBQUU7cUVBQ3FCO0lBRTdCO1FBREMsS0FBSyxFQUFFOzJFQUMrQjtJQUV2QztRQURDLEtBQUssRUFBRTtxRUFDa0I7SUFHMUI7UUFEQyxNQUFNLEVBQUU7cUVBQzBEO0lBRW5FO1FBREMsTUFBTSxFQUFFO3FFQUMwRDtJQUVuRTtRQURDLE1BQU0sRUFBRTt1RUFDNEQ7SUFzUHJFO1FBREMsS0FBSyxFQUFFO21FQUdQO0lBVUQ7UUFEQyxLQUFLLEVBQUU7MEVBR1A7SUFVRDtRQURDLEtBQUssRUFBRTtvRUFNUDtJQUdEO1FBREMsS0FBSyxFQUFFO2dFQUdQO0lBalVRLDZCQUE2QjtRQU56QyxTQUFTLENBQUM7WUFDUCw4Q0FBOEM7WUFDOUMsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyw0clFBQXNEOztTQUV6RCxDQUFDO09BQ1csNkJBQTZCLENBa1h6QztJQUFELG9DQUFDO0NBQUEsQUFsWEQsSUFrWEM7U0FsWFksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBJbnB1dCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBDdXN0b21GaWVsZHNDb21wb25lbnQsIE51bWJlckxvY2FsZU9wdGlvbnMgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgY29tcGFyZVZhbHVlcywgaXNWYWxpZCwgbW91bnRDdXN0b21Ub1NhdmUgfSBmcm9tIFwiLi4vdXRpbHMvaGVscGVyc1wiO1xuaW1wb3J0IHsgRGlyZWN0aW9uRW51bWVyYXRpb24gfSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtc1wiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBGb3JtYXRVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0LXV0aWxzL2Zvcm1hdC11dGlscy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6IFwiYy1oaXN0b3JpY2FsLXBpeC1hY2NvdW50XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEhpc3RvcmljYWxQaXhBY2NvdW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoQ3VzdG9tRmllbGRzQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZHNDb21wb25lbnQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmllbGRGb3JtR3JvdXA6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBfZGF0ZUNoYW5nZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIF9kaXNwbGF5RGF0ZUNoYW5nZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlY29yZEJ5Um93OiBudW1iZXIgPSAxO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dEYXRlQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXNnVG9vbHRpcEFkZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzRWRpdE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc1ZpZXdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VycmVuY3k6IE51bWJlckxvY2FsZU9wdGlvbnM7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tRW50aXR5OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tU2VydmljZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdpdGhTaWRlQmFyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwYXJhbXNGb3JtOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVmYXVsdENwZk51bWJlcjogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwZXJtaXNzaW9uOiBvYmplY3Q7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5VmlldzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzT25seUVkaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc09ubHlEZWxldGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIGhpc3RvcmljYWxQaXhBY2NvdW50TGlzdDogRm9ybUdyb3VwO1xuICAgIHByaXZhdGUgb3JkZXJCeTogeyBmaWVsZDogc3RyaW5nOyBkaXJlY3Rpb246IERpcmVjdGlvbkVudW1lcmF0aW9uIH0gPSB7XG4gICAgICAgIGZpZWxkOiBcImRhdGVDaGFuZ2VcIixcbiAgICAgICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25FbnVtZXJhdGlvbi5ERVNDLFxuICAgIH07XG5cbiAgICBwcml2YXRlIF92aXNpYmxlOiBib29sZWFuO1xuICAgIHB1YmxpYyBwaXhBY2NvdW50SXRlbUlucHV0OiBvYmplY3QgPSB7fTtcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBhY3Rpb25MYWJlbDogc3RyaW5nID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnRyaWVzX3F1ZXJ5X2FjdGlvbnNfdG90YWxfdGl0bGVcIik7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuICAgIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG4gICAgcHVibGljIG1zZ1RvdGFsTGltaXRCeVBlcmNlbnRhZ2U6IHN0cmluZztcbiAgICBwdWJsaWMgbGlzdERhdGE6IG9iamVjdFtdID0gW107XG4gICAgcHVibGljIGxpc3REYXRhTm9QYWdlOiBvYmplY3RbXSA9IFtdO1xuICAgIHB1YmxpYyBjb2xzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fcGl4X2tleV90eXBlXCIpLFxuICAgICAgICAgICAgZmllbGQ6IFwicGl4S2V5VHlwZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fcGl4X2tleVwiKSxcbiAgICAgICAgICAgIGZpZWxkOiBcInBpeEtleVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2xhYmVsX3BlcmNlbnRhZ2VcIiksXG4gICAgICAgICAgICBmaWVsZDogXCJwZXJjZW50YWdlXCIsXG4gICAgICAgIH0sXG4gICAgXTtcbiAgICBhY3Rpb25zID0gKHJvd0RhdGE6IGFueSA9IHt9LCBrZXk6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZpc2libGU6IHRoaXMuaXNFZGl0TW9kZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfaW1hZ2VfY3JvcHBlcl92aWV3XCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvVmlld0hpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0RhdGFbXCJpbmRleFwiXSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEl0ZW1JbnB1dCA9IHsgY3VycmVudEl0ZW06IHJvd0RhdGEsIGxpc3REYXRhOiB0aGlzLmxpc3REYXRhTm9QYWdlLCBpc0VkaXRNb2RlOiBmYWxzZSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5Vmlldy5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmlzaWJsZTogISEoIXRoaXMuaXNFZGl0TW9kZSAmJiB0aGlzLndpdGhTaWRlQmFyKSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lZGl0XCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvRWRpdEhpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0RhdGFbXCJpbmRleFwiXSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEl0ZW1JbnB1dCA9IHsgY3VycmVudEl0ZW06IHJvd0RhdGEsIGxpc3REYXRhOiB0aGlzLmxpc3REYXRhTm9QYWdlLCBpc0VkaXRNb2RlOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09ubHlFZGl0LmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiAhdGhpcy5pc0VkaXRNb2RlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmRlbGV0ZVwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWxsb3dUb0RlbGV0ZUhpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUFubnVpdHlJdGVtKGtleSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT25seURlbGV0ZS5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuc2V0Q29udHJvbCh0aGlzLmZpZWxkRm9ybUdyb3VwLCB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0ID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBoaXN0b3JpY2FsUGl4QWNjb3VudExpc3Q6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTGF6eUxvYWQoZXZlbnQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlyc3QgPSBldmVudCAmJiBldmVudC5maXJzdCA/IGV2ZW50LmZpcnN0IDogMDtcbiAgICAgICAgY29uc3Qgcm93cyA9IGV2ZW50ICYmIGV2ZW50LnJvd3MgPyBldmVudC5yb3dzIDogdGhpcy5yZWNvcmRCeVJvdztcbiAgICAgICAgY29uc3QgYXJyTGlzdCA9IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCk7XG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcbiAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSBudWxsO1xuXG4gICAgICAgIGlmIChldmVudCAmJiBldmVudC5tdWx0aVNvcnRNZXRhICYmIGV2ZW50Lm11bHRpU29ydE1ldGEubGVuZ3RoKSB7XG4gICAgICAgICAgICBldmVudC5tdWx0aVNvcnRNZXRhLm1hcCgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJCeS5maWVsZCA9IHZhbHVlLmZpZWxkO1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJCeS5kaXJlY3Rpb24gPSB2YWx1ZS5vcmRlciA9PT0gMSA/IERpcmVjdGlvbkVudW1lcmF0aW9uLkFTQyA6IERpcmVjdGlvbkVudW1lcmF0aW9uLkRFU0M7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhcnJMaXN0ICYmIGFyckxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGFyckxpc3QubGVuZ3RoO1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IGFyckxpc3Q7XG4gICAgICAgICAgICB0aGlzLmxpc3REYXRhTm9QYWdlID0gWy4uLmFyckxpc3RdO1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YS5zb3J0KGNvbXBhcmVWYWx1ZXModGhpcy5vcmRlckJ5LmZpZWxkLCB0aGlzLm9yZGVyQnkuZGlyZWN0aW9uKSk7XG4gICAgICAgICAgICB0aGlzLmxpc3REYXRhID0gdGhpcy5saXN0RGF0YS5zbGljZShmaXJzdCwgKGZpcnN0ICsgcm93cykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YU5vUGFnZSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNFZGl0TW9kZSB8fCBhcnJMaXN0ICYmIGFyckxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hDc3NJbklFMTEoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW0gQnVnIGRlIENTUyBxdWUgYWNvbnRlY2UgbmFzIGxpbmhhcyBkYSB0YWJlbGEsIHF1ZSByZXNvbHZlIHPDsyBhdHVhbGl6YW5kbyBxdWFscXVlciBwYXJ0ZSBkbyBDU1MgZGEgcGFnaW5hLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVmcmVzaENzc0luSUUxMSgpIHtcbiAgICAgICAgaWYgKC9tc2llXFxzfHRyaWRlbnRcXC98ZWRnZVxcLy9pLnRlc3Qod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInJvdzBcIik7XG4gICAgICAgICAgICAgICAgaWYgKHJvdyAmJiByb3dbMF0pXG4gICAgICAgICAgICAgICAgICAgIHJvd1swXS5jbGFzc05hbWUgPSAncmVmcmVzaCc7XG4gICAgICAgICAgICB9LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhZGQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGl4QWNjb3VudEl0ZW1JbnB1dCA9IHt9O1xuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3RBbGxvd01lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlQW5udWl0eUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBsZXQgbmV3bGlzdCA9IFsuLi50aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpXTtcbiAgICAgICAgbmV3bGlzdC5zb3J0KGNvbXBhcmVWYWx1ZXModGhpcy5vcmRlckJ5LmZpZWxkLCB0aGlzLm9yZGVyQnkuZGlyZWN0aW9uKSk7XG4gICAgICAgIGRlbGV0ZSBuZXdsaXN0W2luZGV4XTtcbiAgICAgICAgbmV3bGlzdCA9IG5ld2xpc3QuZmlsdGVyKHZhbCA9PiB2YWwpO1xuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikuc2V0VmFsdWUobmV3bGlzdCk7XG4gICAgICAgIHRoaXMudmVyaWZ5VG90YWxQZXJjZW50YWdlKCk7XG4gICAgICAgIHRoaXMub25MYXp5TG9hZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKTogb2JqZWN0W10ge1xuICAgICAgICBpZiAodGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpICYmXG4gICAgICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikudmFsdWUgJiZcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKS52YWx1ZS5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpICYmIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKS52YWx1ZTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRJdGVtSW5MaXN0KCRldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gJGV2ZW50ICYmICRldmVudC5pbmRleCA+PSAwID8gJGV2ZW50LmluZGV4IDogbnVsbDtcbiAgICAgICAgY29uc3QgbmV3RGF0YUxpc3QgPSB0aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpID8gdGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKSA6IFtdO1xuXG4gICAgICAgIGlmIChpbmRleCAhPSBudWxsKSB7XG4gICAgICAgICAgICBuZXdEYXRhTGlzdFtpbmRleF0gPSAkZXZlbnQ7XG4gICAgICAgICAgICBkZWxldGUgJGV2ZW50LmluZGV4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWQoJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdKSAmJiBPYmplY3Qua2V5cygkZXZlbnRbXCJjdXN0b21GaWVsZHNcIl0pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbVZhbHVlID0gbW91bnRDdXN0b21Ub1NhdmUoJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdKTtcbiAgICAgICAgICAgICAgICAkZXZlbnRbXCJjdXN0b21GaWVsZHNcIl0gPSBbLi4uY3VzdG9tVmFsdWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGV2ZW50W1wiZGF0ZUNoYW5nZVwiXSA9IHRoaXMuZGF0ZUNoYW5nZTtcbiAgICAgICAgICAgIG5ld0RhdGFMaXN0LnB1c2goJGV2ZW50KTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikuc2V0VmFsdWUobmV3RGF0YUxpc3QpO1xuICAgICAgICB0aGlzLnZlcmlmeVRvdGFsUGVyY2VudGFnZSgpO1xuICAgICAgICB0aGlzLm9uTGF6eUxvYWQoeyBmaXJzdDogdGhpcy5nZXROdW1iZXJQYWdlQnlJbmRleChpbmRleCwgbmV3RGF0YUxpc3QpIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TnVtYmVyUGFnZUJ5SW5kZXgoaW5kZXg6IG51bWJlciwgbGlzdDogb2JqZWN0W10pOiBudW1iZXIge1xuICAgICAgICBpZiAoaW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gbGlzdC5sZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBzdWIgPSB0aGlzLnJlY29yZEJ5Um93IC0gMTtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmNlaWwodG90YWwgLyB0aGlzLnJlY29yZEJ5Um93KSAqIHRoaXMucmVjb3JkQnlSb3cgLSBzdWIgLSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyaWZ5VG90YWxQZXJjZW50YWdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKSA/IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCkgOiBbXTtcbiAgICAgICAgY29uc3QgYXJyYXlQZXJjZW50YWdlOiBhbnkgPSBbXTtcblxuICAgICAgICBpZiAoIWxpc3QubGVuZ3RoKSByZXR1cm4gdGhpcy5tc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlID0gbnVsbDtcblxuICAgICAgICBsaXN0LmZpbHRlcigoaXRlbTogYW55KSA9PiBhcnJheVBlcmNlbnRhZ2UucHVzaChpdGVtICYmIGl0ZW1bXCJwZXJjZW50YWdlXCJdKSk7XG5cbiAgICAgICAgY29uc3Qgc3VtUGVyY2VudGFnZSA9IGFycmF5UGVyY2VudGFnZS5yZWR1Y2UoKHRvdGFsOiBudW1iZXIsIHBlcmNlbnRhZ2U6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgcGVyY2VudGFnZTtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgaWYgKHN1bVBlcmNlbnRhZ2UgPT09IDEwMCkge1xuICAgICAgICAgICAgdGhpcy5tc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5oaXN0b3JpY2FsX3BpeF9hY2NvdW50X21zZ19saW1pdF90b3RhbF9ieV9wZXJjZW50YWdlXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzY29wZWRBY3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZWNvcmRzTWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIGAkeyB0aGlzLnRvdGFsUmVjb3JkcyB8fCAwIH0gJHsgdGhpcy50b3RhbFJlY29yZHMgPT09IDEgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmFkbWlzc2lvbl9yZWdpc3RlclwiKSA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuYWRtaXNzaW9uX3JlZ2lzdGVyc1wiKSB9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGdldFRvb2x0aXBBbmREaXNhYmxlQnV0dG9uQWRkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlQ2hhbmdlID8gbnVsbCA6IHRoaXMubXNnVG9vbHRpcEFkZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZGF0ZUNoYW5nZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZUNoYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGRhdGVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9kYXRlQ2hhbmdlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9kYXRlQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3REYXRhLmZpbHRlcigocm93OiBhbnkpID0+IHJvd1tcImRhdGVDaGFuZ2VcIl0gPSB0aGlzLl9kYXRlQ2hhbmdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNwbGF5RGF0ZUNoYW5nZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGxheURhdGVDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkaXNwbGF5RGF0ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlEYXRlQ2hhbmdlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5RGF0ZUNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YS5maWx0ZXIoKHJvdzogYW55KSA9PiByb3dbXCJkaXNwbGF5RGF0ZUNoYW5nZVwiXSA9IHRoaXMuX2Rpc3BsYXlEYXRlQ2hhbmdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBhZGRMaXN0RGF0YShsaXN0OiBvYmplY3RbXSkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikucGF0Y2hWYWx1ZShsaXN0KTtcbiAgICAgICAgdGhpcy52ZXJpZnlUb3RhbFBlcmNlbnRhZ2UoKTtcbiAgICAgICAgdGhpcy5vbkxhenlMb2FkKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMudmlzaWJsZSk7XG4gICAgfVxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZvcm1hdHRlZFRlbGVwaG9uZU51bWJlcih0ZWxlcGhvbmVOdW1iZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkVGVsZXBob25lTnVtYmVyKHRlbGVwaG9uZU51bWJlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZvcm1hdHRlZENwZihjcGY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ3BmKGNwZik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZvcm1hdHRlZENucGooY25wajogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEZvcm1hdFV0aWxzU2VydmljZS5nZXRGb3JtYXR0ZWRDbnBqKGNucGopO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRQZXJjZW50YWdlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZFBlcmNlbnRhZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb0FkZEhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJpbmNsdWlyXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImV4Y2x1aXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9FZGl0SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImVkaXRhclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb1ZpZXdIaXN0b3JpY2FsKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uW1widmlzdWFsaXphclwiXVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
442
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvaGlzdG9yaWNhbC1waXgtYWNjb3VudC9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTdDO0lBZ0lJLHVDQUNZLGdCQUFrQyxFQUNsQyxFQUFxQixFQUNyQixXQUF3QixFQUN4QixjQUE4QjtRQUoxQyxpQkFPQztRQU5XLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FB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UDtJQVVEO1FBREMsS0FBSyxFQUFFOzBFQUdQO0lBVUQ7UUFEQyxLQUFLLEVBQUU7b0VBTVA7SUFHRDtRQURDLEtBQUssRUFBRTtnRUFHUDtJQTVVUSw2QkFBNkI7UUFOekMsU0FBUyxDQUFDO1lBQ1AsOENBQThDO1lBQzlDLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsNHJRQUFzRDs7U0FFekQsQ0FBQztPQUNXLDZCQUE2QixDQTZYekM7SUFBRCxvQ0FBQztDQUFBLEFBN1hELElBNlhDO1NBN1hZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgSW5wdXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ3VzdG9tRmllbGRzQ29tcG9uZW50LCBOdW1iZXJMb2NhbGVPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IGNvbXBhcmVWYWx1ZXMsIGlzVmFsaWQsIG1vdW50Q3VzdG9tVG9TYXZlIH0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcbmltcG9ydCB7IERpcmVjdGlvbkVudW1lcmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bXNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRm9ybWF0VXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL2Zvcm1hdC11dGlscy9mb3JtYXQtdXRpbHMuc2VydmljZVwiO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiBcImMtaGlzdG9yaWNhbC1waXgtYWNjb3VudFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vaGlzdG9yaWNhbC1waXgtYWNjb3VudC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBIaXN0b3JpY2FsUGl4QWNjb3VudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKEN1c3RvbUZpZWxkc0NvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRzQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkRm9ybUdyb3VwOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgX2RhdGVDaGFuZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBfZGlzcGxheURhdGVDaGFuZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWNvcmRCeVJvdzogbnVtYmVyID0gMTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93RGF0ZUNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1zZ1Rvb2x0aXBBZGQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0VkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNWaWV3TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1cnJlbmN5OiBOdW1iZXJMb2NhbGVPcHRpb25zO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1c3RvbUVudGl0eTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1c3RvbVNlcnZpY2U6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB3aXRoU2lkZUJhcjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFyYW1zRm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlZmF1bHRDcGZOdW1iZXI6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGVybWlzc2lvbjogb2JqZWN0O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxpc3REYXRhUmVjaWV2ZXI6IGFueVtdID0gW107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5VmlldzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzT25seUVkaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc09ubHlEZWxldGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIGhpc3RvcmljYWxQaXhBY2NvdW50TGlzdDogRm9ybUdyb3VwO1xuICAgIHByaXZhdGUgb3JkZXJCeTogeyBmaWVsZDogc3RyaW5nOyBkaXJlY3Rpb246IERpcmVjdGlvbkVudW1lcmF0aW9uIH0gPSB7XG4gICAgICAgIGZpZWxkOiBcImRhdGVDaGFuZ2VcIixcbiAgICAgICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25FbnVtZXJhdGlvbi5ERVNDLFxuICAgIH07XG5cbiAgICBwcml2YXRlIF92aXNpYmxlOiBib29sZWFuO1xuICAgIHB1YmxpYyBwaXhBY2NvdW50SXRlbUlucHV0OiBvYmplY3QgPSB7fTtcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBhY3Rpb25MYWJlbDogc3RyaW5nID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnRyaWVzX3F1ZXJ5X2FjdGlvbnNfdG90YWxfdGl0bGVcIik7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuICAgIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG4gICAgcHVibGljIG1zZ1RvdGFsTGltaXRCeVBlcmNlbnRhZ2U6IHN0cmluZztcbiAgICBwdWJsaWMgbGlzdERhdGE6IG9iamVjdFtdID0gW107XG4gICAgcHVibGljIGxpc3REYXRhTm9QYWdlOiBvYmplY3RbXSA9IFtdO1xuICAgIHB1YmxpYyBjb2xzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fcGl4X2tleV90eXBlXCIpLFxuICAgICAgICAgICAgZmllbGQ6IFwicGl4S2V5VHlwZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fcGl4X2tleVwiKSxcbiAgICAgICAgICAgIGZpZWxkOiBcInBpeEtleVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2xhYmVsX3BlcmNlbnRhZ2VcIiksXG4gICAgICAgICAgICBmaWVsZDogXCJwZXJjZW50YWdlXCIsXG4gICAgICAgIH0sXG4gICAgXTtcbiAgICBhY3Rpb25zID0gKHJvd0RhdGE6IGFueSA9IHt9LCBrZXk6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZpc2libGU6IHRoaXMuaXNFZGl0TW9kZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfaW1hZ2VfY3JvcHBlcl92aWV3XCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvVmlld0hpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0RhdGFbXCJpbmRleFwiXSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEl0ZW1JbnB1dCA9IHsgY3VycmVudEl0ZW06IHJvd0RhdGEsIGxpc3REYXRhOiB0aGlzLmxpc3REYXRhTm9QYWdlLCBpc0VkaXRNb2RlOiBmYWxzZSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5Vmlldy5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmlzaWJsZTogISEoIXRoaXMuaXNFZGl0TW9kZSAmJiB0aGlzLndpdGhTaWRlQmFyKSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lZGl0XCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvRWRpdEhpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0RhdGFbXCJpbmRleFwiXSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEl0ZW1JbnB1dCA9IHsgY3VycmVudEl0ZW06IHJvd0RhdGEsIGxpc3REYXRhOiB0aGlzLmxpc3REYXRhTm9QYWdlLCBpc0VkaXRNb2RlOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09ubHlFZGl0LmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubGlzdERhdGFSZWNpZXZlciAmJiB0aGlzLmxpc3REYXRhUmVjaWV2ZXIubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dEYXRhW1wiaW5kZXhcIl0gPSBrZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5waXhBY2NvdW50SXRlbUlucHV0ID0geyBjdXJyZW50SXRlbTogcm93RGF0YSwgbGlzdERhdGE6IHRoaXMubGlzdERhdGFOb1BhZ2UsIGlzRWRpdE1vZGU6IHRydWUgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmlzaWJsZTogIXRoaXMuaXNFZGl0TW9kZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5kZWxldGVcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FsbG93VG9EZWxldGVIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGVBbm51aXR5SXRlbShrZXkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09ubHlEZWxldGUuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5saXN0RGF0YVJlY2lldmVyICYmIHRoaXMubGlzdERhdGFSZWNpZXZlci5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGVBbm51aXR5SXRlbShrZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuc2V0Q29udHJvbCh0aGlzLmZpZWxkRm9ybUdyb3VwLCB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0ID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBoaXN0b3JpY2FsUGl4QWNjb3VudExpc3Q6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTGF6eUxvYWQoZXZlbnQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlyc3QgPSBldmVudCAmJiBldmVudC5maXJzdCA/IGV2ZW50LmZpcnN0IDogMDtcbiAgICAgICAgY29uc3Qgcm93cyA9IGV2ZW50ICYmIGV2ZW50LnJvd3MgPyBldmVudC5yb3dzIDogdGhpcy5yZWNvcmRCeVJvdztcbiAgICAgICAgY29uc3QgYXJyTGlzdCA9IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCk7XG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcbiAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSBudWxsO1xuXG4gICAgICAgIGlmIChldmVudCAmJiBldmVudC5tdWx0aVNvcnRNZXRhICYmIGV2ZW50Lm11bHRpU29ydE1ldGEubGVuZ3RoKSB7XG4gICAgICAgICAgICBldmVudC5tdWx0aVNvcnRNZXRhLm1hcCgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJCeS5maWVsZCA9IHZhbHVlLmZpZWxkO1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJCeS5kaXJlY3Rpb24gPSB2YWx1ZS5vcmRlciA9PT0gMSA/IERpcmVjdGlvbkVudW1lcmF0aW9uLkFTQyA6IERpcmVjdGlvbkVudW1lcmF0aW9uLkRFU0M7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhcnJMaXN0ICYmIGFyckxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGFyckxpc3QubGVuZ3RoO1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IGFyckxpc3Q7XG4gICAgICAgICAgICB0aGlzLmxpc3REYXRhTm9QYWdlID0gWy4uLmFyckxpc3RdO1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YS5zb3J0KGNvbXBhcmVWYWx1ZXModGhpcy5vcmRlckJ5LmZpZWxkLCB0aGlzLm9yZGVyQnkuZGlyZWN0aW9uKSk7XG4gICAgICAgICAgICB0aGlzLmxpc3REYXRhID0gdGhpcy5saXN0RGF0YS5zbGljZShmaXJzdCwgKGZpcnN0ICsgcm93cykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YU5vUGFnZSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNFZGl0TW9kZSB8fCBhcnJMaXN0ICYmIGFyckxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hDc3NJbklFMTEoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW0gQnVnIGRlIENTUyBxdWUgYWNvbnRlY2UgbmFzIGxpbmhhcyBkYSB0YWJlbGEsIHF1ZSByZXNvbHZlIHPDsyBhdHVhbGl6YW5kbyBxdWFscXVlciBwYXJ0ZSBkbyBDU1MgZGEgcGFnaW5hLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVmcmVzaENzc0luSUUxMSgpIHtcbiAgICAgICAgaWYgKC9tc2llXFxzfHRyaWRlbnRcXC98ZWRnZVxcLy9pLnRlc3Qod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInJvdzBcIik7XG4gICAgICAgICAgICAgICAgaWYgKHJvdyAmJiByb3dbMF0pXG4gICAgICAgICAgICAgICAgICAgIHJvd1swXS5jbGFzc05hbWUgPSAncmVmcmVzaCc7XG4gICAgICAgICAgICB9LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhZGQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGl4QWNjb3VudEl0ZW1JbnB1dCA9IHt9O1xuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3RBbGxvd01lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlQW5udWl0eUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBsZXQgbmV3bGlzdCA9IFsuLi50aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpXTtcbiAgICAgICAgbmV3bGlzdC5zb3J0KGNvbXBhcmVWYWx1ZXModGhpcy5vcmRlckJ5LmZpZWxkLCB0aGlzLm9yZGVyQnkuZGlyZWN0aW9uKSk7XG4gICAgICAgIGRlbGV0ZSBuZXdsaXN0W2luZGV4XTtcbiAgICAgICAgbmV3bGlzdCA9IG5ld2xpc3QuZmlsdGVyKHZhbCA9PiB2YWwpO1xuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikuc2V0VmFsdWUobmV3bGlzdCk7XG4gICAgICAgIHRoaXMudmVyaWZ5VG90YWxQZXJjZW50YWdlKCk7XG4gICAgICAgIHRoaXMub25MYXp5TG9hZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKTogb2JqZWN0W10ge1xuICAgICAgICBpZiAodGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpICYmXG4gICAgICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikudmFsdWUgJiZcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKS52YWx1ZS5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3QuZ2V0KFwiaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0XCIpICYmIHRoaXMuaGlzdG9yaWNhbFBpeEFjY291bnRMaXN0LmdldChcImhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFwiKS52YWx1ZTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRJdGVtSW5MaXN0KCRldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gJGV2ZW50ICYmICRldmVudC5pbmRleCA+PSAwID8gJGV2ZW50LmluZGV4IDogbnVsbDtcbiAgICAgICAgY29uc3QgbmV3RGF0YUxpc3QgPSB0aGlzLmdldEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdCgpID8gdGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKSA6IFtdO1xuXG4gICAgICAgIGlmIChpbmRleCAhPSBudWxsKSB7XG4gICAgICAgICAgICBuZXdEYXRhTGlzdFtpbmRleF0gPSAkZXZlbnQ7XG4gICAgICAgICAgICBkZWxldGUgJGV2ZW50LmluZGV4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWQoJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdKSAmJiBPYmplY3Qua2V5cygkZXZlbnRbXCJjdXN0b21GaWVsZHNcIl0pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbVZhbHVlID0gbW91bnRDdXN0b21Ub1NhdmUoJGV2ZW50W1wiY3VzdG9tRmllbGRzXCJdKTtcbiAgICAgICAgICAgICAgICAkZXZlbnRbXCJjdXN0b21GaWVsZHNcIl0gPSBbLi4uY3VzdG9tVmFsdWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGV2ZW50W1wiZGF0ZUNoYW5nZVwiXSA9IHRoaXMuZGF0ZUNoYW5nZTtcbiAgICAgICAgICAgIG5ld0RhdGFMaXN0LnB1c2goJGV2ZW50KTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikuc2V0VmFsdWUobmV3RGF0YUxpc3QpO1xuICAgICAgICB0aGlzLnZlcmlmeVRvdGFsUGVyY2VudGFnZSgpO1xuICAgICAgICB0aGlzLm9uTGF6eUxvYWQoeyBmaXJzdDogdGhpcy5nZXROdW1iZXJQYWdlQnlJbmRleChpbmRleCwgbmV3RGF0YUxpc3QpIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TnVtYmVyUGFnZUJ5SW5kZXgoaW5kZXg6IG51bWJlciwgbGlzdDogb2JqZWN0W10pOiBudW1iZXIge1xuICAgICAgICBpZiAoaW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gbGlzdC5sZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBzdWIgPSB0aGlzLnJlY29yZEJ5Um93IC0gMTtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmNlaWwodG90YWwgLyB0aGlzLnJlY29yZEJ5Um93KSAqIHRoaXMucmVjb3JkQnlSb3cgLSBzdWIgLSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyaWZ5VG90YWxQZXJjZW50YWdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRIaXN0b3JpY2FsUGl4QWNjb3VudExpc3QoKSA/IHRoaXMuZ2V0SGlzdG9yaWNhbFBpeEFjY291bnRMaXN0KCkgOiBbXTtcbiAgICAgICAgY29uc3QgYXJyYXlQZXJjZW50YWdlOiBhbnkgPSBbXTtcblxuICAgICAgICBpZiAoIWxpc3QubGVuZ3RoKSByZXR1cm4gdGhpcy5tc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlID0gbnVsbDtcblxuICAgICAgICBsaXN0LmZpbHRlcigoaXRlbTogYW55KSA9PiBhcnJheVBlcmNlbnRhZ2UucHVzaChpdGVtICYmIGl0ZW1bXCJwZXJjZW50YWdlXCJdKSk7XG5cbiAgICAgICAgY29uc3Qgc3VtUGVyY2VudGFnZSA9IGFycmF5UGVyY2VudGFnZS5yZWR1Y2UoKHRvdGFsOiBudW1iZXIsIHBlcmNlbnRhZ2U6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgcGVyY2VudGFnZTtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgaWYgKHN1bVBlcmNlbnRhZ2UgPT09IDEwMCkge1xuICAgICAgICAgICAgdGhpcy5tc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5oaXN0b3JpY2FsX3BpeF9hY2NvdW50X21zZ19saW1pdF90b3RhbF9ieV9wZXJjZW50YWdlXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tc2dUb3RhbExpbWl0QnlQZXJjZW50YWdlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzY29wZWRBY3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZWNvcmRzTWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIGAkeyB0aGlzLnRvdGFsUmVjb3JkcyB8fCAwIH0gJHsgdGhpcy50b3RhbFJlY29yZHMgPT09IDEgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmFkbWlzc2lvbl9yZWdpc3RlclwiKSA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuYWRtaXNzaW9uX3JlZ2lzdGVyc1wiKSB9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGdldFRvb2x0aXBBbmREaXNhYmxlQnV0dG9uQWRkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlQ2hhbmdlID8gbnVsbCA6IHRoaXMubXNnVG9vbHRpcEFkZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZGF0ZUNoYW5nZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZUNoYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGRhdGVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9kYXRlQ2hhbmdlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9kYXRlQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3REYXRhLmZpbHRlcigocm93OiBhbnkpID0+IHJvd1tcImRhdGVDaGFuZ2VcIl0gPSB0aGlzLl9kYXRlQ2hhbmdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNwbGF5RGF0ZUNoYW5nZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGxheURhdGVDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkaXNwbGF5RGF0ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlEYXRlQ2hhbmdlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5RGF0ZUNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5saXN0RGF0YS5maWx0ZXIoKHJvdzogYW55KSA9PiByb3dbXCJkaXNwbGF5RGF0ZUNoYW5nZVwiXSA9IHRoaXMuX2Rpc3BsYXlEYXRlQ2hhbmdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBhZGRMaXN0RGF0YShsaXN0OiBvYmplY3RbXSkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdC5nZXQoXCJoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RcIikucGF0Y2hWYWx1ZShsaXN0KTtcbiAgICAgICAgdGhpcy52ZXJpZnlUb3RhbFBlcmNlbnRhZ2UoKTtcbiAgICAgICAgdGhpcy5vbkxhenlMb2FkKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMudmlzaWJsZSk7XG4gICAgfVxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZvcm1hdHRlZFRlbGVwaG9uZU51bWJlcih0ZWxlcGhvbmVOdW1iZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkVGVsZXBob25lTnVtYmVyKHRlbGVwaG9uZU51bWJlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZvcm1hdHRlZENwZihjcGY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ3BmKGNwZik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZvcm1hdHRlZENucGooY25wajogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEZvcm1hdFV0aWxzU2VydmljZS5nZXRGb3JtYXR0ZWRDbnBqKGNucGopO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWRQZXJjZW50YWdlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZFBlcmNlbnRhZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb0FkZEhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJpbmNsdWlyXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImV4Y2x1aXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9FZGl0SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImVkaXRhclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb1ZpZXdIaXN0b3JpY2FsKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uW1widmlzdWFsaXphclwiXVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -8533,6 +8533,7 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
|
|
|
8533
8533
|
this.isViewMode = false;
|
|
8534
8534
|
this.withSideBar = true;
|
|
8535
8535
|
this.defaultCpfNumber = null;
|
|
8536
|
+
this.listDataReciever = [];
|
|
8536
8537
|
this.isOnlyView = new EventEmitter();
|
|
8537
8538
|
this.isOnlyEdit = new EventEmitter();
|
|
8538
8539
|
this.isOnlyDelete = new EventEmitter();
|
|
@@ -8589,6 +8590,11 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
|
|
|
8589
8590
|
}
|
|
8590
8591
|
else {
|
|
8591
8592
|
this.isOnlyEdit.emit(true);
|
|
8593
|
+
if (!this.listDataReciever && this.listDataReciever.length == 0) {
|
|
8594
|
+
rowData["index"] = key;
|
|
8595
|
+
this.pixAccountItemInput = { currentItem: rowData, listData: this.listDataNoPage, isEditMode: true };
|
|
8596
|
+
this.visible = true;
|
|
8597
|
+
}
|
|
8592
8598
|
}
|
|
8593
8599
|
},
|
|
8594
8600
|
},
|
|
@@ -8602,6 +8608,10 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
|
|
|
8602
8608
|
}
|
|
8603
8609
|
else {
|
|
8604
8610
|
this.isOnlyDelete.emit(true);
|
|
8611
|
+
if (!this.listDataReciever && this.listDataReciever.length == 0) {
|
|
8612
|
+
this.loading = true;
|
|
8613
|
+
this.deleteAnnuityItem(key);
|
|
8614
|
+
}
|
|
8605
8615
|
}
|
|
8606
8616
|
},
|
|
8607
8617
|
},
|
|
@@ -8859,6 +8869,9 @@ __decorate([
|
|
|
8859
8869
|
__decorate([
|
|
8860
8870
|
Input()
|
|
8861
8871
|
], HistoricalPixAccountComponent.prototype, "permission", void 0);
|
|
8872
|
+
__decorate([
|
|
8873
|
+
Input()
|
|
8874
|
+
], HistoricalPixAccountComponent.prototype, "listDataReciever", void 0);
|
|
8862
8875
|
__decorate([
|
|
8863
8876
|
Output()
|
|
8864
8877
|
], HistoricalPixAccountComponent.prototype, "isOnlyView", void 0);
|