@hmcts/ccd-case-ui-toolkit 7.1.45-ungrey-back-button-6 → 7.1.45-ungrey-back-button-7

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.
@@ -92,6 +92,7 @@ export class BeforeYouStartComponent extends AbstractJourneyComponent {
92
92
  }
93
93
  else {
94
94
  this.linkedCasesService.caseFieldValue = this.linkedCasesService.caseFieldValue.filter((item) => this.linkedCasesService.initialCaseLinkRefs.includes(item.id));
95
+ this.linkedCasesService.linkedCases = this.linkedCasesService.linkedCases.filter((item) => this.linkedCasesService.initialCaseLinkRefs.includes(item.caseReference));
95
96
  }
96
97
  }
97
98
  }
@@ -131,4 +132,4 @@ export class BeforeYouStartComponent extends AbstractJourneyComponent {
131
132
  type: Output
132
133
  }] }); })();
133
134
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BeforeYouStartComponent, { className: "BeforeYouStartComponent", filePath: "lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.ts", lineNumber: 14 }); })();
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXlvdS1zdGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9iZWZvcmUteW91LXN0YXJ0L2JlZm9yZS15b3Utc3RhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvYmVmb3JlLXlvdS1zdGFydC9iZWZvcmUteW91LXN0YXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0lDSG5FLEFBREYsNEJBQW9GLGNBQzlDO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQUk7OztJQURnRCxlQUNwRDtJQURvRCxvRUFDcEQ7Ozs7SUFIQSxBQURGLDJCQUFrQyxZQUNIO0lBQUEsa0NBQWtCO0lBQUEsaUJBQUs7SUFDcEQsMEVBQW9GO0lBSWxGLEFBREYsNEJBQXNCLFdB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QSx3RUFBa0MsMkRBU0M7WUFZckMsaUJBQU07O1lBckJFLGNBQTBCO1lBQTFCLCtDQUEwQjtZQVMxQixjQUEyQjtZQUEzQixnREFBMkI7OztpRkRHdEIsdUJBQXVCO2NBSm5DLFNBQVM7MkJBQ0UsbUNBQW1DO3FIQU10Qyx1QkFBdUI7a0JBRDdCLE1BQU07O2tGQUZJLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1BhZ2VzIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtYmVmb3JlLXlvdS1zdGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWZvcmUteW91LXN0YXJ0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCZWZvcmVZb3VTdGFydENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIEpvdXJuZXkge1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgaXNMaW5rQ2FzZXNKb3VybmV5ID0gZmFsc2U7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXTtcbiAgcHVibGljIHNlcnZlckxpbmtlZEFwaUVycm9yOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSxcbiAgICBtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2U6IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSkge1xuICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gICAgdGhpcy5pc0xpbmtDYXNlc0pvdXJuZXkgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyO1xuICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zZXJ2ZXJMaW5rZWRBcGlFcnJvcjtcbiAgICAvLyByZS1pbml0aWF0ZSB0aGUgc3RhdGUgYmFzZWQgb24gdGhlIGNhc2VmaWVsZCB2YWx1ZVxuICAgIGNvbnN0IGxpbmtlZENhc2VSZWZlcmVuY2VJZHMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0pLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoKGl0ZW0pID0+IGxpbmtlZENhc2VSZWZlcmVuY2VJZHMuaW5kZXhPZihpdGVtLmNhc2VSZWZlcmVuY2UpICE9PSAtMSk7XG4gICAgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGggIT09IDAgJiYgIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc0NvbnRpbnVlZEZyb21TdGFydCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtSZWZzLnB1c2goaXRlbS5pZCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy9wcmV2ZW50IHVuc3VibWl0dGVkIGxpbmtlZCBjYXNlcyBmcm9tIGJlaW5nIGFwcGxpZWQgYXMgaWYgdGhleSBhcmUgdGhlIGluaXRpYWwgbGlua2VkIGNhc2VzXG4gICAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc0NvbnRpbnVlZEZyb21TdGFydCl7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtSZWZzLnB1c2goaXRlbS5jYXNlUmVmZXJlbmNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUuZmlsdGVyKChpdGVtKSA9PiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtSZWZzLmluY2x1ZGVzKGl0ZW0uaWQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5oYXNDb250aW51ZWRGcm9tU3RhcnQgPSB0cnVlO1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlQsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IHRydWVcbiAgICB9KTtcblxuICAgIGNvbnN0IGlzQW5BcnJheTogYm9vbGVhbiA9IEFycmF5LmlzQXJyYXkodGhpcy5lcnJvck1lc3NhZ2VzKTtcbiAgICBjb25zdCBpc05vdEFuQXJyYXk6IGJvb2xlYW4gPSAhaXNBbkFycmF5O1xuICAgIGNvbnN0IGlzVmFsaWQ6IGJvb2xlYW4gPSAoaXNBbkFycmF5ICYmIHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHx8IGlzTm90QW5BcnJheTtcblxuICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICBzdXBlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2Nhc2VzJywgJ2Nhc2UtZGV0YWlscycsIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZF0sIHsgZnJhZ21lbnQ6ICdMaW5rZWQgY2FzZXMnIH0pO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2VydmVyTGlua2VkQXBpRXJyb3JcIj5cbiAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXhsXCI+VGhlcmUgaXMgYSBwcm9ibGVtPC9oMT5cbiAgICA8cCBpZD1cInVubGluay1jYXNlcy1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwic2VydmVyTGlua2VkQXBpRXJyb3JcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e3NlcnZlckxpbmtlZEFwaUVycm9yLm1lc3NhZ2V9fVxuICAgIDwvcD5cbiAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib25CYWNrKClcIj5HbyBiYWNrIHRvIHRoZSBMaW5rZWQgY2FzZXMgdGFiPC9hPlxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCIhc2VydmVyTGlua2VkQXBpRXJyb3JcIj5cbiAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXhsXCI+QmVmb3JlIHlvdSBzdGFydDwvaDE+XG4gICAgPGRpdiBpZD1cImxpbmstY2FzZXMtam91cm5leVwiICpuZ0lmPVwiaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj5JZiBhIGdyb3VwIG9mIGxpbmtlZCBjYXNlcyBoYXMgYSBsZWFkIGNhc2UsIHlvdSBtdXN0IHN0YXJ0IGZyb20gdGhlIGxlYWQgY2FzZS48L3A+XG4gICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj5JZiB0aGUgY2FzZXMgdG8gYmUgbGlua2VkIGhhcyBubyBsZWFkLCB5b3UgY2FuIHN0YXJ0IHRoZSBsaW5raW5nIGpvdXJuZXkgZnJvbSBhbnkgb2YgdGhvc2VcbiAgICAgICAgY2FzZXMuPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgaWQ9XCJtYW5hZ2UtbGluay1jYXNlcy1qb3VybmV5XCIgKm5nSWY9XCIhaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj5JZiB0aGVyZSBhcmUgbGlua2VkIGhlYXJpbmdzIGZvciB0aGUgY2FzZSB5b3UgbmVlZCB0byB1bi1saW5rIHRoZW4geW91IG11c3QgdW5saW5rIHRoZVxuICAgICAgICBoZWFyaW5nIGZpcnN0LjwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXlvdS1zdGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9iZWZvcmUteW91LXN0YXJ0L2JlZm9yZS15b3Utc3RhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvYmVmb3JlLXlvdS1zdGFydC9iZWZvcmUteW91LXN0YXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0lDSG5FLEFBREYsNEJBQW9GLGNBQzlDO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQUk7OztJQURnRCxlQUNwRDtJQURvRCxvRUFDcEQ7Ozs7SUFIQSxBQURGLDJCQUFrQyxZQUNIO0lBQUEsa0NBQWtCO0lBQUEsaUJBQUs7SUFDcEQsMEVBQW9GO0lBSWxGLEFBREYsNEJBQXNCLFdB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QUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2hILENBQUM7aUZBdkRVLHVCQUF1Qjs2REFBdkIsdUJBQXVCO1lDYnBDLDJCQUFLO1lBVUgsQUFUQSx3RUFBa0MsMkRBU0M7WUFZckMsaUJBQU07O1lBckJFLGNBQTBCO1lBQTFCLCtDQUEwQjtZQVMxQixjQUEyQjtZQUEzQixnREFBMkI7OztpRkRHdEIsdUJBQXVCO2NBSm5DLFNBQVM7MkJBQ0UsbUNBQW1DO3FIQU10Qyx1QkFBdUI7a0JBRDdCLE1BQU07O2tGQUZJLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1BhZ2VzIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtYmVmb3JlLXlvdS1zdGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWZvcmUteW91LXN0YXJ0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCZWZvcmVZb3VTdGFydENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIEpvdXJuZXkge1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgaXNMaW5rQ2FzZXNKb3VybmV5ID0gZmFsc2U7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXTtcbiAgcHVibGljIHNlcnZlckxpbmtlZEFwaUVycm9yOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSxcbiAgICBtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2U6IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSkge1xuICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gICAgdGhpcy5pc0xpbmtDYXNlc0pvdXJuZXkgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyO1xuICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zZXJ2ZXJMaW5rZWRBcGlFcnJvcjtcbiAgICAvLyByZS1pbml0aWF0ZSB0aGUgc3RhdGUgYmFzZWQgb24gdGhlIGNhc2VmaWVsZCB2YWx1ZVxuICAgIGNvbnN0IGxpbmtlZENhc2VSZWZlcmVuY2VJZHMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0pLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoKGl0ZW0pID0+IGxpbmtlZENhc2VSZWZlcmVuY2VJZHMuaW5kZXhPZihpdGVtLmNhc2VSZWZlcmVuY2UpICE9PSAtMSk7XG4gICAgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGggIT09IDAgJiYgIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc0NvbnRpbnVlZEZyb21TdGFydCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtSZWZzLnB1c2goaXRlbS5pZCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy9wcmV2ZW50IHVuc3VibWl0dGVkIGxpbmtlZCBjYXNlcyBmcm9tIGJlaW5nIGFwcGxpZWQgYXMgaWYgdGhleSBhcmUgdGhlIGluaXRpYWwgbGlua2VkIGNhc2VzXG4gICAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc0NvbnRpbnVlZEZyb21TdGFydCl7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtSZWZzLnB1c2goaXRlbS5jYXNlUmVmZXJlbmNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUuZmlsdGVyKChpdGVtKSA9PiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtSZWZzLmluY2x1ZGVzKGl0ZW0uaWQpKTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoKGl0ZW0pID0+IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMuaW5jbHVkZXMoaXRlbS5jYXNlUmVmZXJlbmNlKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaGFzQ29udGludWVkRnJvbVN0YXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLmxpbmtlZENhc2VzU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudExpbmtlZENhc2VzUGFnZTogTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJULFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgbmF2aWdhdGVUb05leHRQYWdlOiB0cnVlXG4gICAgfSk7XG5cbiAgICBjb25zdCBpc0FuQXJyYXk6IGJvb2xlYW4gPSBBcnJheS5pc0FycmF5KHRoaXMuZXJyb3JNZXNzYWdlcyk7XG4gICAgY29uc3QgaXNOb3RBbkFycmF5OiBib29sZWFuID0gIWlzQW5BcnJheTtcbiAgICBjb25zdCBpc1ZhbGlkOiBib29sZWFuID0gKGlzQW5BcnJheSAmJiB0aGlzLmVycm9yTWVzc2FnZXMubGVuZ3RoID09PSAwKSB8fCBpc05vdEFuQXJyYXk7XG5cbiAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWRdLCB7IGZyYWdtZW50OiAnTGlua2VkIGNhc2VzJyB9KTtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPGRpdiAqbmdJZj1cInNlcnZlckxpbmtlZEFwaUVycm9yXCI+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy14bFwiPlRoZXJlIGlzIGEgcHJvYmxlbTwvaDE+XG4gICAgPHAgaWQ9XCJ1bmxpbmstY2FzZXMtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInNlcnZlckxpbmtlZEFwaUVycm9yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tzZXJ2ZXJMaW5rZWRBcGlFcnJvci5tZXNzYWdlfX1cbiAgICA8L3A+XG4gICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cIm9uQmFjaygpXCI+R28gYmFjayB0byB0aGUgTGlua2VkIGNhc2VzIHRhYjwvYT5cbiAgICA8L3A+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIXNlcnZlckxpbmtlZEFwaUVycm9yXCI+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy14bFwiPkJlZm9yZSB5b3Ugc3RhcnQ8L2gxPlxuICAgIDxkaXYgaWQ9XCJsaW5rLWNhc2VzLWpvdXJuZXlcIiAqbmdJZj1cImlzTGlua0Nhc2VzSm91cm5leVwiPlxuICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+SWYgYSBncm91cCBvZiBsaW5rZWQgY2FzZXMgaGFzIGEgbGVhZCBjYXNlLCB5b3UgbXVzdCBzdGFydCBmcm9tIHRoZSBsZWFkIGNhc2UuPC9wPlxuICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+SWYgdGhlIGNhc2VzIHRvIGJlIGxpbmtlZCBoYXMgbm8gbGVhZCwgeW91IGNhbiBzdGFydCB0aGUgbGlua2luZyBqb3VybmV5IGZyb20gYW55IG9mIHRob3NlXG4gICAgICAgIGNhc2VzLjwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwibWFuYWdlLWxpbmstY2FzZXMtam91cm5leVwiICpuZ0lmPVwiIWlzTGlua0Nhc2VzSm91cm5leVwiPlxuICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+SWYgdGhlcmUgYXJlIGxpbmtlZCBoZWFyaW5ncyBmb3IgdGhlIGNhc2UgeW91IG5lZWQgdG8gdW4tbGluayB0aGVuIHlvdSBtdXN0IHVubGluayB0aGVcbiAgICAgICAgaGVhcmluZyBmaXJzdC48L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -253,7 +253,7 @@ export class LinkCasesComponent extends AbstractJourneyComponent {
253
253
  }
254
254
  if (this.linkedCasesService.editMode || this.linkedCasesService.linkedCases.length) {
255
255
  // this may have includes the currently added one but yet to be submitted.
256
- this.selectedCases = this.linkedCasesService.linkedCases.filter((item) => this.linkedCasesService.initialCaseLinkRefs.includes(item.caseReference));
256
+ this.selectedCases = this.linkedCasesService.linkedCases.filter((item) => !this.linkedCasesService.initialCaseLinkRefs.includes(item.caseReference));
257
257
  }
258
258
  else if (this.linkedCasesService.initialCaseLinks.length !== this.linkedCasesService.caseFieldValue.length) {
259
259
  this.linkedCasesService.linkedCases = this.linkedCasesService.initialCaseLinks;
@@ -568,4 +568,4 @@ export class LinkCasesComponent extends AbstractJourneyComponent {
568
568
  type: Output
569
569
  }] }); })();
570
570
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LinkCasesComponent, { className: "LinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.ts", lineNumber: 26 }); })();
571
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVE5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ1Q3RCxBQURGLGdDQUEwRCxlQUNwQjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsdURBQ3BEOzs7SUFVRSxBQURGLGdDQUEwRCxlQUNwQjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsdURBQ3BEOzs7O0lBR0ksQUFERiwrQkFBOEcsZ0JBRVg7SUFBckQsNkxBQVUsZ0RBQXlDLEtBQUM7SUFEaEcsaUJBQ2lHO0lBQ2pHLGlDQUF3RTtJQUFBLFlBQW1CO0lBQzdGLEFBRDZGLGlCQUFRLEVBQy9GOzs7O0lBSmtGLHNDQUFxQjtJQUNwRSxjQUFtQjtJQUFuQiw2Q0FBbUI7SUFDeEMsMENBQXlCO0lBQ1EsY0FBb0I7SUFBcEIsOENBQW9CO0lBQUMsY0FBbUI7SUFBbkIsd0NBQW1COzs7SUFPN0YsQUFERixnQ0FBa0UsZUFDNUI7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBTzs7O0lBRDZDLGVBQ3BEO0lBRG9ELCtEQUNwRDs7O0lBSEEsQUFERiwrQkFBa0ssYUFDcEk7SUFBQSx3QkFBUTtJQUFBLGlCQUFLO0lBQ3pDLGtGQUFrRTtJQUdsRSxvQ0FFaUg7SUFDakgsMEJBQUE7SUFBQSxpQkFBVztJQUNYLCtCQUFpSDtJQUMvRyxvREFDRjtJQUNGLEFBREUsaUJBQU0sRUFDRjs7O0lBWnVDLHNGQUFrRTtJQUUxRSxlQUE2QjtJQUE3QixxREFBNkI7OztJQWFoRSxBQURGLGdDQUE2RCxlQUN2QjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsMERBQ3BEOzs7O0lBdkNFLEFBREYsQUFERiwrQkFBd0UsYUFDbUMsYUFDM0U7SUFBQSxvQ0FBb0I7SUFBQSxpQkFBSztJQUNyRCwyRUFBMEQ7SUFHMUQsNEJBQ2M7SUFDaEIsaUJBQU07SUFFSixBQURGLCtCQUE2RixhQUMvRDtJQUFBLGlEQUFpQztJQUFBLGlCQUFLO0lBQ2xFLCtCQUF3QztJQUN0Qyx5Q0FDRjtJQUFBLGlCQUFNO0lBQ04sNkVBQTBEO0lBRzFELGdDQUF3RztJQUN0Ryw0RUFBOEc7SUFNbEgsQUFERSxpQkFBTSxFQUNGO0lBQ04sNEVBQWtLO0lBYTlKLEFBQUosc0JBQUksVUFBSTtJQUNSLDZFQUE2RDtJQUc3RCxtQ0FDNkI7SUFBM0IsK0tBQVMsdUJBQWdCLEtBQUM7SUFBQyxrQ0FBaUI7SUFDaEQsQUFEZ0QsaUJBQVMsRUFDbkQ7OztJQTVDa0IsK0NBQTBCO0lBQ0YsY0FBMEQ7SUFBMUQsOEVBQTBEO0lBRW5FLGVBQXFCO0lBQXJCLDZDQUFxQjtJQU1yRCxlQUEwRDtJQUExRCwrRUFBMEQ7SUFLMUIsZUFBcUI7SUFBckIsNkNBQXFCO0lBSUMsZUFBbUI7SUFBbkIsZ0RBQW1CO0lBT2dFLGNBQWtCO0lBQWxCLDBDQUFrQjtJQWM3SCxlQUF3QjtJQUF4QixnREFBd0I7OztJQVV6RCxBQURGLGdDQUE4RCxlQUN4QjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsMkRBQ3BEOzs7SUF3Qm9DLDRCQUNVO0lBQUEsWUFBb0M7O0lBQUEscUJBQUk7SUFBQSxpQkFBTzs7O0lBQS9DLGNBQW9DO0lBQXBDLHFEQUFvQzs7OztJQVY1RSxBQURGLDhCQUFpRixhQUNqRDtJQUM1QiwwQkFFTTtJQUNOLDRCQUFNO0lBQUEsWUFBa0I7SUFBQSxxQkFBSTtJQUFDLFlBQXlDOztJQUN4RSxBQUR3RSxpQkFBTyxFQUMxRTtJQUNMLDhCQUFpRTtJQUFBLFlBQWlCO0lBQUEsaUJBQUs7SUFDdkYsK0JBQThCO0lBQUEsYUFBb0I7SUFBQSxpQkFBSztJQUN2RCwrQkFBa0U7SUFBQSxhQUFrQjtJQUFBLGlCQUFLO0lBQ3pGLCtCQUE4QjtJQUFBLDhFQUNVO0lBQStDLGlCQUFLO0lBQzlELEFBQTlCLCtCQUE4QixhQUNVO0lBRHdCLHlQQUFTLGlFQUFtRCxLQUFFO0lBQ3RGLHVCQUFNO0lBQ2hELEFBRG9ELEFBQUosaUJBQUksRUFBSyxFQUNwRDs7OztJQVhDLGVBQTRHO0lBQTVHLGtKQUE0RztJQUV4RyxlQUFrQjtJQUFsQixnREFBa0I7SUFBSyxlQUF5QztJQUF6Qyw0RUFBeUM7SUFFMUMsZUFBa0M7SUFBbEMsbURBQWtDO0lBQUMsY0FBaUI7SUFBakIsc0NBQWlCO0lBQ3BELGVBQW9CO0lBQXBCLHlDQUFvQjtJQUNwQixjQUFtQztJQUFuQyxvREFBbUM7SUFBQyxjQUFrQjtJQUFsQix1Q0FBa0I7SUFFN0QsZUFBZTtJQUFmLHlDQUFlO0lBQ0wsZUFBOEI7Ozs7SUFJL0QsQUFERiw4QkFBMkQsYUFDZjtJQUN4QyxzQkFDRjtJQUNGLEFBREUsaUJBQUssRUFDRjs7QUQvRGpCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSx3QkFBd0I7SUFrQjNDO0lBQ0E7SUFDQTtJQUNBO0lBbkJaLHVCQUF1QixHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUUvRixhQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUNuQyxZQUFZLENBQVk7SUFDeEIsYUFBYSxHQUFlLEVBQUUsQ0FBQztJQUMvQixlQUFlLENBQVM7SUFDeEIsZUFBZSxDQUFTO0lBQ3hCLHVCQUF1QixDQUFTO0lBQ2hDLGtCQUFrQixDQUFTO0lBQzNCLG1CQUFtQixDQUFTO0lBQzVCLE1BQU0sQ0FBUztJQUNmLFFBQVEsQ0FBUztJQUNqQixlQUFlLENBQW9CO0lBQ25DLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDWCxVQUFVLEdBQUcseUJBQXlCLENBQUM7SUFDeEQsWUFDbUIsWUFBMEIsRUFDMUIsRUFBZSxFQUNmLGVBQWdDLEVBQ2hDLGtCQUFzQyxFQUN2RCw4QkFBOEQ7UUFFOUQsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFOckIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBSXpELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkYsMEVBQTBFO1lBQzFFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDdEosQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1FBQ2pGLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzFHLFVBQVUsRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3ZDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3BELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ1osR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNkLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDeEIsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUN4QixZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO1lBQ2hDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7WUFDaEMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUMxQixVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQzVCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1NBQzNCLENBQUMsQ0FDSCxFQUNELElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLEVBQUUsQ0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFTSxpQ0FBaUMsQ0FBQyxLQUFVO1FBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ25HLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLO1lBQ3ZCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO1lBQ3pELENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDekQsQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDdkMsQ0FBQyxJQUFJLENBQUMsa0RBQWtELEVBQUUsRUFDMUQsQ0FBQztZQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNyRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsV0FBdUI7UUFDM0MsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUN0RCxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN2QixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUMxRyxDQUFDO0lBQ0osQ0FBQztJQUVNLGVBQWUsQ0FBQyxnQkFBd0I7UUFDN0MsSUFBSSxnQkFBZ0IsRUFBQyxDQUFDO1lBQ3BCLGdHQUFnRztZQUNoRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztZQUMzRSxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTywrQkFBK0I7UUFDckMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckksQ0FBQztJQUVPLGtEQUFrRDtRQUN4RCxPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLHdCQUF3QixDQUFDLGVBQWUsQ0FBQztZQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDdEIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsV0FBVyxFQUFFLHdCQUF3QixDQUFDLGVBQWU7Z0JBQ3JELE9BQU8sRUFBRSxZQUFZO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLHdCQUF3QixDQUFDLG9CQUFvQixDQUFDO1lBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixXQUFXLEVBQUUsd0JBQXdCLENBQUMsb0JBQW9CO2dCQUMxRCxPQUFPLEVBQUUsWUFBWTthQUN0QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSztlQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqRixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLEtBQUssRUFBRSw0QkFBNEI7b0JBQ25DLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxxQkFBcUI7b0JBQzNELE9BQU8sRUFBRSxrQkFBa0I7aUJBQzVCLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQzFFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyx3QkFBd0IsQ0FBQyw4QkFBOEIsQ0FBQztnQkFDdkYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLEtBQUssRUFBRSw0QkFBNEI7b0JBQ25DLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyw4QkFBOEI7b0JBQ3BFLE9BQU8sRUFBRSxrQkFBa0I7aUJBQzVCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQztZQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDdEIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsV0FBVyxFQUFFLHdCQUF3QixDQUFDLGlCQUFpQjtnQkFDdkQsT0FBTyxFQUFFLFlBQVk7YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUM7WUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxnQkFBZ0I7Z0JBQ3RELE9BQU8sRUFBRSxZQUFZO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUM7WUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxnQkFBZ0I7Z0JBQ3RELE9BQU8sRUFBRSxZQUFZO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2hJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixXQUFXLEVBQUUsd0JBQXdCLENBQUMsa0JBQWtCO2dCQUN4RCxPQUFPLEVBQUUsWUFBWTthQUN0QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RGLElBQUksQ0FBQyxZQUFZO2FBQ2QsYUFBYSxDQUFDLGNBQWMsQ0FBQzthQUM3QixTQUFTLENBQ1IsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7WUFDL0MsTUFBTSxRQUFRLEdBQWE7Z0JBQ3pCLGFBQWEsRUFBRSxRQUFRLENBQUMsT0FBTztnQkFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDdEMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQzNELFFBQVEsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUN2QyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUN6RCxTQUFTLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDcEMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRTtnQkFDdEQsV0FBVyxFQUFFLFFBQVEsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUU7Z0JBQ3ZILFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQzthQUN4RCxDQUFDO1lBQ0YsTUFBTSxrQkFBa0IsR0FBb0I7Z0JBQzFDLGFBQWEsRUFBRSxRQUFRLENBQUMsT0FBTztnQkFDL0IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDL0IsZUFBZSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQzNELGFBQWEsRUFBRSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7YUFDbkQsQ0FBQztZQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUM1RyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUMsRUFDRCxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDO1lBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixXQUFXLEVBQUUsd0JBQXdCLENBQUMsbUJBQW1CO2dCQUN6RCxPQUFPLEVBQUUsWUFBWTthQUN0QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEIsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELG9CQUFvQixDQUFDLG9CQUE2QjtRQUN2RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDO1lBQ2hDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDLFNBQVM7WUFDbEQsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGtCQUFrQixFQUFFLG9CQUFvQjtTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDakQsQ0FBQyxjQUE4QixFQUFFLEVBQUU7WUFDakMsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzVCLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLE1BQU0sRUFBRSxjQUFjLENBQUMsR0FBRztvQkFDMUIsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLFFBQVEsS0FBSyxPQUFPO3dCQUNuRCxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSzt3QkFDbkQsQ0FBQyxDQUFDLEVBQUU7aUJBQ08sQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQztRQUNGLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFTSw0QkFBNEI7UUFDakMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNqRCxDQUFDLGNBQThCLEVBQUUsRUFBRTtZQUNqQyxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDbkIsS0FBSyxFQUFFO3dCQUNMLE1BQU0sRUFBRSxjQUFjLENBQUMsR0FBRzt3QkFDMUIsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLFFBQVEsS0FBSyxPQUFPOzRCQUNuRCxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSzs0QkFDbkQsQ0FBQyxDQUFDLEVBQUU7cUJBQ1A7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVNLDBCQUEwQixDQUFDLEdBQUcsRUFBRSxxQkFBcUI7UUFDMUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7UUFDcEUsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZILElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNoQyxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUNwRixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsc0JBQXNCO2dCQUM3QixXQUFXLEVBQUUsd0JBQXdCLENBQUMsa0JBQWtCO2dCQUN4RCxPQUFPLEVBQUUsWUFBWTthQUN0QixDQUFDLENBQUM7WUFDSCxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzs0RUFuVVUsa0JBQWtCOzZEQUFsQixrQkFBa0I7WUN0QnpCLEFBREYsQUFERixBQURGLDhCQUE0QixhQUNVLFVBQzdCLGNBQzJCO1lBQUEsWUFBd0Q7O1lBQUEsaUJBQU87WUFDN0YsNkJBQTZCO1lBQUEsZ0VBQWdEO1lBQUEsaUJBQUs7WUFDbEYscUVBQXdFO1lBOENwRSxBQUFKLEFBREEscUJBQUksVUFDQSxVQUFJO1lBQ1IsK0JBQTZHO1lBQzNHLHVFQUE4RDtZQUk1RCxBQURGLGlDQUEyQixrQkFDcUM7WUFBQSxxQ0FBb0I7WUFBQSxpQkFBVTtZQUd4RixBQURGLEFBREYsaUNBQWlDLGNBQ0YsY0FDNkI7WUFBQSxxQ0FBb0I7WUFBQSxpQkFBSztZQUNqRiwrQkFBd0Q7WUFBQSwyQkFBVTtZQUFBLGlCQUFLO1lBQ3ZFLCtCQUF3RDtZQUFBLHdCQUFPO1lBQUEsaUJBQUs7WUFDcEUsK0JBQXdEO1lBQUEsc0JBQUs7WUFBQSxpQkFBSztZQUNsRSwrQkFBd0Q7WUFBQSxzQ0FBcUI7WUFBQSxpQkFBSztZQUNsRiwwQkFBNEQ7WUFFaEUsQUFERSxpQkFBSyxFQUNDO1lBQ1Isa0NBQWlDO1lBZ0IvQixBQWZBLHNFQUFpRix1REFldEI7WUFVdkUsQUFERSxBQURFLEFBREUsQUFERSxBQURFLGlCQUFRLEVBQ0YsRUFDSixFQUNGLEVBQ0YsRUFDRjs7WUEzRjhCLGVBQXdEO1lBQXhELGdHQUF3RDtZQUVsQyxlQUFrQjtZQUFsQix1Q0FBa0I7WUErQ3hCLGVBQThEO1lBQTlELCtFQUE4RDtZQUN2RSxjQUF5QjtZQUF6Qiw4Q0FBeUI7WUFnQlYsZ0JBQWtCO1lBQWxCLDJDQUFrQjtZQWVsQyxjQUEyQjtZQUEzQixnREFBMkI7OztpRkQzRHhELGtCQUFrQjtjQUw5QixTQUFTOzJCQUNFLGdCQUFnQjttTEFNbkIsdUJBQXVCO2tCQUQ3QixNQUFNOztrRkFESSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3LCBFcnJvck1lc3NhZ2UsIEh0dHBFcnJvciwgSm91cm5leSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBMb3ZSZWZEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1N0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIENhc2VMaW5rLFxuICBDQ0RDYXNlTGlua1R5cGUsXG4gIExpbmtDYXNlUmVhc29uLFxuICBMaW5rUmVhc29uXG59IGZyb20gJy4uLy4uL2RvbWFpbi9saW5rZWQtY2FzZXMubW9kZWwnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLCBMaW5rZWRDYXNlc1BhZ2VzLCBQYXR0ZXJucyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmtlZC1jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRvcnNVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3ZhbGlkYXRvcnMudXRpbHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rLWNhc2VzJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1jYXNlcy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay1jYXNlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGlua0Nhc2VzQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBKb3VybmV5IHtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPExpbmtlZENhc2VzU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPigpO1xuXG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgbGlua0Nhc2VGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBjYXNlTnVtYmVyRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VSZWFzb25FcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VTZWxlY3Rpb25FcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgbm9TZWxlY3RlZENhc2VFcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGlua0Nhc2VSZWFzb25zOiBMb3ZSZWZEYXRhTW9kZWxbXTtcbiAgcHVibGljIHNob3dDb21tZW50cyA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IElTT19GT1JNQVQgPSAnWVlZWS1NTS1ERFRISDptbTpzcy5TU1MnO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdG9yc1V0aWxzOiBWYWxpZGF0b3JzVXRpbHMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSxcbiAgICBtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2U6IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkO1xuICAgIHRoaXMuY2FzZU5hbWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZTtcbiAgICB0aGlzLmxpbmtDYXNlUmVhc29ucyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucztcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5oYXNOYXZpZ2F0ZWRJbkpvdXJuZXkpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gW107XG4gICAgfVxuICAgIGlmICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5lZGl0TW9kZSB8fCB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5sZW5ndGgpIHtcbiAgICAgIC8vIHRoaXMgbWF5IGhhdmUgaW5jbHVkZXMgdGhlIGN1cnJlbnRseSBhZGRlZCBvbmUgYnV0IHlldCB0byBiZSBzdWJtaXR0ZWQuXG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoKGl0ZW0pID0+IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMuaW5jbHVkZXMoaXRlbS5jYXNlUmVmZXJlbmNlKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtzLmxlbmd0aCAhPT0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3M7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VOdW1iZXIgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zdG9yZWRDYXNlTnVtYmVyID8/ICcnO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBjYXNlTnVtYmVyOiBbY2FzZU51bWJlciwgW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDE2KSwgdGhpcy52YWxpZGF0b3JzVXRpbHMucmVnZXhQYXR0ZXJuKFBhdHRlcm5zLkNBU0VfUkVGKV1dLFxuICAgICAgcmVhc29uVHlwZTogdGhpcy5nZXRSZWFzb25UeXBlRm9ybUFycmF5LFxuICAgICAgb3RoZXJEZXNjcmlwdGlvbjogWycnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV1dXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFJlYXNvblR5cGVGb3JtQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5mYi5hcnJheShcbiAgICAgIHRoaXMubGlua0Nhc2VSZWFzb25zLm1hcCgodmFsKSA9PlxuICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICBrZXk6IFt2YWwua2V5XSxcbiAgICAgICAgICB2YWx1ZV9lbjogW3ZhbC52YWx1ZV9lbl0sXG4gICAgICAgICAgdmFsdWVfY3k6IFt2YWwudmFsdWVfY3ldLFxuICAgICAgICAgIGhpbnRfdGV4dF9lbjogW3ZhbC5oaW50X3RleHRfZW5dLFxuICAgICAgICAgIGhpbnRfdGV4dF9jeTogW3ZhbC5oaW50X3RleHRfY3ldLFxuICAgICAgICAgIGxvdl9vcmRlcjogW3ZhbC5sb3Zfb3JkZXJdLFxuICAgICAgICAgIHBhcmVudF9rZXk6IFt2YWwucGFyZW50X2tleV0sXG4gICAgICAgICAgc2VsZWN0ZWQ6IFshIXZhbC5zZWxlY3RlZF0sXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdGhpcy52YWxpZGF0b3JzVXRpbHMuZm9ybUFycmF5U2VsZWN0ZWRWYWxpZGF0b3IoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTGlua0Nhc2VSZWFzb25PdGhlckNvbW1lbnRzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtDYXNlUmVhc29ucy5maW5kKChyZWFzb24pID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gZXZlbnQudGFyZ2V0LnZhbHVlKS5zZWxlY3RlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgIHRoaXMuc2hvd0NvbW1lbnRzID0gdGhpcy5saW5rQ2FzZVJlYXNvbnMuZmluZCgocmVhc29uKSA9PiByZWFzb24udmFsdWVfZW4gPT09ICdPdGhlcicpPy5zZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRDYXNlSW5mbygpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlUmVhc29uQ29tbWVudHNFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLm5vU2VsZWN0ZWRDYXNlRXJyb3IgPSBudWxsO1xuICAgIGlmIChcbiAgICAgIHRoaXMubGlua0Nhc2VGb3JtLnZhbGlkICYmXG4gICAgICAhdGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpICYmXG4gICAgICAhdGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZUluSW5pdGlhbCh0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlU2VsZWN0ZWRTYW1lQXNDdXJyZW50Q2FzZSgpICYmXG4gICAgICAhdGhpcy5pc090aGVyT3B0aW9uU2VsZWN0ZWRCdXRPdGhlckRlc2NyaXB0aW9uTm90RW50ZXJlZCgpXG4gICAgKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zdG9yZWRDYXNlTnVtYmVyID0gJyc7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5oYXNOYXZpZ2F0ZWRJbkpvdXJuZXkgPSB0cnVlO1xuICAgICAgdGhpcy5nZXRDYXNlSW5mbygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3dFcnJvckluZm8oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlU2VsZWN0ZWQobGlua2VkQ2FzZXM6IENhc2VMaW5rW10pOiBib29sZWFuIHtcbiAgICBpZiAobGlua2VkQ2FzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGNhc2VOdW1iZXIgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyO1xuICAgIHJldHVybiAhIWxpbmtlZENhc2VzLmZpbmQoXG4gICAgICAoY2FzZUxpbmspID0+IGNhc2VMaW5rLmNhc2VSZWZlcmVuY2Uuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCkgPT09IGNhc2VOdW1iZXIuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzQ2FzZUluSW5pdGlhbChwcm9wb3NlZENhc2VMaW5rOiBzdHJpbmcpe1xuICAgIGlmIChwcm9wb3NlZENhc2VMaW5rKXtcbiAgICAgIC8vIGluaXRpYWwgY2FzZSBsaW5rcyB3aWxsIG5vdCBoYXZlIC0gaW4gdGhlbSwgYWNjb3VudCBmb3IgdGhlIGNhc2Ugd2hlcmUgYSB1c2VyIG1heSB0eXBlIHdpdGggLVxuICAgICAgcHJvcG9zZWRDYXNlTGluayA9IHByb3Bvc2VkQ2FzZUxpbmsucmVwbGFjZSgvLS9nLCAnJykudHJpbSgpO1xuICAgICAgY29uc3QgaW5pdGlhbENhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMgfHwgW107XG4gICAgICByZXR1cm4gaW5pdGlhbENhc2VMaW5rcy5pbmNsdWRlcyhwcm9wb3NlZENhc2VMaW5rKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJykudHJpbSgpID09PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCk7XG4gIH1cblxuICBwcml2YXRlIGlzT3RoZXJPcHRpb25TZWxlY3RlZEJ1dE90aGVyRGVzY3JpcHRpb25Ob3RFbnRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dDb21tZW50cyAmJiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5vdGhlckRlc2NyaXB0aW9uLnRyaW0oKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwdWJsaWMgc2hvd0Vycm9ySW5mbygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMuY2FzZU51bWJlci5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlTnVtYmVyRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VOdW1iZXJFcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUuaW52YWxpZCkge1xuICAgICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1yZWFzb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlJlYXNvblNlbGVjdGlvbkVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZVJlYXNvbidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS52YWxpZFxuICAgICAgJiYgdGhpcy5saW5rQ2FzZVJlYXNvbnMuZmluZCgocmVhc29uKSA9PiByZWFzb24udmFsdWVfZW4gPT09ICdPdGhlcicpLnNlbGVjdGVkKSB7XG4gICAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMub3RoZXJEZXNjcmlwdGlvbi52YWx1ZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMub3RoZXJEZXNjcmlwdGlvbkVycm9yO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbi1jb21tZW50cycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5vdGhlckRlc2NyaXB0aW9uRXJyb3IsXG4gICAgICAgICAgZmllbGRJZDogJ290aGVyRGVzY3JpcHRpb24nXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLm90aGVyRGVzY3JpcHRpb24udmFsdWUudHJpbSgpLmxlbmd0aCA+IDEwMCkge1xuICAgICAgICB0aGlzLmNhc2VSZWFzb25Db21tZW50c0Vycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLm90aGVyRGVzY3JpcHRpb25NYXhMZW5ndGhFcnJvcjtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1yZWFzb24tY29tbWVudHMnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMub3RoZXJEZXNjcmlwdGlvbk1heExlbmd0aEVycm9yLFxuICAgICAgICAgIGZpZWxkSWQ6ICdvdGhlckRlc2NyaXB0aW9uJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDYXNlU2VsZWN0ZWQodGhpcy5zZWxlY3RlZENhc2VzKSkge1xuICAgICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VQcm9wb3NlZEVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykpIHtcbiAgICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQ2FzZUluSW5pdGlhbCh0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyKSkge1xuICAgICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCkgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5Qcm9wb3NlZENhc2VXaXRoSW4sXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlSW5mbygpOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlTnVtYmVyRGF0YSA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIucmVwbGFjZSgvWy0gXS9nLCAnJykudHJpbSgpO1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlXG4gICAgICAuZ2V0Q2FzZVZpZXdWMihjYXNlTnVtYmVyRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VWaWV3O1xuICAgICAgICAgIGNvbnN0IGNhc2VMaW5rOiBDYXNlTGluayA9IHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICByZWFzb25zOiB0aGlzLmdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKSxcbiAgICAgICAgICAgIGNyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlOiBjYXNlVmlldy5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlRGVzY3JpcHRpb246IGNhc2VWaWV3LnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGNhc2VWaWV3LmNhc2VfdHlwZSAmJiBjYXNlVmlldy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZVZpZXcpXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBjY2RBcGlDYXNlTGlua0RhdGE6IENDRENhc2VMaW5rVHlwZSA9IHtcbiAgICAgICAgICAgIENhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICBDYXNlVHlwZTogY2FzZVZpZXcuY2FzZV90eXBlLmlkLFxuICAgICAgICAgICAgQ3JlYXRlZERhdGVUaW1lOiBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KHRoaXMuSVNPX0ZPUk1BVCksXG4gICAgICAgICAgICBSZWFzb25Gb3JMaW5rOiB0aGlzLmdldFNlbGVjdGVkQ0NEVHlwZUNhc2VSZWFzb24oKVxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUucHVzaCh7IGlkOiBjYXNlVmlldy5jYXNlX2lkLnRvU3RyaW5nKCksIHZhbHVlOiBjY2RBcGlDYXNlTGlua0RhdGEgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goY2FzZUxpbmspO1xuICAgICAgICAgIHRoaXMubGlua0Nhc2VSZWFzb25zLmZvckVhY2goKHJlYXNvbikgPT4gcmVhc29uLnNlbGVjdGVkID0gZmFsc2UpO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yLFxuICAgICAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIC8vIFJldHVybiBsaW5rZWQgY2FzZXMgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgcHVibGljIGVtaXRMaW5rZWRDYXNlc1N0YXRlKGlzTmF2aWdhdGVUb05leHRQYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5saW5rZWRDYXNlc1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IExpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgbmF2aWdhdGVUb05leHRQYWdlOiBpc05hdmlnYXRlVG9OZXh0UGFnZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKTogTGlua1JlYXNvbltdIHtcbiAgICBjb25zdCBzZWxlY3RlZFJlYXNvbnMgPSBbXTtcbiAgICB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5yZWFzb25UeXBlLnZhbHVlLmZvckVhY2goXG4gICAgICAoc2VsZWN0ZWRSZWFzb246IExpbmtDYXNlUmVhc29uKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZFJlYXNvbi5zZWxlY3RlZCkge1xuICAgICAgICAgIHNlbGVjdGVkUmVhc29ucy5wdXNoKHtcbiAgICAgICAgICAgIFJlYXNvbjogc2VsZWN0ZWRSZWFzb24ua2V5LFxuICAgICAgICAgICAgT3RoZXJEZXNjcmlwdGlvbjogc2VsZWN0ZWRSZWFzb24udmFsdWVfZW4gPT09ICdPdGhlcidcbiAgICAgICAgICAgICAgPyB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5vdGhlckRlc2NyaXB0aW9uLnZhbHVlXG4gICAgICAgICAgICAgIDogJydcbiAgICAgICAgICB9IGFzIExpbmtSZWFzb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRSZWFzb25zO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkQ0NEVHlwZUNhc2VSZWFzb24oKTogTGlua1JlYXNvbltdIHtcbiAgICBjb25zdCBzZWxlY3RlZFJlYXNvbnMgPSBbXTtcbiAgICB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5yZWFzb25UeXBlLnZhbHVlLmZvckVhY2goXG4gICAgICAoc2VsZWN0ZWRSZWFzb246IExpbmtDYXNlUmVhc29uKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZFJlYXNvbi5zZWxlY3RlZCkge1xuICAgICAgICAgIHNlbGVjdGVkUmVhc29ucy5wdXNoKHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIFJlYXNvbjogc2VsZWN0ZWRSZWFzb24ua2V5LFxuICAgICAgICAgICAgICBPdGhlckRlc2NyaXB0aW9uOiBzZWxlY3RlZFJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJ1xuICAgICAgICAgICAgICAgID8gdGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMub3RoZXJEZXNjcmlwdGlvbi52YWx1ZVxuICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW107XG4gICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSAhPT0gc2VsZWN0ZWRDYXNlUmVmZXJlbmNlKTtcbiAgICBpZiAodXBkYXRlZEl0ZW1zKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSA9IHVwZGF0ZWRJdGVtcztcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShwb3MsIDEpO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLm5vU2VsZWN0ZWRDYXNlRXJyb3IgPSBudWxsO1xuICAgIGxldCBuYXZpZ2F0ZVRvTmV4dFBhZ2UgPSB0cnVlO1xuICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnN0b3JlZENhc2VOdW1iZXIgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyID8/ICcnO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IHRoaXMuc2VsZWN0ZWRDYXNlcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXNlbGVjdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVNlbGVjdGlvbkVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZVJlYXNvbidcbiAgICAgIH0pO1xuICAgICAgbmF2aWdhdGVUb05leHRQYWdlID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUobmF2aWdhdGVUb05leHRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMub25OZXh0KCk7XG5cbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsXCI+XG4gICAgPGRpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstY2FwdGlvbi1sXCI+TGluayBjYXNlcyB0byB7e2Nhc2VOYW1lfX0ge3tjYXNlSWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+XG4gICAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXhsXCI+U2VsZWN0IGEmbmJzcDtjYXNlIHlvdSB3YW50IHRvIGxpbmsgdG8gdGhpcyBjYXNlPC9oMT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJsaW5rQ2FzZUZvcm1cIiAqbmdJZj1cImxpbmtDYXNlRm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIGlkPVwiY2FzZU51bWJlclwiIFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiAhIWNhc2VOdW1iZXJFcnJvcn1cIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5FbnRlciBjYXNlIHJlZmVyZW5jZTwvaDM+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlTnVtYmVyRXJyb3JcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VOdW1iZXJFcnJvcn19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGZvcm1Db250cm9sTmFtZT1cImNhc2VOdW1iZXJcIiBpZD1cIndpZHRoLTIwXCIgbmFtZT1cIndpZHRoLTIwXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiAhIWNhc2VSZWFzb25FcnJvcn1cIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLXRvcC0zXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+V2h5IHNob3VsZCB0aGVzZSBjYXNlcyBiZSBsaW5rZWQ/PC9oMz5cbiAgICAgICAgICA8ZGl2IGlkPVwid2FzdGUtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICAgICAgU2VsZWN0IGFsbCB0aGF0IGFwcGx5LlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlYXNvbkVycm9yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlUmVhc29uRXJyb3J9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiIGZvcm1BcnJheU5hbWU9XCJyZWFzb25UeXBlXCIgaWQ9XCJjYXNlUmVhc29uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiICpuZ0Zvcj1cImxldCByZWFzb24gb2YgbGlua0Nhc2VSZWFzb25zO2luZGV4IGFzIHBvc1wiIFtmb3JtR3JvdXBOYW1lXT1cInBvc1wiPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwie3tyZWFzb24ua2V5fX1cIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZFwiIG5hbWU9XCJwb3NcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJyZWFzb24udmFsdWVfZW5cIiAoY2hhbmdlKT1cInRvZ2dsZUxpbmtDYXNlUmVhc29uT3RoZXJDb21tZW50cygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwie3tyZWFzb24ua2V5fX1cIj57e3JlYXNvbi52YWx1ZV9lbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cIm90aGVyLWRlc2NyaXB0aW9uLWNoYXItbGltaXQtZXJyb3JcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlUmVhc29uQ29tbWVudHNFcnJvcn1cIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLXRvcC0zXCIgKm5nSWY9XCJzaG93Q29tbWVudHNcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5Db21tZW50czwvaDM+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlUmVhc29uQ29tbWVudHNFcnJvclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZVJlYXNvbkNvbW1lbnRzRXJyb3J9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYSBnb3Z1ay1pbnB1dC0td2lkdGgtMzBcIiBpZD1cIm90aGVyRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgbmFtZT1cIm90aGVyRGVzY3JpcHRpb25cIiBmb3JtQ29udHJvbE5hbWU9XCJvdGhlckRlc2NyaXB0aW9uXCIgcm93cz1cIjVcIlxuICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cIm90aGVyLWRlc2NyaXB0aW9uLWhpbnQgb3RoZXItZGVzY3JpcHRpb24tY2hhci1saW1pdC1pbmZvIG90aGVyLWRlc2NyaXB0aW9uLWNoYXItbGltaXQtZXJyb3JcIj5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICAgIDxkaXYgaWQ9XCJvdGhlci1kZXNjcmlwdGlvbi1jaGFyLWxpbWl0LWluZm9cIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCI+XG4gICAgICAgICAgICBZb3UgY2FuIGVudGVyIHVwIHRvIDEwMCBjaGFyYWN0ZXJzXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnI+PGJyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImNhc2VTZWxlY3Rpb25FcnJvclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VTZWxlY3Rpb25FcnJvcn19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInByb3Bvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdENhc2VJbmZvKClcIj5Qcm9wb3NlIGNhc2UgbGluazwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aHI+XG4gICAgICA8YnI+PGJyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFub1NlbGVjdGVkQ2FzZUVycm9yfVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5vU2VsZWN0ZWRDYXNlRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tub1NlbGVjdGVkQ2FzZUVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5Qcm9wb3NlZCBjYXNlIGxpbmtzIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjMwMFwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIxNTBcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNDAwXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCI1MFwiPjwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBzZWxlY3RlZENhc2VzOyBsZXQgcG9zID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0YWJsZS1ncm91cC1lcnJvcic6Y2FzZVNlbGVjdGlvbkVycm9yICYmIGNhc2UuY2FzZVJlZmVyZW5jZSA9PT0gbGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXJ9XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tjYXNlLmNhc2VOYW1lfX0gPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNhc2VUeXBlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7Y2FzZS5jYXNlU2VydmljZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlU3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlU3RhdGV9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zXCI+e3tyZWFzb24gfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19PGJyPjwvc3Bhbj48L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjxhIFthdHRyLmlkXT1cImNhc2UuY2FzZVJlZmVyZW5jZVwiIChjbGljayk9XCJvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIGNhc2UuY2FzZVJlZmVyZW5jZSk7XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ292dWstbGluayBuby12aXNpdGVkLXN0YXRlXCI+UmVtb3ZlPC9hPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiIXNlbGVjdGVkQ2FzZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgY29sc3Bhbj1cIjZcIj5cbiAgICAgICAgICAgICAgICBOb25lXG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
571
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVE5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ1Q3RCxBQURGLGdD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QUFBLGlCQUFVO1lBR3hGLEFBREYsQUFERixpQ0FBaUMsY0FDRixjQUM2QjtZQUFBLHFDQUFvQjtZQUFBLGlCQUFLO1lBQ2pGLCtCQUF3RDtZQUFBLDJCQUFVO1lBQUEsaUJBQUs7WUFDdkUsK0JBQXdEO1lBQUEsd0JBQU87WUFBQSxpQkFBSztZQUNwRSwrQkFBd0Q7WUFBQSxzQkFBSztZQUFBLGlCQUFLO1lBQ2xFLCtCQUF3RDtZQUFBLHNDQUFxQjtZQUFBLGlCQUFLO1lBQ2xGLDBCQUE0RDtZQUVoRSxBQURFLGlCQUFLLEVBQ0M7WUFDUixrQ0FBaUM7WUFnQi9CLEFBZkEsc0VBQWlGLHVEQWV0QjtZQVV2RSxBQURFLEFBREUsQUFERSxBQURFLEFBREUsaUJBQVEsRUFDRixFQUNKLEVBQ0YsRUFDRixFQUNGOztZQTNGOEIsZUFBd0Q7WUFBeEQsZ0dBQXdEO1lBRWxDLGVBQWtCO1lBQWxCLHVDQUFrQjtZQStDeEIsZUFBOEQ7WUFBOUQsK0VBQThEO1lBQ3ZFLGNBQXlCO1lBQXpCLDhDQUF5QjtZQWdCVixnQkFBa0I7WUFBbEIsMkNBQWtCO1lBZWxDLGNBQTJCO1lBQTNCLGdEQUEyQjs7O2lGRDNEeEQsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UsZ0JBQWdCO21MQU1uQix1QkFBdUI7a0JBRDdCLE1BQU07O2tGQURJLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FzZVZpZXcsIEVycm9yTWVzc2FnZSwgSHR0cEVycm9yLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUxpbmssXG4gIENDRENhc2VMaW5rVHlwZSxcbiAgTGlua0Nhc2VSZWFzb24sXG4gIExpbmtSZWFzb25cbn0gZnJvbSAnLi4vLi4vZG9tYWluL2xpbmtlZC1jYXNlcy5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzUGFnZXMsIFBhdHRlcm5zIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdG9yc1V0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycy51dGlscyc7XG5pbXBvcnQgeyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWxpbmstY2FzZXMnLFxuICBzdHlsZVVybHM6IFsnLi9saW5rLWNhc2VzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMaW5rQ2FzZXNDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuICBAT3V0cHV0KClcbiAgcHVibGljIGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtlZENhc2VzU3RhdGU+KCk7XG5cbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBsaW5rQ2FzZUZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIHNlbGVjdGVkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGNhc2VOdW1iZXJFcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVJlYXNvbkVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVhc29uQ29tbWVudHNFcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVNlbGVjdGlvbkVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBub1NlbGVjdGVkQ2FzZUVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBsaW5rQ2FzZVJlYXNvbnM6IExvdlJlZkRhdGFNb2RlbFtdO1xuICBwdWJsaWMgc2hvd0NvbW1lbnRzID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgSVNPX0ZPUk1BVCA9ICdZWVlZLU1NLUREVEhIOm1tOnNzLlNTUyc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0b3JzVXRpbHM6IFZhbGlkYXRvcnNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZTogTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQ7XG4gICAgdGhpcy5jYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lO1xuICAgIHRoaXMubGlua0Nhc2VSZWFzb25zID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua0Nhc2VSZWFzb25zO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc05hdmlnYXRlZEluSm91cm5leSkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSBbXTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmVkaXRNb2RlIHx8IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmxlbmd0aCkge1xuICAgICAgLy8gdGhpcyBtYXkgaGF2ZSBpbmNsdWRlcyB0aGUgY3VycmVudGx5IGFkZGVkIG9uZSBidXQgeWV0IHRvIGJlIHN1Ym1pdHRlZC5cbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZpbHRlcigoaXRlbSkgPT4gIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMuaW5jbHVkZXMoaXRlbS5jYXNlUmVmZXJlbmNlKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtzLmxlbmd0aCAhPT0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3M7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VOdW1iZXIgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zdG9yZWRDYXNlTnVtYmVyID8/ICcnO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBjYXNlTnVtYmVyOiBbY2FzZU51bWJlciwgW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDE2KSwgdGhpcy52YWxpZGF0b3JzVXRpbHMucmVnZXhQYXR0ZXJuKFBhdHRlcm5zLkNBU0VfUkVGKV1dLFxuICAgICAgcmVhc29uVHlwZTogdGhpcy5nZXRSZWFzb25UeXBlRm9ybUFycmF5LFxuICAgICAgb3RoZXJEZXNjcmlwdGlvbjogWycnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV1dXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFJlYXNvblR5cGVGb3JtQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5mYi5hcnJheShcbiAgICAgIHRoaXMubGlua0Nhc2VSZWFzb25zLm1hcCgodmFsKSA9PlxuICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICBrZXk6IFt2YWwua2V5XSxcbiAgICAgICAgICB2YWx1ZV9lbjogW3ZhbC52YWx1ZV9lbl0sXG4gICAgICAgICAgdmFsdWVfY3k6IFt2YWwudmFsdWVfY3ldLFxuICAgICAgICAgIGhpbnRfdGV4dF9lbjogW3ZhbC5oaW50X3RleHRfZW5dLFxuICAgICAgICAgIGhpbnRfdGV4dF9jeTogW3ZhbC5oaW50X3RleHRfY3ldLFxuICAgICAgICAgIGxvdl9vcmRlcjogW3ZhbC5sb3Zfb3JkZXJdLFxuICAgICAgICAgIHBhcmVudF9rZXk6IFt2YWwucGFyZW50X2tleV0sXG4gICAgICAgICAgc2VsZWN0ZWQ6IFshIXZhbC5zZWxlY3RlZF0sXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdGhpcy52YWxpZGF0b3JzVXRpbHMuZm9ybUFycmF5U2VsZWN0ZWRWYWxpZGF0b3IoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTGlua0Nhc2VSZWFzb25PdGhlckNvbW1lbnRzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtDYXNlUmVhc29ucy5maW5kKChyZWFzb24pID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gZXZlbnQudGFyZ2V0LnZhbHVlKS5zZWxlY3RlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgIHRoaXMuc2hvd0NvbW1lbnRzID0gdGhpcy5saW5rQ2FzZVJlYXNvbnMuZmluZCgocmVhc29uKSA9PiByZWFzb24udmFsdWVfZW4gPT09ICdPdGhlcicpPy5zZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRDYXNlSW5mbygpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlUmVhc29uQ29tbWVudHNFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLm5vU2VsZWN0ZWRDYXNlRXJyb3IgPSBudWxsO1xuICAgIGlmIChcbiAgICAgIHRoaXMubGlua0Nhc2VGb3JtLnZhbGlkICYmXG4gICAgICAhdGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpICYmXG4gICAgICAhdGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZUluSW5pdGlhbCh0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlU2VsZWN0ZWRTYW1lQXNDdXJyZW50Q2FzZSgpICYmXG4gICAgICAhdGhpcy5pc090aGVyT3B0aW9uU2VsZWN0ZWRCdXRPdGhlckRlc2NyaXB0aW9uTm90RW50ZXJlZCgpXG4gICAgKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zdG9yZWRDYXNlTnVtYmVyID0gJyc7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5oYXNOYXZpZ2F0ZWRJbkpvdXJuZXkgPSB0cnVlO1xuICAgICAgdGhpcy5nZXRDYXNlSW5mbygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3dFcnJvckluZm8oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlU2VsZWN0ZWQobGlua2VkQ2FzZXM6IENhc2VMaW5rW10pOiBib29sZWFuIHtcbiAgICBpZiAobGlua2VkQ2FzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGNhc2VOdW1iZXIgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyO1xuICAgIHJldHVybiAhIWxpbmtlZENhc2VzLmZpbmQoXG4gICAgICAoY2FzZUxpbmspID0+IGNhc2VMaW5rLmNhc2VSZWZlcmVuY2Uuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCkgPT09IGNhc2VOdW1iZXIuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzQ2FzZUluSW5pdGlhbChwcm9wb3NlZENhc2VMaW5rOiBzdHJpbmcpe1xuICAgIGlmIChwcm9wb3NlZENhc2VMaW5rKXtcbiAgICAgIC8vIGluaXRpYWwgY2FzZSBsaW5rcyB3aWxsIG5vdCBoYXZlIC0gaW4gdGhlbSwgYWNjb3VudCBmb3IgdGhlIGNhc2Ugd2hlcmUgYSB1c2VyIG1heSB0eXBlIHdpdGggLVxuICAgICAgcHJvcG9zZWRDYXNlTGluayA9IHByb3Bvc2VkQ2FzZUxpbmsucmVwbGFjZSgvLS9nLCAnJykudHJpbSgpO1xuICAgICAgY29uc3QgaW5pdGlhbENhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMgfHwgW107XG4gICAgICByZXR1cm4gaW5pdGlhbENhc2VMaW5rcy5pbmNsdWRlcyhwcm9wb3NlZENhc2VMaW5rKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJykudHJpbSgpID09PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCk7XG4gIH1cblxuICBwcml2YXRlIGlzT3RoZXJPcHRpb25TZWxlY3RlZEJ1dE90aGVyRGVzY3JpcHRpb25Ob3RFbnRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dDb21tZW50cyAmJiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5vdGhlckRlc2NyaXB0aW9uLnRyaW0oKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwdWJsaWMgc2hvd0Vycm9ySW5mbygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMuY2FzZU51bWJlci5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlTnVtYmVyRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VOdW1iZXJFcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUuaW52YWxpZCkge1xuICAgICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1yZWFzb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlJlYXNvblNlbGVjdGlvbkVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZVJlYXNvbidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS52YWxpZFxuICAgICAgJiYgdGhpcy5saW5rQ2FzZVJlYXNvbnMuZmluZCgocmVhc29uKSA9PiByZWFzb24udmFsdWVfZW4gPT09ICdPdGhlcicpLnNlbGVjdGVkKSB7XG4gICAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMub3RoZXJEZXNjcmlwdGlvbi52YWx1ZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMub3RoZXJEZXNjcmlwdGlvbkVycm9yO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbi1jb21tZW50cycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5vdGhlckRlc2NyaXB0aW9uRXJyb3IsXG4gICAgICAgICAgZmllbGRJZDogJ290aGVyRGVzY3JpcHRpb24nXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLm90aGVyRGVzY3JpcHRpb24udmFsdWUudHJpbSgpLmxlbmd0aCA+IDEwMCkge1xuICAgICAgICB0aGlzLmNhc2VSZWFzb25Db21tZW50c0Vycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLm90aGVyRGVzY3JpcHRpb25NYXhMZW5ndGhFcnJvcjtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1yZWFzb24tY29tbWVudHMnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMub3RoZXJEZXNjcmlwdGlvbk1heExlbmd0aEVycm9yLFxuICAgICAgICAgIGZpZWxkSWQ6ICdvdGhlckRlc2NyaXB0aW9uJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDYXNlU2VsZWN0ZWQodGhpcy5zZWxlY3RlZENhc2VzKSkge1xuICAgICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VQcm9wb3NlZEVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykpIHtcbiAgICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQ2FzZUluSW5pdGlhbCh0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyKSkge1xuICAgICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCkgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5Qcm9wb3NlZENhc2VXaXRoSW4sXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlSW5mbygpOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlTnVtYmVyRGF0YSA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIucmVwbGFjZSgvWy0gXS9nLCAnJykudHJpbSgpO1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlXG4gICAgICAuZ2V0Q2FzZVZpZXdWMihjYXNlTnVtYmVyRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VWaWV3O1xuICAgICAgICAgIGNvbnN0IGNhc2VMaW5rOiBDYXNlTGluayA9IHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICByZWFzb25zOiB0aGlzLmdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKSxcbiAgICAgICAgICAgIGNyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlOiBjYXNlVmlldy5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlRGVzY3JpcHRpb246IGNhc2VWaWV3LnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGNhc2VWaWV3LmNhc2VfdHlwZSAmJiBjYXNlVmlldy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZVZpZXcpXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBjY2RBcGlDYXNlTGlua0RhdGE6IENDRENhc2VMaW5rVHlwZSA9IHtcbiAgICAgICAgICAgIENhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICBDYXNlVHlwZTogY2FzZVZpZXcuY2FzZV90eXBlLmlkLFxuICAgICAgICAgICAgQ3JlYXRlZERhdGVUaW1lOiBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KHRoaXMuSVNPX0ZPUk1BVCksXG4gICAgICAgICAgICBSZWFzb25Gb3JMaW5rOiB0aGlzLmdldFNlbGVjdGVkQ0NEVHlwZUNhc2VSZWFzb24oKVxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUucHVzaCh7IGlkOiBjYXNlVmlldy5jYXNlX2lkLnRvU3RyaW5nKCksIHZhbHVlOiBjY2RBcGlDYXNlTGlua0RhdGEgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goY2FzZUxpbmspO1xuICAgICAgICAgIHRoaXMubGlua0Nhc2VSZWFzb25zLmZvckVhY2goKHJlYXNvbikgPT4gcmVhc29uLnNlbGVjdGVkID0gZmFsc2UpO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yLFxuICAgICAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIC8vIFJldHVybiBsaW5rZWQgY2FzZXMgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgcHVibGljIGVtaXRMaW5rZWRDYXNlc1N0YXRlKGlzTmF2aWdhdGVUb05leHRQYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5saW5rZWRDYXNlc1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IExpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgbmF2aWdhdGVUb05leHRQYWdlOiBpc05hdmlnYXRlVG9OZXh0UGFnZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKTogTGlua1JlYXNvbltdIHtcbiAgICBjb25zdCBzZWxlY3RlZFJlYXNvbnMgPSBbXTtcbiAgICB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5yZWFzb25UeXBlLnZhbHVlLmZvckVhY2goXG4gICAgICAoc2VsZWN0ZWRSZWFzb246IExpbmtDYXNlUmVhc29uKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZFJlYXNvbi5zZWxlY3RlZCkge1xuICAgICAgICAgIHNlbGVjdGVkUmVhc29ucy5wdXNoKHtcbiAgICAgICAgICAgIFJlYXNvbjogc2VsZWN0ZWRSZWFzb24ua2V5LFxuICAgICAgICAgICAgT3RoZXJEZXNjcmlwdGlvbjogc2VsZWN0ZWRSZWFzb24udmFsdWVfZW4gPT09ICdPdGhlcidcbiAgICAgICAgICAgICAgPyB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5vdGhlckRlc2NyaXB0aW9uLnZhbHVlXG4gICAgICAgICAgICAgIDogJydcbiAgICAgICAgICB9IGFzIExpbmtSZWFzb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRSZWFzb25zO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkQ0NEVHlwZUNhc2VSZWFzb24oKTogTGlua1JlYXNvbltdIHtcbiAgICBjb25zdCBzZWxlY3RlZFJlYXNvbnMgPSBbXTtcbiAgICB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5yZWFzb25UeXBlLnZhbHVlLmZvckVhY2goXG4gICAgICAoc2VsZWN0ZWRSZWFzb246IExpbmtDYXNlUmVhc29uKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZFJlYXNvbi5zZWxlY3RlZCkge1xuICAgICAgICAgIHNlbGVjdGVkUmVhc29ucy5wdXNoKHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIFJlYXNvbjogc2VsZWN0ZWRSZWFzb24ua2V5LFxuICAgICAgICAgICAgICBPdGhlckRlc2NyaXB0aW9uOiBzZWxlY3RlZFJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJ1xuICAgICAgICAgICAgICAgID8gdGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMub3RoZXJEZXNjcmlwdGlvbi52YWx1ZVxuICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW107XG4gICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSAhPT0gc2VsZWN0ZWRDYXNlUmVmZXJlbmNlKTtcbiAgICBpZiAodXBkYXRlZEl0ZW1zKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSA9IHVwZGF0ZWRJdGVtcztcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShwb3MsIDEpO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLm5vU2VsZWN0ZWRDYXNlRXJyb3IgPSBudWxsO1xuICAgIGxldCBuYXZpZ2F0ZVRvTmV4dFBhZ2UgPSB0cnVlO1xuICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnN0b3JlZENhc2VOdW1iZXIgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyID8/ICcnO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IHRoaXMuc2VsZWN0ZWRDYXNlcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXNlbGVjdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVNlbGVjdGlvbkVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZVJlYXNvbidcbiAgICAgIH0pO1xuICAgICAgbmF2aWdhdGVUb05leHRQYWdlID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUobmF2aWdhdGVUb05leHRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMub25OZXh0KCk7XG5cbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsXCI+XG4gICAgPGRpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstY2FwdGlvbi1sXCI+TGluayBjYXNlcyB0byB7e2Nhc2VOYW1lfX0ge3tjYXNlSWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+XG4gICAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXhsXCI+U2VsZWN0IGEmbmJzcDtjYXNlIHlvdSB3YW50IHRvIGxpbmsgdG8gdGhpcyBjYXNlPC9oMT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJsaW5rQ2FzZUZvcm1cIiAqbmdJZj1cImxpbmtDYXNlRm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIGlkPVwiY2FzZU51bWJlclwiIFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiAhIWNhc2VOdW1iZXJFcnJvcn1cIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5FbnRlciBjYXNlIHJlZmVyZW5jZTwvaDM+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlTnVtYmVyRXJyb3JcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VOdW1iZXJFcnJvcn19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGZvcm1Db250cm9sTmFtZT1cImNhc2VOdW1iZXJcIiBpZD1cIndpZHRoLTIwXCIgbmFtZT1cIndpZHRoLTIwXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiAhIWNhc2VSZWFzb25FcnJvcn1cIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLXRvcC0zXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+V2h5IHNob3VsZCB0aGVzZSBjYXNlcyBiZSBsaW5rZWQ/PC9oMz5cbiAgICAgICAgICA8ZGl2IGlkPVwid2FzdGUtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICAgICAgU2VsZWN0IGFsbCB0aGF0IGFwcGx5LlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlYXNvbkVycm9yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlUmVhc29uRXJyb3J9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiIGZvcm1BcnJheU5hbWU9XCJyZWFzb25UeXBlXCIgaWQ9XCJjYXNlUmVhc29uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiICpuZ0Zvcj1cImxldCByZWFzb24gb2YgbGlua0Nhc2VSZWFzb25zO2luZGV4IGFzIHBvc1wiIFtmb3JtR3JvdXBOYW1lXT1cInBvc1wiPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwie3tyZWFzb24ua2V5fX1cIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZFwiIG5hbWU9XCJwb3NcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJyZWFzb24udmFsdWVfZW5cIiAoY2hhbmdlKT1cInRvZ2dsZUxpbmtDYXNlUmVhc29uT3RoZXJDb21tZW50cygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwie3tyZWFzb24ua2V5fX1cIj57e3JlYXNvbi52YWx1ZV9lbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cIm90aGVyLWRlc2NyaXB0aW9uLWNoYXItbGltaXQtZXJyb3JcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlUmVhc29uQ29tbWVudHNFcnJvcn1cIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLXRvcC0zXCIgKm5nSWY9XCJzaG93Q29tbWVudHNcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5Db21tZW50czwvaDM+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlUmVhc29uQ29tbWVudHNFcnJvclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZVJlYXNvbkNvbW1lbnRzRXJyb3J9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYSBnb3Z1ay1pbnB1dC0td2lkdGgtMzBcIiBpZD1cIm90aGVyRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgbmFtZT1cIm90aGVyRGVzY3JpcHRpb25cIiBmb3JtQ29udHJvbE5hbWU9XCJvdGhlckRlc2NyaXB0aW9uXCIgcm93cz1cIjVcIlxuICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cIm90aGVyLWRlc2NyaXB0aW9uLWhpbnQgb3RoZXItZGVzY3JpcHRpb24tY2hhci1saW1pdC1pbmZvIG90aGVyLWRlc2NyaXB0aW9uLWNoYXItbGltaXQtZXJyb3JcIj5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICAgIDxkaXYgaWQ9XCJvdGhlci1kZXNjcmlwdGlvbi1jaGFyLWxpbWl0LWluZm9cIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCI+XG4gICAgICAgICAgICBZb3UgY2FuIGVudGVyIHVwIHRvIDEwMCBjaGFyYWN0ZXJzXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnI+PGJyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImNhc2VTZWxlY3Rpb25FcnJvclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VTZWxlY3Rpb25FcnJvcn19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInByb3Bvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdENhc2VJbmZvKClcIj5Qcm9wb3NlIGNhc2UgbGluazwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aHI+XG4gICAgICA8YnI+PGJyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFub1NlbGVjdGVkQ2FzZUVycm9yfVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5vU2VsZWN0ZWRDYXNlRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tub1NlbGVjdGVkQ2FzZUVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5Qcm9wb3NlZCBjYXNlIGxpbmtzIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjMwMFwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIxNTBcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNDAwXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCI1MFwiPjwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBzZWxlY3RlZENhc2VzOyBsZXQgcG9zID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0YWJsZS1ncm91cC1lcnJvcic6Y2FzZVNlbGVjdGlvbkVycm9yICYmIGNhc2UuY2FzZVJlZmVyZW5jZSA9PT0gbGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXJ9XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tjYXNlLmNhc2VOYW1lfX0gPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNhc2VUeXBlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7Y2FzZS5jYXNlU2VydmljZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlU3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlU3RhdGV9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zXCI+e3tyZWFzb24gfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19PGJyPjwvc3Bhbj48L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjxhIFthdHRyLmlkXT1cImNhc2UuY2FzZVJlZmVyZW5jZVwiIChjbGljayk9XCJvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIGNhc2UuY2FzZVJlZmVyZW5jZSk7XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ292dWstbGluayBuby12aXNpdGVkLXN0YXRlXCI+UmVtb3ZlPC9hPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiIXNlbGVjdGVkQ2FzZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgY29sc3Bhbj1cIjZcIj5cbiAgICAgICAgICAgICAgICBOb25lXG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -16782,6 +16782,7 @@ class BeforeYouStartComponent extends AbstractJourneyComponent {
16782
16782
  }
16783
16783
  else {
16784
16784
  this.linkedCasesService.caseFieldValue = this.linkedCasesService.caseFieldValue.filter((item) => this.linkedCasesService.initialCaseLinkRefs.includes(item.id));
16785
+ this.linkedCasesService.linkedCases = this.linkedCasesService.linkedCases.filter((item) => this.linkedCasesService.initialCaseLinkRefs.includes(item.caseReference));
16785
16786
  }
16786
16787
  }
16787
16788
  }
@@ -17291,7 +17292,7 @@ class LinkCasesComponent extends AbstractJourneyComponent {
17291
17292
  }
17292
17293
  if (this.linkedCasesService.editMode || this.linkedCasesService.linkedCases.length) {
17293
17294
  // this may have includes the currently added one but yet to be submitted.
17294
- this.selectedCases = this.linkedCasesService.linkedCases.filter((item) => this.linkedCasesService.initialCaseLinkRefs.includes(item.caseReference));
17295
+ this.selectedCases = this.linkedCasesService.linkedCases.filter((item) => !this.linkedCasesService.initialCaseLinkRefs.includes(item.caseReference));
17295
17296
  }
17296
17297
  else if (this.linkedCasesService.initialCaseLinks.length !== this.linkedCasesService.caseFieldValue.length) {
17297
17298
  this.linkedCasesService.linkedCases = this.linkedCasesService.initialCaseLinks;