@hmcts/ccd-case-ui-toolkit 7.2.41-3044-javascript-void-removal → 7.2.41-remove-ld-feature-flags

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 (78) hide show
  1. package/esm2022/lib/app.config.mjs +1 -5
  2. package/esm2022/lib/components/banners/notification-banner/notification-banner.component.mjs +4 -4
  3. package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +5 -5
  4. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +3 -3
  5. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +5 -5
  6. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +5 -5
  7. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +5 -9
  8. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +5 -9
  9. package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +4 -4
  10. package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +4 -4
  11. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +4 -4
  12. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +4 -9
  13. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +3 -16
  14. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +8 -15
  15. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +9 -13
  16. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +4 -4
  17. package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +4 -4
  18. package/esm2022/lib/shared/components/case-viewer/case-viewer.component.mjs +9 -10
  19. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +2 -4
  20. package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +5 -9
  21. package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +5 -9
  22. package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +6 -10
  23. package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +3 -3
  24. package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +5 -9
  25. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +3 -3
  26. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +6 -6
  27. package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +4 -4
  28. package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +4 -4
  29. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +4 -4
  30. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +9 -9
  31. package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +4 -5
  32. package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +7 -7
  33. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +6 -6
  34. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +5 -5
  35. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +12 -12
  36. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +7 -7
  37. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +6 -6
  38. package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +7 -7
  39. package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +5 -5
  40. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +2 -6
  41. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +69 -71
  42. package/esm2022/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.mjs +19 -23
  43. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +5 -5
  44. package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +5 -5
  45. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +5 -5
  46. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +399 -470
  47. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  48. package/lib/app.config.d.ts +0 -2
  49. package/lib/app.config.d.ts.map +1 -1
  50. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts +0 -2
  51. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
  52. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts +0 -2
  53. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
  54. package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts +0 -2
  55. package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts.map +1 -1
  56. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +0 -1
  57. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  58. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  59. package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts +0 -2
  60. package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts.map +1 -1
  61. package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -1
  62. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
  63. package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts +0 -2
  64. package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts.map +1 -1
  65. package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts +0 -2
  66. package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts.map +1 -1
  67. package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts +0 -2
  68. package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts.map +1 -1
  69. package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts +0 -2
  70. package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts.map +1 -1
  71. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +2 -2
  72. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  73. package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
  74. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +0 -2
  75. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -1
  76. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts +0 -2
  77. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts.map +1 -1
  78. package/package.json +1 -1
@@ -11,7 +11,7 @@ import * as i2 from "../../../services";
11
11
  import * as i3 from "../../case-editor/services";
12
12
  import * as i4 from "../../../../app.config";
13
13
  function CaseFileViewFieldComponent_ng_container_0_li_7_Template(rf, ctx) { if (rf & 1) {
14
- i0.ɵɵelementStart(0, "li")(1, "button", 8);
14
+ i0.ɵɵelementStart(0, "li")(1, "a", 8);
15
15
  i0.ɵɵtext(2);
16
16
  i0.ɵɵelementEnd()();
17
17
  } if (rf & 2) {
@@ -179,7 +179,7 @@ export class CaseFileViewFieldComponent {
179
179
  return this.icpEnabled && ((this.icp_jurisdictions?.length < 1) || this.icp_jurisdictions.includes(this.caseNotifier?.cachedCaseView?.case_type?.jurisdiction.id));
180
180
  }
181
181
  static ɵfac = function CaseFileViewFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFileViewFieldComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.CaseFileViewService), i0.ɵɵdirectiveInject(i2.DocumentManagementService), i0.ɵɵdirectiveInject(i2.LoadingService), i0.ɵɵdirectiveInject(i2.SessionStorageService), i0.ɵɵdirectiveInject(i3.CaseNotifier), i0.ɵɵdirectiveInject(i4.AbstractAppConfig)); };
182
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFieldComponent, selectors: [["ccd-case-file-view-field"]], decls: 3, vars: 3, consts: [[4, "ngIf"], ["class", "govuk-grid-column-two-thirds", 4, "ngIf"], ["id", "case-file-view-field-errors", "data-module", "govuk-error-summary", 1, "govuk-error-summary", "govuk-!-margin-bottom-4"], ["role", "alert"], [1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [4, "ngFor", "ngForOf"], ["type", "button", 1, "govuk-js-link"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"], [1, "govuk-heading-l"], ["id", "case-file-view", 1, "govuk-form-group"], [1, "document-tree-container"], [1, "document-tree-container__tree", 3, "clickedDocument", "moveDocument", "categoriesAndDocuments", "allowMoving"], [1, "slider"], [1, "media-viewer-container"], [3, "url", "downloadFileName", "showToolbar", "contentType", "enableAnnotations", "enableRedactions", "height", "caseId", "multimediaPlayerEnabled", "enableICP"]], template: function CaseFileViewFieldComponent_Template(rf, ctx) { if (rf & 1) {
182
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFieldComponent, selectors: [["ccd-case-file-view-field"]], decls: 3, vars: 3, consts: [[4, "ngIf"], ["class", "govuk-grid-column-two-thirds", 4, "ngIf"], ["id", "case-file-view-field-errors", "data-module", "govuk-error-summary", 1, "govuk-error-summary", "govuk-!-margin-bottom-4"], ["role", "alert"], [1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [4, "ngFor", "ngForOf"], ["href", "javascript:void(0);"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"], [1, "govuk-heading-l"], ["id", "case-file-view", 1, "govuk-form-group"], [1, "document-tree-container"], [1, "document-tree-container__tree", 3, "clickedDocument", "moveDocument", "categoriesAndDocuments", "allowMoving"], [1, "slider"], [1, "media-viewer-container"], [3, "url", "downloadFileName", "showToolbar", "contentType", "enableAnnotations", "enableRedactions", "height", "caseId", "multimediaPlayerEnabled", "enableICP"]], template: function CaseFileViewFieldComponent_Template(rf, ctx) { if (rf & 1) {
183
183
  i0.ɵɵtemplate(0, CaseFileViewFieldComponent_ng_container_0_Template, 8, 1, "ng-container", 0)(1, CaseFileViewFieldComponent_div_1_Template, 5, 0, "div", 1)(2, CaseFileViewFieldComponent_div_2_Template, 9, 3, "div", 0);
184
184
  } if (rf & 2) {
185
185
  i0.ɵɵproperty("ngIf", ctx.errorMessages == null ? null : ctx.errorMessages.length);
@@ -191,7 +191,7 @@ export class CaseFileViewFieldComponent {
191
191
  }
192
192
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFieldComponent, [{
193
193
  type: Component,
194
- args: [{ selector: 'ccd-case-file-view-field', template: "<ng-container *ngIf=\"errorMessages?.length\">\n <div\n id=\"case-file-view-field-errors\"\n class=\"govuk-error-summary govuk-!-margin-bottom-4\"\n data-module=\"govuk-error-summary\"\n >\n <div role=\"alert\">\n <h2 class=\"govuk-error-summary__title\">There is a problem</h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <button type=\"button\" class=\"govuk-js-link\">{{ errorMessage }}</button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"getCategoriesAndDocumentsError\"\n class=\"govuk-grid-column-two-thirds\"\n>\n <h1 class=\"govuk-heading-xl\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\">Try again later.</p>\n</div>\n<div *ngIf=\"!getCategoriesAndDocumentsError\">\n <h2 class=\"govuk-heading-l\">Case file</h2>\n <div class=\"govuk-form-group\" id=\"case-file-view\">\n <!-- Document tree -->\n <div class=\"document-tree-container\">\n <ccd-case-file-view-folder \n class=\"document-tree-container__tree\"\n [categoriesAndDocuments]=\"categoriesAndDocuments$\"\n (clickedDocument)=\"setMediaViewerFile($event); resetErrorMessages()\" \n (moveDocument)=\"moveDocument($event)\"\n [allowMoving]=\"allowMoving\">\n </ccd-case-file-view-folder>\n </div>\n <!-- Slider -->\n <div class=\"slider\"></div>\n <!-- Media viewer -->\n <div class=\"media-viewer-container\">\n <ng-container *ngIf=\"currentDocument\">\n <mv-media-viewer\n [url]=\"currentDocument.document_binary_url\"\n [downloadFileName]=\"currentDocument.document_filename\"\n [showToolbar]=\"true\"\n [contentType]=\"currentDocument.content_type\"\n [enableAnnotations]=\"true\"\n [enableRedactions]=\"true\"\n [height]=\"'94.5vh'\"\n [caseId]=\"caseId\"\n [multimediaPlayerEnabled]=\"true\"\n [enableICP]=\"isIcpEnabled()\"\n >\n </mv-media-viewer>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["#case-file-view{display:flex;border:2px solid #C9C9C9;height:100vh;position:relative}#case-file-view .document-tree-container{background-color:#faf8f8;width:30%;min-height:400px;min-width:10%}#case-file-view .slider{width:.2%;background-color:#6b6b6b}#case-file-view .slider:hover,#case-file-view .slider:focus{cursor:col-resize}#case-file-view .media-viewer-container{background-color:#dee0e2;flex:1 1 0;overflow:hidden}\n"] }]
194
+ args: [{ selector: 'ccd-case-file-view-field', template: "<ng-container *ngIf=\"errorMessages?.length\">\n <div\n id=\"case-file-view-field-errors\"\n class=\"govuk-error-summary govuk-!-margin-bottom-4\"\n data-module=\"govuk-error-summary\"\n >\n <div role=\"alert\">\n <h2 class=\"govuk-error-summary__title\">There is a problem</h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <a href=\"javascript:void(0);\">{{ errorMessage }}</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"getCategoriesAndDocumentsError\"\n class=\"govuk-grid-column-two-thirds\"\n>\n <h1 class=\"govuk-heading-xl\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\">Try again later.</p>\n</div>\n<div *ngIf=\"!getCategoriesAndDocumentsError\">\n <h2 class=\"govuk-heading-l\">Case file</h2>\n <div class=\"govuk-form-group\" id=\"case-file-view\">\n <!-- Document tree -->\n <div class=\"document-tree-container\">\n <ccd-case-file-view-folder \n class=\"document-tree-container__tree\"\n [categoriesAndDocuments]=\"categoriesAndDocuments$\"\n (clickedDocument)=\"setMediaViewerFile($event); resetErrorMessages()\" \n (moveDocument)=\"moveDocument($event)\"\n [allowMoving]=\"allowMoving\">\n </ccd-case-file-view-folder>\n </div>\n <!-- Slider -->\n <div class=\"slider\"></div>\n <!-- Media viewer -->\n <div class=\"media-viewer-container\">\n <ng-container *ngIf=\"currentDocument\">\n <mv-media-viewer\n [url]=\"currentDocument.document_binary_url\"\n [downloadFileName]=\"currentDocument.document_filename\"\n [showToolbar]=\"true\"\n [contentType]=\"currentDocument.content_type\"\n [enableAnnotations]=\"true\"\n [enableRedactions]=\"true\"\n [height]=\"'94.5vh'\"\n [caseId]=\"caseId\"\n [multimediaPlayerEnabled]=\"true\"\n [enableICP]=\"isIcpEnabled()\"\n >\n </mv-media-viewer>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["#case-file-view{display:flex;border:2px solid #C9C9C9;height:100vh;position:relative}#case-file-view .document-tree-container{background-color:#faf8f8;width:30%;min-height:400px;min-width:10%}#case-file-view .slider{width:.2%;background-color:#6b6b6b}#case-file-view .slider:hover,#case-file-view .slider:focus{cursor:col-resize}#case-file-view .media-viewer-container{background-color:#dee0e2;flex:1 1 0;overflow:hidden}\n"] }]
195
195
  }], () => [{ type: i0.ElementRef }, { type: i1.ActivatedRoute }, { type: i2.CaseFileViewService }, { type: i2.DocumentManagementService }, { type: i2.LoadingService }, { type: i2.SessionStorageService }, { type: i3.CaseNotifier }, { type: i4.AbstractAppConfig }], null); })();
196
196
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFieldComponent, { className: "CaseFileViewFieldComponent", filePath: "lib/shared/components/palette/case-file-view/case-file-view-field.component.ts", lineNumber: 17 }); })();
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztJQ0U5QyxBQURGLDBCQUErQyxnQkFDRDtJQUFBLFlBQWtCO0lBQ2hFLEFBRGdFLGlCQUFTLEVBQ3BFOzs7SUFEeUMsZUFBa0I7SUFBbEIscUNBQWtCOzs7SUFYMUUsNkJBQTRDO0lBT3RDLEFBREYs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akIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQ2hHLElBQUksQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO29IQXhIVSwwQkFBMEI7NkRBQTFCLDBCQUEwQjtZQ1V2QyxBQVBBLEFBbkJBLDZGQUE0Qyw4REFzQjNDLDhEQUk0Qzs7WUExQjlCLGtGQUEyQjtZQW9CdkMsY0FBb0M7WUFBcEMseURBQW9DO1lBTWpDLGNBQXFDO1lBQXJDLDBEQUFxQzs7O2lGRFY5QiwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDRSwwQkFBMEI7O2tGQUl6QiwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGaWxlVmlld0RvY3VtZW50LCBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzLCBEb2N1bWVudFRyZWVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3VzZXIvdXNlci1pbmZvLm1vZGVsJztcbmltcG9ydCB7IENhc2VGaWxlVmlld1NlcnZpY2UsIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1maWxlLXZpZXctZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLWZpbGUtdmlldy1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX0lEID0gJ2NpZCc7XG4gIHB1YmxpYyBhbGxvd01vdmluZyA9IHRydWU7XG4gIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzJDogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPjtcbiAgcHVibGljIGNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGdldENhdGVnb3JpZXNBbmREb2N1bWVudHNFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY3VycmVudERvY3VtZW50OiBDYXNlRmlsZVZpZXdEb2N1bWVudCB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGVycm9yTWVzc2FnZXMgPSBbXSBhcyBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBjYXNlVmVyc2lvbjogbnVtYmVyO1xuICBwdWJsaWMgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG4gIHB1YmxpYyBpY3BfanVyaXNkaWN0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGljcEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGNhc2VGaWxlVmlld1NlcnZpY2U6IENhc2VGaWxlVmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlOiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFic3RyYWN0Q29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldChDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudC5QQVJBTV9DQVNFX0lEKTtcbiAgICB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHMkID0gdGhpcy5jYXNlRmlsZVZpZXdTZXJ2aWNlLmdldENhdGVnb3JpZXNBbmREb2N1bWVudHModGhpcy5jYXNlSWQpO1xuICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50cyQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGRhdGEgPT4ge1xuICAgICAgICB0aGlzLmNhc2VWZXJzaW9uID0gZGF0YS5jYXNlX3ZlcnNpb247XG4gICAgICB9LFxuICAgICAgZXJyb3I6IF8gPT4gdGhpcy5nZXRDYXRlZ29yaWVzQW5kRG9jdW1lbnRzRXJyb3IgPSB0cnVlXG4gICAgfSk7XG5cbiAgICAvLyBFWFVJLTgwMDBcbiAgICBjb25zdCB1c2VySW5mbzogVXNlckluZm8gPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykpO1xuICAgIC8vIEdldCBhY2xzIHRoYXQgaW50ZXJzZWN0cyBmcm9tIGFjbCByb2xlcyBhbmQgdXNlciByb2xlc1xuICAgIGNvbnN0IGFjbHMgPSB0aGlzLmNhc2VGaWVsZC5hY2xzLmZpbHRlcihhY2wgPT4gdXNlckluZm8ucm9sZXMuaW5jbHVkZXMoYWNsLnJvbGUpKTtcbiAgICAvLyBBcyB0aGVyZSBjYW4gYmUgbW9yZSB0aGFuIG9uZSBpbnRlcnNlY3Rpbmcgcm9sZSwgaWYgYW55IGFjbHMgYXJlIHVwZGF0ZTogdHJ1ZVxuICAgIHRoaXMuYWxsb3dNb3ZpbmcgPSBhY2xzLnNvbWUoYWNsID0+IGFjbC51cGRhdGUpO1xuICAgIHRoaXMuaWNwX2p1cmlzZGljdGlvbnMgPSB0aGlzLmFic3RyYWN0Q29uZmlnLmdldEljcEp1cmlzZGljdGlvbnMoKTtcbiAgICB0aGlzLmljcEVuYWJsZWQgPSB0aGlzLmFic3RyYWN0Q29uZmlnLmdldEljcEVuYWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzbGlkZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2xpZGVyJyk7XG4gICAgY29uc3QgZG9jdW1lbnRUcmVlQ29udGFpbmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRvY3VtZW50LXRyZWUtY29udGFpbmVyJyk7XG5cbiAgICBjb25zdCBtb3VzZWRvd24kID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHNsaWRlciwgJ21vdXNlZG93bicpO1xuICAgIGNvbnN0IG1vdXNlbW92ZSQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKTtcbiAgICBjb25zdCBtb3VzZXVwJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNldXAnKTtcbiAgICBjb25zdCBkcmFnJCA9IG1vdXNlZG93biQucGlwZShcbiAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgKHN0YXJ0KSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9IHN0YXJ0LmNsaWVudFg7XG4gICAgICAgICAgY29uc3QgZG9jdW1lbnRUcmVlQ29udGFpbmVyV2lkdGggPSBkb2N1bWVudFRyZWVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgcmV0dXJuIG1vdXNlbW92ZSQucGlwZShtYXAobW92ZSA9PiB7XG4gICAgICAgICAgICBtb3ZlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBkeDogbW92ZS5jbGllbnRYIC0geCxcbiAgICAgICAgICAgICAgZG9jdW1lbnRUcmVlQ29udGFpbmVyV2lkdGhcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgICAgICB0YWtlVW50aWwobW91c2V1cCQpKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG5cbiAgICBkcmFnJC5zdWJzY3JpYmUocG9zID0+IHtcbiAgICAgIGNvbnN0IGNhbGN1bGF0ZWRXaWR0aCA9ICgocG9zLmRvY3VtZW50VHJlZUNvbnRhaW5lcldpZHRoICsgcG9zLmR4KSAqIDEwMCkgLyBzbGlkZXIucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgIGRvY3VtZW50VHJlZUNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgYHdpZHRoOiAke2NhbGN1bGF0ZWRXaWR0aH0lYCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWVkaWFWaWV3ZXJGaWxlKGRvY3VtZW50OiBEb2N1bWVudFRyZWVOb2RlKTogdm9pZCB7XG4gICAgY29uc3QgbWVkaWFWaWV3ZXJJbmZvID0gdGhpcy5kb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLmdldE1lZGlhVmlld2VySW5mbyh7XG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsLFxuICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lXG4gICAgfSk7XG4gICAgdGhpcy5jdXJyZW50RG9jdW1lbnQgPSBKU09OLnBhcnNlKG1lZGlhVmlld2VySW5mbyk7XG4gIH1cblxuICBwdWJsaWMgbW92ZURvY3VtZW50KGRhdGE6IHsgZG9jdW1lbnQ6IERvY3VtZW50VHJlZU5vZGUsIG5ld0NhdGVnb3J5OiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIGNvbnN0IGNpZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KENhc2VGaWxlVmlld0ZpZWxkQ29tcG9uZW50LlBBUkFNX0NBU0VfSUQpO1xuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICB0aGlzLmNhc2VGaWxlVmlld1NlcnZpY2UudXBkYXRlRG9jdW1lbnRDYXRlZ29yeShjaWQsIHRoaXMuY2FzZVZlcnNpb24sIGRhdGEuZG9jdW1lbnQuYXR0cmlidXRlX3BhdGgsIGRhdGEubmV3Q2F0ZWdvcnkpXG4gICAgICAucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nVG9rZW4pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gWydZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBtb3ZlIHRoaXMgZG9jdW1lbnQgdG8gdGhlIHNlbGVjdGVkIGZvbGRlci4nXTtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEVycm9yTWVzc2FnZXMoKTtcbiAgICAgICAgICB0aGlzLnJlbG9hZFBhZ2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkUGFnZSgpOiB2b2lkIHtcbiAgICBsb2NhdGlvbi5yZWxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldEVycm9yTWVzc2FnZXMoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzSWNwRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pY3BFbmFibGVkICYmICgodGhpcy5pY3BfanVyaXNkaWN0aW9ucz8ubGVuZ3RoIDwgMSkgfHwgdGhpcy5pY3BfanVyaXNkaWN0aW9ucy5pbmNsdWRlcyhcbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyPy5jYWNoZWRDYXNlVmlldz8uY2FzZV90eXBlPy5qdXJpc2RpY3Rpb24uaWQpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yTWVzc2FnZXM/Lmxlbmd0aFwiPlxuICA8ZGl2XG4gICAgaWQ9XCJjYXNlLWZpbGUtdmlldy1maWVsZC1lcnJvcnNcIlxuICAgIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeSBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiXG4gICAgZGF0YS1tb2R1bGU9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCJcbiAgPlxuICAgIDxkaXYgcm9sZT1cImFsZXJ0XCI+XG4gICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZVwiPlRoZXJlIGlzIGEgcHJvYmxlbTwvaDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yTWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImdvdnVrLWpzLWxpbmtcIj57eyBlcnJvck1lc3NhZ2UgfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXZcbiAgKm5nSWY9XCJnZXRDYXRlZ29yaWVzQW5kRG9jdW1lbnRzRXJyb3JcIlxuICBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHNcIlxuPlxuICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXhsXCI+U29ycnksIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJ2aWNlPC9oMT5cbiAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+VHJ5IGFnYWluIGxhdGVyLjwvcD5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cIiFnZXRDYXRlZ29yaWVzQW5kRG9jdW1lbnRzRXJyb3JcIj5cbiAgPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCI+Q2FzZSBmaWxlPC9oMj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2UtZmlsZS12aWV3XCI+XG4gICAgPCEtLSBEb2N1bWVudCB0cmVlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudC10cmVlLWNvbnRhaW5lclwiPlxuICAgICAgPGNjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXIgXG4gICAgICAgICAgY2xhc3M9XCJkb2N1bWVudC10cmVlLWNvbnRhaW5lcl9fdHJlZVwiXG4gICAgICAgICAgW2NhdGVnb3JpZXNBbmREb2N1bWVudHNdPVwiY2F0ZWdvcmllc0FuZERvY3VtZW50cyRcIlxuICAgICAgICAgIChjbGlja2VkRG9jdW1lbnQpPVwic2V0TWVkaWFWaWV3ZXJGaWxlKCRldmVudCk7IHJlc2V0RXJyb3JNZXNzYWdlcygpXCIgXG4gICAgICAgICAgKG1vdmVEb2N1bWVudCk9XCJtb3ZlRG9jdW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgW2FsbG93TW92aW5nXT1cImFsbG93TW92aW5nXCI+XG4gICAgICA8L2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXI+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBTbGlkZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cInNsaWRlclwiPjwvZGl2PlxuICAgIDwhLS0gTWVkaWEgdmlld2VyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtZWRpYS12aWV3ZXItY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudERvY3VtZW50XCI+XG4gICAgICAgIDxtdi1tZWRpYS12aWV3ZXJcbiAgICAgICAgICBbdXJsXT1cImN1cnJlbnREb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsXCJcbiAgICAgICAgICBbZG93bmxvYWRGaWxlTmFtZV09XCJjdXJyZW50RG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWVcIlxuICAgICAgICAgIFtzaG93VG9vbGJhcl09XCJ0cnVlXCJcbiAgICAgICAgICBbY29udGVudFR5cGVdPVwiY3VycmVudERvY3VtZW50LmNvbnRlbnRfdHlwZVwiXG4gICAgICAgICAgW2VuYWJsZUFubm90YXRpb25zXT1cInRydWVcIlxuICAgICAgICAgIFtlbmFibGVSZWRhY3Rpb25zXT1cInRydWVcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiJzk0LjV2aCdcIlxuICAgICAgICAgIFtjYXNlSWRdPVwiY2FzZUlkXCJcbiAgICAgICAgICBbbXVsdGltZWRpYVBsYXllckVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2VuYWJsZUlDUF09XCJpc0ljcEVuYWJsZWQoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9tdi1tZWRpYS12aWV3ZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztJQ0U5QyxBQURGLDBCQUErQyxXQUNmO0lBQUEsWUFBa0I7SUFDbEQsQUFEa0QsaUJBQUksRUFDakQ7OztJQUQyQixlQUFrQjtJQUFsQixxQ0FBa0I7OztJQVg1RCw2QkFBNEM7SUFPdEMsQUFERixB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QixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FDaEcsSUFBSSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7b0hBeEhVLDBCQUEwQjs2REFBMUIsMEJBQTBCO1lDVXZDLEFBUEEsQUFuQkEsNkZBQTRDLDhEQXNCM0MsOERBSTRDOztZQTFCOUIsa0ZBQTJCO1lBb0J2QyxjQUFvQztZQUFwQyx5REFBb0M7WUFNakMsY0FBcUM7WUFBckMsMERBQXFDOzs7aUZEVjlCLDBCQUEwQjtjQUx0QyxTQUFTOzJCQUNFLDBCQUEwQjs7a0ZBSXpCLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3RG9jdW1lbnQsIENhdGVnb3JpZXNBbmREb2N1bWVudHMsIERvY3VtZW50VHJlZU5vZGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vY2FzZS1maWxlLXZpZXcnO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vdXNlci91c2VyLWluZm8ubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3U2VydmljZSwgRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZpbGUtdmlldy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWZpbGUtdmlldy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtZmlsZS12aWV3LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0ZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBUkFNX0NBU0VfSUQgPSAnY2lkJztcbiAgcHVibGljIGFsbG93TW92aW5nID0gdHJ1ZTtcbiAgcHVibGljIGNhdGVnb3JpZXNBbmREb2N1bWVudHMkOiBPYnNlcnZhYmxlPENhdGVnb3JpZXNBbmREb2N1bWVudHM+O1xuICBwdWJsaWMgY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgZ2V0Q2F0ZWdvcmllc0FuZERvY3VtZW50c0Vycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBjdXJyZW50RG9jdW1lbnQ6IENhc2VGaWxlVmlld0RvY3VtZW50IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlcyA9IFtdIGFzIHN0cmluZ1tdO1xuICBwcml2YXRlIGNhc2VWZXJzaW9uOiBudW1iZXI7XG4gIHB1YmxpYyBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbiAgcHVibGljIGljcF9qdXJpc2RpY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgaWNwRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgY2FzZUZpbGVWaWV3U2VydmljZTogQ2FzZUZpbGVWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIGRvY3VtZW50TWFuYWdlbWVudFNlcnZpY2U6IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWJzdHJhY3RDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KENhc2VGaWxlVmlld0ZpZWxkQ29tcG9uZW50LlBBUkFNX0NBU0VfSUQpO1xuICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50cyQgPSB0aGlzLmNhc2VGaWxlVmlld1NlcnZpY2UuZ2V0Q2F0ZWdvcmllc0FuZERvY3VtZW50cyh0aGlzLmNhc2VJZCk7XG4gICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uID0gdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzJC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuY2FzZVZlcnNpb24gPSBkYXRhLmNhc2VfdmVyc2lvbjtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogXyA9PiB0aGlzLmdldENhdGVnb3JpZXNBbmREb2N1bWVudHNFcnJvciA9IHRydWVcbiAgICB9KTtcblxuICAgIC8vIEVYVUktODAwMFxuICAgIGNvbnN0IHVzZXJJbmZvOiBVc2VySW5mbyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKSk7XG4gICAgLy8gR2V0IGFjbHMgdGhhdCBpbnRlcnNlY3RzIGZyb20gYWNsIHJvbGVzIGFuZCB1c2VyIHJvbGVzXG4gICAgY29uc3QgYWNscyA9IHRoaXMuY2FzZUZpZWxkLmFjbHMuZmlsdGVyKGFjbCA9PiB1c2VySW5mby5yb2xlcy5pbmNsdWRlcyhhY2wucm9sZSkpO1xuICAgIC8vIEFzIHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIGludGVyc2VjdGluZyByb2xlLCBpZiBhbnkgYWNscyBhcmUgdXBkYXRlOiB0cnVlXG4gICAgdGhpcy5hbGxvd01vdmluZyA9IGFjbHMuc29tZShhY2wgPT4gYWNsLnVwZGF0ZSk7XG4gICAgdGhpcy5pY3BfanVyaXNkaWN0aW9ucyA9IHRoaXMuYWJzdHJhY3RDb25maWcuZ2V0SWNwSnVyaXNkaWN0aW9ucygpO1xuICAgIHRoaXMuaWNwRW5hYmxlZCA9IHRoaXMuYWJzdHJhY3RDb25maWcuZ2V0SWNwRW5hYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNsaWRlciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zbGlkZXInKTtcbiAgICBjb25zdCBkb2N1bWVudFRyZWVDb250YWluZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZG9jdW1lbnQtdHJlZS1jb250YWluZXInKTtcblxuICAgIGNvbnN0IG1vdXNlZG93biQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oc2xpZGVyLCAnbW91c2Vkb3duJyk7XG4gICAgY29uc3QgbW91c2Vtb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpO1xuICAgIGNvbnN0IG1vdXNldXAkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2V1cCcpO1xuICAgIGNvbnN0IGRyYWckID0gbW91c2Vkb3duJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKFxuICAgICAgICAoc3RhcnQpID0+IHtcbiAgICAgICAgICBjb25zdCB4ID0gc3RhcnQuY2xpZW50WDtcbiAgICAgICAgICBjb25zdCBkb2N1bWVudFRyZWVDb250YWluZXJXaWR0aCA9IGRvY3VtZW50VHJlZUNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgICByZXR1cm4gbW91c2Vtb3ZlJC5waXBlKG1hcChtb3ZlID0+IHtcbiAgICAgICAgICAgIG1vdmUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGR4OiBtb3ZlLmNsaWVudFggLSB4LFxuICAgICAgICAgICAgICBkb2N1bWVudFRyZWVDb250YWluZXJXaWR0aFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZXVwJCkpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcblxuICAgIGRyYWckLnN1YnNjcmliZShwb3MgPT4ge1xuICAgICAgY29uc3QgY2FsY3VsYXRlZFdpZHRoID0gKChwb3MuZG9jdW1lbnRUcmVlQ29udGFpbmVyV2lkdGggKyBwb3MuZHgpICogMTAwKSAvIHNsaWRlci5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgZG9jdW1lbnRUcmVlQ29udGFpbmVyLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBgd2lkdGg6ICR7Y2FsY3VsYXRlZFdpZHRofSVgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNZWRpYVZpZXdlckZpbGUoZG9jdW1lbnQ6IERvY3VtZW50VHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCBtZWRpYVZpZXdlckluZm8gPSB0aGlzLmRvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UuZ2V0TWVkaWFWaWV3ZXJJbmZvKHtcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6IGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmwsXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWVcbiAgICB9KTtcbiAgICB0aGlzLmN1cnJlbnREb2N1bWVudCA9IEpTT04ucGFyc2UobWVkaWFWaWV3ZXJJbmZvKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlRG9jdW1lbnQoZGF0YTogeyBkb2N1bWVudDogRG9jdW1lbnRUcmVlTm9kZSwgbmV3Q2F0ZWdvcnk6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgY29uc3QgY2lkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoQ2FzZUZpbGVWaWV3RmllbGRDb21wb25lbnQuUEFSQU1fQ0FTRV9JRCk7XG4gICAgY29uc3QgbG9hZGluZ1Rva2VuID0gdGhpcy5sb2FkaW5nU2VydmljZS5yZWdpc3RlcigpO1xuICAgIHRoaXMuY2FzZUZpbGVWaWV3U2VydmljZS51cGRhdGVEb2N1bWVudENhdGVnb3J5KGNpZCwgdGhpcy5jYXNlVmVyc2lvbiwgZGF0YS5kb2N1bWVudC5hdHRyaWJ1dGVfcGF0aCwgZGF0YS5uZXdDYXRlZ29yeSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdUb2tlbik7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbJ1lvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIG1vdmUgdGhpcyBkb2N1bWVudCB0byB0aGUgc2VsZWN0ZWQgZm9sZGVyLiddO1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xuICAgICAgICAgIHRoaXMucmVsb2FkUGFnZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRQYWdlKCk6IHZvaWQge1xuICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0RXJyb3JNZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNJY3BFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmljcEVuYWJsZWQgJiYgKCh0aGlzLmljcF9qdXJpc2RpY3Rpb25zPy5sZW5ndGggPCAxKSB8fCB0aGlzLmljcF9qdXJpc2RpY3Rpb25zLmluY2x1ZGVzKFxuICAgICAgdGhpcy5jYXNlTm90aWZpZXI/LmNhY2hlZENhc2VWaWV3Py5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbi5pZCkpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JNZXNzYWdlcz8ubGVuZ3RoXCI+XG4gIDxkaXZcbiAgICBpZD1cImNhc2UtZmlsZS12aWV3LWZpZWxkLWVycm9yc1wiXG4gICAgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCJcbiAgICBkYXRhLW1vZHVsZT1cImdvdnVrLWVycm9yLXN1bW1hcnlcIlxuICA+XG4gICAgPGRpdiByb2xlPVwiYWxlcnRcIj5cbiAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlXCI+VGhlcmUgaXMgYSBwcm9ibGVtPC9oMj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZXJyb3JNZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+e3sgZXJyb3JNZXNzYWdlIH19PC9hPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdlxuICAqbmdJZj1cImdldENhdGVnb3JpZXNBbmREb2N1bWVudHNFcnJvclwiXG4gIGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkc1wiXG4+XG4gIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5Tb3JyeSwgdGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIHNlcnZpY2U8L2gxPlxuICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj5UcnkgYWdhaW4gbGF0ZXIuPC9wPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIWdldENhdGVnb3JpZXNBbmREb2N1bWVudHNFcnJvclwiPlxuICA8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj5DYXNlIGZpbGU8L2gyPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIGlkPVwiY2FzZS1maWxlLXZpZXdcIj5cbiAgICA8IS0tIERvY3VtZW50IHRyZWUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyXCI+XG4gICAgICA8Y2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlciBcbiAgICAgICAgICBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyX190cmVlXCJcbiAgICAgICAgICBbY2F0ZWdvcmllc0FuZERvY3VtZW50c109XCJjYXRlZ29yaWVzQW5kRG9jdW1lbnRzJFwiXG4gICAgICAgICAgKGNsaWNrZWREb2N1bWVudCk9XCJzZXRNZWRpYVZpZXdlckZpbGUoJGV2ZW50KTsgcmVzZXRFcnJvck1lc3NhZ2VzKClcIiBcbiAgICAgICAgICAobW92ZURvY3VtZW50KT1cIm1vdmVEb2N1bWVudCgkZXZlbnQpXCJcbiAgICAgICAgICBbYWxsb3dNb3ZpbmddPVwiYWxsb3dNb3ZpbmdcIj5cbiAgICAgIDwvY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlcj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFNsaWRlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwic2xpZGVyXCI+PC9kaXY+XG4gICAgPCEtLSBNZWRpYSB2aWV3ZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1lZGlhLXZpZXdlci1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50RG9jdW1lbnRcIj5cbiAgICAgICAgPG12LW1lZGlhLXZpZXdlclxuICAgICAgICAgIFt1cmxdPVwiY3VycmVudERvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmxcIlxuICAgICAgICAgIFtkb3dubG9hZEZpbGVOYW1lXT1cImN1cnJlbnREb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZVwiXG4gICAgICAgICAgW3Nob3dUb29sYmFyXT1cInRydWVcIlxuICAgICAgICAgIFtjb250ZW50VHlwZV09XCJjdXJyZW50RG9jdW1lbnQuY29udGVudF90eXBlXCJcbiAgICAgICAgICBbZW5hYmxlQW5ub3RhdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgW2VuYWJsZVJlZGFjdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgW2hlaWdodF09XCInOTQuNXZoJ1wiXG4gICAgICAgICAgW2Nhc2VJZF09XCJjYXNlSWRcIlxuICAgICAgICAgIFttdWx0aW1lZGlhUGxheWVyRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbZW5hYmxlSUNQXT1cImlzSWNwRW5hYmxlZCgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L212LW1lZGlhLXZpZXdlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -117,7 +117,7 @@ export class CaseFileViewFolderSelectorComponent {
117
117
  return null;
118
118
  }
119
119
  static ɵfac = function CaseFileViewFolderSelectorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFileViewFolderSelectorComponent)(i0.ɵɵdirectiveInject(i1.MatLegacyDialogRef), i0.ɵɵdirectiveInject(MAT_LEGACY_DIALOG_DATA)); };
120
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderSelectorComponent, selectors: [["xui-case-file-view-folder-selector"]], decls: 14, vars: 2, consts: [["folder", ""], ["tabindex", "0", "aria-label", "close", 1, "close", 3, "click", "keyup"], [1, "govuk-heading-l"], [1, "folders", "govuk-radios", "govuk-radios--conditional"], [4, "ngFor", "ngForOf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["href", "#", 1, "cancel", 3, "click"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "folder", "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "click", "keyup", "name", "id"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["src", "/assets/images/folder.png", "alt", "Folder icon", 1, "iconImg"]], template: function CaseFileViewFolderSelectorComponent_Template(rf, ctx) { if (rf & 1) {
120
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderSelectorComponent, selectors: [["xui-case-file-view-folder-selector"]], decls: 14, vars: 2, consts: [["folder", ""], ["tabindex", "0", "aria-label", "close", 1, "close", 3, "click", "keyup"], [1, "govuk-heading-l"], [1, "folders", "govuk-radios", "govuk-radios--conditional"], [4, "ngFor", "ngForOf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["href", "javascript:void(0)", 1, "cancel", 3, "click"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "folder", "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "click", "keyup", "name", "id"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["src", "/assets/images/folder.png", "alt", "Folder icon", 1, "iconImg"]], template: function CaseFileViewFolderSelectorComponent_Template(rf, ctx) { if (rf & 1) {
121
121
  const _r1 = i0.ɵɵgetCurrentView();
122
122
  i0.ɵɵelementStart(0, "span", 1);
123
123
  i0.ɵɵlistener("click", function CaseFileViewFolderSelectorComponent_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.cancel()); })("keyup", function CaseFileViewFolderSelectorComponent_Template_span_keyup_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView($event.key === "Enter" ? ctx.cancel() : null); });
@@ -136,7 +136,7 @@ export class CaseFileViewFolderSelectorComponent {
136
136
  i0.ɵɵtext(9, "Save");
137
137
  i0.ɵɵelementEnd();
138
138
  i0.ɵɵelementStart(10, "a", 7);
139
- i0.ɵɵlistener("click", function CaseFileViewFolderSelectorComponent_Template_a_click_10_listener($event) { i0.ɵɵrestoreView(_r1); ctx.cancel(); return i0.ɵɵresetView($event.preventDefault()); });
139
+ i0.ɵɵlistener("click", function CaseFileViewFolderSelectorComponent_Template_a_click_10_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.cancel()); });
140
140
  i0.ɵɵtext(11, "Cancel");
141
141
  i0.ɵɵelementEnd()();
142
142
  i0.ɵɵtemplate(12, CaseFileViewFolderSelectorComponent_ng_template_12_Template, 6, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
@@ -149,10 +149,10 @@ export class CaseFileViewFolderSelectorComponent {
149
149
  }
150
150
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderSelectorComponent, [{
151
151
  type: Component,
152
- args: [{ selector: 'xui-case-file-view-folder-selector', encapsulation: ViewEncapsulation.None, template: "<span tabindex=\"0\" aria-label=\"close\" class=\"close\" (click)=\"cancel()\" (keyup)=\"$event.key === 'Enter' ? cancel() : null\"></span>\n<h2 class=\"govuk-heading-l\">Move File</h2>\n<p>Where do you want to move \"{{ data.document.document_filename }}\" file?</p>\n<div class=\"folders govuk-radios govuk-radios--conditional\">\n <ng-container *ngFor=\"let cat of currentCategories\">\n <ng-container *ngTemplateOutlet=\"folder;context:{cat:cat,level:1}\"></ng-container>\n </ng-container>\n</div>\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"save()\">Save</button>\n <a (click)=\"cancel(); $event.preventDefault()\" class=\"cancel\" href=\"#\">Cancel</a>\n</div>\n\n<ng-template #folder let-cat=\"cat\" let-level=\"level\">\n <div class=\"folder govuk-radios__item\">\n <input class=\"govuk-radios__input\" type=\"radio\" name=\"level-{{level}}\" [id]=\"cat.category_id\" (click)=\"handleChange($event)\" (keyup)=\"$event.key === 'Enter' ? handleChange($event) : null\" />\n <label class=\"govuk-label govuk-radios__label\" [for]=\"cat.category_id\">\n <img class=\"iconImg\" src=\"/assets/images/folder.png\" alt=\"Folder icon\" />\n {{ cat.category_name }}\n </label>\n <ng-container *ngFor=\"let subcat of cat.sub_categories\">\n <ng-container *ngTemplateOutlet=\"folder;context:{cat:subcat,level:level+1}\"></ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{position:relative;display:block}.folders{margin-bottom:20px}.folder{display:none;border-top:1px solid #CCC;margin:0 0 -1px}.folder:last-child{border-bottom:1px solid #CCC}.folders>.folder{display:block}input:checked~.folder{display:block}.iconImg{position:relative;display:inline-block;height:28px}.folder>.folder{margin-left:20px}.folder label:before{top:3px}.folder label:after{top:13px}p{font-weight:700}button{margin-right:20px}.close{float:right;width:30px;height:30px;background:url(/assets/img/x.PNG) no-repeat center center;cursor:pointer}.cancel{cursor:pointer}.cdk-overlay-pane{overflow:auto;background:#fff}.cdk-overlay-pane::-webkit-scrollbar{width:7px}.cdk-overlay-pane::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.cdk-overlay-pane::-webkit-scrollbar-button{display:none}.cdk-overlay-pane::-webkit-scrollbar-track-piece{background:#eee}.cdk-overlay-pane::-webkit-scrollbar-thumb{background:#ccc}\n"] }]
152
+ args: [{ selector: 'xui-case-file-view-folder-selector', encapsulation: ViewEncapsulation.None, template: "<span tabindex=\"0\" aria-label=\"close\" class=\"close\" (click)=\"cancel()\" (keyup)=\"$event.key === 'Enter' ? cancel() : null\"></span>\n<h2 class=\"govuk-heading-l\">Move File</h2>\n<p>Where do you want to move \"{{ data.document.document_filename }}\" file?</p>\n<div class=\"folders govuk-radios govuk-radios--conditional\">\n <ng-container *ngFor=\"let cat of currentCategories\">\n <ng-container *ngTemplateOutlet=\"folder;context:{cat:cat,level:1}\"></ng-container>\n </ng-container>\n</div>\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"save()\">Save</button>\n <a (click)=\"cancel()\" class=\"cancel\" href=\"javascript:void(0)\">Cancel</a>\n</div>\n\n<ng-template #folder let-cat=\"cat\" let-level=\"level\">\n <div class=\"folder govuk-radios__item\">\n <input class=\"govuk-radios__input\" type=\"radio\" name=\"level-{{level}}\" [id]=\"cat.category_id\" (click)=\"handleChange($event)\" (keyup)=\"$event.key === 'Enter' ? handleChange($event) : null\" />\n <label class=\"govuk-label govuk-radios__label\" [for]=\"cat.category_id\">\n <img class=\"iconImg\" src=\"/assets/images/folder.png\" alt=\"Folder icon\" />\n {{ cat.category_name }}\n </label>\n <ng-container *ngFor=\"let subcat of cat.sub_categories\">\n <ng-container *ngTemplateOutlet=\"folder;context:{cat:subcat,level:level+1}\"></ng-container>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{position:relative;display:block}.folders{margin-bottom:20px}.folder{display:none;border-top:1px solid #CCC;margin:0 0 -1px}.folder:last-child{border-bottom:1px solid #CCC}.folders>.folder{display:block}input:checked~.folder{display:block}.iconImg{position:relative;display:inline-block;height:28px}.folder>.folder{margin-left:20px}.folder label:before{top:3px}.folder label:after{top:13px}p{font-weight:700}button{margin-right:20px}.close{float:right;width:30px;height:30px;background:url(/assets/img/x.PNG) no-repeat center center;cursor:pointer}.cancel{cursor:pointer}.cdk-overlay-pane{overflow:auto;background:#fff}.cdk-overlay-pane::-webkit-scrollbar{width:7px}.cdk-overlay-pane::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.cdk-overlay-pane::-webkit-scrollbar-button{display:none}.cdk-overlay-pane::-webkit-scrollbar-track-piece{background:#eee}.cdk-overlay-pane::-webkit-scrollbar-thumb{background:#ccc}\n"] }]
153
153
  }], () => [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
154
154
  type: Inject,
155
155
  args: [MAT_LEGACY_DIALOG_DATA]
156
156
  }] }], null); })();
157
157
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFolderSelectorComponent, { className: "CaseFileViewFolderSelectorComponent", filePath: "lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.ts", lineNumber: 12 }); })();
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxZQUFZLEVBQUcsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztJQ0l0Ryx3QkFBa0Y7OztJQUR0Riw2QkFBb0Q7SUFDaEQscUhBQW1FOzs7Ozs7SUFBcEQsY0FBeUI7SUFBQSxBQUF6Qiw0Q0FBeUIsK0RBQXlCOzs7SUFnQjdELHdCQUEyRjs7O0lBRC9GLDZCQUF3RDtJQUNwRCxvSUFBNEU7Ozs7Ozs7SUFBN0QsY0FBeUI7SUFBQSxBQUF6Qiw0Q0FBeUIsZ0ZBQWtDOzs7O0lBTjlFLEFBREosOEJBQXVDLGdCQUMySjtJQUFqRSxBQUEvQiw2TUFBUywyQkFBb0IsS0FBQywrTUFBeUIsT0FBTyxHQUFHLDJCQUFvQixH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LHVJQUFxRDs7WUFYbEQsZUFBdUU7WUFBdkUsc0dBQXVFO1lBRXhDLGVBQW9CO1lBQXBCLCtDQUFvQjs7O2lGRE96QyxtQ0FBbUM7Y0FOL0MsU0FBUzsyQkFDRSxvQ0FBb0MsaUJBRy9CLGlCQUFpQixDQUFDLElBQUk7O3NCQVE5QixNQUFNO3VCQUFDLHNCQUFzQjs7a0ZBTnpCLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nUmVmIGFzIE1hdERpYWxvZ1JlZiAsIE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcbmltcG9ydCB7IERvY3VtZW50VHJlZU5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1maWxlLXZpZXcnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3Q2F0ZWdvcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctY2F0ZWdvcnkubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWktY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBjdXJyZW50Q2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSA9IFtdO1xuICBwdWJsaWMgc2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiB7IGNhdGVnb3JpZXM6IENhc2VGaWxlVmlld0NhdGVnb3J5W10sIGRvY3VtZW50OiBEb2N1bWVudFRyZWVOb2RlIH1cbiAgKSB7XG4gICAgdGhpcy5jdXJyZW50Q2F0ZWdvcmllcyA9IFsuLi50aGlzLmRhdGEuY2F0ZWdvcmllc107XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLmZpbmRQYXRoKCk7XG4gICAgcGF0aC5mb3JFYWNoKChwKSA9PiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocCkgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZCA9IHRydWUpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNoYW5nZShldnQpIHtcbiAgICBpZiAoZXZ0LnRhcmdldC5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdChldnQudGFyZ2V0LmlkKTtcbiAgICAgIC8vIGdldCBsZXZlbCBvZiB0aGlzIGNoZWNrYm94IHNvIHdlIGNhbiBjbGVhciBhbGwgbG93ZXIgbGV2ZWxzXG4gICAgICBsZXQgbGV2ZWwgPSBwYXJzZUludChldnQudGFyZ2V0Lm5hbWUuc3BsaXQoJy0nKVsxXSwgMTApICsgMTtcbiAgICAgIGxldCBub2RlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKGBsZXZlbC0ke2xldmVsfWApO1xuICAgICAgd2hpbGUgKG5vZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbm9kZXMuZm9yRWFjaCgobm9kZTogSFRNTElucHV0RWxlbWVudCkgPT4gbm9kZS5jaGVja2VkID0gZmFsc2UpO1xuICAgICAgICBsZXZlbCArPSAxO1xuICAgICAgICBub2RlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKGBsZXZlbC0ke2xldmVsfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3QoY2F0ZWdvcnlJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGNhdGVnb3J5SWQ7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDAgPyB0aGlzLnNlbGVjdGVkIDogbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRQYXRoKCk6IHN0cmluZ1tdIHtcbiAgICBmb3IgKGNvbnN0IGMgb2YgdGhpcy5kYXRhLmNhdGVnb3JpZXMpIHtcbiAgICAgIGNvbnN0IHIgPSB0aGlzLmNvbnRhaW5zRG9jdW1lbnQoYywgdGhpcy5kYXRhLmRvY3VtZW50KTtcbiAgICAgIGlmIChyKSB7XG4gICAgICAgIHJldHVybiByO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcml2YXRlIGNvbnRhaW5zRG9jdW1lbnQoY2F0OiBDYXNlRmlsZVZpZXdDYXRlZ29yeSwgZG9jdW1lbnQ6IERvY3VtZW50VHJlZU5vZGUpOiBzdHJpbmdbXSB8IG51bGwge1xuICAgIGlmIChjYXQuZG9jdW1lbnRzLmZpbmRJbmRleCgoZG9jKSA9PiAoZG9jLmRvY3VtZW50X2JpbmFyeV91cmwgPT09IGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmwpXG4gICAgICAgICYmIChkb2MuYXR0cmlidXRlX3BhdGggPT09IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoKSkgPiAtMSkge1xuICAgICAgcmV0dXJuIFtjYXQuY2F0ZWdvcnlfaWRdO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGMgb2YgY2F0LnN1Yl9jYXRlZ29yaWVzKSB7XG4gICAgICBjb25zdCByID0gdGhpcy5jb250YWluc0RvY3VtZW50KGMsIGRvY3VtZW50KTtcbiAgICAgIGlmIChyKSB7XG4gICAgICAgIHJldHVybiBbY2F0LmNhdGVnb3J5X2lkLCAuLi5yXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiIsIjxzcGFuIHRhYmluZGV4PVwiMFwiIGFyaWEtbGFiZWw9XCJjbG9zZVwiIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2FuY2VsKClcIiAoa2V5dXApPVwiJGV2ZW50LmtleSA9PT0gJ0VudGVyJyA/IGNhbmNlbCgpIDogbnVsbFwiPjwvc3Bhbj5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiPk1vdmUgRmlsZTwvaDI+XG48cD5XaGVyZSBkbyB5b3Ugd2FudCB0byBtb3ZlIFwie3sgZGF0YS5kb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZSB9fVwiIGZpbGU/PC9wPlxuPGRpdiBjbGFzcz1cImZvbGRlcnMgZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXQgb2YgY3VycmVudENhdGVnb3JpZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvbGRlcjtjb250ZXh0OntjYXQ6Y2F0LGxldmVsOjF9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzYXZlKClcIj5TYXZlPC9idXR0b24+XG4gICAgPGEgKGNsaWNrKT1cImNhbmNlbCgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGNsYXNzPVwiY2FuY2VsXCIgaHJlZj1cIiNcIj5DYW5jZWw8L2E+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmb2xkZXIgbGV0LWNhdD1cImNhdFwiIGxldC1sZXZlbD1cImxldmVsXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvbGRlciBnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJsZXZlbC17e2xldmVsfX1cIiBbaWRdPVwiY2F0LmNhdGVnb3J5X2lkXCIgKGNsaWNrKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCIgKGtleXVwKT1cIiRldmVudC5rZXkgPT09ICdFbnRlcicgPyBoYW5kbGVDaGFuZ2UoJGV2ZW50KSA6IG51bGxcIiAvPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgW2Zvcl09XCJjYXQuY2F0ZWdvcnlfaWRcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uSW1nXCIgc3JjPVwiL2Fzc2V0cy9pbWFnZXMvZm9sZGVyLnBuZ1wiIGFsdD1cIkZvbGRlciBpY29uXCIgLz5cbiAgICAgICAgICAgIHt7IGNhdC5jYXRlZ29yeV9uYW1lIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YmNhdCBvZiBjYXQuc3ViX2NhdGVnb3JpZXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb2xkZXI7Y29udGV4dDp7Y2F0OnN1YmNhdCxsZXZlbDpsZXZlbCsxfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxZQUFZLEVBQUcsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztJQ0l0Ryx3QkFBa0Y7OztJQUR0Riw2QkFBb0Q7SUFDaEQscUhBQW1FOzs7Ozs7SUFBcEQsY0FBeUI7SUFBQSxBQUF6Qiw0Q0FBeUIsK0RBQXlCOzs7SUFnQjdELHdCQUEyRjs7O0lBRC9GLDZCQUF3RDtJQUNwRCxvSUFBNEU7Ozs7Ozs7SUFBN0QsY0FBeUI7SUFBQSxBQUF6Qiw0Q0FBeUIsZ0ZBQWtDOzs7O0lBTjlFLEFBREosOEJBQXVDLGdCQUMySjtJQUFqRSxBQUEvQiw2TUFBUywyQkFBb0IsS0FBQywrTUFBeUIsT0FBTyxHQUFHLDJCQUFvQixH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RCxlQUF1RTtZQUF2RSxzR0FBdUU7WUFFeEMsZUFBb0I7WUFBcEIsK0NBQW9COzs7aUZET3pDLG1DQUFtQztjQU4vQyxTQUFTOzJCQUNFLG9DQUFvQyxpQkFHL0IsaUJBQWlCLENBQUMsSUFBSTs7c0JBUTlCLE1BQU07dUJBQUMsc0JBQXNCOztrRkFOekIsbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmICwgTUFUX0xFR0FDWV9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgRG9jdW1lbnRUcmVlTm9kZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdDYXRlZ29yeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1jYXRlZ29yeS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aS1jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIGN1cnJlbnRDYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0xFR0FDWV9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IHsgY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSwgZG9jdW1lbnQ6IERvY3VtZW50VHJlZU5vZGUgfVxuICApIHtcbiAgICB0aGlzLmN1cnJlbnRDYXRlZ29yaWVzID0gWy4uLnRoaXMuZGF0YS5jYXRlZ29yaWVzXTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMuZmluZFBhdGgoKTtcbiAgICBwYXRoLmZvckVhY2goKHApID0+IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwKSBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkID0gdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlKGV2dCkge1xuICAgIGlmIChldnQudGFyZ2V0LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0KGV2dC50YXJnZXQuaWQpO1xuICAgICAgLy8gZ2V0IGxldmVsIG9mIHRoaXMgY2hlY2tib3ggc28gd2UgY2FuIGNsZWFyIGFsbCBsb3dlciBsZXZlbHNcbiAgICAgIGxldCBsZXZlbCA9IHBhcnNlSW50KGV2dC50YXJnZXQubmFtZS5zcGxpdCgnLScpWzFdLCAxMCkgKyAxO1xuICAgICAgbGV0IG5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYGxldmVsLSR7bGV2ZWx9YCk7XG4gICAgICB3aGlsZSAobm9kZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChub2RlOiBIVE1MSW5wdXRFbGVtZW50KSA9PiBub2RlLmNoZWNrZWQgPSBmYWxzZSk7XG4gICAgICAgIGxldmVsICs9IDE7XG4gICAgICAgIG5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYGxldmVsLSR7bGV2ZWx9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdChjYXRlZ29yeUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gY2F0ZWdvcnlJZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuc2VsZWN0ZWQubGVuZ3RoID4gMCA/IHRoaXMuc2VsZWN0ZWQgOiBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBhdGgoKTogc3RyaW5nW10ge1xuICAgIGZvciAoY29uc3QgYyBvZiB0aGlzLmRhdGEuY2F0ZWdvcmllcykge1xuICAgICAgY29uc3QgciA9IHRoaXMuY29udGFpbnNEb2N1bWVudChjLCB0aGlzLmRhdGEuZG9jdW1lbnQpO1xuICAgICAgaWYgKHIpIHtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGFpbnNEb2N1bWVudChjYXQ6IENhc2VGaWxlVmlld0NhdGVnb3J5LCBkb2N1bWVudDogRG9jdW1lbnRUcmVlTm9kZSk6IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgaWYgKGNhdC5kb2N1bWVudHMuZmluZEluZGV4KChkb2MpID0+IChkb2MuZG9jdW1lbnRfYmluYXJ5X3VybCA9PT0gZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybClcbiAgICAgICAgJiYgKGRvYy5hdHRyaWJ1dGVfcGF0aCA9PT0gZG9jdW1lbnQuYXR0cmlidXRlX3BhdGgpKSA+IC0xKSB7XG4gICAgICByZXR1cm4gW2NhdC5jYXRlZ29yeV9pZF07XG4gICAgfVxuICAgIGZvciAoY29uc3QgYyBvZiBjYXQuc3ViX2NhdGVnb3JpZXMpIHtcbiAgICAgIGNvbnN0IHIgPSB0aGlzLmNvbnRhaW5zRG9jdW1lbnQoYywgZG9jdW1lbnQpO1xuICAgICAgaWYgKHIpIHtcbiAgICAgICAgcmV0dXJuIFtjYXQuY2F0ZWdvcnlfaWQsIC4uLnJdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPHNwYW4gdGFiaW5kZXg9XCIwXCIgYXJpYS1sYWJlbD1cImNsb3NlXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJjYW5jZWwoKVwiIChrZXl1cCk9XCIkZXZlbnQua2V5ID09PSAnRW50ZXInID8gY2FuY2VsKCkgOiBudWxsXCI+PC9zcGFuPlxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCI+TW92ZSBGaWxlPC9oMj5cbjxwPldoZXJlIGRvIHlvdSB3YW50IHRvIG1vdmUgXCJ7eyBkYXRhLmRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lIH19XCIgZmlsZT88L3A+XG48ZGl2IGNsYXNzPVwiZm9sZGVycyBnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdCBvZiBjdXJyZW50Q2F0ZWdvcmllc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9sZGVyO2NvbnRleHQ6e2NhdDpjYXQsbGV2ZWw6MX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cbiAgICA8YSAoY2xpY2spPVwiY2FuY2VsKClcIiBjbGFzcz1cImNhbmNlbFwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj5DYW5jZWw8L2E+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmb2xkZXIgbGV0LWNhdD1cImNhdFwiIGxldC1sZXZlbD1cImxldmVsXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvbGRlciBnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJsZXZlbC17e2xldmVsfX1cIiBbaWRdPVwiY2F0LmNhdGVnb3J5X2lkXCIgKGNsaWNrKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCIgKGtleXVwKT1cIiRldmVudC5rZXkgPT09ICdFbnRlcicgPyBoYW5kbGVDaGFuZ2UoJGV2ZW50KSA6IG51bGxcIiAvPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgW2Zvcl09XCJjYXQuY2F0ZWdvcnlfaWRcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uSW1nXCIgc3JjPVwiL2Fzc2V0cy9pbWFnZXMvZm9sZGVyLnBuZ1wiIGFsdD1cIkZvbGRlciBpY29uXCIgLz5cbiAgICAgICAgICAgIHt7IGNhdC5jYXRlZ29yeV9uYW1lIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YmNhdCBvZiBjYXQuc3ViX2NhdGVnb3JpZXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb2xkZXI7Y29udGV4dDp7Y2F0OnN1YmNhdCxsZXZlbDpsZXZlbCsxfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -14,7 +14,7 @@ function CaseFlagSummaryListComponent_dl_0_div_27_Template(rf, ctx) { if (rf & 1
14
14
  i0.ɵɵtext(5);
15
15
  i0.ɵɵelementEnd();
16
16
  i0.ɵɵelementStart(6, "dd", 5)(7, "a", 6);
17
- i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_div_27_Template_a_click_7_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : ctx_r1.caseFlagFieldState.FLAG_TYPE); return i0.ɵɵresetView($event.preventDefault()); });
17
+ i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_div_27_Template_a_click_7_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : ctx_r1.caseFlagFieldState.FLAG_TYPE)); });
18
18
  i0.ɵɵtext(8);
19
19
  i0.ɵɵpipe(9, "rpxTranslate");
20
20
  i0.ɵɵelementStart(10, "span", 7);
@@ -42,7 +42,7 @@ function CaseFlagSummaryListComponent_dl_0_div_28_Template(rf, ctx) { if (rf & 1
42
42
  i0.ɵɵtext(5);
43
43
  i0.ɵɵelementEnd();
44
44
  i0.ɵɵelementStart(6, "dd", 5)(7, "a", 6);
45
- i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_div_28_Template_a_click_7_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE : ctx_r1.caseFlagFieldState.FLAG_COMMENTS); return i0.ɵɵresetView($event.preventDefault()); });
45
+ i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_div_28_Template_a_click_7_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE : ctx_r1.caseFlagFieldState.FLAG_COMMENTS)); });
46
46
  i0.ɵɵtext(8);
47
47
  i0.ɵɵpipe(9, "rpxTranslate");
48
48
  i0.ɵɵelementStart(10, "span", 7);
@@ -70,7 +70,7 @@ function CaseFlagSummaryListComponent_dl_0_div_29_Template(rf, ctx) { if (rf & 1
70
70
  i0.ɵɵtext(5);
71
71
  i0.ɵɵelementEnd();
72
72
  i0.ɵɵelementStart(6, "dd", 5)(7, "a", 6);
73
- i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_div_29_Template_a_click_7_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : ctx_r1.caseFlagFieldState.FLAG_COMMENTS); return i0.ɵɵresetView($event.preventDefault()); });
73
+ i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_div_29_Template_a_click_7_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : ctx_r1.caseFlagFieldState.FLAG_COMMENTS)); });
74
74
  i0.ɵɵtext(8);
75
75
  i0.ɵɵpipe(9, "rpxTranslate");
76
76
  i0.ɵɵelementStart(10, "span", 7);
@@ -91,7 +91,7 @@ function CaseFlagSummaryListComponent_dl_0_div_29_Template(rf, ctx) { if (rf & 1
91
91
  function CaseFlagSummaryListComponent_dl_0_a_38_Template(rf, ctx) { if (rf & 1) {
92
92
  const _r6 = i0.ɵɵgetCurrentView();
93
93
  i0.ɵɵelementStart(0, "a", 6);
94
- i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_a_38_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE : ctx_r1.caseFlagFieldState.FLAG_STATUS); return i0.ɵɵresetView($event.preventDefault()); });
94
+ i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_a_38_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE : ctx_r1.caseFlagFieldState.FLAG_STATUS)); });
95
95
  i0.ɵɵtext(1);
96
96
  i0.ɵɵpipe(2, "rpxTranslate");
97
97
  i0.ɵɵelementStart(3, "span", 7);
@@ -114,7 +114,7 @@ function CaseFlagSummaryListComponent_dl_0_Template(rf, ctx) { if (rf & 1) {
114
114
  i0.ɵɵtext(6);
115
115
  i0.ɵɵelementEnd();
116
116
  i0.ɵɵelementStart(7, "dd", 5)(8, "a", 6);
117
- i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_Template_a_click_8_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : ctx_r1.caseFlagFieldState.FLAG_LOCATION); return i0.ɵɵresetView($event.preventDefault()); });
117
+ i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_Template_a_click_8_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : ctx_r1.caseFlagFieldState.FLAG_LOCATION)); });
118
118
  i0.ɵɵtext(9);
119
119
  i0.ɵɵpipe(10, "rpxTranslate");
120
120
  i0.ɵɵelementStart(11, "span", 7);
@@ -129,7 +129,7 @@ function CaseFlagSummaryListComponent_dl_0_Template(rf, ctx) { if (rf & 1) {
129
129
  i0.ɵɵtext(19);
130
130
  i0.ɵɵelementEnd();
131
131
  i0.ɵɵelementStart(20, "dd", 5)(21, "a", 6);
132
- i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_Template_a_click_21_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE : ctx_r1.caseFlagFieldState.FLAG_TYPE); return i0.ɵɵresetView($event.preventDefault()); });
132
+ i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE : ctx_r1.caseFlagFieldState.FLAG_TYPE)); });
133
133
  i0.ɵɵtext(22);
134
134
  i0.ɵɵpipe(23, "rpxTranslate");
135
135
  i0.ɵɵelementStart(24, "span", 7);
@@ -280,7 +280,7 @@ export class CaseFlagSummaryListComponent {
280
280
  this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE_2_POINT_1;
281
281
  }
282
282
  static ɵfac = function CaseFlagSummaryListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFlagSummaryListComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
283
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFlagSummaryListComponent, selectors: [["ccd-case-flag-summary-list"]], inputs: { flagForSummaryDisplay: "flagForSummaryDisplay", displayContextParameter: "displayContextParameter" }, outputs: { changeButtonEmitter: "changeButtonEmitter" }, decls: 1, vars: 1, consts: [["class", "govuk-summary-list", 4, "ngIf"], [1, "govuk-summary-list"], [1, "govuk-summary-list__row"], [1, "govuk-summary-list__key"], [1, "govuk-summary-list__value"], [1, "govuk-summary-list__actions"], ["href", "#", 1, "govuk-link", 3, "click"], [1, "govuk-visually-hidden"], ["class", "govuk-summary-list__row", 4, "ngIf"], ["class", "govuk-link", "href", "#", 3, "click", 4, "ngIf"]], template: function CaseFlagSummaryListComponent_Template(rf, ctx) { if (rf & 1) {
283
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFlagSummaryListComponent, selectors: [["ccd-case-flag-summary-list"]], inputs: { flagForSummaryDisplay: "flagForSummaryDisplay", displayContextParameter: "displayContextParameter" }, outputs: { changeButtonEmitter: "changeButtonEmitter" }, decls: 1, vars: 1, consts: [["class", "govuk-summary-list", 4, "ngIf"], [1, "govuk-summary-list"], [1, "govuk-summary-list__row"], [1, "govuk-summary-list__key"], [1, "govuk-summary-list__value"], [1, "govuk-summary-list__actions"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [1, "govuk-visually-hidden"], ["class", "govuk-summary-list__row", 4, "ngIf"], ["class", "govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"]], template: function CaseFlagSummaryListComponent_Template(rf, ctx) { if (rf & 1) {
284
284
  i0.ɵɵtemplate(0, CaseFlagSummaryListComponent_dl_0_Template, 39, 30, "dl", 0);
285
285
  } if (rf & 2) {
286
286
  i0.ɵɵproperty("ngIf", ctx.flagForSummaryDisplay);
@@ -288,7 +288,7 @@ export class CaseFlagSummaryListComponent {
288
288
  }
289
289
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFlagSummaryListComponent, [{
290
290
  type: Component,
291
- args: [{ selector: 'ccd-case-flag-summary-list', template: "<dl class=\"govuk-summary-list\" *ngIf=\"flagForSummaryDisplay\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{addUpdateFlagHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagForSummaryDisplay.partyName || caseFlagCheckYourAnswersPageStep.CASE_LEVEL_LOCATION }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"#\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : caseFlagFieldState.FLAG_LOCATION); $event.preventDefault()\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'party name' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{flagTypeHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescription}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"#\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_TYPE); $event.preventDefault()\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'flag type' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagDescriptionWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Other description (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescriptionWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"#\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_TYPE); $event.preventDefault()\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'other description (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagComments?.length > 0\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{externalUserUpdate ? flagUpdateComments : flagComments}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"#\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_COMMENTS); $event.preventDefault()\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagCommentsWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagCommentsWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"#\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_COMMENTS); $event.preventDefault()\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{'Status' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagStatus | rpxTranslate}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a *ngIf=\"is2Point1Enabled\" class=\"govuk-link\" href=\"#\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_STATUS); $event.preventDefault()\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'status' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n</dl>\n" }]
291
+ args: [{ selector: 'ccd-case-flag-summary-list', template: "<dl class=\"govuk-summary-list\" *ngIf=\"flagForSummaryDisplay\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{addUpdateFlagHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagForSummaryDisplay.partyName || caseFlagCheckYourAnswersPageStep.CASE_LEVEL_LOCATION }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : caseFlagFieldState.FLAG_LOCATION)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'party name' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{flagTypeHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescription}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_TYPE)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'flag type' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagDescriptionWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Other description (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescriptionWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_TYPE)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'other description (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagComments?.length > 0\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{externalUserUpdate ? flagUpdateComments : flagComments}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_COMMENTS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagCommentsWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagCommentsWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_COMMENTS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{'Status' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagStatus | rpxTranslate}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a *ngIf=\"is2Point1Enabled\" class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_STATUS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'status' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n</dl>\n" }]
292
292
  }], () => [{ type: i1.RpxTranslationService }], { flagForSummaryDisplay: [{
293
293
  type: Input
294
294
  }], displayContextParameter: [{
@@ -297,4 +297,4 @@ export class CaseFlagSummaryListComponent {
297
297
  type: Output
298
298
  }] }); })();
299
299
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFlagSummaryListComponent, { className: "CaseFlagSummaryListComponent", filePath: "lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.ts", lineNumber: 15 }); })();
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jYXNlLWZsYWctc3VtbWFyeS1saXN0L2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXN1bW1hcnktbGlzdC9jYXNlLWZsYWctc3VtbWFyeS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUMvQixNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDc0JqQixBQURGLDhCQUFxRyxZQUMvRDtJQUNsQyxZQUNGOztJQUFBLGlCQUFLO0lBQ0wsNkJBQXNDO0lBQ3BDLFlBQ0Y7SUFBQSxpQkFBSztJQUVILEFBREYsNkJBQXdDLFdBRThKO0lBQWxNLDBLQUFTLDRMQUE4Six3QkFBRSx1QkFBdUIsS0FBQztJQUNqTSxZQUEyQjs7SUFBQSxnQ0FBb0M7SUFBQyxhQUE4Qzs7SUFHcEgsQUFERSxBQURFLEFBRGdILGlCQUFPLEVBQ25ILEVBQ0QsRUFDRDs7O0lBWEYsZUFDRjtJ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RSxPQUFPLGdDQUFnQyxDQUFDLElBQUksQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixJQUFJLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxNQUFNO1lBQ3ZFLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxlQUFlO1lBQ2hGLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RGLE9BQU8sOEJBQThCLENBQUMsTUFBTSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRU8sd0NBQXdDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGdCQUFnQjtZQUN0RixJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZ0JBQWdCLENBQUM7SUFDdEYsQ0FBQztzSEF2R1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUNkekMsNkVBQTZEOztZQUE3QixnREFBMkI7OztpRkRjOUMsNEJBQTRCO2NBSnhDLFNBQVM7MkJBQ0UsNEJBQTRCO3NEQUl0QixxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVSx1QkFBdUI7a0JBQXRDLEtBQUs7WUFDVyxtQkFBbUI7a0JBQW5DLE1BQU07O2tGQUhJLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXkgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAsXG4gIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIsXG4gIENhc2VGbGFnRmllbGRTdGF0ZSxcbiAgQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlXG59IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmxhZy1zdW1tYXJ5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZsYWdTdW1tYXJ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnRm9yU3VtbWFyeURpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5O1xuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXI6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VCdXR0b25FbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIGZsYWdEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnU3RhdHVzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb246IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ1VwZGF0ZUNvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBzdW1tYXJ5TGlzdERpc3BsYXlNb2RlOiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBhZGRVcGRhdGVGbGFnSGVhZGVyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUZsYWdGaWVsZFN0YXRlID0gQ2FzZUZsYWdGaWVsZFN0YXRlO1xuICBwdWJsaWMgZGlzcGxheU1vZGUgPSBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBmbGFnVHlwZUhlYWRlclRleHQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwID0gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXA7XG4gIHB1YmxpYyBpczJQb2ludDFFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBleHRlcm5hbFVzZXJVcGRhdGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJweFRyYW5zbGF0aW9uU2VydmljZTogUnB4VHJhbnNsYXRpb25TZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmxhZ0ZvclN1bW1hcnlEaXNwbGF5KSB7XG4gICAgICBjb25zdCBmbGFnRGV0YWlsID0gdGhpcy5mbGFnRm9yU3VtbWFyeURpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICAgIHRoaXMuZmxhZ0Rlc2NyaXB0aW9uID0gdGhpcy5nZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbCk7XG4gICAgICB0aGlzLmZsYWdEZXNjcmlwdGlvbldlbHNoID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHMgPSBmbGFnRGV0YWlsLmZsYWdDb21tZW50O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNXZWxzaCA9IGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3k7XG4gICAgICAvLyBGbGFnIHVwZGF0ZSBjb21tZW50cyB3aWxsIGJlIGNvbWluZyBmcm9tIHRoZSBmbGFnU3RhdHVzUmVhc29uQ2hhbmdlIHByb3BlcnR5IGluc3RlYWQgb2YgZmxhZ1VwZGF0ZUNvbW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgaGF2ZW4ndCBiZWVuIHBlcnNpc3RlZCB5ZXRcbiAgICAgIHRoaXMuZmxhZ1VwZGF0ZUNvbW1lbnRzID0gZmxhZ0RldGFpbFsnZmxhZ1N0YXR1c1JlYXNvbkNoYW5nZSddO1xuICAgICAgdGhpcy5mbGFnU3RhdHVzID0gZmxhZ0RldGFpbC5zdGF0dXM7XG4gICAgICB0aGlzLmFkZFVwZGF0ZUZsYWdIZWFkZXJUZXh0ID0gdGhpcy5nZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5mbGFnVHlwZUhlYWRlclRleHQgPSB0aGlzLmdldEZsYWdUeXBlSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID0gdGhpcy5nZXRTdW1tYXJ5TGlzdERpc3BsYXlNb2RlKCk7XG4gICAgICB0aGlzLmlzMlBvaW50MUVuYWJsZWQgPSB0aGlzLmdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTtcbiAgICAgIHRoaXMuZXh0ZXJuYWxVc2VyVXBkYXRlID0gdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgbGV0IGZsYWdOYW1lOiBzdHJpbmc7XG4gICAgbGV0IHN1YlR5cGVWYWx1ZTogc3RyaW5nO1xuICAgIGlmICh0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSA9PT0gJ2N5Jykge1xuICAgICAgZmxhZ05hbWUgPSBmbGFnRGV0YWlsLm5hbWVfY3kgfHwgZmxhZ0RldGFpbC5uYW1lO1xuICAgICAgc3ViVHlwZVZhbHVlID0gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWVfY3kgfHwgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWdOYW1lID0gZmxhZ0RldGFpbC5uYW1lIHx8IGZsYWdEZXRhaWwubmFtZV9jeTtcbiAgICAgIHN1YlR5cGVWYWx1ZSA9IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlIHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5O1xuICAgIH1cbiAgICAvLyBUaGUgb3RoZXJEZXNjcmlwdGlvbiBmaWVsZCBzaG91bGQgYmUgc2hvd24gdmVyYmF0aW07IG90aGVyRGVzY3JpcHRpb24gZm9yIFdlbHNoIGlzIHNob3duIHNlcGFyYXRlbHlcbiAgICBjb25zdCBvdGhlckRlc2NyaXB0aW9uID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uID8gYCAtICR7ZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9ufWAgOiAnJztcbiAgICBjb25zdCBzdWJUeXBlVmFsdWVGb3JEaXNwbGF5ID0gc3ViVHlwZVZhbHVlID8gYCAtICR7c3ViVHlwZVZhbHVlfWAgOiAnJztcbiAgICByZXR1cm4gYCR7ZmxhZ05hbWV9JHtvdGhlckRlc2NyaXB0aW9ufSR7c3ViVHlwZVZhbHVlRm9yRGlzcGxheX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCh0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyKSB7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVF9FWFRFUk5BTDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUX0VYVEVSTkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLk5PTkU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnVHlwZUhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2godGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcikge1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuRkxBR19UWVBFX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV9FWFRFUk5BTDpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5GTEFHX1RZUEVfSEVBREVSX1RFWFRfRVhURVJOQUw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuTk9ORTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN1bW1hcnlMaXN0RGlzcGxheU1vZGUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEUgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUwgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xKSB7XG4gICAgICByZXR1cm4gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlLkNSRUFURTtcbiAgICB9XG4gICAgcmV0dXJuIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZS5NQU5BR0U7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMSB8fFxuICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xO1xuICB9XG59XG4iLCI8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RcIiAqbmdJZj1cImZsYWdGb3JTdW1tYXJ5RGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3thZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdGb3JTdW1tYXJ5RGlzcGxheS5wYXJ0eU5hbWUgfHwgY2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQ0FTRV9MRVZFTF9MT0NBVElPTiB9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiI1wiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyA6IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0xPQ0FUSU9OKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3sncGFydHkgbmFtZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7ZmxhZ1R5cGVIZWFkZXJUZXh0IHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZmxhZ0Rlc2NyaXB0aW9ufX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cIiNcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J2ZsYWcgdHlwZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnRGVzY3JpcHRpb25XZWxzaD8ubGVuZ3RoID4gMCAmJiAhZXh0ZXJuYWxVc2VyVXBkYXRlXCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7J090aGVyIGRlc2NyaXB0aW9uIChXZWxzaCknIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZmxhZ0Rlc2NyaXB0aW9uV2Vsc2h9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiI1wiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04gOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snb3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnQ29tbWVudHM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snQ29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZXh0ZXJuYWxVc2VyVXBkYXRlID8gZmxhZ1VwZGF0ZUNvbW1lbnRzIDogZmxhZ0NvbW1lbnRzfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cIiNcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfQ09NTUVOVFMpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxuICAgICAgICB7eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX08c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPiB7eydjb21tZW50cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnQ29tbWVudHNXZWxzaD8ubGVuZ3RoID4gMCAmJiAhZXh0ZXJuYWxVc2VyVXBkYXRlXCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7J0NvbW1lbnRzIChXZWxzaCknIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZmxhZ0NvbW1lbnRzV2Vsc2h9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiI1wiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04gOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUyk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J2NvbW1lbnRzIChXZWxzaCknIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7eydTdGF0dXMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZmxhZ1N0YXR1cyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhICpuZ0lmPVwiaXMyUG9pbnQxRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCIjXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1VQREFURSA6IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1NUQVRVUyk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3N0YXR1cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbjwvZGw+XG4iXX0=
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jYXNlLWZsYWctc3VtbWFyeS1saXN0L2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXN1bW1hcnktbGlzdC9jYXNlLWZsYWctc3VtbWFyeS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUMvQixNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDc0JqQixBQURGLDhCQUFxRyxZQUMvRDtJQUNsQyxZQUNGOztJQUFBLGlCQUFLO0lBQ0wsNkJBQXNDO0lBQ3BDLFlBQ0Y7SUFBQSxpQkFBSztJQUVILEFBREYsNkJBQXdDLFdBRXFJO0lBQXpLLDBMQUFTLDRMQUE4SixLQUFDO0lBQ3hLLFlBQTJCOztJQUFBLGdDQUFvQztJQUFDLGFBQThDOztJQUdwSCxBQURFLEFBREUsQUFEZ0gsaUJBQU8sRUFDbkgsRUFDRCxFQUNEOzs7SUFYRixlQUNGO0lBREUsa0ZBQ0Y7SUFF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Q0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxNQUFNO1lBQ3ZFLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxlQUFlO1lBQ2hGLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RGLE9BQU8sOEJBQThCLENBQUMsTUFBTSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRU8sd0NBQXdDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGdCQUFnQjtZQUN0RixJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZ0JBQWdCLENBQUM7SUFDdEYsQ0FBQztzSEF2R1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUNkekMsNkVBQTZEOztZQUE3QixnREFBMkI7OztpRkRjOUMsNEJBQTRCO2NBSnhDLFNBQVM7MkJBQ0UsNEJBQTRCO3NEQUl0QixxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVSx1QkFBdUI7a0JBQXRDLEtBQUs7WUFDVyxtQkFBbUI7a0JBQW5DLE1BQU07O2tGQUhJLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXkgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAsXG4gIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIsXG4gIENhc2VGbGFnRmllbGRTdGF0ZSxcbiAgQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlXG59IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmxhZy1zdW1tYXJ5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZsYWdTdW1tYXJ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnRm9yU3VtbWFyeURpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5O1xuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXI6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VCdXR0b25FbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIGZsYWdEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnU3RhdHVzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb246IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ1VwZGF0ZUNvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBzdW1tYXJ5TGlzdERpc3BsYXlNb2RlOiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBhZGRVcGRhdGVGbGFnSGVhZGVyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUZsYWdGaWVsZFN0YXRlID0gQ2FzZUZsYWdGaWVsZFN0YXRlO1xuICBwdWJsaWMgZGlzcGxheU1vZGUgPSBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBmbGFnVHlwZUhlYWRlclRleHQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwID0gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXA7XG4gIHB1YmxpYyBpczJQb2ludDFFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBleHRlcm5hbFVzZXJVcGRhdGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJweFRyYW5zbGF0aW9uU2VydmljZTogUnB4VHJhbnNsYXRpb25TZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmxhZ0ZvclN1bW1hcnlEaXNwbGF5KSB7XG4gICAgICBjb25zdCBmbGFnRGV0YWlsID0gdGhpcy5mbGFnRm9yU3VtbWFyeURpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICAgIHRoaXMuZmxhZ0Rlc2NyaXB0aW9uID0gdGhpcy5nZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbCk7XG4gICAgICB0aGlzLmZsYWdEZXNjcmlwdGlvbldlbHNoID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHMgPSBmbGFnRGV0YWlsLmZsYWdDb21tZW50O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNXZWxzaCA9IGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3k7XG4gICAgICAvLyBGbGFnIHVwZGF0ZSBjb21tZW50cyB3aWxsIGJlIGNvbWluZyBmcm9tIHRoZSBmbGFnU3RhdHVzUmVhc29uQ2hhbmdlIHByb3BlcnR5IGluc3RlYWQgb2YgZmxhZ1VwZGF0ZUNvbW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgaGF2ZW4ndCBiZWVuIHBlcnNpc3RlZCB5ZXRcbiAgICAgIHRoaXMuZmxhZ1VwZGF0ZUNvbW1lbnRzID0gZmxhZ0RldGFpbFsnZmxhZ1N0YXR1c1JlYXNvbkNoYW5nZSddO1xuICAgICAgdGhpcy5mbGFnU3RhdHVzID0gZmxhZ0RldGFpbC5zdGF0dXM7XG4gICAgICB0aGlzLmFkZFVwZGF0ZUZsYWdIZWFkZXJUZXh0ID0gdGhpcy5nZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5mbGFnVHlwZUhlYWRlclRleHQgPSB0aGlzLmdldEZsYWdUeXBlSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID0gdGhpcy5nZXRTdW1tYXJ5TGlzdERpc3BsYXlNb2RlKCk7XG4gICAgICB0aGlzLmlzMlBvaW50MUVuYWJsZWQgPSB0aGlzLmdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTtcbiAgICAgIHRoaXMuZXh0ZXJuYWxVc2VyVXBkYXRlID0gdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgbGV0IGZsYWdOYW1lOiBzdHJpbmc7XG4gICAgbGV0IHN1YlR5cGVWYWx1ZTogc3RyaW5nO1xuICAgIGlmICh0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSA9PT0gJ2N5Jykge1xuICAgICAgZmxhZ05hbWUgPSBmbGFnRGV0YWlsLm5hbWVfY3kgfHwgZmxhZ0RldGFpbC5uYW1lO1xuICAgICAgc3ViVHlwZVZhbHVlID0gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWVfY3kgfHwgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWdOYW1lID0gZmxhZ0RldGFpbC5uYW1lIHx8IGZsYWdEZXRhaWwubmFtZV9jeTtcbiAgICAgIHN1YlR5cGVWYWx1ZSA9IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlIHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5O1xuICAgIH1cbiAgICAvLyBUaGUgb3RoZXJEZXNjcmlwdGlvbiBmaWVsZCBzaG91bGQgYmUgc2hvd24gdmVyYmF0aW07IG90aGVyRGVzY3JpcHRpb24gZm9yIFdlbHNoIGlzIHNob3duIHNlcGFyYXRlbHlcbiAgICBjb25zdCBvdGhlckRlc2NyaXB0aW9uID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uID8gYCAtICR7ZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9ufWAgOiAnJztcbiAgICBjb25zdCBzdWJUeXBlVmFsdWVGb3JEaXNwbGF5ID0gc3ViVHlwZVZhbHVlID8gYCAtICR7c3ViVHlwZVZhbHVlfWAgOiAnJztcbiAgICByZXR1cm4gYCR7ZmxhZ05hbWV9JHtvdGhlckRlc2NyaXB0aW9ufSR7c3ViVHlwZVZhbHVlRm9yRGlzcGxheX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCh0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyKSB7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVF9FWFRFUk5BTDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUX0VYVEVSTkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLk5PTkU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnVHlwZUhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2godGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcikge1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuRkxBR19UWVBFX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV9FWFRFUk5BTDpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5GTEFHX1RZUEVfSEVBREVSX1RFWFRfRVhURVJOQUw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuTk9ORTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN1bW1hcnlMaXN0RGlzcGxheU1vZGUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEUgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUwgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xKSB7XG4gICAgICByZXR1cm4gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlLkNSRUFURTtcbiAgICB9XG4gICAgcmV0dXJuIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZS5NQU5BR0U7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMSB8fFxuICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xO1xuICB9XG59XG4iLCI8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RcIiAqbmdJZj1cImZsYWdGb3JTdW1tYXJ5RGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3thZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdGb3JTdW1tYXJ5RGlzcGxheS5wYXJ0eU5hbWUgfHwgY2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQ0FTRV9MRVZFTF9MT0NBVElPTiB9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTE9DQVRJT04pXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3BhcnR5IG5hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7e2ZsYWdUeXBlSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdEZXNjcmlwdGlvbn19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snZmxhZyB0eXBlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIiAqbmdJZj1cImZsYWdEZXNjcmlwdGlvbldlbHNoPy5sZW5ndGggPiAwICYmICFleHRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snT3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnRGVzY3JpcHRpb25XZWxzaH19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFX1dFTFNIX1RSQU5TTEFUSU9OIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snb3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnQ29tbWVudHM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snQ29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZXh0ZXJuYWxVc2VyVXBkYXRlID8gZmxhZ1VwZGF0ZUNvbW1lbnRzIDogZmxhZ0NvbW1lbnRzfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiICpuZ0lmPVwiZmxhZ0NvbW1lbnRzV2Vsc2g/Lmxlbmd0aCA+IDAgJiYgIWV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7eydDb21tZW50cyAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdDb21tZW50c1dlbHNofX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04gOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMgKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7J1N0YXR1cycgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnU3RhdHVzIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgKm5nSWY9XCJpczJQb2ludDFFbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19TVEFUVVMpXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3N0YXR1cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbjwvZGw+XG4iXX0=