@piserve-tech/form-submission 1.3.237 → 1.3.239

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.
@@ -35,6 +35,9 @@ export class FormSubmissionComponent {
35
35
  ngOnInit() {
36
36
  this.dataService.setApiUrl(this.formData.apiurl);
37
37
  this.dataService.setHeader(this.formData.headers);
38
+ if (this.formData.duplicateSubmission) {
39
+ this.dataService.setSubformData(this.formData?.duplicateSubmission);
40
+ }
38
41
  this.dataService.header$.subscribe((data) => {
39
42
  this.header = data;
40
43
  this.setHtmlDirection(this.header.acceptedLanguage);
@@ -83,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
83
86
  type: ViewChild,
84
87
  args: [SubmitFormComponent]
85
88
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXNzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvbGliL2Zvcm0tc3VibWlzc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2xpYi9mb3JtLXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7O0FBUzNGLE1BQU0sT0FBTyx1QkFBdUI7SUFjbEMsWUFBb0IsV0FBd0IsRUFBNEIsUUFBa0I7UUFBdEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWJqRixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsbUJBQWMsR0FBWSxLQUFLLENBQUMsQ0FBQywyQ0FBMkM7UUFDNUUsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRSxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFLL0Msc0JBQWlCLEdBQVksS0FBSyxDQUFDO0lBRTJELENBQUM7SUFFL0YsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdkU7UUFFRCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFlBQVksRUFBRTtZQUN6RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFFdkQsSUFBSSxNQUFNLEtBQUssUUFBUSxFQUFFO2dCQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2FBQy9CO1lBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN2QztTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFnQjtRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBb0IsQ0FBQztRQUVqRixJQUFJLFFBQVEsS0FBSyxLQUFLLElBQUksUUFBUSxLQUFLLElBQUksRUFBRTtZQUMzQyxXQUFXLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUNuQzthQUFNO1lBQ0wsV0FBVyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDbkM7UUFFRCxPQUFPLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0E5RFUsdUJBQXVCLDZDQWNvQixRQUFRO21HQWRuRCx1QkFBdUIsa1VBUXZCLG1CQUFtQixxRUNyQmhDLDJZQVdBOzs0RkRFYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usb0JBQW9COzswQkFtQmlCLE1BQU07MkJBQUMsUUFBUTs0Q0FickQsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRSxlQUFlO3NCQUF2QixLQUFLO2dCQUMwQixtQkFBbUI7c0JBQWxELFNBQVM7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgU3VibWl0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tc3VibWlzc2lvbi9zdWJtaXQtZm9ybS9zdWJtaXQtZm9ybS5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1mb3JtU3VibWlzc2lvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLXN1Ym1pc3Npb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBGb3JtU3VibWlzc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZvcm1EYXRhOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBza2lwVmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlOyAvLyBOZXcgaW5wdXQgdG8gY29udHJvbCB2YWxpZGF0aW9uIHNraXBwaW5nXG4gIEBJbnB1dCgpIHN1Ym1pc3Npb25JZDogc3RyaW5nID0gJyc7XG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgYXBpQ2FsbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIHRyaWdnZXJGb3JtU2F2ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBWaWV3Q2hpbGQoU3VibWl0Rm9ybUNvbXBvbmVudCkgc3VibWl0Rm9ybUNvbXBvbmVudCE6IFN1Ym1pdEZvcm1Db21wb25lbnQ7XG5cbiAgaGVhZGVyOmFueTtcbiAgYWNjZXB0ZWRMYW5ndWFnZSE6IHN0cmluZztcbiAgaXNBY3Rpb25UcmlnZ2VyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZm9ybURhdGEnXSkge1xuICAgICAgdGhpcy5kYXRhU2VydmljZS5zZXRIZWFkZXIoY2hhbmdlc1snZm9ybURhdGEnXS5jdXJyZW50VmFsdWU/LmhlYWRlcnMpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWyd0cmlnZ2VyRm9ybVNhdmUnXSAmJiBjaGFuZ2VzWyd0cmlnZ2VyRm9ybVNhdmUnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IGNoYW5nZXNbJ3RyaWdnZXJGb3JtU2F2ZSddLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgaWYgKGFjdGlvbiA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgICAgdGhpcy5pc0FjdGlvblRyaWdnZXJlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnN1Ym1pdEZvcm1Db21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRGb3JtQ29tcG9uZW50LnN1Ym1pdEZvcm0oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnNldEFwaVVybCh0aGlzLmZvcm1EYXRhLmFwaXVybCk7XG4gICAgdGhpcy5kYXRhU2VydmljZS5zZXRIZWFkZXIodGhpcy5mb3JtRGF0YS5oZWFkZXJzKTtcblxuICAgIHRoaXMuZGF0YVNlcnZpY2UuaGVhZGVyJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaGVhZGVyID0gZGF0YTtcbiAgICAgIHRoaXMuc2V0SHRtbERpcmVjdGlvbih0aGlzLmhlYWRlci5hY2NlcHRlZExhbmd1YWdlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldEh0bWxEaXJlY3Rpb24obGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIGNvbnN0IGh0bWxUYWcgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0gYXMgSFRNTEh0bWxFbGVtZW50O1xuXG4gICAgaWYgKGxhbmd1YWdlID09PSAnYXJhJyB8fCBsYW5ndWFnZSA9PT0gJ2FyJykge1xuICAgICAgZW52aXJvbm1lbnQuaHRtbERpcmVjdGlvbiA9ICdydGwnO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnZpcm9ubWVudC5odG1sRGlyZWN0aW9uID0gJ2x0cic7XG4gICAgfVxuXG4gICAgaHRtbFRhZy5kaXIgPSBlbnZpcm9ubWVudC5odG1sRGlyZWN0aW9uO1xuICB9XG5cbiAgc3VibWl0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdChldmVudCk7XG4gIH1cblxuICBnZXRGb3JtQXBpQ2FsbGVkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmFwaUNhbGxlZC5lbWl0KHRydWUpO1xuICB9XG59XG4iLCI8bGliLXN1Ym1pdC1mb3JtXG4gIFttb2R1bGVOYW1lXT1cImZvcm1EYXRhLm1vZHVsZU5hbWVcIlxuICBbc3VibWlzc2lvbklkXT1cInN1Ym1pc3Npb25JZFwiXG4gIFtlZGl0XT1cImVkaXRcIlxuICBbYWNjZXB0ZWRMYW5ndWFnZV0gPSBcImZvcm1EYXRhLmhlYWRlcnMuYWNjZXB0ZWRMYW5ndWFnZVwiXG4gIFtza2lwTWFyZ2luXT1cImZvcm1EYXRhLnNraXBNYXJnaW5cIlxuICBbc2tpcFZhbGlkYXRpb25dPVwic2tpcFZhbGlkYXRpb25cIlxuICBbaXNBY3Rpb25UcmlnZ2VyZWRdPVwiaXNBY3Rpb25UcmlnZ2VyZWRcIlxuICAoc3VibWl0KT1cInN1Ym1pdCgkZXZlbnQpXCJcbiAoYXBpQ2FsbGVkKT1cImdldEZvcm1BcGlDYWxsZWQoJGV2ZW50KVwiXG4+PC9saWItc3VibWl0LWZvcm0+XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXNzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvbGliL2Zvcm0tc3VibWlzc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2xpYi9mb3JtLXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7O0FBUzNGLE1BQU0sT0FBTyx1QkFBdUI7SUFjbEMsWUFBb0IsV0FBd0IsRUFBNEIsUUFBa0I7UUFBdEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWJqRixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsbUJBQWMsR0FBWSxLQUFLLENBQUMsQ0FBQywyQ0FBMkM7UUFDNUUsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRSxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFLL0Msc0JBQWlCLEdBQVksS0FBSyxDQUFDO0lBRTJELENBQUM7SUFFL0YsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdkU7UUFFRCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFlBQVksRUFBRTtZQUN6RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFFdkQsSUFBSSxNQUFNLEtBQUssUUFBUSxFQUFFO2dCQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2FBQy9CO1lBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN2QztTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztTQUNyRTtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQW9CLENBQUM7UUFFakYsSUFBSSxRQUFRLEtBQUssS0FBSyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDM0MsV0FBVyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDbkM7YUFBTTtZQUNMLFdBQVcsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQ25DO1FBRUQsT0FBTyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7K0dBakVVLHVCQUF1Qiw2Q0Fjb0IsUUFBUTttR0FkbkQsdUJBQXVCLGtVQVF2QixtQkFBbUIscUVDckJoQywyWUFXQTs7NEZERWEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLG9CQUFvQjs7MEJBbUJpQixNQUFNOzJCQUFDLFFBQVE7NENBYnJELFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0UsZUFBZTtzQkFBdkIsS0FBSztnQkFDMEIsbUJBQW1CO3NCQUFsRCxTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uL2Vudmlyb25tZW50L2Vudmlyb25tZW50JztcbmltcG9ydCB7IFN1Ym1pdEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1Ym1pc3Npb24vc3VibWl0LWZvcm0vc3VibWl0LWZvcm0uY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZm9ybVN1Ym1pc3Npb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1zdWJtaXNzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1zdWJtaXNzaW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgRm9ybVN1Ym1pc3Npb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBmb3JtRGF0YTogYW55ID0ge307XG4gIEBJbnB1dCgpIGVkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2tpcFZhbGlkYXRpb246IGJvb2xlYW4gPSBmYWxzZTsgLy8gTmV3IGlucHV0IHRvIGNvbnRyb2wgdmFsaWRhdGlvbiBza2lwcGluZ1xuICBASW5wdXQoKSBzdWJtaXNzaW9uSWQ6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgc3VibWl0Rm9ybTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGFwaUNhbGxlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBASW5wdXQoKSB0cmlnZ2VyRm9ybVNhdmU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAVmlld0NoaWxkKFN1Ym1pdEZvcm1Db21wb25lbnQpIHN1Ym1pdEZvcm1Db21wb25lbnQhOiBTdWJtaXRGb3JtQ29tcG9uZW50O1xuXG4gIGhlYWRlcjphbnk7XG4gIGFjY2VwdGVkTGFuZ3VhZ2UhOiBzdHJpbmc7XG4gIGlzQWN0aW9uVHJpZ2dlcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50KSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2Zvcm1EYXRhJ10pIHtcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2V0SGVhZGVyKGNoYW5nZXNbJ2Zvcm1EYXRhJ10uY3VycmVudFZhbHVlPy5oZWFkZXJzKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sndHJpZ2dlckZvcm1TYXZlJ10gJiYgY2hhbmdlc1sndHJpZ2dlckZvcm1TYXZlJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBjaGFuZ2VzWyd0cmlnZ2VyRm9ybVNhdmUnXS5jdXJyZW50VmFsdWU7XG5cbiAgICAgIGlmIChhY3Rpb24gPT09ICdzdWJtaXQnKSB7XG4gICAgICAgIHRoaXMuaXNBY3Rpb25UcmlnZ2VyZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5zdWJtaXRGb3JtQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuc3VibWl0Rm9ybUNvbXBvbmVudC5zdWJtaXRGb3JtKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5zZXRBcGlVcmwodGhpcy5mb3JtRGF0YS5hcGl1cmwpO1xuICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2V0SGVhZGVyKHRoaXMuZm9ybURhdGEuaGVhZGVycyk7XG4gICAgaWYodGhpcy5mb3JtRGF0YS5kdXBsaWNhdGVTdWJtaXNzaW9uKXtcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2V0U3ViZm9ybURhdGEodGhpcy5mb3JtRGF0YT8uZHVwbGljYXRlU3VibWlzc2lvbik7XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU2VydmljZS5oZWFkZXIkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5oZWFkZXIgPSBkYXRhO1xuICAgICAgdGhpcy5zZXRIdG1sRGlyZWN0aW9uKHRoaXMuaGVhZGVyLmFjY2VwdGVkTGFuZ3VhZ2UpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0SHRtbERpcmVjdGlvbihsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaHRtbFRhZyA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXSBhcyBIVE1MSHRtbEVsZW1lbnQ7XG5cbiAgICBpZiAobGFuZ3VhZ2UgPT09ICdhcmEnIHx8IGxhbmd1YWdlID09PSAnYXInKSB7XG4gICAgICBlbnZpcm9ubWVudC5odG1sRGlyZWN0aW9uID0gJ3J0bCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVudmlyb25tZW50Lmh0bWxEaXJlY3Rpb24gPSAnbHRyJztcbiAgICB9XG5cbiAgICBodG1sVGFnLmRpciA9IGVudmlyb25tZW50Lmh0bWxEaXJlY3Rpb247XG4gIH1cblxuICBzdWJtaXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc3VibWl0Rm9ybS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGdldEZvcm1BcGlDYWxsZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYXBpQ2FsbGVkLmVtaXQodHJ1ZSk7XG4gIH1cbn1cbiIsIjxsaWItc3VibWl0LWZvcm1cbiAgW21vZHVsZU5hbWVdPVwiZm9ybURhdGEubW9kdWxlTmFtZVwiXG4gIFtzdWJtaXNzaW9uSWRdPVwic3VibWlzc2lvbklkXCJcbiAgW2VkaXRdPVwiZWRpdFwiXG4gIFthY2NlcHRlZExhbmd1YWdlXSA9IFwiZm9ybURhdGEuaGVhZGVycy5hY2NlcHRlZExhbmd1YWdlXCJcbiAgW3NraXBNYXJnaW5dPVwiZm9ybURhdGEuc2tpcE1hcmdpblwiXG4gIFtza2lwVmFsaWRhdGlvbl09XCJza2lwVmFsaWRhdGlvblwiXG4gIFtpc0FjdGlvblRyaWdnZXJlZF09XCJpc0FjdGlvblRyaWdnZXJlZFwiXG4gIChzdWJtaXQpPVwic3VibWl0KCRldmVudClcIlxuIChhcGlDYWxsZWQpPVwiZ2V0Rm9ybUFwaUNhbGxlZCgkZXZlbnQpXCJcbj48L2xpYi1zdWJtaXQtZm9ybT5cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { Component, EventEmitter, Injector, Input, Output, } from '@angular/core';
2
+ import { v4 as uuidv4 } from 'uuid';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../../services/score.service";
4
5
  import * as i2 from "@angular/common";
@@ -123,7 +124,7 @@ export class CardSubformComponent {
123
124
  });
124
125
  });
125
126
  const submission = {
126
- submissionId: '',
127
+ submissionId: uuidv4(),
127
128
  answers: emptyAnswers,
128
129
  configuration: {
129
130
  isDefault: false,
@@ -271,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
271
272
  }], subFormChange: [{
272
273
  type: Output
273
274
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvcXVlc3Rpb24vY2FyZC1zdWJmb3JtL2NhcmQtc3ViZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL2NhcmQtc3ViZm9ybS9jYXJkLXN1YmZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVd2QixNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQ1UsZ0JBQXlDO1FBQXpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFkMUMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUc5QixtQkFBYyxHQUFXLG9CQUFvQixDQUFDO1FBRS9DLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFHeEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xELFNBQUksR0FBRyxJQUFJLENBQUM7SUFHVixDQUFDO0lBRUgsUUFBUTtRQUNOLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFFbEMsSUFBSSxD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ekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3JJLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7K0dBdlJVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHlMQ2pCakMsODNSQWdOQTs7NEZEL0xhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OEdBS25CLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQVNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViRm9ybSB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJGb3JtLm1vZGVsJztcbmltcG9ydCB7IFN1Ym1pc3Npb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc3VibWlzc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBBbnN3ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYW5zd2VyLm1vZGVsJztcbmltcG9ydCB7IFNjb3JlQ2FsY3VsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2NvcmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jYXJkLXN1YmZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRTdWJmb3JtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3ViRm9ybTogYW55ID0ge307XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIGdyaWQ6IGFueTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gICBhZGRCdXR0b25MYWJlbDogc3RyaW5nID0gJ0FkZCBOZXcgU3VibWlzc2lvbic7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG4gIHN1Ym1pc3Npb25zOiBTdWJtaXNzaW9uW10gPSBbXTtcbiAgZGVsZXRlZFN1Ym1pc3Npb25zOiBzdHJpbmdbXSA9IFtdO1xuICBtYXhQb3NzaWJsZUdvb2RTY29yZSE6bnVtYmVyO1xuICBtYXhQb3NzaWJsZUJhZFNjb3JlITpudW1iZXJcbiAgQE91dHB1dCgpIHN1YkZvcm1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgTWF0aCA9IE1hdGg7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2NvcmVDYWxjU2VydmljZTogU2NvcmVDYWxjdWxhdGlvblNlcnZpY2VcbiAgKXt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgeyBnb29kTWF4LCBiYWRNYXggfSA9IHRoaXMuc2NvcmVDYWxjU2VydmljZS5nZXRNYXhQb3NzaWJsZVNjb3JlKHRoaXMuc3ViRm9ybSk7XG4gICAgdGhpcy5tYXhQb3NzaWJsZUdvb2RTY29yZSA9IGdvb2RNYXg7XG4gICAgdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlID0gYmFkTWF4O1xuICAgIFxuICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xuICAgIGlmICh0aGlzLmVkaXQgJiYgdGhpcy5zdWJGb3JtPy5zdWJtaXNzaW9ucykge1xuICAgICAgdGhpcy5zdWJtaXNzaW9ucyA9IHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucztcbiAgICAgIHRoaXMuc3ViRm9ybS5kZWxldGVkU3VibWlzc2lvbnMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXNzaW9ucyA9IHRoaXMuZ2VuZXJhdGVTdWJtaXNzaW9uc0Zyb21EZWZhdWx0QW5zd2VycyhcbiAgICAgICAgdGhpcy5zdWJGb3JtXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdWJtaXNzaW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3ViRm9ybT8ucHJvcGVydHk/LmFkZEJ1dHRvbkxhYmVsKSB7XG4gICAgICB0aGlzLmFkZEJ1dHRvbkxhYmVsID0gdGhpcy5zdWJGb3JtLnByb3BlcnR5LmFkZEJ1dHRvbkxhYmVsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvbXBvbmVudFRvTG9hZCA9IGF3YWl0IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuICAgIHRoaXMuaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKSB7XG4gICAgY29uc3QgeyBGb3JtRWxlbWVudHNDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50J1xuICAgICk7XG4gICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDtcbiAgfVxuXG4gIGNyZWF0ZUluamVjdG9yKCk6IEluamVjdG9yIHtcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6IHRoaXMuZ3JpZD8uZWxlbWVudC5jaGlsZExvZ2ljcyB9LFxuICAgICAgICB7IHByb3ZpZGU6ICdzdGF0ZScsIHVzZVZhbHVlOiAnY2hpbGQnIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgZ2VuZXJhdGVTdWJtaXNzaW9uc0Zyb21EZWZhdWx0QW5zd2VycyhzdWJGb3JtOiBTdWJGb3JtKTogU3VibWlzc2lvbltdIHtcbiAgICBpZiAoXG4gICAgICAhc3ViRm9ybS5kZWZhdWx0QW5zd2VycyB8fFxuICAgICAgIUFycmF5LmlzQXJyYXkoc3ViRm9ybS5kZWZhdWx0QW5zd2Vycy5hbnN3ZXJzKVxuICAgICkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJGb3JtLmRlZmF1bHRBbnN3ZXJzLmFuc3dlcnMubWFwKChhbnN3ZXJHcm91cCkgPT4ge1xuICAgICAgY29uc3Qgc3VibWlzc2lvbjogU3VibWlzc2lvbiA9IHtcbiAgICAgICAgc3VibWlzc2lvbklkOiAnJywgLy8gR2VuZXJhdGUgYSB1bmlxdWUgSUQgZm9yIGVhY2ggc3VibWlzc2lvblxuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgIGFsbG93RGVsZXRlOiBhbnN3ZXJHcm91cC5pc0RlbGV0ZUVuYWJsZSxcbiAgICAgICAgfSxcbiAgICAgICAgYW5zd2VyczogYW5zd2VyR3JvdXAuZGVmYXVsdFF1ZXN0aW9uc0Fuc3dlcnMubWFwKChxYSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFuc3dlcjogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogcWEucXVlc3Rpb25JZCxcbiAgICAgICAgICAgIGFuc3dlcjogcWEuZGVmYXVsdEFuc3dlcixcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBbXSwgLy8gTm8gYXR0YWNobWVudHMgZnJvbSBkZWZhdWx0QW5zd2Vyc1xuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIGFuc3dlcjtcbiAgICAgICAgfSksXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gc3VibWlzc2lvbjtcbiAgICB9KTtcbiAgfVxuXG4gIHRyYWNrQnlTdWJtaXNzaW9uSWQoaW5kZXg6IG51bWJlciwgc3VibWlzc2lvbjogU3VibWlzc2lvbik6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHN1Ym1pc3Npb24/LnN1Ym1pc3Npb25JZCB8fCBpbmRleDtcbiAgfVxuXG4gIGdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uOiBTdWJtaXNzaW9uLCBmb3JtRWxlbWVudDogYW55KTogYW55IHtcbiAgICBjb25zdCBhbnNPYmogPSBzdWJtaXNzaW9uLmFuc3dlcnMuZmluZChcbiAgICAgIChhKSA9PiBhLnF1ZXN0aW9uSWQgPT09IGZvcm1FbGVtZW50LmVsZW1lbnQuaWRcbiAgICApO1xuICAgIGNvbnN0IHF1ZXN0aW9uQ2xvbmUgPSB7IC4uLmZvcm1FbGVtZW50LmVsZW1lbnQgfTtcbiAgICBxdWVzdGlvbkNsb25lLmFuc3dlciA9IGFuc09iaiA/IGFuc09iai5hbnN3ZXIgOiAnJztcbiAgICBxdWVzdGlvbkNsb25lLmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgIHF1ZXN0aW9uQ2xvbmUuZGlzYWJsZUVkaXQgPSBzdWJtaXNzaW9uLmNvbmZpZ3VyYXRpb24/LmlzRGVmYXVsdFxuICAgICAgPyBxdWVzdGlvbkNsb25lLmRpc2FibGVFZGl0XG4gICAgICA6IGZhbHNlO1xuICAgIHF1ZXN0aW9uQ2xvbmUuYXR0YWNobWVudHMgPSBhbnNPYmo/LmF0dGFjaG1lbnRzID8gYW5zT2JqLmF0dGFjaG1lbnRzIDogW107XG4gICAgcmV0dXJuIHF1ZXN0aW9uQ2xvbmU7XG4gIH1cblxuICBhZGROZXdTdWJtaXNzaW9uKCkge1xuICAgIGNvbnN0IGVtcHR5QW5zd2VyczogQW5zd2VyW10gPSBbXTtcbiAgICB0aGlzLnN1YkZvcm0ucm93cy5mb3JFYWNoKChyb3c6IGFueSkgPT4ge1xuICAgICAgcm93LmdyaWQuZm9yRWFjaCgoZ3JpZEl0ZW06IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZ3JpZEl0ZW0uZW50aXR5VHlwZSA9PT0gJ1FVRVNUSU9OJyAmJlxuICAgICAgICAgIGdyaWRJdGVtLmVsZW1lbnQgJiZcbiAgICAgICAgICBncmlkSXRlbS5lbGVtZW50LmlkXG4gICAgICAgICkge1xuICAgICAgICAgIGVtcHR5QW5zd2Vycy5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IGdyaWRJdGVtLmVsZW1lbnQuaWQsXG4gICAgICAgICAgICBhbnN3ZXI6ICcnLFxuICAgICAgICAgICAgbWF4aW11bVBvc3NpYmxlU2NvcmU6MFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBzdWJtaXNzaW9uOiBTdWJtaXNzaW9uID0ge1xuICAgICAgc3VibWlzc2lvbklkOiAnJyxcbiAgICAgIGFuc3dlcnM6IGVtcHR5QW5zd2VycyxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgYWxsb3dEZWxldGU6IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5zdWJtaXNzaW9ucy5wdXNoKHN1Ym1pc3Npb24pO1xuICAgIHRoaXMuc3VibWlzc2lvbnMgPSBbLi4udGhpcy5zdWJtaXNzaW9uc107XG4gICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gIH1cblxuICB1cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCkge1xuICAgIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucyA9IHRoaXMuc3VibWlzc2lvbnM7XG4gICAgdGhpcy5zdWJGb3JtLm1heFBvc3NpYmxlU2NvcmUgPSB7XG4gICAgICAnZ29vZCc6IHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUsXG4gICAgICAnYmFkJzogdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlXG4gICAgfVxuICAgIHRoaXMuc3ViRm9ybS5kZWxldGVkU3VibWlzc2lvbnMgPSB0aGlzLmRlbGV0ZWRTdWJtaXNzaW9ucztcbiAgICB0aGlzLnN1YkZvcm1DaGFuZ2UuZW1pdCh0aGlzLnN1YkZvcm0pO1xuICB9XG5cbiAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb246IFN1Ym1pc3Npb24sIHF1ZXN0aW9uOiBhbnksIG5ld0Fuc3dlck9iamVjdDogYW55KSB7XG4gICAgY29uc3QgbmV3QW5zd2VyID0gbmV3QW5zd2VyT2JqZWN0LmFuc3dlcjtcbiAgICBjb25zdCBzdWJtaXNzaW9uSW5kZXggPSB0aGlzLnN1Ym1pc3Npb25zLmluZGV4T2Yoc3VibWlzc2lvbik7XG4gICAgaWYgKHN1Ym1pc3Npb25JbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBleGlzdGluZ0Fuc3dlciA9IHRoaXMuc3VibWlzc2lvbnNbc3VibWlzc2lvbkluZGV4XS5hbnN3ZXJzLmZpbmQoXG4gICAgICAgIChhKSA9PiBhLnF1ZXN0aW9uSWQgPT09IHF1ZXN0aW9uLmlkXG4gICAgICApO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50ICYmXG4gICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnRklMRV9QSUNLRVInXG4gICAgICApIHtcbiAgICAgICAgLy8gTWFwIGZpbGUgb2JqZWN0cyB0byBmaWxlIG5hbWVzLlxuICAgICAgICBsZXQgZmlsZU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAobmV3QW5zd2VyICYmIEFycmF5LmlzQXJyYXkobmV3QW5zd2VyKSkge1xuICAgICAgICAgIGZpbGVOYW1lcyA9IG5ld0Fuc3dlci5tYXAoKGZpbGU6IGFueSkgPT4gZmlsZT8uX2ZpbGU/Lm5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IGRlbGV0ZWQgZmlsZSBJRHMgZnJvbSB0aGUgcXVlc3Rpb24gKGlmIGFueSkuXG4gICAgICAgIGxldCBkZWxldGVkRmlsZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmIChxdWVzdGlvbi5kZWxldGVGaWxlcyAmJiBxdWVzdGlvbi5kZWxldGVGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGVsZXRlZEZpbGVzID0gcXVlc3Rpb24uZGVsZXRlRmlsZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhpc3RpbmdBbnN3ZXIpIHtcbiAgICAgICAgICBleGlzdGluZ0Fuc3dlci5maWxlcyA9IG5ld0Fuc3dlcjtcbiAgICAgICAgICBleGlzdGluZ0Fuc3dlci5hbnN3ZXIgPSBmaWxlTmFtZXM7XG4gICAgICAgICAgLy8gSW5pdGlhbGl6ZSBkZWxldGVGaWxlcyBpZiBpdCdzIG5vdCBkZWZpbmVkLlxuICAgICAgICAgIGlmICghZXhpc3RpbmdBbnN3ZXIuZGVsZXRlRmlsZXMpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nQW5zd2VyLmRlbGV0ZUZpbGVzID0gW107XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFwcGVuZCBhbnkgZGVsZXRlZCBmaWxlIElEcyBub3QgYWxyZWFkeSBwcmVzZW50LlxuICAgICAgICAgIGRlbGV0ZWRGaWxlcy5mb3JFYWNoKChkZWxldGVkSWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKCFleGlzdGluZ0Fuc3dlci5kZWxldGVGaWxlcyEuaW5jbHVkZXMoZGVsZXRlZElkKSkge1xuICAgICAgICAgICAgICBleGlzdGluZ0Fuc3dlci5kZWxldGVGaWxlcyEucHVzaChkZWxldGVkSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld09iajogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogcXVlc3Rpb24uaWQsXG4gICAgICAgICAgICBmaWxlczogbmV3QW5zd2VyLFxuICAgICAgICAgICAgYW5zd2VyOiBmaWxlTmFtZXMsXG4gICAgICAgICAgICBkZWxldGVGaWxlczogZGVsZXRlZEZpbGVzLmxlbmd0aCA+IDAgPyBbLi4uZGVsZXRlZEZpbGVzXSA6IFtdLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5zdWJtaXNzaW9uc1tzdWJtaXNzaW9uSW5kZXhdLmFuc3dlcnMucHVzaChuZXdPYmopO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZXhpc3RpbmdBbnN3ZXIpIHtcbiAgICAgICAgICBleGlzdGluZ0Fuc3dlci5hbnN3ZXIgPSBuZXdBbnN3ZXI7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIubWF4aW11bVBvc3NpYmxlU2NvcmUgPSBuZXdBbnN3ZXJPYmplY3QubWF4UG9zc2libGVTY29yZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnN1Ym1pc3Npb25zW3N1Ym1pc3Npb25JbmRleF0uYW5zd2Vycy5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLmlkLFxuICAgICAgICAgICAgYW5zd2VyOiBuZXdBbnN3ZXIsXG4gICAgICAgICAgICBtYXhpbXVtUG9zc2libGVTY29yZTogbmV3QW5zd2VyT2JqZWN0Lm1heFBvc3NpYmxlU2NvcmVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSAgXG4gICAgICAgIGlmKFxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50ICYmXG4gICAgICAgICAgKHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnRFJPUF9ET1dOJyB8fFxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnUkFESU9fQlVUVE9OJyB8fFxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnQ0hFQ0tfQk9YJykgJiZcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5zY29yaW5nICYmXG4gICAgICAgICAgcXVlc3Rpb24uZm9ybUVsZW1lbnQuc2NvcmluZy5lbmFibGVTY29yaW5nXG4gICAgICAgICl7XG4gICAgICAgICAgc3VibWlzc2lvbi5hbnN3ZXJzLmZvckVhY2goKGFucykgPT4ge1xuICAgICAgICAgICAgaWYocXVlc3Rpb24uaWQgPT09IGFucy5xdWVzdGlvbklkKXtcbiAgICAgICAgICAgICAgY29uc3Qgc2NvcmVSZXN1bHQgPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuY2FsY3VsYXRlU2NvcmVGcm9tQW5zd2VyKGFucy5hbnN3ZXIsIHF1ZXN0aW9uKTtcbiAgICAgICAgICAgICAgLy8gU2F2ZSB0b3RhbCBzY29yZSBhbmQgaW5kaXZpZHVhbCBzY29yZXNcbiAgICAgICAgICAgICAgYW5zLnNjb3JlcyA9IHNjb3JlUmVzdWx0Py5zY29yZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgIC8vIENoZWNrIHNjb3JpbmcgY29uZGl0aW9uXG4gICAgICAgICAgaWYgKHRoaXMuc2NvcmVDYWxjU2VydmljZS5zaG91bGRDYWxjdWxhdGVTY29yZSh0aGlzLnN1YkZvcm0sIHN1Ym1pc3Npb24pKSB7XG4gICAgICAgICAgICAvLyBNYXJrIHRoYXQgdGhpcyBzdWJtaXNzaW9uIGhhZCBhbGwgc2NvcmluZyBxdWVzdGlvbnMgYW5zd2VyZWQgYXQgbGVhc3Qgb25jZVxuICAgICAgICAgICAgc3VibWlzc2lvbi5oYXNBbGxTY29yaW5nQW5zd2VyZWRPbmNlID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3VibWlzc2lvbi5oYXNBbGxTY29yaW5nQW5zd2VyZWRPbmNlKSB7XG4gICAgICAgICAgICAvLyBSZWNhbGN1bGF0ZSBzY29yZSBhbHdheXMgYWZ0ZXIgb25jZSBzYXRpc2ZpZWRcbiAgICAgICAgICAgIHN1Ym1pc3Npb24uc2NvcmVzID0gdGhpcy5zY29yZUNhbGNTZXJ2aWNlLmNhbGN1bGF0ZVN1Ym1pc3Npb25TY29yZShzdWJtaXNzaW9uLmFuc3dlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgaGFzQW55U2NvcmUgPSB0aGlzLnN1Ym1pc3Npb25zLnNvbWUoXG4gICAgICAgIHN1YiA9PiBzdWIuc2NvcmVzPy5zb21lKHMgPT4gcy5zY29yZSAhPT0gbnVsbCAmJiBzLnNjb3JlICE9PSB1bmRlZmluZWQpXG4gICAgICApO1xuICAgICAgXG4gICAgICBpZiAoaGFzQW55U2NvcmUpIHtcbiAgICAgICAgdGhpcy5zdWJGb3JtLnNjb3JlcyA9IHRoaXMuc2NvcmVDYWxjU2VydmljZS5jYWxjdWxhdGVGaW5hbFNjb3JlKHRoaXMuc3VibWlzc2lvbnMsdGhpcy5tYXhQb3NzaWJsZUdvb2RTY29yZSx0aGlzLm1heFBvc3NpYmxlQmFkU2NvcmUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdWJGb3JtLnNjb3JlcyA9IG51bGw7IC8vIG9yIDAsIGRlcGVuZGluZyBvbiBob3cgeW91IHdhbnQgdG8gcmVwcmVzZW50IFwibm8gc2NvcmUgeWV0XCJcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZURlbGV0ZWRGaWxlcyhcbiAgICBzdWJtaXNzaW9uOiBTdWJtaXNzaW9uLFxuICAgIHF1ZXN0aW9uOiBhbnksXG4gICAgZGVsZXRlZEZpbGVzOiBzdHJpbmdbXVxuICApIHtcbiAgICAvLyBGaW5kIHRoZSBtYXRjaGluZyBhbnN3ZXIgb2JqZWN0IGJhc2VkIG9uIHRoZSBxdWVzdGlvbklkXG4gICAgY29uc3QgYW5zd2VyT2JqID0gc3VibWlzc2lvbi5hbnN3ZXJzLmZpbmQoXG4gICAgICAoYW5zKSA9PiBhbnMucXVlc3Rpb25JZCA9PT0gcXVlc3Rpb24uaWRcbiAgICApO1xuXG4gICAgaWYgKGFuc3dlck9iaikge1xuICAgICAgLy8gRW5zdXJlIGRlbGV0ZUZpbGVzIGlzIGFsd2F5cyBhbiBhcnJheVxuICAgICAgaWYgKCFhbnN3ZXJPYmouZGVsZXRlRmlsZXMpIHtcbiAgICAgICAgYW5zd2VyT2JqLmRlbGV0ZUZpbGVzID0gW107XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBkZWxldGVkIGZpbGUgSURzIHRvIGRlbGV0ZUZpbGVzIGFycmF5IHdoaWxlIGF2b2lkaW5nIGR1cGxpY2F0ZXNcbiAgICAgIGRlbGV0ZWRGaWxlcy5mb3JFYWNoKChmaWxlSWQpID0+IHtcbiAgICAgICAgaWYgKCFhbnN3ZXJPYmouZGVsZXRlRmlsZXMhLmluY2x1ZGVzKGZpbGVJZCkpIHtcbiAgICAgICAgICBhbnN3ZXJPYmouZGVsZXRlRmlsZXMhLnB1c2goZmlsZUlkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlU3VibWlzc2lvbihpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VibWlzc2lvbiA9IHRoaXMuc3VibWlzc2lvbnNbaW5kZXhdO1xuICAgIGlmIChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCkge1xuICAgICAgdGhpcy5kZWxldGVkU3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCk7XG4gICAgfVxuICAgIHRoaXMuc3VibWlzc2lvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMuc3ViRm9ybS5zY29yZXMgPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuY2FsY3VsYXRlRmluYWxTY29yZSh0aGlzLnN1Ym1pc3Npb25zLHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUsdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlKTtcbiAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3VibWlzc2lvbiBvZiBzdWJtaXNzaW9ucztsZXQgaT1pbmRleCA7dHJhY2tCeTogdHJhY2tCeVN1Ym1pc3Npb25JZFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1zdWJmb3JtIG1iLTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG1lLTQgbWItMiBtdC0yIGdhcC0zXCJcbiAgICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1Ym1pc3Npb24/LnNjb3Jlcz8uWzBdIGFzIGZpcnN0U2NvcmVcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzdWJtaXNzaW9uU2NvcmVcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2dvb2Qtc2NvcmUnOiBmaXJzdFNjb3JlLnNjb3JlVHlwZSA9PT0gJ0dPT0RfU0NPUkUnLFxuICAgICAgICAgICdiYWQtc2NvcmUnOiBmaXJzdFNjb3JlLnNjb3JlVHlwZSA9PT0gJ0JBRF9TQ09SRSdcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICA8c3Bhbj57eyBNYXRoLmFicyhmaXJzdFNjb3JlLnNjb3JlKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGltZyBjbGFzcz1cImRlbGV0ZS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2RlbGV0ZS1pY29uLnN2Z1wiIGFsdD1cImRlbGV0ZVwiXG4gICAgICAqbmdJZj1cInN1Ym1pc3Npb24uY29uZmlndXJhdGlvbj8uYWxsb3dEZWxldGVcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZVN1Ym1pc3Npb24oaSlcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCByb3cgb2Ygc3ViRm9ybS5yb3dzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JpZCBvZiByb3cuZ3JpZFwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieyAnd2lkdGguJSc6IGdyaWQuZWxlbWVudC5jb3VudCAqICgxMDAgLyAxMikgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT04nXCI+XG4gICAgICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJncmlkLmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGVcIj5cbiAgICAgICAgICAgICAgPGxpYi1jaGVjay1ib3gtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItY2hlY2stYm94LWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1kYXRlLXRpbWUtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidEQVRFX1RJTUUnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItZGF0ZS10aW1lLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1kcm9wLWRvd24tZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidEUk9QX0RPV04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItZHJvcC1kb3duLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1maWxlLXBpY2tlci1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAoaW5saW5lRGVsZXRlRmlsZXMpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZURlbGV0ZWRGaWxlcyhzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItbG9jYXRpb24tZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidMT0NBVElPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1sb2NhdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItbWFpbC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0VNQUlMJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLW1haWwtZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLW1vYmlsZS1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ01PQklMRSdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1tb2JpbGUtZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLW51bWJlci1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ05VTUJFUidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cIicwJ1wiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1udW1iZXItZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLXBhc3N3b3JkLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInUEFTU1dPUkQnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItcGFzc3dvcmQtZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLXJhZGlvLWJ1dHRvbi1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1JBRElPX0JVVFRPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cImlcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItcmFkaW8tYnV0dG9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInUklDSF9URVhUX0VESVRPUidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW2luU3ViRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidTRUxFQ1RJT05fTUFUUklYJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCJcbiAgICAgICAgICAgICAgICBbcm93SWRdPVwiaVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1zbGlkZXItZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidTTElERVInXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItc2xpZGVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVEVSTVNfQU5EX0NPTkRJVElPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10ZXh0LWFyZWEtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0FSRUEnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10ZXh0LWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVEVYVF9CT1gnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtpbkNhcmRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi10ZXh0LWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10b2dnbGUtc3dpdGNoLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVE9HR0xFX1NXSVRDSCdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi10b2dnbGUtc3dpdGNoLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi11cmwtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidVUkwnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdXJsLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1hZ2dyZWdhdGUtZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0FHR1JFR0FURV9GVU5DVElPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cIicwJ1wiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1hZ2dyZWdhdGUtZnVuY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MsICdjaGlsZCcsIGdyaWQuZWxlbWVudC5hbnN3ZXIpIGFzIG91dGxldFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJvdXRsZXQuY29tcG9uZW50IHwgYXN5bmM7IGluamVjdG9yOiBvdXRsZXQuaW5qZWN0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZD8uZWxlbWVudD8uY2hpbGRMb2dpY3NcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBvbmVudFRvTG9hZFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRUb0xvYWQ7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgICAgICAgICAgIGdyaWQ6IGdyaWQ/LmVsZW1lbnQ/LmNoaWxkTG9naWNzLFxuICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcjogZ3JpZD8uZWxlbWVudD8uYW5zd2VyLFxuICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAnY2hpbGQnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImdyaWQuZW50aXR5VHlwZSA9PT0gJ1NFQ1RJT04nXCI+XG4gICAgICAgICAgICA8bGliLXNlY3Rpb24tZmllbGRzIFtzZWN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXNlY3Rpb24tZmllbGRzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwic3ViZm9ybS1mb290ZXJcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJhZGROZXdTdWJtaXNzaW9uKClcIj57e2FkZEJ1dHRvbkxhYmVsfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvcXVlc3Rpb24vY2FyZC1zdWJmb3JtL2NhcmQtc3ViZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL2NhcmQtc3ViZm9ybS9jYXJkLXN1YmZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9wQyxNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQ1UsZ0JBQXlDO1FBQXpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFkMUMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUc5QixtQkFBYyxHQUFXLG9CQUFvQixDQUFDO1FBRS9DLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFHeEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xELFNBQUksR0FBRyxJQUFJLENBQUM7SUFHVixDQUFDO0lBRUgsUUFBUTtRQUNOLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFFbEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRTtZQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxxQ0FBcUMsQ0FDM0QsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1NBQ0g7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFO1lBQzVCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWE7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxLQUFLLENBQUMseUJBQXlCO1FBQ3JDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUM1QywwQ0FBMEMsQ0FDM0MsQ0FBQztRQUNGLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUM3RCxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUN4QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQ0FBcUMsQ0FBQyxPQUFnQjtRQUNwRCxJQUNFLENBQUMsT0FBTyxDQUFDLGNBQWM7WUFDdkIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQzlDO1lBQ0EsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDeEQsTUFBTSxVQUFVLEdBQWU7Z0JBQzdCLFlBQVksRUFBRSxFQUFFO2dCQUNoQixhQUFhLEVBQUU7b0JBQ2IsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLFdBQVcsQ0FBQyxjQUFjO2lCQUN4QztnQkFDRCxPQUFPLEVBQUUsV0FBVyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO29CQUN0RCxNQUFNLE1BQU0sR0FBVzt3QkFDckIsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVO3dCQUN6QixNQUFNLEVBQUUsRUFBRSxDQUFDLGFBQWE7d0JBQ3hCLFdBQVcsRUFBRSxFQUFFLEVBQUUscUNBQXFDO3FCQUN2RCxDQUFDO29CQUNGLE9BQU8sTUFBTSxDQUFDO2dCQUNoQixDQUFDLENBQUM7YUFDSCxDQUFDO1lBRUYsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYSxFQUFFLFVBQXNCO1FBQ3ZELE9BQU8sVUFBVSxFQUFFLFlBQVksSUFBSSxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVELHFCQUFxQixDQUFDLFVBQXNCLEVBQUUsV0FBZ0I7UUFDNUQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUMvQyxDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqRCxhQUFhLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25ELGFBQWEsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTO1lBQzdELENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVztZQUMzQixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1YsYUFBYSxDQUFDLFdBQVcsR0FBRyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUUsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sWUFBWSxHQUFhLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNyQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUNqQyxJQUNFLFFBQVEsQ0FBQyxVQUFVLEtBQUssVUFBVTtvQkFDbEMsUUFBUSxDQUFDLE9BQU87b0JBQ2hCLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUNuQjtvQkFDQSxZQUFZLENBQUMsSUFBSSxDQUFDO3dCQUNoQixVQUFVLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMvQixNQUFNLEVBQUUsRUFBRTt3QkFDVixvQkFBb0IsRUFBQyxDQUFDO3FCQUN2QixDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQWU7WUFDN0IsWUFBWSxFQUFFLE1BQU0sRUFBRTtZQUN0QixPQUFPLEVBQUUsWUFBWTtZQUNyQixhQUFhLEVBQUU7Z0JBQ2IsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLFdBQVcsRUFBRSxJQUFJO2FBQ2xCO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRztZQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtTQUNoQyxDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBc0IsRUFBRSxRQUFhLEVBQUUsZUFBb0I7UUFDdEUsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLGVBQWUsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUN4QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ25FLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQ3BDLENBQUM7WUFFRixJQUNFLFFBQVEsQ0FBQyxXQUFXO2dCQUNwQixRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsS0FBSyxhQUFhLEVBQ2xEO2dCQUNBLGtDQUFrQztnQkFDbEMsSUFBSSxTQUFTLEdBQWEsRUFBRSxDQUFDO2dCQUM3QixJQUFJLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUN6QyxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDN0Q7Z0JBRUQsbURBQW1EO2dCQUNuRCxJQUFJLFlBQVksR0FBYSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzNELFlBQVksR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO2lCQUNyQztnQkFFRCxJQUFJLGNBQWMsRUFBRTtvQkFDbEIsY0FBYyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7b0JBQ2pDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO29CQUNsQyw4Q0FBOEM7b0JBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFO3dCQUMvQixjQUFjLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztxQkFDakM7b0JBQ0QsbURBQW1EO29CQUNuRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBaUIsRUFBRSxFQUFFO3dCQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7NEJBQ3BELGNBQWMsQ0FBQyxXQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3lCQUM3QztvQkFDSCxDQUFDLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxNQUFNLE1BQU0sR0FBVzt3QkFDckIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFO3dCQUN2QixLQUFLLEVBQUUsU0FBUzt3QkFDaEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLFdBQVcsRUFBRSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO3FCQUM5RCxDQUFDO29CQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDeEQ7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLGNBQWMsRUFBRTtvQkFDbEIsY0FBYyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7b0JBQ2xDLGNBQWMsQ0FBQyxvQkFBb0IsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7aUJBQ3hFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzt3QkFDN0MsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFO3dCQUN2QixNQUFNLEVBQUUsU0FBUzt3QkFDakIsb0JBQW9CLEVBQUUsZUFBZSxDQUFDLGdCQUFnQjtxQkFDdkQsQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQ0UsUUFBUSxDQUFDLFdBQVc7b0JBQ3BCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEtBQUssV0FBVzt3QkFDakQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEtBQUssY0FBYzt3QkFDbkQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDO29CQUNqRCxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU87b0JBQzVCLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDM0M7b0JBQ0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDakMsSUFBRyxRQUFRLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxVQUFVLEVBQUM7NEJBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDOzRCQUN6Rix5Q0FBeUM7NEJBQ3pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsV0FBVyxFQUFFLE1BQU0sQ0FBQzt5QkFDbEM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0YsMEJBQTBCO29CQUMzQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFO3dCQUN4RSw2RUFBNkU7d0JBQzdFLFVBQVUsQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUM7cUJBQzdDO29CQUVELElBQUksVUFBVSxDQUFDLHlCQUF5QixFQUFFO3dCQUN4QyxnREFBZ0Q7d0JBQ2hELFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDeEY7aUJBQ0Y7YUFDRjtZQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN2QyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FDeEUsQ0FBQztZQUVGLElBQUksV0FBVyxFQUFFO2dCQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN0STtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyw4REFBOEQ7YUFDM0Y7WUFDRCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FDaEIsVUFBc0IsRUFDdEIsUUFBYSxFQUNiLFlBQXNCO1FBRXRCLDBEQUEwRDtRQUMxRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdkMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FDeEMsQ0FBQztRQUVGLElBQUksU0FBUyxFQUFFO1lBQ2Isd0NBQXdDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO2dCQUMxQixTQUFTLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQzthQUM1QjtZQUVELHNFQUFzRTtZQUN0RSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDNUMsU0FBUyxDQUFDLFdBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFO1lBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckksSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQzsrR0F2UlUsb0JBQW9CO21HQUFwQixvQkFBb0IseUxDbEJqQyw4M1JBZ05BOzs0RkQ5TGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs4R0FLbkIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBU0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJGb3JtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3N1YkZvcm0ubW9kZWwnO1xuaW1wb3J0IHsgU3VibWlzc2lvbiB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJtaXNzaW9uLm1vZGVsJztcbmltcG9ydCB7IEFuc3dlciB9IGZyb20gJy4uLy4uL21vZGVscy9hbnN3ZXIubW9kZWwnO1xuaW1wb3J0IHsgU2NvcmVDYWxjdWxhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zY29yZS5zZXJ2aWNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2FyZC1zdWJmb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtc3ViZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQtc3ViZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkU3ViZm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHN1YkZvcm06IGFueSA9IHt9O1xuICBASW5wdXQoKSBhY2NlcHRlZExhbmd1YWdlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICBncmlkOiBhbnk7XG4gIGNvbXBvbmVudFRvTG9hZDogYW55O1xuICAgYWRkQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdBZGQgTmV3IFN1Ym1pc3Npb24nO1xuICBpbmplY3RvciE6IEluamVjdG9yO1xuICBzdWJtaXNzaW9uczogU3VibWlzc2lvbltdID0gW107XG4gIGRlbGV0ZWRTdWJtaXNzaW9uczogc3RyaW5nW10gPSBbXTtcbiAgbWF4UG9zc2libGVHb29kU2NvcmUhOm51bWJlcjtcbiAgbWF4UG9zc2libGVCYWRTY29yZSE6bnVtYmVyXG4gIEBPdXRwdXQoKSBzdWJGb3JtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIE1hdGggPSBNYXRoO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNjb3JlQ2FsY1NlcnZpY2U6IFNjb3JlQ2FsY3VsYXRpb25TZXJ2aWNlXG4gICl7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHsgZ29vZE1heCwgYmFkTWF4IH0gPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuZ2V0TWF4UG9zc2libGVTY29yZSh0aGlzLnN1YkZvcm0pO1xuICAgIHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUgPSBnb29kTWF4O1xuICAgIHRoaXMubWF4UG9zc2libGVCYWRTY29yZSA9IGJhZE1heDtcbiAgICBcbiAgICB0aGlzLmxvYWRDb21wb25lbnQoKTtcbiAgICBpZiAodGhpcy5lZGl0ICYmIHRoaXMuc3ViRm9ybT8uc3VibWlzc2lvbnMpIHtcbiAgICAgIHRoaXMuc3VibWlzc2lvbnMgPSB0aGlzLnN1YkZvcm0uc3VibWlzc2lvbnM7XG4gICAgICB0aGlzLnN1YkZvcm0uZGVsZXRlZFN1Ym1pc3Npb25zID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3VibWlzc2lvbnMgPSB0aGlzLmdlbmVyYXRlU3VibWlzc2lvbnNGcm9tRGVmYXVsdEFuc3dlcnMoXG4gICAgICAgIHRoaXMuc3ViRm9ybVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3VibWlzc2lvbnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN1YkZvcm0/LnByb3BlcnR5Py5hZGRCdXR0b25MYWJlbCkge1xuICAgICAgdGhpcy5hZGRCdXR0b25MYWJlbCA9IHRoaXMuc3ViRm9ybS5wcm9wZXJ0eS5hZGRCdXR0b25MYWJlbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRDb21wb25lbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb21wb25lbnRUb0xvYWQgPSBhd2FpdCB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbiAgICB0aGlzLmluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3RvcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHsgRm9ybUVsZW1lbnRzQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAnLi4vZm9ybS1lbGVtZW50cy9mb3JtLWVsZW1lbnRzLmNvbXBvbmVudCdcbiAgICApO1xuICAgIHJldHVybiBGb3JtRWxlbWVudHNDb21wb25lbnQ7XG4gIH1cblxuICBjcmVhdGVJbmplY3RvcigpOiBJbmplY3RvciB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnZ3JpZCcsIHVzZVZhbHVlOiB0aGlzLmdyaWQ/LmVsZW1lbnQuY2hpbGRMb2dpY3MgfSxcbiAgICAgICAgeyBwcm92aWRlOiAnc3RhdGUnLCB1c2VWYWx1ZTogJ2NoaWxkJyB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlU3VibWlzc2lvbnNGcm9tRGVmYXVsdEFuc3dlcnMoc3ViRm9ybTogU3ViRm9ybSk6IFN1Ym1pc3Npb25bXSB7XG4gICAgaWYgKFxuICAgICAgIXN1YkZvcm0uZGVmYXVsdEFuc3dlcnMgfHxcbiAgICAgICFBcnJheS5pc0FycmF5KHN1YkZvcm0uZGVmYXVsdEFuc3dlcnMuYW5zd2VycylcbiAgICApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViRm9ybS5kZWZhdWx0QW5zd2Vycy5hbnN3ZXJzLm1hcCgoYW5zd2VyR3JvdXApID0+IHtcbiAgICAgIGNvbnN0IHN1Ym1pc3Npb246IFN1Ym1pc3Npb24gPSB7XG4gICAgICAgIHN1Ym1pc3Npb25JZDogJycsIC8vIEdlbmVyYXRlIGEgdW5pcXVlIElEIGZvciBlYWNoIHN1Ym1pc3Npb25cbiAgICAgICAgY29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICBhbGxvd0RlbGV0ZTogYW5zd2VyR3JvdXAuaXNEZWxldGVFbmFibGUsXG4gICAgICAgIH0sXG4gICAgICAgIGFuc3dlcnM6IGFuc3dlckdyb3VwLmRlZmF1bHRRdWVzdGlvbnNBbnN3ZXJzLm1hcCgocWEpID0+IHtcbiAgICAgICAgICBjb25zdCBhbnN3ZXI6IEFuc3dlciA9IHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHFhLnF1ZXN0aW9uSWQsXG4gICAgICAgICAgICBhbnN3ZXI6IHFhLmRlZmF1bHRBbnN3ZXIsXG4gICAgICAgICAgICBhdHRhY2htZW50czogW10sIC8vIE5vIGF0dGFjaG1lbnRzIGZyb20gZGVmYXVsdEFuc3dlcnNcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBhbnN3ZXI7XG4gICAgICAgIH0pLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHN1Ym1pc3Npb247XG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5U3VibWlzc2lvbklkKGluZGV4OiBudW1iZXIsIHN1Ym1pc3Npb246IFN1Ym1pc3Npb24pOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBzdWJtaXNzaW9uPy5zdWJtaXNzaW9uSWQgfHwgaW5kZXg7XG4gIH1cblxuICBnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbjogU3VibWlzc2lvbiwgZm9ybUVsZW1lbnQ6IGFueSk6IGFueSB7XG4gICAgY29uc3QgYW5zT2JqID0gc3VibWlzc2lvbi5hbnN3ZXJzLmZpbmQoXG4gICAgICAoYSkgPT4gYS5xdWVzdGlvbklkID09PSBmb3JtRWxlbWVudC5lbGVtZW50LmlkXG4gICAgKTtcbiAgICBjb25zdCBxdWVzdGlvbkNsb25lID0geyAuLi5mb3JtRWxlbWVudC5lbGVtZW50IH07XG4gICAgcXVlc3Rpb25DbG9uZS5hbnN3ZXIgPSBhbnNPYmogPyBhbnNPYmouYW5zd2VyIDogJyc7XG4gICAgcXVlc3Rpb25DbG9uZS5kZWZhdWx0VmFsdWUgPSAnJztcbiAgICBxdWVzdGlvbkNsb25lLmRpc2FibGVFZGl0ID0gc3VibWlzc2lvbi5jb25maWd1cmF0aW9uPy5pc0RlZmF1bHRcbiAgICAgID8gcXVlc3Rpb25DbG9uZS5kaXNhYmxlRWRpdFxuICAgICAgOiBmYWxzZTtcbiAgICBxdWVzdGlvbkNsb25lLmF0dGFjaG1lbnRzID0gYW5zT2JqPy5hdHRhY2htZW50cyA/IGFuc09iai5hdHRhY2htZW50cyA6IFtdO1xuICAgIHJldHVybiBxdWVzdGlvbkNsb25lO1xuICB9XG5cbiAgYWRkTmV3U3VibWlzc2lvbigpIHtcbiAgICBjb25zdCBlbXB0eUFuc3dlcnM6IEFuc3dlcltdID0gW107XG4gICAgdGhpcy5zdWJGb3JtLnJvd3MuZm9yRWFjaCgocm93OiBhbnkpID0+IHtcbiAgICAgIHJvdy5ncmlkLmZvckVhY2goKGdyaWRJdGVtOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdyaWRJdGVtLmVudGl0eVR5cGUgPT09ICdRVUVTVElPTicgJiZcbiAgICAgICAgICBncmlkSXRlbS5lbGVtZW50ICYmXG4gICAgICAgICAgZ3JpZEl0ZW0uZWxlbWVudC5pZFxuICAgICAgICApIHtcbiAgICAgICAgICBlbXB0eUFuc3dlcnMucHVzaCh7XG4gICAgICAgICAgICBxdWVzdGlvbklkOiBncmlkSXRlbS5lbGVtZW50LmlkLFxuICAgICAgICAgICAgYW5zd2VyOiAnJyxcbiAgICAgICAgICAgIG1heGltdW1Qb3NzaWJsZVNjb3JlOjBcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc3VibWlzc2lvbjogU3VibWlzc2lvbiA9IHtcbiAgICAgIHN1Ym1pc3Npb25JZDogdXVpZHY0KCksXG4gICAgICBhbnN3ZXJzOiBlbXB0eUFuc3dlcnMsXG4gICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgIGFsbG93RGVsZXRlOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuc3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICB9XG5cbiAgdXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpIHtcbiAgICB0aGlzLnN1YkZvcm0uc3VibWlzc2lvbnMgPSB0aGlzLnN1Ym1pc3Npb25zO1xuICAgIHRoaXMuc3ViRm9ybS5tYXhQb3NzaWJsZVNjb3JlID0ge1xuICAgICAgJ2dvb2QnOiB0aGlzLm1heFBvc3NpYmxlR29vZFNjb3JlLFxuICAgICAgJ2JhZCc6IHRoaXMubWF4UG9zc2libGVCYWRTY29yZVxuICAgIH1cbiAgICB0aGlzLnN1YkZvcm0uZGVsZXRlZFN1Ym1pc3Npb25zID0gdGhpcy5kZWxldGVkU3VibWlzc2lvbnM7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdWJGb3JtKTtcbiAgfVxuXG4gIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uOiBTdWJtaXNzaW9uLCBxdWVzdGlvbjogYW55LCBuZXdBbnN3ZXJPYmplY3Q6IGFueSkge1xuICAgIGNvbnN0IG5ld0Fuc3dlciA9IG5ld0Fuc3dlck9iamVjdC5hbnN3ZXI7XG4gICAgY29uc3Qgc3VibWlzc2lvbkluZGV4ID0gdGhpcy5zdWJtaXNzaW9ucy5pbmRleE9mKHN1Ym1pc3Npb24pO1xuICAgIGlmIChzdWJtaXNzaW9uSW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgZXhpc3RpbmdBbnN3ZXIgPSB0aGlzLnN1Ym1pc3Npb25zW3N1Ym1pc3Npb25JbmRleF0uYW5zd2Vycy5maW5kKFxuICAgICAgICAoYSkgPT4gYS5xdWVzdGlvbklkID09PSBxdWVzdGlvbi5pZFxuICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudCAmJlxuICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0ZJTEVfUElDS0VSJ1xuICAgICAgKSB7XG4gICAgICAgIC8vIE1hcCBmaWxlIG9iamVjdHMgdG8gZmlsZSBuYW1lcy5cbiAgICAgICAgbGV0IGZpbGVOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKG5ld0Fuc3dlciAmJiBBcnJheS5pc0FycmF5KG5ld0Fuc3dlcikpIHtcbiAgICAgICAgICBmaWxlTmFtZXMgPSBuZXdBbnN3ZXIubWFwKChmaWxlOiBhbnkpID0+IGZpbGU/Ll9maWxlPy5uYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBkZWxldGVkIGZpbGUgSURzIGZyb20gdGhlIHF1ZXN0aW9uIChpZiBhbnkpLlxuICAgICAgICBsZXQgZGVsZXRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAocXVlc3Rpb24uZGVsZXRlRmlsZXMgJiYgcXVlc3Rpb24uZGVsZXRlRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRlbGV0ZWRGaWxlcyA9IHF1ZXN0aW9uLmRlbGV0ZUZpbGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXN0aW5nQW5zd2VyKSB7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuZmlsZXMgPSBuZXdBbnN3ZXI7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuYW5zd2VyID0gZmlsZU5hbWVzO1xuICAgICAgICAgIC8vIEluaXRpYWxpemUgZGVsZXRlRmlsZXMgaWYgaXQncyBub3QgZGVmaW5lZC5cbiAgICAgICAgICBpZiAoIWV4aXN0aW5nQW5zd2VyLmRlbGV0ZUZpbGVzKSB7XG4gICAgICAgICAgICBleGlzdGluZ0Fuc3dlci5kZWxldGVGaWxlcyA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBcHBlbmQgYW55IGRlbGV0ZWQgZmlsZSBJRHMgbm90IGFscmVhZHkgcHJlc2VudC5cbiAgICAgICAgICBkZWxldGVkRmlsZXMuZm9yRWFjaCgoZGVsZXRlZElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmICghZXhpc3RpbmdBbnN3ZXIuZGVsZXRlRmlsZXMhLmluY2x1ZGVzKGRlbGV0ZWRJZCkpIHtcbiAgICAgICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuZGVsZXRlRmlsZXMhLnB1c2goZGVsZXRlZElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBuZXdPYmo6IEFuc3dlciA9IHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLmlkLFxuICAgICAgICAgICAgZmlsZXM6IG5ld0Fuc3dlcixcbiAgICAgICAgICAgIGFuc3dlcjogZmlsZU5hbWVzLFxuICAgICAgICAgICAgZGVsZXRlRmlsZXM6IGRlbGV0ZWRGaWxlcy5sZW5ndGggPiAwID8gWy4uLmRlbGV0ZWRGaWxlc10gOiBbXSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuc3VibWlzc2lvbnNbc3VibWlzc2lvbkluZGV4XS5hbnN3ZXJzLnB1c2gobmV3T2JqKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV4aXN0aW5nQW5zd2VyKSB7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuYW5zd2VyID0gbmV3QW5zd2VyO1xuICAgICAgICAgIGV4aXN0aW5nQW5zd2VyLm1heGltdW1Qb3NzaWJsZVNjb3JlID0gbmV3QW5zd2VyT2JqZWN0Lm1heFBvc3NpYmxlU2NvcmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdWJtaXNzaW9uc1tzdWJtaXNzaW9uSW5kZXhdLmFuc3dlcnMucHVzaCh7XG4gICAgICAgICAgICBxdWVzdGlvbklkOiBxdWVzdGlvbi5pZCxcbiAgICAgICAgICAgIGFuc3dlcjogbmV3QW5zd2VyLFxuICAgICAgICAgICAgbWF4aW11bVBvc3NpYmxlU2NvcmU6IG5ld0Fuc3dlck9iamVjdC5tYXhQb3NzaWJsZVNjb3JlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gIFxuICAgICAgICBpZihcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudCAmJlxuICAgICAgICAgIChxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0RST1BfRE9XTicgfHxcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ1JBRElPX0JVVFRPTicgfHxcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0NIRUNLX0JPWCcpICYmXG4gICAgICAgICAgcXVlc3Rpb24uZm9ybUVsZW1lbnQuc2NvcmluZyAmJlxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LnNjb3JpbmcuZW5hYmxlU2NvcmluZ1xuICAgICAgICApe1xuICAgICAgICAgIHN1Ym1pc3Npb24uYW5zd2Vycy5mb3JFYWNoKChhbnMpID0+IHtcbiAgICAgICAgICAgIGlmKHF1ZXN0aW9uLmlkID09PSBhbnMucXVlc3Rpb25JZCl7XG4gICAgICAgICAgICAgIGNvbnN0IHNjb3JlUmVzdWx0ID0gdGhpcy5zY29yZUNhbGNTZXJ2aWNlLmNhbGN1bGF0ZVNjb3JlRnJvbUFuc3dlcihhbnMuYW5zd2VyLCBxdWVzdGlvbik7XG4gICAgICAgICAgICAgIC8vIFNhdmUgdG90YWwgc2NvcmUgYW5kIGluZGl2aWR1YWwgc2NvcmVzXG4gICAgICAgICAgICAgIGFucy5zY29yZXMgPSBzY29yZVJlc3VsdD8uc2NvcmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgICAvLyBDaGVjayBzY29yaW5nIGNvbmRpdGlvblxuICAgICAgICAgIGlmICh0aGlzLnNjb3JlQ2FsY1NlcnZpY2Uuc2hvdWxkQ2FsY3VsYXRlU2NvcmUodGhpcy5zdWJGb3JtLCBzdWJtaXNzaW9uKSkge1xuICAgICAgICAgICAgLy8gTWFyayB0aGF0IHRoaXMgc3VibWlzc2lvbiBoYWQgYWxsIHNjb3JpbmcgcXVlc3Rpb25zIGFuc3dlcmVkIGF0IGxlYXN0IG9uY2VcbiAgICAgICAgICAgIHN1Ym1pc3Npb24uaGFzQWxsU2NvcmluZ0Fuc3dlcmVkT25jZSA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN1Ym1pc3Npb24uaGFzQWxsU2NvcmluZ0Fuc3dlcmVkT25jZSkge1xuICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgc2NvcmUgYWx3YXlzIGFmdGVyIG9uY2Ugc2F0aXNmaWVkXG4gICAgICAgICAgICBzdWJtaXNzaW9uLnNjb3JlcyA9IHRoaXMuc2NvcmVDYWxjU2VydmljZS5jYWxjdWxhdGVTdWJtaXNzaW9uU2NvcmUoc3VibWlzc2lvbi5hbnN3ZXJzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGhhc0FueVNjb3JlID0gdGhpcy5zdWJtaXNzaW9ucy5zb21lKFxuICAgICAgICBzdWIgPT4gc3ViLnNjb3Jlcz8uc29tZShzID0+IHMuc2NvcmUgIT09IG51bGwgJiYgcy5zY29yZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgKTtcbiAgICAgIFxuICAgICAgaWYgKGhhc0FueVNjb3JlKSB7XG4gICAgICAgIHRoaXMuc3ViRm9ybS5zY29yZXMgPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuY2FsY3VsYXRlRmluYWxTY29yZSh0aGlzLnN1Ym1pc3Npb25zLHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUsdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3ViRm9ybS5zY29yZXMgPSBudWxsOyAvLyBvciAwLCBkZXBlbmRpbmcgb24gaG93IHlvdSB3YW50IHRvIHJlcHJlc2VudCBcIm5vIHNjb3JlIHlldFwiXG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVEZWxldGVkRmlsZXMoXG4gICAgc3VibWlzc2lvbjogU3VibWlzc2lvbixcbiAgICBxdWVzdGlvbjogYW55LFxuICAgIGRlbGV0ZWRGaWxlczogc3RyaW5nW11cbiAgKSB7XG4gICAgLy8gRmluZCB0aGUgbWF0Y2hpbmcgYW5zd2VyIG9iamVjdCBiYXNlZCBvbiB0aGUgcXVlc3Rpb25JZFxuICAgIGNvbnN0IGFuc3dlck9iaiA9IHN1Ym1pc3Npb24uYW5zd2Vycy5maW5kKFxuICAgICAgKGFucykgPT4gYW5zLnF1ZXN0aW9uSWQgPT09IHF1ZXN0aW9uLmlkXG4gICAgKTtcblxuICAgIGlmIChhbnN3ZXJPYmopIHtcbiAgICAgIC8vIEVuc3VyZSBkZWxldGVGaWxlcyBpcyBhbHdheXMgYW4gYXJyYXlcbiAgICAgIGlmICghYW5zd2VyT2JqLmRlbGV0ZUZpbGVzKSB7XG4gICAgICAgIGFuc3dlck9iai5kZWxldGVGaWxlcyA9IFtdO1xuICAgICAgfVxuXG4gICAgICAvLyBBZGQgZGVsZXRlZCBmaWxlIElEcyB0byBkZWxldGVGaWxlcyBhcnJheSB3aGlsZSBhdm9pZGluZyBkdXBsaWNhdGVzXG4gICAgICBkZWxldGVkRmlsZXMuZm9yRWFjaCgoZmlsZUlkKSA9PiB7XG4gICAgICAgIGlmICghYW5zd2VyT2JqLmRlbGV0ZUZpbGVzIS5pbmNsdWRlcyhmaWxlSWQpKSB7XG4gICAgICAgICAgYW5zd2VyT2JqLmRlbGV0ZUZpbGVzIS5wdXNoKGZpbGVJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZVN1Ym1pc3Npb24oaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHN1Ym1pc3Npb24gPSB0aGlzLnN1Ym1pc3Npb25zW2luZGV4XTtcbiAgICBpZiAoc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpIHtcbiAgICAgIHRoaXMuZGVsZXRlZFN1Ym1pc3Npb25zLnB1c2goc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpO1xuICAgIH1cbiAgICB0aGlzLnN1Ym1pc3Npb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5zdWJtaXNzaW9ucyA9IFsuLi50aGlzLnN1Ym1pc3Npb25zXTtcbiAgICB0aGlzLnN1YkZvcm0uc2NvcmVzID0gdGhpcy5zY29yZUNhbGNTZXJ2aWNlLmNhbGN1bGF0ZUZpbmFsU2NvcmUodGhpcy5zdWJtaXNzaW9ucyx0aGlzLm1heFBvc3NpYmxlR29vZFNjb3JlLHRoaXMubWF4UG9zc2libGVCYWRTY29yZSk7XG4gICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1Ym1pc3Npb24gb2Ygc3VibWlzc2lvbnM7bGV0IGk9aW5kZXggO3RyYWNrQnk6IHRyYWNrQnlTdWJtaXNzaW9uSWRcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtc3ViZm9ybSBtYi00XCI+XG4gICAgPGRpdiBjbGFzcz1cImRlbGV0ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtZS00IG1iLTIgbXQtMiBnYXAtM1wiXG4gICAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdWJtaXNzaW9uPy5zY29yZXM/LlswXSBhcyBmaXJzdFNjb3JlXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic3VibWlzc2lvblNjb3JlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdnb29kLXNjb3JlJzogZmlyc3RTY29yZS5zY29yZVR5cGUgPT09ICdHT09EX1NDT1JFJyxcbiAgICAgICAgICAnYmFkLXNjb3JlJzogZmlyc3RTY29yZS5zY29yZVR5cGUgPT09ICdCQURfU0NPUkUnXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgPHNwYW4+e3sgTWF0aC5hYnMoZmlyc3RTY29yZS5zY29yZSkgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxpbWcgY2xhc3M9XCJkZWxldGUtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9kZWxldGUtaWNvbi5zdmdcIiBhbHQ9XCJkZWxldGVcIlxuICAgICAgKm5nSWY9XCJzdWJtaXNzaW9uLmNvbmZpZ3VyYXRpb24/LmFsbG93RGVsZXRlXCJcbiAgICAgIChjbGljayk9XCJkZWxldGVTdWJtaXNzaW9uKGkpXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgcm93IG9mIHN1YkZvcm0ucm93c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGdyaWQgb2Ygcm93LmdyaWRcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ3dpZHRoLiUnOiBncmlkLmVsZW1lbnQuY291bnQgKiAoMTAwIC8gMTIpIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImdyaWQuZW50aXR5VHlwZSA9PT0gJ1FVRVNUSU9OJ1wiPlxuICAgICAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiZ3JpZC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlXCI+XG4gICAgICAgICAgICAgIDxsaWItY2hlY2stYm94LWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInQ0hFQ0tfQk9YJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItZGF0ZS10aW1lLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInREFURV9USU1FJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLWRhdGUtdGltZS1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItZHJvcC1kb3duLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInRFJPUF9ET1dOJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLWRyb3AtZG93bi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItZmlsZS1waWNrZXItZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidGSUxFX1BJQ0tFUidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgKGlubGluZURlbGV0ZUZpbGVzKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVEZWxldGVkRmlsZXMoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItZmlsZS1waWNrZXItZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLWxvY2F0aW9uLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInTE9DQVRJT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItbG9jYXRpb24tZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLW1haWwtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidFTUFJTCdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1tYWlsLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1tb2JpbGUtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidNT0JJTEUnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItbW9iaWxlLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1udW1iZXItZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidOVU1CRVInXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtyb3dJZF09XCInMCdcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItbnVtYmVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1wYXNzd29yZC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1BBU1NXT1JEJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXBhc3N3b3JkLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidSQURJT19CVVRUT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtyb3dJZF09XCJpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXJhZGlvLWJ1dHRvbi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItcmljaC10ZXh0LWVkaXRvci1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1JJQ0hfVEVYVF9FRElUT1InXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtpblN1YkZvcm1dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInU0VMRUNUSU9OX01BVFJJWCdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cImlcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItc2xpZGVyLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInU0xJREVSJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXNsaWRlci1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RFUk1TX0FORF9DT05ESVRJT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdGV4dC1hcmVhLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVEVYVF9BUkVBJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXRleHQtYXJlYS1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdGV4dC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQk9YJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICBbaW5DYXJkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdGV4dC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdG9nZ2xlLXN3aXRjaC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RPR0dMRV9TV0lUQ0gnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdG9nZ2xlLXN3aXRjaC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdXJsLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXVybC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItYWdncmVnYXRlLWZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidBR0dSRUdBVEVfRlVOQ1RJT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtyb3dJZF09XCInMCdcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItYWdncmVnYXRlLWZ1bmN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyaWQuZWxlbWVudC5jaGlsZExvZ2ljc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0Q29tcG9uZW50Rm9yQ2hpbGRMb2dpY3MoZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzLCAnY2hpbGQnLCBncmlkLmVsZW1lbnQuYW5zd2VyKSBhcyBvdXRsZXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwib3V0bGV0LmNvbXBvbmVudCB8IGFzeW5jOyBpbmplY3Rvcjogb3V0bGV0LmluamVjdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyaWQ/LmVsZW1lbnQ/LmNoaWxkTG9naWNzXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wb25lbnRUb0xvYWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50VG9Mb2FkO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBncmlkOiBncmlkPy5lbGVtZW50Py5jaGlsZExvZ2ljcyxcbiAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXI6IGdyaWQ/LmVsZW1lbnQ/LmFuc3dlcixcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoaWxkJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJncmlkLmVudGl0eVR5cGUgPT09ICdTRUNUSU9OJ1wiPlxuICAgICAgICAgICAgPGxpYi1zZWN0aW9uLWZpZWxkcyBbc2VjdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1zZWN0aW9uLWZpZWxkcz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cInN1YmZvcm0tZm9vdGVyXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiYWRkTmV3U3VibWlzc2lvbigpXCI+e3thZGRCdXR0b25MYWJlbH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -7,6 +7,8 @@ export class DataService {
7
7
  this.apiUrl$ = this.dataSubject.asObservable();
8
8
  this.headerSubject = new BehaviorSubject({});
9
9
  this.header$ = this.headerSubject.asObservable();
10
+ this.subformSubject = new BehaviorSubject({});
11
+ this.subform$ = this.subformSubject.asObservable();
10
12
  this.parentQuestionsSubject = new BehaviorSubject(null);
11
13
  this.parentQuestions$ = this.parentQuestionsSubject.asObservable();
12
14
  }
@@ -19,6 +21,9 @@ export class DataService {
19
21
  setParentQuestions(data) {
20
22
  this.parentQuestionsSubject.next(data);
21
23
  }
24
+ setSubformData(data) {
25
+ this.subformSubject.next(data);
26
+ }
22
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
28
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataService, providedIn: 'root' }); }
24
29
  }
@@ -28,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
28
33
  providedIn: 'root',
29
34
  }]
30
35
  }], ctorParameters: function () { return []; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sV0FBVztJQUN0QjtRQUVRLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0MsWUFBTyxHQUF1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDOUMsWUFBTyxHQUFvQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTVELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3pELHFCQUFnQixHQUFvQixJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFSdkUsQ0FBQztJQVVoQixTQUFTLENBQUMsSUFBWTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVM7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVM7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDOytHQXJCVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHJpdmF0ZSBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyBhcGlVcmwkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmRhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIGhlYWRlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe30pO1xuICBwdWJsaWMgaGVhZGVyJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5oZWFkZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgcGFyZW50UXVlc3Rpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgcHVibGljIHBhcmVudFF1ZXN0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMucGFyZW50UXVlc3Rpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBzZXRBcGlVcmwoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgc2V0SGVhZGVyKGRhdGE6IGFueSkge1xuICAgIHRoaXMuaGVhZGVyU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgc2V0UGFyZW50UXVlc3Rpb25zKGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50UXVlc3Rpb25zU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sV0FBVztJQUN0QjtRQUVRLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0MsWUFBTyxHQUF1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDOUMsWUFBTyxHQUFvQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTVELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDL0MsYUFBUSxHQUFvQixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTlELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3pELHFCQUFnQixHQUFvQixJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFYdkUsQ0FBQztJQWFoQixTQUFTLENBQUMsSUFBWTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVM7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVM7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0E1QlUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHByaXZhdGUgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwdWJsaWMgYXBpVXJsJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5kYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSBoZWFkZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcbiAgcHVibGljIGhlYWRlciQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuaGVhZGVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHN1YmZvcm1TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcbiAgcHVibGljIHN1YmZvcm0kOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnN1YmZvcm1TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgcGFyZW50UXVlc3Rpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgcHVibGljIHBhcmVudFF1ZXN0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMucGFyZW50UXVlc3Rpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBzZXRBcGlVcmwoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgc2V0SGVhZGVyKGRhdGE6IGFueSkge1xuICAgIHRoaXMuaGVhZGVyU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgc2V0UGFyZW50UXVlc3Rpb25zKGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50UXVlc3Rpb25zU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgc2V0U3ViZm9ybURhdGEoZGF0YTogYW55KSB7XG4gICAgdGhpcy5zdWJmb3JtU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG59XG4iXX0=
@@ -20,6 +20,10 @@ export class FormService {
20
20
  this.parentQuestions = questions;
21
21
  }
22
22
  });
23
+ this.dataService.subform$.subscribe((data) => {
24
+ this.subformData = data;
25
+ console.log('subformData', this.subformData);
26
+ });
23
27
  }
24
28
  getQuestions(moduleName, pageNumber = 1, rowSet = 0, progressiveLoading = true) {
25
29
  const headers = new HttpHeaders({
@@ -169,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
169
173
  providedIn: 'root',
170
174
  }]
171
175
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.DataService }]; } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTzNFLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0I7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSjlELFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUlmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3hELElBQUksU0FBUyxFQUFFO2dCQUNiLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQWtCLEVBQUUsYUFBcUIsQ0FBQyxFQUFFLFNBQWlCLENBQUMsRUFBRSxxQkFBNEIsSUFBSTtRQUMzRyxNQUFNLE9BQU8sR0FB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O1NBQ2xDLENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNwQixNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxRQUFRLGNBQWMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sSUFBSSxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakYsQ0FBQzsrR0E5S1UsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVNlcnZpY2Uge1xuICBwcml2YXRlIGFwaVVybDogc3RyaW5nID0gJyc7XG4gIGhlYWRlcjogYW55ID0ge307XG4gIHBhcmVudFF1ZXN0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmFwaVVybCQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmFwaVVybCA9IGRhdGE7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmhlYWRlciQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmhlYWRlciA9IGRhdGE7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnBhcmVudFF1ZXN0aW9ucyQuc3Vic2NyaWJlKChxdWVzdGlvbnMpID0+IHtcbiAgICAgIGlmIChxdWVzdGlvbnMpIHtcbiAgICAgICAgdGhpcy5wYXJlbnRRdWVzdGlvbnMgPSBxdWVzdGlvbnM7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRRdWVzdGlvbnMobW9kdWxlTmFtZTogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIgPSAxLCByb3dTZXQ6IG51bWJlciA9IDAsIHByb2dyZXNzaXZlTG9hZGluZzogYm9vbGVhbj10cnVlKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiB0aGlzLmhlYWRlci5hY2NlcHRlZExhbmd1YWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAuc2V0KCdwYWdlTnVtYmVyJywgcGFnZU51bWJlci50b1N0cmluZygpKVxuICAgICAgICAuc2V0KCdyb3dTZXQnLCByb3dTZXQudG9TdHJpbmcoKSlcbiAgICAgICAgLnNldCgncHJvZ3Jlc3NpdmVMb2FkaW5nJywgcHJvZ3Jlc3NpdmVMb2FkaW5nKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5hcGlVcmx9L2FwaS9wdWJsaWMvZm9ybXMvJHttb2R1bGVOYW1lfWAsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgcGFyYW1zXG4gICAgfSk7XG4gIH1cblxuICBmZXRjaERhdGFGcm9tRGF0YWJhc2UoZGF0YWJhc2U6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYXBpVXJsfS9hcGkvbG9hZC1mcm9tLWRiYCwgZGF0YWJhc2UsIHtcbiAgICAgIGhlYWRlcnMsXG4gICAgfSk7XG4gIH1cblxuICBmZXRjaERhdGFGcm9tTG9va3VwKHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLmFwaVVybH0vYXBpL3B1YmxpYy9sb29rdXAvJHt0YWJsZU5hbWV9YCk7XG4gIH1cblxuICBmZXRjaERhdGFGcm9tRXh0ZXJuYWxBUEkoYXBpQ29uZmlnOiBhbnksIHNlbGVjdGVkVmFsdWVzOiBhbnlbXSA9IFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgXG4gICAgLy8g4pyFIENoZWNrIGlmIHBhZ2luYXRpb24gZXhpc3RzXG4gICAgY29uc3QgaGFzUGFnaW5hdGlvbiA9XG4gICAgICBhcGlDb25maWcucGFyYW1zPy5zb21lKChwOiBhbnkpID0+IHAudmFsdWVTb3VyY2UgPT09ICdQQUdFX0lOREVYJykgJiZcbiAgICAgIGFwaUNvbmZpZy5wYXJhbXM/LnNvbWUoKHA6IGFueSkgPT4gcC52YWx1ZVNvdXJjZSA9PT0gJ1BBR0VfU0laRScpO1xuXG4gIFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSEVBREVSUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBpZiAoYXBpQ29uZmlnLmhlYWRlcnMpIHtcbiAgICAgIGFwaUNvbmZpZy5oZWFkZXJzLmZvckVhY2goKGhlYWRlcjogYW55KSA9PiB7XG4gICAgICAgIGlmIChoZWFkZXIua2V5TmFtZSkge1xuICAgICAgICAgIGlmIChoZWFkZXIudmFsdWVTb3VyY2UgPT09ICdTRUxFQ1RFRF9WQUxVRVMnKSB7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICBpZiAoaGVhZGVyLmlucHV0VmFsdWUgPT09ICdTSU5HTEVfVkFMVUUnKSB7XG4gICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGhlYWRlci5rZXlOYW1lLCBzZWxlY3RlZFZhbHVlc1swXSk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGVhZGVyLmlucHV0VmFsdWUgPT09ICdBUlJBWV9PRl9WQUxVRVMnKSB7XG4gICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGhlYWRlci5rZXlOYW1lLCBzZWxlY3RlZFZhbHVlcy5qb2luKCcsJykpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyDinYwgZWxzZSBza2lwXG4gICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIuaW5wdXRWYWx1ZSkge1xuICAgICAgICAgICAgaWYgKGhlYWRlci5rZXlOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhdXRob3JpemF0aW9uJykge1xuICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoXG4gICAgICAgICAgICAgICAgaGVhZGVyLmtleU5hbWUsXG4gICAgICAgICAgICAgICAgJ0JlYXJlciAnICsgaGVhZGVyLmlucHV0VmFsdWVcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChoZWFkZXIua2V5TmFtZSwgaGVhZGVyLmlucHV0VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQQVJBTVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChhcGlDb25maWcucGFyYW1zKSB7XG4gICAgICBhcGlDb25maWcucGFyYW1zLmZvckVhY2goKHBhcmFtOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHBhcmFtLmtleU5hbWUpIHtcbiAgICAgICAgICBpZiAocGFyYW0udmFsdWVTb3VyY2UgPT09ICdTRUxFQ1RFRF9WQUxVRVMnKSB7XG4gICAgICAgICAgICAvLyDinIUgT25seSBhZGQgc2VsZWN0ZWRJZHMgaWYgdmFsdWVzIGV4aXN0XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICBpZiAocGFyYW0uaW5wdXRWYWx1ZSA9PT0gJ1NJTkdMRV9WQUxVRScpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KHBhcmFtLmtleU5hbWUsIHNlbGVjdGVkVmFsdWVzWzBdKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbS5pbnB1dFZhbHVlID09PSAnQVJSQVlfT0ZfVkFMVUVTJykge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWVzLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChwYXJhbS5rZXlOYW1lLCB2YWwpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyDinYwgSWYgbm8gdmFsdWVzLCBkbyBub3RoaW5nIChza2lwIHBhcmFtIGVudGlyZWx5KVxuICAgICAgICAgIH0gZWxzZSBpZiAocGFyYW0uaW5wdXRWYWx1ZSkge1xuICAgICAgICAgICAgLy8gTm9ybWFsIGN1c3RvbSBvciBzZWFyY2ggcGFyYW1zXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KHBhcmFtLmtleU5hbWUsIHBhcmFtLmlucHV0VmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICBcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBBVEggVkFSSUFCTEVTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBsZXQgdXJsID0gYXBpQ29uZmlnLnVybDtcbiAgICBpZiAoYXBpQ29uZmlnLnBhdGhWYXJpYWJsZXMpIHtcbiAgICAgIGFwaUNvbmZpZy5wYXRoVmFyaWFibGVzLmZvckVhY2goKHBhdGhWYXI6IGFueSkgPT4ge1xuICAgICAgICBpZiAocGF0aFZhci5rZXlOYW1lICYmIHBhdGhWYXIuaW5wdXRWYWx1ZSkge1xuICAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKGB7JHtwYXRoVmFyLmtleU5hbWV9fWAsIHBhdGhWYXIuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGSU5BTCBDQUxMIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCwgeyBoZWFkZXJzLCBwYXJhbXMgfSk7XG4gIH1cblxuICBzdWJtaXRGb3JtKG1vZHVsZU5hbWU6IHN0cmluZywgZm9ybURhdGE6IEZvcm1EYXRhLCByZUNBUFRDSEFUb2tlbj86c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdBdXRoLXVzZXInOiB0aGlzLmhlYWRlci5hdXRoVXNlcixcbiAgICB9KTtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwaVVybH0vYXBpL3B1YmxpYy9mb3Jtcy8ke21vZHVsZU5hbWV9L3N1Ym1pc3Npb25zYDtcbiAgICBpZiAocmVDQVBUQ0hBVG9rZW4pIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgncmVjYXB0Y2hhVG9rZW4nLCByZUNBUFRDSEFUb2tlbik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGZvcm1EYXRhLCB7XG4gICAgICBoZWFkZXJzXG4gICAgfSk7XG4gIH1cblxuICBnZXRTdWJtaXR0ZWRGb3JtKG1vZHVsZU5hbWU6IHN0cmluZywgc3VibWlzc2lvbklkOiBzdHJpbmcsIHBhZ2VOdW1iZXI6IG51bWJlciA9IDEsIHJvd1NldDogbnVtYmVyID0gMCkge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAuc2V0KCdwYWdlTnVtYmVyJywgcGFnZU51bWJlci50b1N0cmluZygpKVxuICAgICAgLnNldCgncm93U2V0Jywgcm93U2V0LnRvU3RyaW5nKCkpO1xuXG4gICAgaWYgKHRoaXMucGFyZW50UXVlc3Rpb25zKSB7XG4gICAgICB0aGlzLnBhcmVudFF1ZXN0aW9ucy5mb3JFYWNoKChxOiBhbnkpID0+IHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFyZW50UXVlc3Rpb25zJywgcSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYXBpVXJsfS9hcGkvZm9ybXMvJHttb2R1bGVOYW1lfS9zdWJtaXNzaW9ucy8ke3N1Ym1pc3Npb25JZH1gLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIHVwZGF0ZUZvcm0obW9kdWxlTmFtZTogc3RyaW5nLCBzdWJtaXNzaW9uSWQ6IHN0cmluZywgZm9ybURhdGE6IEZvcm1EYXRhLCByZUNBUFRDSEFUb2tlbj86c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdBdXRoLXVzZXInOiB0aGlzLmhlYWRlci5hdXRoVXNlcixcbiAgICB9KTtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwaVVybH0vYXBpL3B1YmxpYy9mb3Jtcy8ke21vZHVsZU5hbWV9L3N1Ym1pc3Npb25zLyR7c3VibWlzc2lvbklkfWA7XG4gICAgaWYgKHJlQ0FQVENIQVRva2VuKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ3JlY2FwdGNoYVRva2VuJywgcmVDQVBUQ0hBVG9rZW4pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgZm9ybURhdGEsIHtcbiAgICAgIGhlYWRlcnNcbiAgICB9KTtcbiAgfVxuICBwcmV2aWV3RmlsZSh1cmw6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogdGhpcy5oZWFkZXIuY29udGVudFR5cGUsXG4gICAgICAnYXV0aC11c2VyJzogdGhpcy5oZWFkZXIuYXV0aFVzZXIsXG4gICAgfSk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgfTtcbiAgICBjb25zdCBmaWxlVXJsID0gdXJsO1xuICAgIGNvbnN0IGVuY29kZWRGaWxlVXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KGZpbGVVcmwpO1xuICAgIGNvbnN0IGZ1bGxVcmwgPSBgP3VybD0ke2VuY29kZWRGaWxlVXJsfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih0aGlzLmFwaVVybCArIGAvYXBpL2Nkbi9wcmV2aWV3JHtmdWxsVXJsfWAsIG9wdGlvbnMpO1xuICB9XG5cbn1cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTzNFLE1BQU0sT0FBTyxXQUFXO0lBTXRCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0I7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTDlELFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUtmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3hELElBQUksU0FBUyxFQUFFO2dCQUNiLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FB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UUFBUSxFQUFFO1lBQ3ZDLE9BQU87U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVyxDQUFDLEdBQVE7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDOUIsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1NBQ2xDLENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNwQixNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxRQUFRLGNBQWMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sSUFBSSxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakYsQ0FBQzsrR0FyTFUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVNlcnZpY2Uge1xuICBwcml2YXRlIGFwaVVybDogc3RyaW5nID0gJyc7XG4gIGhlYWRlcjogYW55ID0ge307XG4gIHBhcmVudFF1ZXN0aW9uczogYW55O1xuICBzdWJmb3JtRGF0YTphbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBpVXJsJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuYXBpVXJsID0gZGF0YTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YVNlcnZpY2UuaGVhZGVyJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaGVhZGVyID0gZGF0YTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YVNlcnZpY2UucGFyZW50UXVlc3Rpb25zJC5zdWJzY3JpYmUoKHF1ZXN0aW9ucykgPT4ge1xuICAgICAgaWYgKHF1ZXN0aW9ucykge1xuICAgICAgICB0aGlzLnBhcmVudFF1ZXN0aW9ucyA9IHF1ZXN0aW9ucztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YVNlcnZpY2Uuc3ViZm9ybSQuc3Vic2NyaWJlKChkYXRhKT0+e1xuICAgICAgdGhpcy5zdWJmb3JtRGF0YSA9IGRhdGE7XG4gICAgICBjb25zb2xlLmxvZygnc3ViZm9ybURhdGEnLHRoaXMuc3ViZm9ybURhdGEpO1xuICAgICAgXG4gICAgfSlcbiAgfVxuXG4gIGdldFF1ZXN0aW9ucyhtb2R1bGVOYW1lOiBzdHJpbmcsIHBhZ2VOdW1iZXI6IG51bWJlciA9IDEsIHJvd1NldDogbnVtYmVyID0gMCwgcHJvZ3Jlc3NpdmVMb2FkaW5nOiBib29sZWFuPXRydWUpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IHRoaXMuaGVhZGVyLmFjY2VwdGVkTGFuZ3VhZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgIC5zZXQoJ3BhZ2VOdW1iZXInLCBwYWdlTnVtYmVyLnRvU3RyaW5nKCkpXG4gICAgICAgIC5zZXQoJ3Jvd1NldCcsIHJvd1NldC50b1N0cmluZygpKVxuICAgICAgICAuc2V0KCdwcm9ncmVzc2l2ZUxvYWRpbmcnLCBwcm9ncmVzc2l2ZUxvYWRpbmcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLmFwaVVybH0vYXBpL3B1YmxpYy9mb3Jtcy8ke21vZHVsZU5hbWV9YCwge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBwYXJhbXNcbiAgICB9KTtcbiAgfVxuXG4gIGZldGNoRGF0YUZyb21EYXRhYmFzZShkYXRhYmFzZTogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hcGlVcmx9L2FwaS9sb2FkLWZyb20tZGJgLCBkYXRhYmFzZSwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIGZldGNoRGF0YUZyb21Mb29rdXAodGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYXBpVXJsfS9hcGkvcHVibGljL2xvb2t1cC8ke3RhYmxlTmFtZX1gKTtcbiAgfVxuXG4gIGZldGNoRGF0YUZyb21FeHRlcm5hbEFQSShhcGlDb25maWc6IGFueSwgc2VsZWN0ZWRWYWx1ZXM6IGFueVtdID0gW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICBcbiAgICAvLyDinIUgQ2hlY2sgaWYgcGFnaW5hdGlvbiBleGlzdHNcbiAgICBjb25zdCBoYXNQYWdpbmF0aW9uID1cbiAgICAgIGFwaUNvbmZpZy5wYXJhbXM/LnNvbWUoKHA6IGFueSkgPT4gcC52YWx1ZVNvdXJjZSA9PT0gJ1BBR0VfSU5ERVgnKSAmJlxuICAgICAgYXBpQ29uZmlnLnBhcmFtcz8uc29tZSgocDogYW55KSA9PiBwLnZhbHVlU291cmNlID09PSAnUEFHRV9TSVpFJyk7XG5cbiAgXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBIRUFERVJTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIGlmIChhcGlDb25maWcuaGVhZGVycykge1xuICAgICAgYXBpQ29uZmlnLmhlYWRlcnMuZm9yRWFjaCgoaGVhZGVyOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGhlYWRlci5rZXlOYW1lKSB7XG4gICAgICAgICAgaWYgKGhlYWRlci52YWx1ZVNvdXJjZSA9PT0gJ1NFTEVDVEVEX1ZBTFVFUycpIHtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIGlmIChoZWFkZXIuaW5wdXRWYWx1ZSA9PT0gJ1NJTkdMRV9WQUxVRScpIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoaGVhZGVyLmtleU5hbWUsIHNlbGVjdGVkVmFsdWVzWzBdKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIuaW5wdXRWYWx1ZSA9PT0gJ0FSUkFZX09GX1ZBTFVFUycpIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoaGVhZGVyLmtleU5hbWUsIHNlbGVjdGVkVmFsdWVzLmpvaW4oJywnKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIOKdjCBlbHNlIHNraXBcbiAgICAgICAgICB9IGVsc2UgaWYgKGhlYWRlci5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoaGVhZGVyLmtleU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2F1dGhvcml6YXRpb24nKSB7XG4gICAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChcbiAgICAgICAgICAgICAgICBoZWFkZXIua2V5TmFtZSxcbiAgICAgICAgICAgICAgICAnQmVhcmVyICcgKyBoZWFkZXIuaW5wdXRWYWx1ZVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGhlYWRlci5rZXlOYW1lLCBoZWFkZXIuaW5wdXRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBBUkFNUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGFwaUNvbmZpZy5wYXJhbXMpIHtcbiAgICAgIGFwaUNvbmZpZy5wYXJhbXMuZm9yRWFjaCgocGFyYW06IGFueSkgPT4ge1xuICAgICAgICBpZiAocGFyYW0ua2V5TmFtZSkge1xuICAgICAgICAgIGlmIChwYXJhbS52YWx1ZVNvdXJjZSA9PT0gJ1NFTEVDVEVEX1ZBTFVFUycpIHtcbiAgICAgICAgICAgIC8vIOKchSBPbmx5IGFkZCBzZWxlY3RlZElkcyBpZiB2YWx1ZXMgZXhpc3RcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIGlmIChwYXJhbS5pbnB1dFZhbHVlID09PSAnU0lOR0xFX1ZBTFVFJykge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQocGFyYW0ua2V5TmFtZSwgc2VsZWN0ZWRWYWx1ZXNbMF0pO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmFtLmlucHV0VmFsdWUgPT09ICdBUlJBWV9PRl9WQUxVRVMnKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKHBhcmFtLmtleU5hbWUsIHZhbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIOKdjCBJZiBubyB2YWx1ZXMsIGRvIG5vdGhpbmcgKHNraXAgcGFyYW0gZW50aXJlbHkpXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJhbS5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICAvLyBOb3JtYWwgY3VzdG9tIG9yIHNlYXJjaCBwYXJhbXNcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQocGFyYW0ua2V5TmFtZSwgcGFyYW0uaW5wdXRWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUEFUSCBWQVJJQUJMRVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGxldCB1cmwgPSBhcGlDb25maWcudXJsO1xuICAgIGlmIChhcGlDb25maWcucGF0aFZhcmlhYmxlcykge1xuICAgICAgYXBpQ29uZmlnLnBhdGhWYXJpYWJsZXMuZm9yRWFjaCgocGF0aFZhcjogYW55KSA9PiB7XG4gICAgICAgIGlmIChwYXRoVmFyLmtleU5hbWUgJiYgcGF0aFZhci5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoYHske3BhdGhWYXIua2V5TmFtZX19YCwgcGF0aFZhci5pbnB1dFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICBcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZJTkFMIENBTEwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsLCB7IGhlYWRlcnMsIHBhcmFtcyB9KTtcbiAgfVxuXG4gIHN1Ym1pdEZvcm0obW9kdWxlTmFtZTogc3RyaW5nLCBmb3JtRGF0YTogRm9ybURhdGEsIHJlQ0FQVENIQVRva2VuPzpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0F1dGgtdXNlcic6IHRoaXMuaGVhZGVyLmF1dGhVc2VyLFxuICAgIH0pO1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBpVXJsfS9hcGkvcHVibGljL2Zvcm1zLyR7bW9kdWxlTmFtZX0vc3VibWlzc2lvbnNgO1xuICAgIGlmIChyZUNBUFRDSEFUb2tlbikge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdyZWNhcHRjaGFUb2tlbicsIHJlQ0FQVENIQVRva2VuKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZm9ybURhdGEsIHtcbiAgICAgIGhlYWRlcnNcbiAgICB9KTtcbiAgfVxuXG4gIGdldFN1Ym1pdHRlZEZvcm0obW9kdWxlTmFtZTogc3RyaW5nLCBzdWJtaXNzaW9uSWQ6IHN0cmluZywgcGFnZU51bWJlcjogbnVtYmVyID0gMSwgcm93U2V0OiBudW1iZXIgPSAwKSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgIC5zZXQoJ3BhZ2VOdW1iZXInLCBwYWdlTnVtYmVyLnRvU3RyaW5nKCkpXG4gICAgICAuc2V0KCdyb3dTZXQnLCByb3dTZXQudG9TdHJpbmcoKSk7XG5cbiAgICBpZiAodGhpcy5wYXJlbnRRdWVzdGlvbnMpIHtcbiAgICAgIHRoaXMucGFyZW50UXVlc3Rpb25zLmZvckVhY2goKHE6IGFueSkgPT4ge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYXJlbnRRdWVzdGlvbnMnLCBxKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5hcGlVcmx9L2FwaS9mb3Jtcy8ke21vZHVsZU5hbWV9L3N1Ym1pc3Npb25zLyR7c3VibWlzc2lvbklkfWAsIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgdXBkYXRlRm9ybShtb2R1bGVOYW1lOiBzdHJpbmcsIHN1Ym1pc3Npb25JZDogc3RyaW5nLCBmb3JtRGF0YTogRm9ybURhdGEsIHJlQ0FQVENIQVRva2VuPzpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0F1dGgtdXNlcic6IHRoaXMuaGVhZGVyLmF1dGhVc2VyLFxuICAgIH0pO1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBpVXJsfS9hcGkvcHVibGljL2Zvcm1zLyR7bW9kdWxlTmFtZX0vc3VibWlzc2lvbnMvJHtzdWJtaXNzaW9uSWR9YDtcbiAgICBpZiAocmVDQVBUQ0hBVG9rZW4pIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgncmVjYXB0Y2hhVG9rZW4nLCByZUNBUFRDSEFUb2tlbik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odXJsLCBmb3JtRGF0YSwge1xuICAgICAgaGVhZGVyc1xuICAgIH0pO1xuICB9XG4gIHByZXZpZXdGaWxlKHVybDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiB0aGlzLmhlYWRlci5jb250ZW50VHlwZSxcbiAgICAgICdhdXRoLXVzZXInOiB0aGlzLmhlYWRlci5hdXRoVXNlcixcbiAgICB9KTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICB9O1xuICAgIGNvbnN0IGZpbGVVcmwgPSB1cmw7XG4gICAgY29uc3QgZW5jb2RlZEZpbGVVcmwgPSBlbmNvZGVVUklDb21wb25lbnQoZmlsZVVybCk7XG4gICAgY29uc3QgZnVsbFVybCA9IGA/dXJsPSR7ZW5jb2RlZEZpbGVVcmx9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHRoaXMuYXBpVXJsICsgYC9hcGkvY2RuL3ByZXZpZXcke2Z1bGxVcmx9YCwgb3B0aW9ucyk7XG4gIH1cblxufVxuIl19
@@ -683,6 +683,8 @@ class DataService {
683
683
  this.apiUrl$ = this.dataSubject.asObservable();
684
684
  this.headerSubject = new BehaviorSubject({});
685
685
  this.header$ = this.headerSubject.asObservable();
686
+ this.subformSubject = new BehaviorSubject({});
687
+ this.subform$ = this.subformSubject.asObservable();
686
688
  this.parentQuestionsSubject = new BehaviorSubject(null);
687
689
  this.parentQuestions$ = this.parentQuestionsSubject.asObservable();
688
690
  }
@@ -695,6 +697,9 @@ class DataService {
695
697
  setParentQuestions(data) {
696
698
  this.parentQuestionsSubject.next(data);
697
699
  }
700
+ setSubformData(data) {
701
+ this.subformSubject.next(data);
702
+ }
698
703
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
699
704
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataService, providedIn: 'root' }); }
700
705
  }
@@ -722,6 +727,10 @@ class FormService {
722
727
  this.parentQuestions = questions;
723
728
  }
724
729
  });
730
+ this.dataService.subform$.subscribe((data) => {
731
+ this.subformData = data;
732
+ console.log('subformData', this.subformData);
733
+ });
725
734
  }
726
735
  getQuestions(moduleName, pageNumber = 1, rowSet = 0, progressiveLoading = true) {
727
736
  const headers = new HttpHeaders({
@@ -6154,7 +6163,7 @@ class CardSubformComponent {
6154
6163
  });
6155
6164
  });
6156
6165
  const submission = {
6157
- submissionId: '',
6166
+ submissionId: v4(),
6158
6167
  answers: emptyAnswers,
6159
6168
  configuration: {
6160
6169
  isDefault: false,
@@ -8502,6 +8511,9 @@ class FormSubmissionComponent {
8502
8511
  ngOnInit() {
8503
8512
  this.dataService.setApiUrl(this.formData.apiurl);
8504
8513
  this.dataService.setHeader(this.formData.headers);
8514
+ if (this.formData.duplicateSubmission) {
8515
+ this.dataService.setSubformData(this.formData?.duplicateSubmission);
8516
+ }
8505
8517
  this.dataService.header$.subscribe((data) => {
8506
8518
  this.header = data;
8507
8519
  this.setHtmlDirection(this.header.acceptedLanguage);