@hmcts/ccd-case-ui-toolkit 7.1.22-case-links-fix → 7.1.23

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.
Files changed (26) hide show
  1. package/esm2022/lib/shared/components/case-editor/services/page-validation.service.mjs +7 -10
  2. package/esm2022/lib/shared/components/case-header/case-header.component.mjs +10 -4
  3. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +1 -15
  4. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +17 -17
  5. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +10 -10
  6. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +13 -30
  7. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +14 -36
  8. package/esm2022/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +11 -23
  9. package/esm2022/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +2 -1
  10. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +7 -2
  11. package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +1 -2
  12. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +76 -131
  13. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  14. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  15. package/lib/shared/components/case-header/case-header.component.d.ts +2 -1
  16. package/lib/shared/components/case-header/case-header.component.d.ts.map +1 -1
  17. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  18. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  19. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  20. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +1 -5
  21. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +1 -1
  22. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +2 -1
  23. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -1
  24. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
  25. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  26. package/package.json +1 -1
@@ -12,16 +12,15 @@ export class PageValidationService {
12
12
  getInvalidFields(page, editForm) {
13
13
  const failingCaseFields = [];
14
14
  page.case_fields
15
- .filter(caseField => !this.caseFieldService.isReadOnly(caseField))
16
- .filter(caseField => !this.isHidden(caseField, editForm))
17
- .forEach(caseField => {
15
+ .filter((caseField) => !this.caseFieldService.isReadOnly(caseField))
16
+ .filter((caseField) => !this.isHidden(caseField, editForm))
17
+ .forEach((caseField) => {
18
18
  const theControl = FieldsUtils.isCaseFieldOfType(caseField, ['JudicialUser'])
19
- ? editForm.controls['data'].get(`${caseField.id}_judicialUserControl`)
20
- : editForm.controls['data'].get(caseField.id);
19
+ ? editForm.controls.data.get(`${caseField.id}_judicialUserControl`)
20
+ : editForm.controls.data.get(caseField.id);
21
21
  if (!(this.checkDocumentField(caseField, theControl) && this.checkOptionalField(caseField, theControl))) {
22
22
  failingCaseFields.push(caseField);
23
23
  }
24
- ;
25
24
  });
26
25
  return failingCaseFields;
27
26
  }
@@ -43,9 +42,7 @@ export class PageValidationService {
43
42
  if (!theControl) {
44
43
  return this.caseFieldService.isOptional(caseField);
45
44
  }
46
- else {
47
- return theControl.valid || theControl.disabled;
48
- }
45
+ return theControl.valid || theControl.disabled;
49
46
  }
50
47
  checkMandatoryField(caseField, theControl) {
51
48
  return this.caseFieldService.isMandatory(caseField) && theControl === null;
@@ -56,4 +53,4 @@ export class PageValidationService {
56
53
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PageValidationService, [{
57
54
  type: Injectable
58
55
  }], () => [{ type: i1.CaseFieldService }], null); })();
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvcGFnZS12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFJdkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNIO0lBQTdCLFlBQTZCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUksQ0FBQztJQUU3RCxnQkFBZ0IsQ0FBQyxJQUFnQixFQUFFLFFBQW1CO1FBQzNELE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXO2FBQ2IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDeEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDM0UsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsc0JBQXNCLENBQUM7Z0JBQ3RFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDeEcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFBQSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRLENBQUMsU0FBb0IsRUFBRSxRQUFtQixFQUFFLElBQWE7UUFDdEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFNBQW9CLEVBQUUsVUFBMkI7UUFDMUUsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFNBQW9CLEVBQUUsVUFBMkI7UUFDMUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sVUFBVSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsU0FBb0IsRUFBRSxVQUEyQjtRQUMzRSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQztJQUM3RSxDQUFDOytFQTdDVSxxQkFBcUI7Z0VBQXJCLHFCQUFxQixXQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmllbGRzL2Nhc2UtZmllbGQuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcyc7XG5pbXBvcnQgeyBXaXphcmRQYWdlIH0gZnJvbSAnLi4vZG9tYWluL3dpemFyZC1wYWdlLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhZ2VWYWxpZGF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2FzZUZpZWxkU2VydmljZTogQ2FzZUZpZWxkU2VydmljZSkgeyB9XG5cbiAgcHVibGljIGdldEludmFsaWRGaWVsZHMocGFnZTogV2l6YXJkUGFnZSwgZWRpdEZvcm06IEZvcm1Hcm91cCk6IENhc2VGaWVsZFtdIHtcbiAgICBjb25zdCBmYWlsaW5nQ2FzZUZpZWxkcyA9IFtdO1xuICAgIHBhZ2UuY2FzZV9maWVsZHNcbiAgICAgIC5maWx0ZXIoY2FzZUZpZWxkID0+ICF0aGlzLmNhc2VGaWVsZFNlcnZpY2UuaXNSZWFkT25seShjYXNlRmllbGQpKVxuICAgICAgLmZpbHRlcihjYXNlRmllbGQgPT4gIXRoaXMuaXNIaWRkZW4oY2FzZUZpZWxkLCBlZGl0Rm9ybSkpXG4gICAgICAuZm9yRWFjaChjYXNlRmllbGQgPT4ge1xuICAgICAgICBjb25zdCB0aGVDb250cm9sID0gRmllbGRzVXRpbHMuaXNDYXNlRmllbGRPZlR5cGUoY2FzZUZpZWxkLCBbJ0p1ZGljaWFsVXNlciddKVxuICAgICAgICAgID8gZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXS5nZXQoYCR7Y2FzZUZpZWxkLmlkfV9qdWRpY2lhbFVzZXJDb250cm9sYClcbiAgICAgICAgICA6IGVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ10uZ2V0KGNhc2VGaWVsZC5pZCk7XG4gICAgICAgIGlmICghKHRoaXMuY2hlY2tEb2N1bWVudEZpZWxkKGNhc2VGaWVsZCwgdGhlQ29udHJvbCkgJiYgdGhpcy5jaGVja09wdGlvbmFsRmllbGQoY2FzZUZpZWxkLCB0aGVDb250cm9sKSkpIHtcbiAgICAgICAgICBmYWlsaW5nQ2FzZUZpZWxkcy5wdXNoKGNhc2VGaWVsZCk7XG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICByZXR1cm4gZmFpbGluZ0Nhc2VGaWVsZHM7XG4gIH1cblxuICBwdWJsaWMgaXNIaWRkZW4oY2FzZUZpZWxkOiBDYXNlRmllbGQsIGVkaXRGb3JtOiBGb3JtR3JvdXAsIHBhdGg/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb3JtRmllbGRzID0gZWRpdEZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICBjb25zdCBjb25kaXRpb24gPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGNhc2VGaWVsZC5zaG93X2NvbmRpdGlvbik7XG4gICAgaWYgKHBhdGggJiYgcGF0aC5pbmRleE9mKGBfJHtjYXNlRmllbGQuaWR9X2ApID09PSAtMSkge1xuICAgICAgcGF0aCA9IGAke3BhdGh9JHtjYXNlRmllbGQuaWR9YDtcbiAgICB9XG4gICAgcmV0dXJuICFjb25kaXRpb24ubWF0Y2goZm9ybUZpZWxkcy5kYXRhLCBwYXRoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEb2N1bWVudEZpZWxkKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCB0aGVDb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBib29sZWFuIHtcbiAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUuaWQgIT09ICdEb2N1bWVudCcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gISh0aGlzLmNoZWNrTWFuZGF0b3J5RmllbGQoY2FzZUZpZWxkLCB0aGVDb250cm9sKSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrT3B0aW9uYWxGaWVsZChjYXNlRmllbGQ6IENhc2VGaWVsZCwgdGhlQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGVDb250cm9sKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYXNlRmllbGRTZXJ2aWNlLmlzT3B0aW9uYWwoY2FzZUZpZWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoZUNvbnRyb2wudmFsaWQgfHwgdGhlQ29udHJvbC5kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTWFuZGF0b3J5RmllbGQoY2FzZUZpZWxkOiBDYXNlRmllbGQsIHRoZUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZFNlcnZpY2UuaXNNYW5kYXRvcnkoY2FzZUZpZWxkKSAmJiB0aGVDb250cm9sID09PSBudWxsO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvcGFnZS12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFJdkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNIO0lBQTdCLFlBQTZCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUksQ0FBQztJQUU3RCxnQkFBZ0IsQ0FBQyxJQUFnQixFQUFFLFFBQW1CO1FBQzNELE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXO2FBQ2IsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbkUsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQzFELE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDM0UsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLHNCQUFzQixDQUFDO2dCQUNuRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4RyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQW9CLEVBQUUsUUFBbUIsRUFBRSxJQUFhO1FBQ3RFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0RSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxTQUFvQixFQUFFLFVBQTJCO1FBQzFFLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxTQUFvQixFQUFFLFVBQTJCO1FBQzFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxTQUFvQixFQUFFLFVBQTJCO1FBQzNFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDO0lBQzdFLENBQUM7K0VBNUNVLHFCQUFxQjtnRUFBckIscUJBQXFCLFdBQXJCLHFCQUFxQjs7aUZBQXJCLHFCQUFxQjtjQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlRmllbGRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FzZS1maWVsZHMvY2FzZS1maWVsZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmllbGRzJztcbmltcG9ydCB7IFdpemFyZFBhZ2UgfSBmcm9tICcuLi9kb21haW4vd2l6YXJkLXBhZ2UubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGFnZVZhbGlkYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlRmllbGRTZXJ2aWNlOiBDYXNlRmllbGRTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgZ2V0SW52YWxpZEZpZWxkcyhwYWdlOiBXaXphcmRQYWdlLCBlZGl0Rm9ybTogRm9ybUdyb3VwKTogQ2FzZUZpZWxkW10ge1xuICAgIGNvbnN0IGZhaWxpbmdDYXNlRmllbGRzID0gW107XG4gICAgcGFnZS5jYXNlX2ZpZWxkc1xuICAgICAgLmZpbHRlcigoY2FzZUZpZWxkKSA9PiAhdGhpcy5jYXNlRmllbGRTZXJ2aWNlLmlzUmVhZE9ubHkoY2FzZUZpZWxkKSlcbiAgICAgIC5maWx0ZXIoKGNhc2VGaWVsZCkgPT4gIXRoaXMuaXNIaWRkZW4oY2FzZUZpZWxkLCBlZGl0Rm9ybSkpXG4gICAgICAuZm9yRWFjaCgoY2FzZUZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IHRoZUNvbnRyb2wgPSBGaWVsZHNVdGlscy5pc0Nhc2VGaWVsZE9mVHlwZShjYXNlRmllbGQsIFsnSnVkaWNpYWxVc2VyJ10pXG4gICAgICAgICAgPyBlZGl0Rm9ybS5jb250cm9scy5kYXRhLmdldChgJHtjYXNlRmllbGQuaWR9X2p1ZGljaWFsVXNlckNvbnRyb2xgKVxuICAgICAgICAgIDogZWRpdEZvcm0uY29udHJvbHMuZGF0YS5nZXQoY2FzZUZpZWxkLmlkKTtcbiAgICAgICAgaWYgKCEodGhpcy5jaGVja0RvY3VtZW50RmllbGQoY2FzZUZpZWxkLCB0aGVDb250cm9sKSAmJiB0aGlzLmNoZWNrT3B0aW9uYWxGaWVsZChjYXNlRmllbGQsIHRoZUNvbnRyb2wpKSkge1xuICAgICAgICAgIGZhaWxpbmdDYXNlRmllbGRzLnB1c2goY2FzZUZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIGZhaWxpbmdDYXNlRmllbGRzO1xuICB9XG5cbiAgcHVibGljIGlzSGlkZGVuKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBlZGl0Rm9ybTogRm9ybUdyb3VwLCBwYXRoPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybUZpZWxkcyA9IGVkaXRGb3JtLmdldFJhd1ZhbHVlKCk7XG4gICAgY29uc3QgY29uZGl0aW9uID0gU2hvd0NvbmRpdGlvbi5nZXRJbnN0YW5jZShjYXNlRmllbGQuc2hvd19jb25kaXRpb24pO1xuICAgIGlmIChwYXRoICYmIHBhdGguaW5kZXhPZihgXyR7Y2FzZUZpZWxkLmlkfV9gKSA9PT0gLTEpIHtcbiAgICAgIHBhdGggPSBgJHtwYXRofSR7Y2FzZUZpZWxkLmlkfWA7XG4gICAgfVxuICAgIHJldHVybiAhY29uZGl0aW9uLm1hdGNoKGZvcm1GaWVsZHMuZGF0YSwgcGF0aCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRG9jdW1lbnRGaWVsZChjYXNlRmllbGQ6IENhc2VGaWVsZCwgdGhlQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogYm9vbGVhbiB7XG4gICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLmlkICE9PSAnRG9jdW1lbnQnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuICEodGhpcy5jaGVja01hbmRhdG9yeUZpZWxkKGNhc2VGaWVsZCwgdGhlQ29udHJvbCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja09wdGlvbmFsRmllbGQoY2FzZUZpZWxkOiBDYXNlRmllbGQsIHRoZUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhlQ29udHJvbCkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkU2VydmljZS5pc09wdGlvbmFsKGNhc2VGaWVsZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGVDb250cm9sLnZhbGlkIHx8IHRoZUNvbnRyb2wuZGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTWFuZGF0b3J5RmllbGQoY2FzZUZpZWxkOiBDYXNlRmllbGQsIHRoZUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZFNlcnZpY2UuaXNNYW5kYXRvcnkoY2FzZUZpZWxkKSAmJiB0aGVDb250cm9sID09PSBudWxsO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { CaseView } from '../../domain/case-view/case-view.model';
3
3
  import { CaseField } from '../../domain/definition/case-field.model';
4
+ import { Draft } from '../../domain/draft.model';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "../palette/label/label-field.component";
@@ -30,10 +31,15 @@ export class CaseHeaderComponent {
30
31
  caseFields;
31
32
  ngOnInit() {
32
33
  this.caseTitle = new CaseField();
33
- this.caseTitle.label = this.caseDetails.state.title_display;
34
- this.caseFields = this.getCaseFieldsInfo();
34
+ if (!this.isDraft() && this.caseDetails.state.title_display) {
35
+ this.caseTitle.label = this.caseDetails.state.title_display;
36
+ this.caseFields = this.getCaseFields();
37
+ }
35
38
  }
36
- getCaseFieldsInfo() {
39
+ isDraft() {
40
+ return Draft.isDraft(this.caseDetails.case_id);
41
+ }
42
+ getCaseFields() {
37
43
  const caseDataFields = this.caseDetails.tabs.reduce((acc, tab) => {
38
44
  return acc.concat(tab.fields);
39
45
  }, []);
@@ -55,4 +61,4 @@ export class CaseHeaderComponent {
55
61
  type: Input
56
62
  }] }); })();
57
63
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHeaderComponent, { className: "CaseHeaderComponent", filePath: "lib/shared/components/case-header/case-header.component.ts", lineNumber: 12 }); })();
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2Nhc2UtaGVhZGVyL2Nhc2UtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWhlYWRlci9jYXNlLWhlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7OztJQ0ZyRSw2QkFBZ0Q7SUFBQSxZQUE0Qzs7SUFBQSxpQkFBSzs7O0lBQWpELGNBQTRDO0lBQTVDLGdGQUE0Qzs7O0lBRTVGLDhCQUFnRDtJQUM5QyxxQ0FBcUY7SUFDdkYsaUJBQU07OztJQURhLGNBQXVCO0lBQUMsQUFBeEIsNENBQXVCLGlDQUEwQjs7QURRcEUsTUFBTSxPQUFPLG1CQUFtQjtJQUNkLFdBQVcsQ0FBVztJQUMvQixTQUFTLENBQVk7SUFDckIsVUFBVSxDQUFjO0lBRXhCLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDL0QsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFUCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRSxDQUFDOzZFQWpCVSxtQkFBbUI7NkRBQW5CLG1CQUFtQjtZQ1RoQyxBQUZBLGtFQUFnRCx1REFFQTs7WUFGM0MsMkNBQXNCO1lBRXJCLGNBQXFCO1lBQXJCLDBDQUFxQjs7O2lGRFNkLG1CQUFtQjtjQU4vQixTQUFTOzJCQUNFLGlCQUFpQjtnQkFNWCxXQUFXO2tCQUExQixLQUFLOztrRkFESyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vZG9tYWluL2Nhc2Utdmlldy9jYXNlLXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBEcmFmdCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kcmFmdC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWhlYWRlci5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1oZWFkZXIuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ2FzZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBjYXNlVGl0bGU6IENhc2VGaWVsZDtcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VUaXRsZSA9IG5ldyBDYXNlRmllbGQoKTtcbiAgICB0aGlzLmNhc2VUaXRsZS5sYWJlbCA9IHRoaXMuY2FzZURldGFpbHMuc3RhdGUudGl0bGVfZGlzcGxheTtcbiAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLmdldENhc2VGaWVsZHNJbmZvKCk7XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHNJbmZvKCk6IENhc2VGaWVsZFtdIHtcbiAgICBjb25zdCBjYXNlRGF0YUZpZWxkcyA9IHRoaXMuY2FzZURldGFpbHMudGFicy5yZWR1Y2UoKGFjYywgdGFiKSA9PiB7XG4gICAgICByZXR1cm4gYWNjLmNvbmNhdCh0YWIuZmllbGRzKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gY2FzZURhdGFGaWVsZHMuY29uY2F0KHRoaXMuY2FzZURldGFpbHMubWV0YWRhdGFGaWVsZHMpO1xuICB9XG59XG4iLCI8aDEgKm5nSWY9XCIhY2FzZVRpdGxlLmxhYmVsXCIgY2xhc3M9XCJoZWFkaW5nLWgxXCI+I3t7IGNhc2VEZXRhaWxzLmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L2gxPlxuXG48ZGl2ICpuZ0lmPVwiY2FzZVRpdGxlLmxhYmVsXCIgY2xhc3M9XCJjYXNlLXRpdGxlXCI+XG4gIDxjY2QtbGFiZWwtZmllbGQgW2Nhc2VGaWVsZF09XCJjYXNlVGl0bGVcIiBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCI+PC9jY2QtbGFiZWwtZmllbGQ+XG48L2Rpdj5cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2Nhc2UtaGVhZGVyL2Nhc2UtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWhlYWRlci9jYXNlLWhlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7SUNIakQsNkJBQWdEO0lBQUEsWUFBNEM7O0lBQUEsaUJBQUs7OztJQUFqRCxjQUE0QztJQUE1QyxnRkFBNEM7OztJQUU1Riw4QkFBZ0Q7SUFDOUMscUNBQXFGO0lBQ3ZGLGlCQUFNOzs7SUFEYSxjQUF1QjtJQUFDLEFBQXhCLDRDQUF1QixpQ0FBMEI7O0FEUXBFLE1BQU0sT0FBTyxtQkFBbUI7SUFHdkIsV0FBVyxDQUFXO0lBQ3RCLFNBQVMsQ0FBWTtJQUNyQixVQUFVLENBQWM7SUFFeEIsUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUM1RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDL0QsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFUCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRSxDQUFDOzZFQXpCVSxtQkFBbUI7NkRBQW5CLG1CQUFtQjtZQ1RoQyxBQUZBLGtFQUFnRCx1REFFQTs7WUFGM0MsMkNBQXNCO1lBRXJCLGNBQXFCO1lBQXJCLDBDQUFxQjs7O2lGRFNkLG1CQUFtQjtjQU4vQixTQUFTOzJCQUNFLGlCQUFpQjtnQkFRcEIsV0FBVztrQkFEakIsS0FBSzs7a0ZBRkssbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcvY2FzZS12aWV3Lm1vZGVsJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRHJhZnQgfSBmcm9tICcuLi8uLi9kb21haW4vZHJhZnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1oZWFkZXIuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtaGVhZGVyLnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIENhc2VIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBjYXNlVGl0bGU6IENhc2VGaWVsZDtcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VUaXRsZSA9IG5ldyBDYXNlRmllbGQoKTtcbiAgICBpZiAoIXRoaXMuaXNEcmFmdCgpICYmIHRoaXMuY2FzZURldGFpbHMuc3RhdGUudGl0bGVfZGlzcGxheSkge1xuICAgICAgdGhpcy5jYXNlVGl0bGUubGFiZWwgPSB0aGlzLmNhc2VEZXRhaWxzLnN0YXRlLnRpdGxlX2Rpc3BsYXk7XG4gICAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLmdldENhc2VGaWVsZHMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEcmFmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRHJhZnQuaXNEcmFmdCh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXNlRmllbGRzKCk6IENhc2VGaWVsZFtdIHtcbiAgICBjb25zdCBjYXNlRGF0YUZpZWxkcyA9IHRoaXMuY2FzZURldGFpbHMudGFicy5yZWR1Y2UoKGFjYywgdGFiKSA9PiB7XG4gICAgICByZXR1cm4gYWNjLmNvbmNhdCh0YWIuZmllbGRzKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gY2FzZURhdGFGaWVsZHMuY29uY2F0KHRoaXMuY2FzZURldGFpbHMubWV0YWRhdGFGaWVsZHMpO1xuICB9XG59XG4iLCI8aDEgKm5nSWY9XCIhY2FzZVRpdGxlLmxhYmVsXCIgY2xhc3M9XCJoZWFkaW5nLWgxXCI+I3t7IGNhc2VEZXRhaWxzLmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L2gxPlxuXG48ZGl2ICpuZ0lmPVwiY2FzZVRpdGxlLmxhYmVsXCIgY2xhc3M9XCJjYXNlLXRpdGxlXCI+XG4gIDxjY2QtbGFiZWwtZmllbGQgW2Nhc2VGaWVsZF09XCJjYXNlVGl0bGVcIiBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCI+PC9jY2QtbGFiZWwtZmllbGQ+XG48L2Rpdj5cbiJdfQ==
@@ -207,20 +207,6 @@ export class SelectFlagTypeComponent {
207
207
  [SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY]: ''
208
208
  });
209
209
  });
210
- this.formGroup.addControl(CaseFlagFormFields.FLAG_TYPE, new FormControl(''));
211
- this.formGroup.addControl(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION, new FormControl(''));
212
- this.formGroup.addControl(CaseFlagFormFields.IS_VISIBLE_INTERNALLY_ONLY, new FormControl(''));
213
- // Should clear descriptionControlName if flagTypeControlName is changed
214
- this.flagTypeControlChangesSubscription = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE).valueChanges
215
- .subscribe(_ => {
216
- this.formGroup.get(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION).setValue('');
217
- this.cachedPath = [];
218
- // required to clear language interpreter
219
- this.formGroup.patchValue({
220
- [SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM]: '',
221
- [SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY]: ''
222
- });
223
- });
224
210
  // If hmctsServiceId is present, use this to retrieve the relevant list of flag types
225
211
  if (this.hmctsServiceId) {
226
212
  this.flagRefdata$ = this.caseFlagRefdataService
@@ -364,4 +350,4 @@ export class SelectFlagTypeComponent {
364
350
  type: Output
365
351
  }] }); })();
366
352
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectFlagTypeComponent, { className: "SelectFlagTypeComponent", filePath: "lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.ts", lineNumber: 18 }); })();
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOzs7Ozs7SUNMNUgsNkJBQWtFO0lBQ2hFLFlBS0Y7Ozs7OztJ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QUFtRztRQUNuRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUN2RyxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakksQ0FBQztpRkE3TlUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUM0Q3BDLEFBN0RBLDRGQUFnRSwyREE2RFY7O1lBN0R2QywwRUFBdUI7WUE2REwsY0FBbUI7WUFBbkIsd0NBQW1COzs7aUZENUN2Qyx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxzQkFBc0I7dURBTXpCLFNBQVM7a0JBRGYsS0FBSztZQUlDLFlBQVk7a0JBRGxCLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsY0FBYztrQkFEcEIsS0FBSztZQUlDLGlDQUFpQztrQkFEdkMsS0FBSztZQUlDLHVDQUF1QztrQkFEN0MsS0FBSztZQUlDLHFCQUFxQjtrQkFEM0IsS0FBSztZQUlDLG9CQUFvQjtrQkFEMUIsTUFBTTtZQUlBLDJCQUEyQjtrQkFEakMsTUFBTTs7a0ZBekJJLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgUmVmZGF0YUNhc2VGbGFnVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9yZWZkYXRhLWNhc2UtZmxhZy10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIENhc2VGbGFnRm9ybUZpZWxkcywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcyB9IGZyb20gJy4uL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItY29udHJvbC1uYW1lcy5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlbGVjdC1mbGFnLXR5cGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZVR5cGVJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBobWN0c1NlcnZpY2VJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkRmxhZ3NMb2NhdGlvbjogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBmbGFnVHlwZXM6IEZsYWdUeXBlW107XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXTtcbiAgcHVibGljIGZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdUeXBlRXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBmbGFnUmVmZGF0YSQ6IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHJlZmRhdGFFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2FjaGVkUGF0aDogKEZsYWdUeXBlIHwgZmFsc2UpW107XG4gIHB1YmxpYyBjYWNoZWRGbGFnVHlwZTogRmxhZ1R5cGU7XG4gIHB1YmxpYyBmbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjYXNlRmxhZ0Zvcm1GaWVsZCA9IENhc2VGbGFnRm9ybUZpZWxkcztcbiAgcHVibGljIGlzQ2FzZUxldmVsRmxhZyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUgPSA4MDtcbiAgLy8gQ29kZSBmb3IgXCJPdGhlclwiIGZsYWcgdHlwZSBhcyBkZWZpbmVkIGluIFJlZmVyZW5jZSBEYXRhXG4gIHByaXZhdGUgcmVhZG9ubHkgb3RoZXJGbGFnVHlwZUNvZGUgPSAnT1QwMDAxJztcbiAgcHJpdmF0ZSByZWFkb25seSBjYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkID0gJ2Nhc2VGbGFncyc7XG5cbiAgcHVibGljIGdldCBjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSgpOiB0eXBlb2YgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUge1xuICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRGbGFnVHlwZSgpOiBGbGFnVHlwZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk/LnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBvdGhlckZsYWdUeXBlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8udmFsdWU/LmZsYWdDb2RlID09PSB0aGlzLm90aGVyRmxhZ1R5cGVDb2RlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nhc2VMZXZlbEZsYWcgPSB0aGlzLnNlbGVjdGVkRmxhZ3NMb2NhdGlvbj8uZmxhZ3M/LmZsYWdzQ2FzZUZpZWxkSWQgPT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZDtcbiAgICB0aGlzLmZsYWdUeXBlcyA9IFtdO1xuICAgIGNvbnN0IGZsYWdUeXBlID0gdGhpcy5pc0Nhc2VMZXZlbEZsYWcgPyBSZWZkYXRhQ2FzZUZsYWdUeXBlLkNBU0UgOiBSZWZkYXRhQ2FzZUZsYWdUeXBlLlBBUlRZO1xuXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcbiAgICAvLyBGb3JtQ29udHJvbCBpcyBsaW5rZWQgdG8gYSBjaGVja2JveCBpbnB1dCBlbGVtZW50LCBzbyBpbml0aWFsIHZhbHVlIHNob3VsZCBiZSBmYWxzZVxuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLklTX1ZJU0lCTEVfSU5URVJOQUxMWV9PTkxZLCBuZXcgRm9ybUNvbnRyb2woZmFsc2UpKTtcblxuICAgIC8vIFNob3VsZCBjbGVhciBkZXNjcmlwdGlvbkNvbnRyb2xOYW1lIGlmIGZsYWdUeXBlQ29udHJvbE5hbWUgaXMgY2hhbmdlZFxuICAgIHRoaXMuZmxhZ1R5cGVDb250cm9sQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8udmFsdWVDaGFuZ2VzXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04pPy5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMuY2FjaGVkUGF0aCA9IFtdO1xuXG4gICAgICAgIC8vIHJlcXVpcmVkIHRvIGNsZWFyIGxhbmd1YWdlIGludGVycHJldGVyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIFtTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXTogJycsXG4gICAgICAgICAgW1NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZXTogJydcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTiwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFksIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuXG4gICAgLy8gU2hvdWxkIGNsZWFyIGRlc2NyaXB0aW9uQ29udHJvbE5hbWUgaWYgZmxhZ1R5cGVDb250cm9sTmFtZSBpcyBjaGFuZ2VkXG4gICAgdGhpcy5mbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpLnZhbHVlQ2hhbmdlc1xuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OKS5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMuY2FjaGVkUGF0aCA9IFtdO1xuXG4gICAgICAgIC8vIHJlcXVpcmVkIHRvIGNsZWFyIGxhbmd1YWdlIGludGVycHJldGVyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIFtTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXTogJycsXG4gICAgICAgICAgW1NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZXTogJydcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIElmIGhtY3RzU2VydmljZUlkIGlzIHByZXNlbnQsIHVzZSB0aGlzIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXNcbiAgICBpZiAodGhpcy5obWN0c1NlcnZpY2VJZCkge1xuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQgPSB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2VcbiAgICAgICAgLmdldENhc2VGbGFnc1JlZmRhdGEodGhpcy5obWN0c1NlcnZpY2VJZCwgZmxhZ1R5cGUsIHRydWUsIHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiBmbGFnVHlwZXMgPT4gdGhpcy5wcm9jZXNzRmxhZ1R5cGVzKGZsYWdUeXBlcyksXG4gICAgICAgICAgZXJyb3I6IGVycm9yID0+IHRoaXMub25SZWZkYXRhRXJyb3IoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbHNlLCBITUNUUyBzZXJ2aWNlIGNvZGUgaXMgcmVxdWlyZWQgdG8gcmV0cmlldmUgdGhlIHJlbGV2YW50IGxpc3Qgb2YgZmxhZyB0eXBlczsgYXR0ZW1wdCB0byBvYnRhaW4gaXQgYnkgY2FzZSB0eXBlIElEIGZpcnN0XG4gICAgICB0aGlzLmZsYWdSZWZkYXRhJCA9IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlDYXNlVHlwZSh0aGlzLmNhc2VUeXBlSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIElmIGFuIGVycm9yIG9jY3VycyByZXRyaWV2aW5nIEhNQ1RTIHNlcnZpY2UgZGV0YWlscyBieSBjYXNlIHR5cGUgSUQsIHRyeSBieSBzZXJ2aWNlIG5hbWUgaW5zdGVhZFxuICAgICAgICAgIGNhdGNoRXJyb3IoXyA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0SG1jdHNTZXJ2aWNlRGV0YWlsc0J5U2VydmljZU5hbWUodGhpcy5qdXJpc2RpY3Rpb24pKSxcbiAgICAgICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBmbGFnIHR5cGVzIGRhdGEsIGhhdmluZyByZWNlaXZlZCB0aGUgc2VydmljZSBkZXRhaWxzXG4gICAgICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgICAgICBzd2l0Y2hNYXAoc2VydmljZURldGFpbHMgPT4gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldENhc2VGbGFnc1JlZmRhdGEoc2VydmljZURldGFpbHNbMF0uc2VydmljZV9jb2RlLCBmbGFnVHlwZSxcbiAgICAgICAgICAgIHRydWUsIHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiBmbGFnVHlwZXMgPT4gdGhpcy5wcm9jZXNzRmxhZ1R5cGVzKGZsYWdUeXBlcyksXG4gICAgICAgICAgZXJyb3I6IGVycm9yID0+IHRoaXMub25SZWZkYXRhRXJyb3IoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdSZWZkYXRhJD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZvcm1cbiAgICB0aGlzLnZhbGlkYXRlRm9ybSgpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIHdoZXRoZXIgdGhlIHNlbGVjdGVkIGZsYWcgdHlwZSAoaWYgYW55KSBpcyBhIHBhcmVudCBvciBub3QsIGVycm9yIG1lc3NhZ2VzLFxuICAgIC8vIGZsYWcgbmFtZSwgcGF0aCwgaGVhcmluZyByZWxldmFudCBpbmRpY2F0b3IsIGNvZGUsIGFuZCBcImxpc3Qgb2YgdmFsdWVzXCIgKGlmIGFueSkgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLFxuICAgICAgaXNQYXJlbnRGbGFnVHlwZTogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50IDogbnVsbCxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgIH0pO1xuICAgIC8vIEVtaXQgXCJmbGFnIGNvbW1lbnRzIG9wdGlvbmFsXCIgZXZlbnQgaWYgdGhlIHVzZXIgc2VsZWN0cyBhIGNoaWxkIGZsYWcgdHlwZSB3aGVyZSBjb21tZW50cyBhcmUgbm90IG1hbmRhdG9yeVxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgIXRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5pc1BhcmVudCAmJiAhdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmZsYWdDb21tZW50KSB7XG4gICAgICB0aGlzLmZsYWdDb21tZW50c09wdGlvbmFsRW1pdHRlci5lbWl0KG51bGwpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBzZWxlY3RlZCBmbGFnIHR5cGUgaXMgYSBwYXJlbnQsIGxvYWQgdGhlIGxpc3Qgb2YgY2hpbGQgZmxhZyB0eXBlcyBhbmQgcmVzZXQgdGhlIGN1cnJlbnQgc2VsZWN0aW9uXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnVHlwZT8uaXNQYXJlbnQpIHtcbiAgICAgIC8vIENhY2hlIHRoZSBjdXJyZW50IGZsYWcgdHlwZSBzZWxlY3Rpb24gYmVmb3JlIGl0IGlzIHJlc2V0IC0gdGhpcyBpcyBuZWVkZWQgZm9yIGRpc3BsYXlpbmcgaXRzIG5hbWUgYXMgdGhlIHRpdGxlXG4gICAgICAvLyB3aGVuIGRpc3BsYXlpbmcgdGhlIG5leHQgc2V0IG9mIGNoaWxkIGZsYWdzXG4gICAgICB0aGlzLmNhY2hlZEZsYWdUeXBlID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlO1xuICAgICAgdGhpcy5mbGFnVHlwZXMgPSB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuY2hpbGRGbGFncztcbiAgICAgIHRoaXMuY2FjaGVkUGF0aD8uc2hpZnQoKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8uc2V0VmFsdWUodGhpcy5jYWNoZWRQYXRoPy5sZW5ndGggPyB0aGlzLmNhY2hlZFBhdGhbMF0gOiBudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWRlbnRpdHkgZnVuY3Rpb24gZm9yIHRyYWNrQnkgdXNlIGJ5ICpuZ0ZvciBmb3IgZmxhZ1R5cGVzIGluIEhUTUwgdGVtcGxhdGVcbiAgcHVibGljIGlkZW50aWZ5RmxhZ1R5cGUoXzogbnVtYmVyLCBmbGFnVHlwZTogRmxhZ1R5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtmbGFnVHlwZS5mbGFnQ29kZX1fJHtmbGFnVHlwZS5uYW1lfV8ke2ZsYWdUeXBlLm5hbWVfY3l9YDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcblxuICAgIGlmICghdGhpcy5zZWxlY3RlZEZsYWdUeXBlKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBhbnkgcHJpb3IgZmxhZyB0eXBlIHNlbGVjdGlvbiB0aGVuIHRoZSBtZXNzYWdlIHdpbGwgZGlmZmVyXG4gICAgICBsZXQgZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICBpZiAodGhpcy5jYWNoZWRGbGFnVHlwZSkge1xuICAgICAgICBlcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfT1BUSU9OX05PVF9TRUxFQ1RFRDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSAgPSB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbFxuICAgICAgICA/IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURURfRVhURVJOQUxcbiAgICAgICAgOiBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX1NFTEVDVEVEO1xuICAgICAgfVxuICAgICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBlcnJvck1lc3NhZ2UsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCcgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm90aGVyRmxhZ1R5cGVTZWxlY3RlZCkge1xuICAgICAgY29uc3Qgb3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OKT8udmFsdWU7XG4gICAgICBpZiAoIW90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLmZsYWdUeXBlRXJyb3JNZXNzYWdlID0gdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgICA/IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRF9FWFRFUk5BTFxuICAgICAgICAgIDogU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke3RoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2V9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbicgfSk7XG4gICAgICB9XG4gICAgICBpZiAob3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uLmxlbmd0aCA+IHRoaXMubWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUpIHtcbiAgICAgICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9MSU1JVF9FWENFRURFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBgJHtTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUR9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbicgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRmxhZ1R5cGVzKGZsYWdUeXBlczogRmxhZ1R5cGVbXSk6IHZvaWQge1xuICAgIC8vIEZpcnN0IChhbmQgb25seSkgb2JqZWN0IGluIHRoZSByZXR1cm5lZCBhcnJheSBzaG91bGQgYmUgdGhlIHRvcC1sZXZlbCBcIlBhcnR5XCIgZmxhZyB0eXBlXG4gICAgLy8gVGhlIFwiT3RoZXJcIiBmbGFnIHR5cGUgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgdG9wIGxldmVsIGlmIHRoZSB1c2VyIGlzIGV4dGVybmFsXG4gICAgdGhpcy5mbGFnVHlwZXMgPSBmbGFnVHlwZXNbMF0uY2hpbGRGbGFncy5maWx0ZXIoKGZsYWcpID0+XG4gICAgICB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA/IGZsYWcuZmxhZ0NvZGUgIT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGUgOiB0cnVlKTtcblxuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpO1xuICAgIGlmIChmb3JtQ29udHJvbD8udmFsdWUpIHtcbiAgICAgIC8vIENhY2hlIFBhdGggYmFzZWQgb24gZXhpc3RpbmcgZmxhZ0NvZGUgLS0gbmVlZGVkIGZvciBuZXN0ZWQgY2hvaWNlc1xuICAgICAgY29uc3QgW2ZvdW5kRmxhZ1R5cGUsIHBhdGhdID0gRmxhZ1R5cGUuc2VhcmNoUGF0aEJ5RmxhZ1R5cGVPYmplY3QoZm9ybUNvbnRyb2wudmFsdWUgYXMgRmxhZ1R5cGUsIHRoaXMuZmxhZ1R5cGVzKTtcbiAgICAgIHRoaXMuY2FjaGVkUGF0aCA9IFtcbiAgICAgICAgLi4ucGF0aCxcbiAgICAgICAgZm91bmRGbGFnVHlwZVxuICAgICAgXTtcbiAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuY2FjaGVkUGF0aFswXSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25SZWZkYXRhRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIC8vIFNldCBlcnJvciBmbGFnIG9uIGNvbXBvbmVudCB0byByZW1vdmUgdGhlIFwiTmV4dFwiIGJ1dHRvbiAodXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGZsYWcgY3JlYXRpb24pXG4gICAgdGhpcy5yZWZkYXRhRXJyb3IgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0JyB9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSwgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZmxhZ1R5cGVzPy5sZW5ndGhcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIj5cbiAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJmbGFnLXR5cGUtaGVhZGluZ1wiPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbVwiPlxuICAgICAgICA8aDEgaWQ9XCJmbGFnLXR5cGUtaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmcgZ292dWstIS1tYXJnaW4tYm90dG9tLTFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNhY2hlZEZsYWdUeXBlOyBlbHNlIHByaW9yRmxhZ1R5cGVTZWxlY3RlZFwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsXG4gICAgICAgICAgICAgICAgPyAoY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuU0VMRUNUX0NBU0VfRkxBR19FWFRFUk5BTCB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICA6IChjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5TRUxFQ1RfQ0FTRV9GTEFHIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3ByaW9yRmxhZ1R5cGVTZWxlY3RlZD5cbiAgICAgICAgICAgIHt7Y2FjaGVkRmxhZ1R5cGUgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuICAgICAgPGRpdiBpZD1cImZsYWctdHlwZS1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwiZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2ZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBmbGFnVHlwZSBvZiBmbGFnVHlwZXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IGlkZW50aWZ5RmxhZ1R5cGVcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXR5cGUte3tpfX1cIiBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5GTEFHX1RZUEVcIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImZsYWdUeXBlXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuRkxBR19UWVBFXCIvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXR5cGUte3tpfX1cIj5cbiAgICAgICAgICAgIHt7ZmxhZ1R5cGUgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgKm5nSWY9XCJvdGhlckZsYWdUeXBlU2VsZWN0ZWRcIiBpZD1cImNvbmRpdGlvbmFsLWZsYWdUeXBlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgICAgICAgICAgID8gKGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk9USEVSX0ZMQUdfVFlQRV9ERVNDUklQVElPTl9FWFRFUk5BTCB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICAgIDogKGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk9USEVSX0ZMQUdfVFlQRV9ERVNDUklQVElPTiB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiZmxhZy10eXBlLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7ZmxhZ1R5cGVFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS1oYWxmXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiXG4gICAgICAgICAgICAgIGlkPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCIgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuT1RIRVJfRkxBR19ERVNDUklQVElPTlwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OXCIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW0gZ292dWstIS1tYXJnaW4tdG9wLTRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIiFpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgJiYgIWlzQ2FzZUxldmVsRmxhZyAmJiBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWRcIj5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cImlzLXZpc2libGUtZXh0ZXJuYWxseVwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFlcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLklTX1ZJU0lCTEVfSU5URVJOQUxMWV9PTkxZXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwiaXMtdmlzaWJsZS1leHRlcm5hbGx5XCI+XG4gICAgICAgICAgICAgICAge3snVGhpcyBmbGFnIHNob3VsZCBvbmx5IGJlIHZpc2libGUgdG8gSE1DVFMgU3RhZmYnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIiAqbmdJZj1cIiFyZWZkYXRhRXJyb3JcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj57eydOZXh0JyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOzs7Ozs7SUNMNUgsNkJBQWtFO0lBQ2hFLFlBS0Y7Ozs7OztJ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OlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1mbGFnJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWZkYXRhQ2FzZUZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvY2FzZS1mbGFnL3JlZmRhdGEtY2FzZS1mbGFnLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlLCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdGb3JtRmllbGRzLCBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSwgU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzIH0gZnJvbSAnLi4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci1jb250cm9sLW5hbWVzLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtc2VsZWN0LWZsYWctdHlwZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZUlkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhtY3RzU2VydmljZUlkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRGbGFnc0xvY2F0aW9uOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZsYWdDb21tZW50c09wdGlvbmFsRW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZsYWdUeXBlczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xuICBwdWJsaWMgZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdSZWZkYXRhJDogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcmVmZGF0YUVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBjYWNoZWRQYXRoOiAoRmxhZ1R5cGUgfCBmYWxzZSlbXTtcbiAgcHVibGljIGNhY2hlZEZsYWdUeXBlOiBGbGFnVHlwZTtcbiAgcHVibGljIGZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VGbGFnRm9ybUZpZWxkID0gQ2FzZUZsYWdGb3JtRmllbGRzO1xuICBwdWJsaWMgaXNDYXNlTGV2ZWxGbGFnID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYXhDaGFyYWN0ZXJzRm9yT3RoZXJGbGFnVHlwZSA9IDgwO1xuICAvLyBDb2RlIGZvciBcIk90aGVyXCIgZmxhZyB0eXBlIGFzIGRlZmluZWQgaW4gUmVmZXJlbmNlIERhdGFcbiAgcHJpdmF0ZSByZWFkb25seSBvdGhlckZsYWdUeXBlQ29kZSA9ICdPVDAwMDEnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQgPSAnY2FzZUZsYWdzJztcblxuICBwdWJsaWMgZ2V0IGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlKCk6IHR5cGVvZiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSB7XG4gICAgcmV0dXJuIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZEZsYWdUeXBlKCk6IEZsYWdUeXBlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG90aGVyRmxhZ1R5cGVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy52YWx1ZT8uZmxhZ0NvZGUgPT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNhc2VGbGFnUmVmZGF0YVNlcnZpY2U6IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzQ2FzZUxldmVsRmxhZyA9IHRoaXMuc2VsZWN0ZWRGbGFnc0xvY2F0aW9uPy5mbGFncz8uZmxhZ3NDYXNlRmllbGRJZCA9PT0gdGhpcy5jYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkO1xuICAgIHRoaXMuZmxhZ1R5cGVzID0gW107XG4gICAgY29uc3QgZmxhZ1R5cGUgPSB0aGlzLmlzQ2FzZUxldmVsRmxhZyA/IFJlZmRhdGFDYXNlRmxhZ1R5cGUuQ0FTRSA6IFJlZmRhdGFDYXNlRmxhZ1R5cGUuUEFSVFk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04sIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIC8vIEZvcm1Db250cm9sIGlzIGxpbmtlZCB0byBhIGNoZWNrYm94IGlucHV0IGVsZW1lbnQsIHNvIGluaXRpYWwgdmFsdWUgc2hvdWxkIGJlIGZhbHNlXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFksIG5ldyBGb3JtQ29udHJvbChmYWxzZSkpO1xuXG4gICAgLy8gU2hvdWxkIGNsZWFyIGRlc2NyaXB0aW9uQ29udHJvbE5hbWUgaWYgZmxhZ1R5cGVDb250cm9sTmFtZSBpcyBjaGFuZ2VkXG4gICAgdGhpcy5mbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTik/LnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5jYWNoZWRQYXRoID0gW107XG5cbiAgICAgICAgLy8gcmVxdWlyZWQgdG8gY2xlYXIgbGFuZ3VhZ2UgaW50ZXJwcmV0ZXJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgW1NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1dOiAnJyxcbiAgICAgICAgICBbU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlldOiAnJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gSWYgaG1jdHNTZXJ2aWNlSWQgaXMgcHJlc2VudCwgdXNlIHRoaXMgdG8gcmV0cmlldmUgdGhlIHJlbGV2YW50IGxpc3Qgb2YgZmxhZyB0eXBlc1xuICAgIGlmICh0aGlzLmhtY3RzU2VydmljZUlkKSB7XG4gICAgICB0aGlzLmZsYWdSZWZkYXRhJCA9IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZVxuICAgICAgICAuZ2V0Q2FzZUZsYWdzUmVmZGF0YSh0aGlzLmhtY3RzU2VydmljZUlkLCBmbGFnVHlwZSwgdHJ1ZSwgdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IGZsYWdUeXBlcyA9PiB0aGlzLnByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzKSxcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy5vblJlZmRhdGFFcnJvcihlcnJvcilcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVsc2UsIEhNQ1RTIHNlcnZpY2UgY29kZSBpcyByZXF1aXJlZCB0byByZXRyaWV2ZSB0aGUgcmVsZXZhbnQgbGlzdCBvZiBmbGFnIHR5cGVzOyBhdHRlbXB0IHRvIG9idGFpbiBpdCBieSBjYXNlIHR5cGUgSUQgZmlyc3RcbiAgICAgIHRoaXMuZmxhZ1JlZmRhdGEkID0gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeUNhc2VUeXBlKHRoaXMuY2FzZVR5cGVJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICAgICAgY2F0Y2hFcnJvcihfID0+IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlTZXJ2aWNlTmFtZSh0aGlzLmp1cmlzZGljdGlvbikpLFxuICAgICAgICAgIC8vIFVzZSBzd2l0Y2hNYXAgdG8gcmV0dXJuIGFuIGlubmVyIE9ic2VydmFibGUgb2YgdGhlIGZsYWcgdHlwZXMgZGF0YSwgaGF2aW5nIHJlY2VpdmVkIHRoZSBzZXJ2aWNlIGRldGFpbHNcbiAgICAgICAgICAvLyBpbmNsdWRpbmcgc2VydmljZV9jb2RlLiBUaGlzIGF2b2lkcyBoYXZpbmcgbmVzdGVkIGBzdWJzY3JpYmVgcywgd2hpY2ggaXMgYW4gYW50aS1wYXR0ZXJuIVxuICAgICAgICAgIHN3aXRjaE1hcChzZXJ2aWNlRGV0YWlscyA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0Q2FzZUZsYWdzUmVmZGF0YShzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUsIGZsYWdUeXBlLFxuICAgICAgICAgICAgdHJ1ZSwgdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IGZsYWdUeXBlcyA9PiB0aGlzLnByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzKSxcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy5vblJlZmRhdGFFcnJvcihlcnJvcilcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ1JlZmRhdGEkPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZmxhZ1R5cGVDb250cm9sQ2hhbmdlc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZm9ybVxuICAgIHRoaXMudmFsaWRhdGVGb3JtKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgd2hldGhlciB0aGUgc2VsZWN0ZWQgZmxhZyB0eXBlIChpZiBhbnkpIGlzIGEgcGFyZW50IG9yIG5vdCwgZXJyb3IgbWVzc2FnZXMsXG4gICAgLy8gZmxhZyBuYW1lLCBwYXRoLCBoZWFyaW5nIHJlbGV2YW50IGluZGljYXRvciwgY29kZSwgYW5kIFwibGlzdCBvZiB2YWx1ZXNcIiAoaWYgYW55KSB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1RZUEUsXG4gICAgICBpc1BhcmVudEZsYWdUeXBlOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuaXNQYXJlbnQgOiBudWxsLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gICAgLy8gRW1pdCBcImZsYWcgY29tbWVudHMgb3B0aW9uYWxcIiBldmVudCBpZiB0aGUgdXNlciBzZWxlY3RzIGEgY2hpbGQgZmxhZyB0eXBlIHdoZXJlIGNvbW1lbnRzIGFyZSBub3QgbWFuZGF0b3J5XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSAmJiAhdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50ICYmICF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuZmxhZ0NvbW1lbnQpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzT3B0aW9uYWxFbWl0dGVyLmVtaXQobnVsbCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHNlbGVjdGVkIGZsYWcgdHlwZSBpcyBhIHBhcmVudCwgbG9hZCB0aGUgbGlzdCBvZiBjaGlsZCBmbGFnIHR5cGVzIGFuZCByZXNldCB0aGUgY3VycmVudCBzZWxlY3Rpb25cbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlPy5pc1BhcmVudCkge1xuICAgICAgLy8gQ2FjaGUgdGhlIGN1cnJlbnQgZmxhZyB0eXBlIHNlbGVjdGlvbiBiZWZvcmUgaXQgaXMgcmVzZXQgLSB0aGlzIGlzIG5lZWRlZCBmb3IgZGlzcGxheWluZyBpdHMgbmFtZSBhcyB0aGUgdGl0bGVcbiAgICAgIC8vIHdoZW4gZGlzcGxheWluZyB0aGUgbmV4dCBzZXQgb2YgY2hpbGQgZmxhZ3NcbiAgICAgIHRoaXMuY2FjaGVkRmxhZ1R5cGUgPSB0aGlzLnNlbGVjdGVkRmxhZ1R5cGU7XG4gICAgICB0aGlzLmZsYWdUeXBlcyA9IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5jaGlsZEZsYWdzO1xuICAgICAgdGhpcy5jYWNoZWRQYXRoPy5zaGlmdCgpO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy5zZXRWYWx1ZSh0aGlzLmNhY2hlZFBhdGg/Lmxlbmd0aCA/IHRoaXMuY2FjaGVkUGF0aFswXSA6IG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBJZGVudGl0eSBmdW5jdGlvbiBmb3IgdHJhY2tCeSB1c2UgYnkgKm5nRm9yIGZvciBmbGFnVHlwZXMgaW4gSFRNTCB0ZW1wbGF0ZVxuICBwdWJsaWMgaWRlbnRpZnlGbGFnVHlwZShfOiBudW1iZXIsIGZsYWdUeXBlOiBGbGFnVHlwZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2ZsYWdUeXBlLmZsYWdDb2RlfV8ke2ZsYWdUeXBlLm5hbWV9XyR7ZmxhZ1R5cGUubmFtZV9jeX1gO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUpIHtcbiAgICAgIC8vIElmIHRoZXJlIGlzIGFueSBwcmlvciBmbGFnIHR5cGUgc2VsZWN0aW9uIHRoZW4gdGhlIG1lc3NhZ2Ugd2lsbCBkaWZmZXJcbiAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIGlmICh0aGlzLmNhY2hlZEZsYWdUeXBlKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9PUFRJT05fTk9UX1NFTEVDVEVEO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlICA9IHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsXG4gICAgICAgID8gU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9TRUxFQ1RFRF9FWFRFUk5BTFxuICAgICAgICA6IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURUQ7XG4gICAgICB9XG4gICAgICB0aGlzLmZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGVycm9yTWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0JyB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3RoZXJGbGFnVHlwZVNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24gPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04pPy52YWx1ZTtcbiAgICAgIGlmICghb3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbFxuICAgICAgICAgID8gU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEX0VYVEVSTkFMXG4gICAgICAgICAgOiBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX0VOVEVSRUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7dGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZX1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJyB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24ubGVuZ3RoID4gdGhpcy5tYXhDaGFyYWN0ZXJzRm9yT3RoZXJGbGFnVHlwZSkge1xuICAgICAgICB0aGlzLmZsYWdUeXBlRXJyb3JNZXNzYWdlID0gU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9MSU1JVF9FWENFRURFRH1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzOiBGbGFnVHlwZVtdKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgKGFuZCBvbmx5KSBvYmplY3QgaW4gdGhlIHJldHVybmVkIGFycmF5IHNob3VsZCBiZSB0aGUgdG9wLWxldmVsIFwiUGFydHlcIiBmbGFnIHR5cGVcbiAgICAvLyBUaGUgXCJPdGhlclwiIGZsYWcgdHlwZSBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSB0b3AgbGV2ZWwgaWYgdGhlIHVzZXIgaXMgZXh0ZXJuYWxcbiAgICB0aGlzLmZsYWdUeXBlcyA9IGZsYWdUeXBlc1swXS5jaGlsZEZsYWdzLmZpbHRlcigoZmxhZykgPT5cbiAgICAgIHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsID8gZmxhZy5mbGFnQ29kZSAhPT0gdGhpcy5vdGhlckZsYWdUeXBlQ29kZSA6IHRydWUpO1xuXG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk7XG4gICAgaWYgKGZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgLy8gQ2FjaGUgUGF0aCBiYXNlZCBvbiBleGlzdGluZyBmbGFnQ29kZSAtLSBuZWVkZWQgZm9yIG5lc3RlZCBjaG9pY2VzXG4gICAgICBjb25zdCBbZm91bmRGbGFnVHlwZSwgcGF0aF0gPSBGbGFnVHlwZS5zZWFyY2hQYXRoQnlGbGFnVHlwZU9iamVjdChmb3JtQ29udHJvbC52YWx1ZSBhcyBGbGFnVHlwZSwgdGhpcy5mbGFnVHlwZXMpO1xuICAgICAgdGhpcy5jYWNoZWRQYXRoID0gW1xuICAgICAgICAuLi5wYXRoLFxuICAgICAgICBmb3VuZEZsYWdUeXBlXG4gICAgICBdO1xuICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jYWNoZWRQYXRoWzBdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblJlZmRhdGFFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLnJlZmRhdGFFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBlcnJvci5tZXNzYWdlLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnIH0pO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoeyBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLCBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmbGFnVHlwZXM/Lmxlbmd0aFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cImZsYWctdHlwZS1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tXCI+XG4gICAgICAgIDxoMSBpZD1cImZsYWctdHlwZS1oZWFkaW5nXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZyBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2FjaGVkRmxhZ1R5cGU7IGVsc2UgcHJpb3JGbGFnVHlwZVNlbGVjdGVkXCI+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgICAgICAgICA/IChjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5TRUxFQ1RfQ0FTRV9GTEFHX0VYVEVSTkFMIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgIDogKGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFTEVDVF9DQVNFX0ZMQUcgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJpb3JGbGFnVHlwZVNlbGVjdGVkPlxuICAgICAgICAgICAge3tjYWNoZWRGbGFnVHlwZSB8IGZsYWdGaWVsZERpc3BsYXk6J25hbWUnfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2gxPlxuICAgICAgPC9sZWdlbmQ+XG4gICAgICA8ZGl2IGlkPVwiZmxhZy10eXBlLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7ZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IGZsYWdUeXBlIG9mIGZsYWdUeXBlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogaWRlbnRpZnlGbGFnVHlwZVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctdHlwZS17e2l9fVwiIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLkZMQUdfVFlQRVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZmxhZ1R5cGVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5GTEFHX1RZUEVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctdHlwZS17e2l9fVwiPlxuICAgICAgICAgICAge3tmbGFnVHlwZSB8IGZsYWdGaWVsZERpc3BsYXk6J25hbWUnfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiAqbmdJZj1cIm90aGVyRmxhZ1R5cGVTZWxlY3RlZFwiIGlkPVwiY29uZGl0aW9uYWwtZmxhZ1R5cGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cIm90aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbFxuICAgICAgICAgICAgICAgICAgPyAoY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuT1RIRVJfRkxBR19UWVBFX0RFU0NSSVBUSU9OX0VYVEVSTkFMIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgOiAoY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuT1RIRVJfRkxBR19UWVBFX0RFU0NSSVBUSU9OIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJmbGFnLXR5cGUtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tmbGFnVHlwZUVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtb25lLWhhbGZcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWlucHV0LS1lcnJvcic6IGZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCJcbiAgICAgICAgICAgICAgaWQ9XCJvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb25cIiBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OXCIgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05cIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbSBnb3Z1ay0hLW1hcmdpbi10b3AtNFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCAmJiAhaXNDYXNlTGV2ZWxGbGFnICYmIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIyUG9pbnQxRW5hYmxlZFwiPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwiaXMtdmlzaWJsZS1leHRlcm5hbGx5XCIgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5JU19WSVNJQkxFX0lOVEVSTkFMTFlfT05MWVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFlcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJpcy12aXNpYmxlLWV4dGVybmFsbHlcIj5cbiAgICAgICAgICAgICAgICB7eydUaGlzIGZsYWcgc2hvdWxkIG9ubHkgYmUgdmlzaWJsZSB0byBITUNUUyBTdGFmZicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiICpuZ0lmPVwiIXJlZmRhdGFFcnJvclwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19