@hmcts/ccd-case-ui-toolkit 7.0.36-rc3 → 7.0.37-default-tab-fix

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 (30) hide show
  1. package/esm2020/lib/shared/components/case-editor/services/case-worker.service.mjs +3 -3
  2. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +8 -3
  3. package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +5 -3
  4. package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +1 -1
  5. package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +4 -2
  6. package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +4 -2
  7. package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +4 -4
  8. package/esm2020/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +4 -4
  9. package/esm2020/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +2 -2
  10. package/esm2020/lib/shared/components/search-result/search-result.component.mjs +2 -2
  11. package/esm2020/lib/shared/domain/definition/case-field.model.mjs +2 -4
  12. package/esm2020/lib/shared/services/form/field-type-sanitiser.mjs +2 -13
  13. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +30 -36
  14. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  15. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +30 -32
  16. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  17. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -0
  18. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  19. package/lib/shared/components/palette/address/write-address-field.component.d.ts +2 -1
  20. package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
  21. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +1 -0
  22. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  23. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -1
  24. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  25. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts +2 -1
  26. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts.map +1 -1
  27. package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
  28. package/lib/shared/services/form/field-type-sanitiser.d.ts +0 -1
  29. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  30. package/package.json +1 -1
@@ -143,7 +143,7 @@ export class WriteComplexFieldComponent extends AbstractFieldWriteComponent {
143
143
  }
144
144
  }
145
145
  WriteComplexFieldComponent.ɵfac = function WriteComplexFieldComponent_Factory(t) { return new (t || WriteComplexFieldComponent)(i0.ɵɵdirectiveInject(i1.IsCompoundPipe), i0.ɵɵdirectiveInject(i2.FormValidatorsService)); };
146
- WriteComplexFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteComplexFieldComponent, selectors: [["ccd-write-complex-type-field"]], inputs: { caseFields: "caseFields", renderLabel: "renderLabel", ignoreMandatory: "ignoreMandatory" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 3, consts: [[1, "form-group", 3, "id"], ["class", "heading-h2", 4, "ngIf"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [1, "heading-h2"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "withLabel", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "withLabel"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock"]], template: function WriteComplexFieldComponent_Template(rf, ctx) { if (rf & 1) {
146
+ WriteComplexFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteComplexFieldComponent, selectors: [["ccd-write-complex-type-field"]], inputs: { caseFields: "caseFields", formGroup: "formGroup", renderLabel: "renderLabel", ignoreMandatory: "ignoreMandatory" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 3, consts: [[1, "form-group", 3, "id"], ["class", "heading-h2", 4, "ngIf"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [1, "heading-h2"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "withLabel", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "withLabel"], ["ccdLabelSubstitutor", "", 3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock"]], template: function WriteComplexFieldComponent_Template(rf, ctx) { if (rf & 1) {
147
147
  i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
148
148
  i0.ɵɵtemplate(3, WriteComplexFieldComponent_h2_3_Template, 3, 3, "h2", 1);
149
149
  i0.ɵɵelementEnd();
@@ -161,9 +161,11 @@ WriteComplexFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
161
161
  args: [{ selector: 'ccd-write-complex-type-field', template: "<div class=\"form-group\" [id]=\"id()\">\n <fieldset>\n <legend><h2 *ngIf=\"renderLabel\" class=\"heading-h2\">{{(caseField | ccdFieldLabel)}}</h2></legend>\n <ng-container [ngSwitch]=\"field | ccdIsReadOnly\" *ngFor=\"let field of complexFields\">\n <ccd-field-read *ngSwitchCase=\"true\"\n ccdLabelSubstitutor\n [caseField]=\"buildField(field)\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [withLabel]=\"true\">\n </ccd-field-read>\n <ccd-field-write *ngSwitchCase=\"false\"\n ccdLabelSubstitutor\n [caseField]=\"field\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [parent]=\"complexGroup\"\n [idPrefix]=\"buildIdPrefix(field)\"\n [hidden]=\"field.hidden\"\n [isExpanded]=\"isExpanded\"\n [isInSearchBlock]=\"isInSearchBlock\">\n </ccd-field-write>\n </ng-container>\n </fieldset>\n</div>\n", styles: [".complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}\n"] }]
162
162
  }], function () { return [{ type: i1.IsCompoundPipe }, { type: i2.FormValidatorsService }]; }, { caseFields: [{
163
163
  type: Input
164
+ }], formGroup: [{
165
+ type: Input
164
166
  }], renderLabel: [{
165
167
  type: Input
166
168
  }], ignoreMandatory: [{
167
169
  type: Input
168
170
  }] }); })();
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3dyaXRlLWNvbXBsZXgtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC93cml0ZS1jb21wbGV4LWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztJQ1QvQyw2QkFBMkM7SUFBQSxZQUErQjs7SUFBQSxpQkFBSzs7O0lBQXBDLGVBQStCO0lBQS9CLDREQUErQjs7O0lBRWhGLG9DQU1pQjs7OztJ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Y0FMdEMsU0FBUzsyQkFDRSw4QkFBOEI7cUdBTWpDLFVBQVU7a0JBRGhCLEtBQUs7WUFNQyxXQUFXO2tCQURqQixLQUFLO1lBSUMsZUFBZTtrQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzRnJvbUV4aXN0IH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNGaWx0ZXJQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvY29tcGxleC9maWVsZHMtZmlsdGVyLnBpcGUnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXNDb21wb3VuZFBpcGUgfSBmcm9tICcuLi91dGlscy9pcy1jb21wb3VuZC5waXBlJztcblxuY29uc3QgQUREUkVTU19GSUVMRF9UWVBFUyA9IFsnQWRkcmVzc1VLJywgJ0FkZHJlc3NHbG9iYWxVSycsICdBZGRyZXNzR2xvYmFsJ107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1jb21wbGV4LXR5cGUtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtY29tcGxleC1maWVsZC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuXG4gIHB1YmxpYyBjb21wbGV4R3JvdXA6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVuZGVyTGFiZWwgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZ25vcmVNYW5kYXRvcnkgPSBmYWxzZTtcblxuICBwdWJsaWMgY29tcGxleEZpZWxkczogQ2FzZUZpZWxkW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpc0NvbXBvdW5kUGlwZTogSXNDb21wb3VuZFBpcGUsIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbGlkYXRvcnNTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29tcGxleEdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQXJlIHdlIGluc2lkZSBvZiBhIGNvbGxlY3Rpb24/IElmIHNvLCB0aGUgcGFyZW50IGlzIHRoZSBjb21wbGV4R3JvdXAgd2Ugd2FudC5cbiAgICBpZiAodGhpcy5pc1RvcExldmVsV2l0aGluQ29sbGVjdGlvbigpKSB7XG4gICAgICB0aGlzLmNvbXBsZXhHcm91cCA9IHRoaXMucGFyZW50IGFzIEZvcm1Hcm91cDtcbiAgICAgIEZpZWxkc1V0aWxzLmFkZENhc2VGaWVsZEFuZENvbXBvbmVudFJlZmVyZW5jZXModGhpcy5jb21wbGV4R3JvdXAsIHRoaXMuY2FzZUZpZWxkLCB0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbCh0aGlzLmNvbXBsZXhHcm91cCwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICAgIH1cbiAgICAvLyBBZGQgdmFsaWRhdG9ycyBmb3IgdGhlIGNvbXBsZXggZmllbGQuXG4gICAgdGhpcy5mb3JtVmFsaWRhdG9yc1NlcnZpY2UuYWRkVmFsaWRhdG9ycyh0aGlzLmNhc2VGaWVsZCwgdGhpcy5jb21wbGV4R3JvdXApO1xuICAgIHRoaXMuc2V0dXBGaWVsZHMoKTtcbiAgICB0aGlzLmNvbXBsZXhHcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkRmllbGQoY2FzZUZpZWxkOiBDYXNlRmllbGQpOiBDYXNlRmllbGQge1xuICAgIGxldCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmNvbXBsZXhHcm91cC5nZXQoY2FzZUZpZWxkLmlkKTtcbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woY2FzZUZpZWxkLnZhbHVlKTtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwLmFkZENvbnRyb2woY2FzZUZpZWxkLmlkLCBjb250cm9sKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdmFsaWRhdG9ycyBmb3IgYWRkcmVzc2VzLCBpZiBhcHByb3ByaWF0ZS5cbiAgICBpZiAodGhpcy5pc0FkZHJlc3NVSygpKSB7XG4gICAgICBpZiAodGhpcy5hZGRyZXNzVmFsaWRhdG9yc1JlcXVpcmVkKGNhc2VGaWVsZCkpIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsaWRhdG9yc1NlcnZpY2UuYWRkVmFsaWRhdG9ycyhjYXNlRmllbGQsIGNvbnRyb2wpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJdCdzIG5vdCBhbiBhZGRyZXNzIHNvIHNldCBpdCB1cCBhY2NvcmRpbmcgdG8gaXRzIG93biBkaXNwbGF5X2NvbnRleHQuXG4gICAgICB0aGlzLmZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKGNhc2VGaWVsZCwgY29udHJvbCk7XG4gICAgfVxuXG4gICAgLy8gRm9yIEFkZHJlc3MtdHlwZSBmaWVsZHMsIGVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpc1xuICAgIC8vIHBhcmVudDsgYWx0aG91Z2ggYWRkcmVzcyBmaWVsZHMgdXNlIHRoZSBDb21wbGV4IHR5cGUsIGVhY2ggb2YgdGhlbSBpcyBtZWFudCB0byBiZSB0cmVhdGVkIGFzIG9uZSBmaWVsZFxuICAgIGlmICh0aGlzLmlzQWRkcmVzc1VLKCkgJiYgdGhpcy5jYXNlRmllbGQpIHtcbiAgICAgIGZvciAoY29uc3QgYWRkcmVzc1N1YkZpZWxkIG9mIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgICAgYWRkcmVzc1N1YkZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWUgPSB0aGlzLmNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEZpZWxkc1V0aWxzLmFkZENhc2VGaWVsZEFuZENvbXBvbmVudFJlZmVyZW5jZXMoY29udHJvbCwgY2FzZUZpZWxkLCB0aGlzKTtcbiAgICByZXR1cm4gY2FzZUZpZWxkO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkSWRQcmVmaXgoZmllbGQ6IENhc2VGaWVsZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNDb21wb3VuZFBpcGUudHJhbnNmb3JtKGZpZWxkKSA/IGAke3RoaXMuaWRQcmVmaXh9JHtmaWVsZC5pZH1fYCA6IGAke3RoaXMuaWRQcmVmaXh9YDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkcmVzc1ZhbGlkYXRvcnNSZXF1aXJlZChjYXNlRmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU21hbGxBZGRyZXNzTGluZTEoY2FzZUZpZWxkKSAmJiB0aGlzLmlzTWFuZGF0b3J5KGNhc2VGaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIGlzU21hbGxBZGRyZXNzTGluZTEoY2FzZUZpZWxkOiBDYXNlRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2FzZUZpZWxkLmlkID09PSAnQWRkcmVzc0xpbmUxJyAmJiBjYXNlRmllbGQuZmllbGRfdHlwZS5pZCA9PT0gJ1RleHRNYXgxNTAnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc01hbmRhdG9yeShjYXNlRmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoQ29uc3RhbnRzLk1BTkRBVE9SWSA9PT0gY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCB8fCAhdGhpcy5pZ25vcmVNYW5kYXRvcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FkZHJlc3NVSygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQUREUkVTU19GSUVMRF9UWVBFUy5pbmRleE9mKHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuaWQpID4gLTE7XG4gIH1cblxuICBwcml2YXRlIGlzVG9wTGV2ZWxXaXRoaW5Db2xsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgY29uc3QgcGFyZW50Q2FzZUZpZWxkOiBDYXNlRmllbGQgPSB0aGlzLnBhcmVudFsnY2FzZUZpZWxkJ107XG4gICAgICBpZiAocGFyZW50Q2FzZUZpZWxkICYmIHBhcmVudENhc2VGaWVsZC5pZCA9PT0gdGhpcy5jYXNlRmllbGQuaWQpIHtcbiAgICAgICAgY29uc3QgcGFyZW50Q29tcG9uZW50ID0gdGhpcy5wYXJlbnRbJ2NvbXBvbmVudCddIGFzIEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50O1xuICAgICAgICBpZiAocGFyZW50Q29tcG9uZW50KSB7XG4gICAgICAgICAgY29uc3QgcGFyZW50Q29tcG9uZW50Q2FzZUZpZWxkID0gcGFyZW50Q29tcG9uZW50LmNhc2VGaWVsZDtcbiAgICAgICAgICBpZiAocGFyZW50Q29tcG9uZW50Q2FzZUZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnRDb21wb25lbnRDYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29sbGVjdGlvbic7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgZmllbGRzRmlsdGVyUGlwZTogRmllbGRzRmlsdGVyUGlwZSA9IG5ldyBGaWVsZHNGaWx0ZXJQaXBlKCk7XG4gICAgdGhpcy5jb21wbGV4RmllbGRzID0gZmllbGRzRmlsdGVyUGlwZS50cmFuc2Zvcm0odGhpcy5jYXNlRmllbGQsIHRydWUpLm1hcChmaWVsZCA9PiB7XG4gICAgICBpZiAoZmllbGQgJiYgZmllbGQuaWQpIHtcbiAgICAgICAgaWYgKCEoZmllbGQgaW5zdGFuY2VvZiBDYXNlRmllbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRGaWVsZChwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCBmaWVsZCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5idWlsZEZpZWxkKGZpZWxkKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbaWRdPVwiaWQoKVwiPlxuICA8ZmllbGRzZXQ+XG4gICAgPGxlZ2VuZD48aDIgKm5nSWY9XCJyZW5kZXJMYWJlbFwiIGNsYXNzPVwiaGVhZGluZy1oMlwiPnt7KGNhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwpfX08L2gyPjwvbGVnZW5kPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkIHwgY2NkSXNSZWFkT25seVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb21wbGV4RmllbGRzXCI+XG4gICAgICA8Y2NkLWZpZWxkLXJlYWQgKm5nU3dpdGNoQ2FzZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImJ1aWxkRmllbGQoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3dpdGhMYWJlbF09XCJ0cnVlXCI+XG4gICAgICA8L2NjZC1maWVsZC1yZWFkPlxuICAgICAgPGNjZC1maWVsZC13cml0ZSAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICBjY2RMYWJlbFN1YnN0aXR1dG9yXG4gICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XT1cImNvbXBsZXhHcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpZFByZWZpeF09XCJidWlsZElkUHJlZml4KGZpZWxkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpc0luU2VhcmNoQmxvY2tdPVwiaXNJblNlYXJjaEJsb2NrXCI+XG4gICAgICA8L2NjZC1maWVsZC13cml0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9maWVsZHNldD5cbjwvZGl2PlxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3dyaXRlLWNvbXBsZXgtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC93cml0ZS1jb21wbGV4LWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztJQ1QvQyw2QkFBMkM7SUFBQSxZQUErQjs7SUFBQSxpQkFBSzs7O0lBQXBDLGVBQStCO0lBQS9CLDREQUErQjs7O0lBRWhGLG9DQU1pQjs7OztJ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O2NBTHRDLFNBQVM7MkJBQ0UsOEJBQThCO3FHQU1qQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBTUMsV0FBVztrQkFEakIsS0FBSztZQUlDLGVBQWU7a0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzRmlsdGVyUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2NvbXBsZXgvZmllbGRzLWZpbHRlci5waXBlJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmllbGRzL2ZpZWxkcy51dGlscyc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtL2Zvcm0tdmFsaWRhdG9ycy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IElzQ29tcG91bmRQaXBlIH0gZnJvbSAnLi4vdXRpbHMvaXMtY29tcG91bmQucGlwZSc7XG5cbmNvbnN0IEFERFJFU1NfRklFTERfVFlQRVMgPSBbJ0FkZHJlc3NVSycsICdBZGRyZXNzR2xvYmFsVUsnLCAnQWRkcmVzc0dsb2JhbCddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtY29tcGxleC10eXBlLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWNvbXBsZXgtZmllbGQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlYWQtY29tcGxleC1maWVsZC10YWJsZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIGNvbXBsZXhHcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZW5kZXJMYWJlbCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlnbm9yZU1hbmRhdG9yeSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb21wbGV4RmllbGRzOiBDYXNlRmllbGRbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGlzQ29tcG91bmRQaXBlOiBJc0NvbXBvdW5kUGlwZSwgcHJpdmF0ZSByZWFkb25seSBmb3JtVmFsaWRhdG9yc1NlcnZpY2U6IEZvcm1WYWxpZGF0b3JzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBBcmUgd2UgaW5zaWRlIG9mIGEgY29sbGVjdGlvbj8gSWYgc28sIHRoZSBwYXJlbnQgaXMgdGhlIGNvbXBsZXhHcm91cCB3ZSB3YW50LlxuICAgIGlmICh0aGlzLmlzVG9wTGV2ZWxXaXRoaW5Db2xsZWN0aW9uKCkpIHtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwID0gdGhpcy5wYXJlbnQgYXMgRm9ybUdyb3VwO1xuICAgICAgRmllbGRzVXRpbHMuYWRkQ2FzZUZpZWxkQW5kQ29tcG9uZW50UmVmZXJlbmNlcyh0aGlzLmNvbXBsZXhHcm91cCwgdGhpcy5jYXNlRmllbGQsIHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbXBsZXhHcm91cCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKHRoaXMuY29tcGxleEdyb3VwLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICAgIC8vIEFkZCB2YWxpZGF0b3JzIGZvciB0aGUgY29tcGxleCBmaWVsZC5cbiAgICB0aGlzLmZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKHRoaXMuY2FzZUZpZWxkLCB0aGlzLmNvbXBsZXhHcm91cCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkcygpO1xuICAgIHRoaXMuY29tcGxleEdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRGaWVsZChjYXNlRmllbGQ6IENhc2VGaWVsZCk6IENhc2VGaWVsZCB7XG4gICAgbGV0IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuY29tcGxleEdyb3VwLmdldChjYXNlRmllbGQuaWQpO1xuICAgIGlmICghY29udHJvbCkge1xuICAgICAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChjYXNlRmllbGQudmFsdWUpO1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAuYWRkQ29udHJvbChjYXNlRmllbGQuaWQsIGNvbnRyb2wpO1xuICAgIH1cblxuICAgIC8vIEFkZCB2YWxpZGF0b3JzIGZvciBhZGRyZXNzZXMsIGlmIGFwcHJvcHJpYXRlLlxuICAgIGlmICh0aGlzLmlzQWRkcmVzc1VLKCkpIHtcbiAgICAgIGlmICh0aGlzLmFkZHJlc3NWYWxpZGF0b3JzUmVxdWlyZWQoY2FzZUZpZWxkKSkge1xuICAgICAgICB0aGlzLmZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKGNhc2VGaWVsZCwgY29udHJvbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEl0J3Mgbm90IGFuIGFkZHJlc3Mgc28gc2V0IGl0IHVwIGFjY29yZGluZyB0byBpdHMgb3duIGRpc3BsYXlfY29udGV4dC5cbiAgICAgIHRoaXMuZm9ybVZhbGlkYXRvcnNTZXJ2aWNlLmFkZFZhbGlkYXRvcnMoY2FzZUZpZWxkLCBjb250cm9sKTtcbiAgICB9XG5cbiAgICAvLyBGb3IgQWRkcmVzcy10eXBlIGZpZWxkcywgZW5zdXJlIHRoYXQgYWxsIHN1Yi1maWVsZHMgaW5oZXJpdCB0aGUgc2FtZSB2YWx1ZSBmb3IgcmV0YWluX2hpZGRlbl92YWx1ZSBhcyB0aGlzXG4gICAgLy8gcGFyZW50OyBhbHRob3VnaCBhZGRyZXNzIGZpZWxkcyB1c2UgdGhlIENvbXBsZXggdHlwZSwgZWFjaCBvZiB0aGVtIGlzIG1lYW50IHRvIGJlIHRyZWF0ZWQgYXMgb25lIGZpZWxkXG4gICAgaWYgKHRoaXMuaXNBZGRyZXNzVUsoKSAmJiB0aGlzLmNhc2VGaWVsZCkge1xuICAgICAgZm9yIChjb25zdCBhZGRyZXNzU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBhZGRyZXNzU3ViRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgRmllbGRzVXRpbHMuYWRkQ2FzZUZpZWxkQW5kQ29tcG9uZW50UmVmZXJlbmNlcyhjb250cm9sLCBjYXNlRmllbGQsIHRoaXMpO1xuICAgIHJldHVybiBjYXNlRmllbGQ7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRJZFByZWZpeChmaWVsZDogQ2FzZUZpZWxkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbXBvdW5kUGlwZS50cmFuc2Zvcm0oZmllbGQpID8gYCR7dGhpcy5pZFByZWZpeH0ke2ZpZWxkLmlkfV9gIDogYCR7dGhpcy5pZFByZWZpeH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRyZXNzVmFsaWRhdG9yc1JlcXVpcmVkKGNhc2VGaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTbWFsbEFkZHJlc3NMaW5lMShjYXNlRmllbGQpICYmIHRoaXMuaXNNYW5kYXRvcnkoY2FzZUZpZWxkKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTbWFsbEFkZHJlc3NMaW5lMShjYXNlRmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjYXNlRmllbGQuaWQgPT09ICdBZGRyZXNzTGluZTEnICYmIGNhc2VGaWVsZC5maWVsZF90eXBlLmlkID09PSAnVGV4dE1heDE1MCc7XG4gIH1cblxuICBwcml2YXRlIGlzTWFuZGF0b3J5KGNhc2VGaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChDb25zdGFudHMuTUFOREFUT1JZID09PSBjYXNlRmllbGQuZGlzcGxheV9jb250ZXh0IHx8ICF0aGlzLmlnbm9yZU1hbmRhdG9yeSk7XG4gIH1cblxuICBwcml2YXRlIGlzQWRkcmVzc1VLKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBRERSRVNTX0ZJRUxEX1RZUEVTLmluZGV4T2YodGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5pZCkgPiAtMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNUb3BMZXZlbFdpdGhpbkNvbGxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnRDYXNlRmllbGQ6IENhc2VGaWVsZCA9IHRoaXMucGFyZW50WydjYXNlRmllbGQnXTtcbiAgICAgIGlmIChwYXJlbnRDYXNlRmllbGQgJiYgcGFyZW50Q2FzZUZpZWxkLmlkID09PSB0aGlzLmNhc2VGaWVsZC5pZCkge1xuICAgICAgICBjb25zdCBwYXJlbnRDb21wb25lbnQgPSB0aGlzLnBhcmVudFsnY29tcG9uZW50J10gYXMgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQ7XG4gICAgICAgIGlmIChwYXJlbnRDb21wb25lbnQpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnRDb21wb25lbnRDYXNlRmllbGQgPSBwYXJlbnRDb21wb25lbnQuY2FzZUZpZWxkO1xuICAgICAgICAgIGlmIChwYXJlbnRDb21wb25lbnRDYXNlRmllbGQuZmllbGRfdHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudENvbXBvbmVudENhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZHNGaWx0ZXJQaXBlOiBGaWVsZHNGaWx0ZXJQaXBlID0gbmV3IEZpZWxkc0ZpbHRlclBpcGUoKTtcbiAgICB0aGlzLmNvbXBsZXhGaWVsZHMgPSBmaWVsZHNGaWx0ZXJQaXBlLnRyYW5zZm9ybSh0aGlzLmNhc2VGaWVsZCwgdHJ1ZSkubWFwKGZpZWxkID0+IHtcbiAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC5pZCkge1xuICAgICAgICBpZiAoIShmaWVsZCBpbnN0YW5jZW9mIENhc2VGaWVsZCkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5idWlsZEZpZWxkKHBsYWluVG9DbGFzc0Zyb21FeGlzdChuZXcgQ2FzZUZpZWxkKCksIGZpZWxkKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkRmllbGQoZmllbGQpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtpZF09XCJpZCgpXCI+XG4gIDxmaWVsZHNldD5cbiAgICA8bGVnZW5kPjxoMiAqbmdJZj1cInJlbmRlckxhYmVsXCIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+e3soY2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbCl9fTwvaDI+PC9sZWdlbmQ+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmllbGQgfCBjY2RJc1JlYWRPbmx5XCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGNvbXBsZXhGaWVsZHNcIj5cbiAgICAgIDxjY2QtZmllbGQtcmVhZCAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2NkTGFiZWxTdWJzdGl0dXRvclxuICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiYnVpbGRGaWVsZChmaWVsZClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRzXT1cImNhc2VGaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbd2l0aExhYmVsXT1cInRydWVcIj5cbiAgICAgIDwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICA8Y2NkLWZpZWxkLXdyaXRlICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRzXT1cImNhc2VGaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdPVwiY29tcGxleEdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2lkUHJlZml4XT1cImJ1aWxkSWRQcmVmaXgoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJmaWVsZC5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICBbaXNFeHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2lzSW5TZWFyY2hCbG9ja109XCJpc0luU2VhcmNoQmxvY2tcIj5cbiAgICAgIDwvY2NkLWZpZWxkLXdyaXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
@@ -352,7 +352,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
352
352
  } if (rf & 2) {
353
353
  let _t;
354
354
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t.first);
355
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 20, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], [1, "form-label"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [3, "caseField", 4, "ngIf"], [2, "position", "relative"], [3, "id", "click", "keyUp"], ["type", "file", 1, "form-control", "bottom-30", 3, "id", "accept", "keydown.Tab", "change"], ["fileInput", ""], [1, "form-group", "bottom-30"], ["type", "button", "aria-label", "Cancel upload", 1, "button", "button-secondary", 3, "disabled", "click"], [1, "form-hint"], [1, "error-message"], [3, "caseField"]], template: function WriteDocumentFieldComponent_Template(rf, ctx) { if (rf & 1) {
355
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 20, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], [1, "form-label"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [3, "caseField", 4, "ngIf"], [2, "position", "relative"], [3, "id", "click", "keyup"], ["type", "file", 1, "form-control", "bottom-30", 3, "id", "accept", "keydown.Tab", "change"], ["fileInput", ""], [1, "form-group", "bottom-30"], ["type", "button", "aria-label", "Cancel upload", 1, "button", "button-secondary", 3, "disabled", "click"], [1, "form-hint"], [1, "error-message"], [3, "caseField"]], template: function WriteDocumentFieldComponent_Template(rf, ctx) { if (rf & 1) {
356
356
  i0.ɵɵelementStart(0, "div", 0)(1, "label", 1)(2, "span", 2);
357
357
  i0.ɵɵpipe(3, "ccdFieldLabel");
358
358
  i0.ɵɵtext(4);
@@ -364,7 +364,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
364
364
  i0.ɵɵtemplate(9, WriteDocumentFieldComponent_ccd_read_document_field_9_Template, 1, 1, "ccd-read-document-field", 5);
365
365
  i0.ɵɵelementEnd();
366
366
  i0.ɵɵelementStart(10, "div", 6)(11, "div", 7);
367
- i0.ɵɵlistener("click", function WriteDocumentFieldComponent_Template_div_click_11_listener() { return ctx.fileSelectEvent(); })("keyUp", function WriteDocumentFieldComponent_Template_div_keyUp_11_listener() { return ctx.fileSelectEvent(); });
367
+ i0.ɵɵlistener("click", function WriteDocumentFieldComponent_Template_div_click_11_listener() { return ctx.fileSelectEvent(); })("keyup", function WriteDocumentFieldComponent_Template_div_keyup_11_listener() { return ctx.fileSelectEvent(); });
368
368
  i0.ɵɵelementEnd();
369
369
  i0.ɵɵelementStart(12, "input", 8, 9);
370
370
  i0.ɵɵlistener("keydown.Tab", function WriteDocumentFieldComponent_Template_input_keydown_Tab_12_listener() { return ctx.fileValidationsOnTab(); })("change", function WriteDocumentFieldComponent_Template_input_change_12_listener($event) { return ctx.fileChangeEvent($event); });
@@ -400,9 +400,9 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
400
400
  } }, encapsulation: 2 });
401
401
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDocumentFieldComponent, [{
402
402
  type: Component,
403
- args: [{ selector: 'ccd-write-document-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error bottom-30': !valid}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" attr.aria-label=\"{{caseField | ccdFieldLabel}}\">{{(caseField | ccdFieldLabel)}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"fileUploadMessages && !valid\">{{fileUploadMessages | rpxTranslate}}</span>\n\n <div>\n <!--<span *ngIf=\"getUploadedFileName()\" class=\"text-16\">File name: {{getUploadedFileName()}}</span>-->\n <ccd-read-document-field *ngIf=\"caseField\" [caseField]=\"caseField\"></ccd-read-document-field>\n </div>\n\n <div style='position:relative'>\n\n <div [id]=\"createElementId('fileInputWrapper')\" (click)=\"fileSelectEvent()\" (keyUp)=\"fileSelectEvent()\"></div>\n <input class=\"form-control bottom-30\" [id]=\"id()\" type=\"file\" (keydown.Tab)=\"fileValidationsOnTab()\" (change)=\"fileChangeEvent($event)\"\n accept=\"{{caseField.field_type.regular_expression}}\" #fileInput/>\n </div>\n</div>\n<div class=\"form-group bottom-30\">\n <button class=\"button button-secondary\" type=\"button\" aria-label=\"Cancel upload\" (click)=\"cancelUpload()\" [disabled]=\"!isUploadInProgress()\">{{'Cancel upload' | rpxTranslate}}</button>\n</div>\n" }]
403
+ args: [{ selector: 'ccd-write-document-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error bottom-30': !valid}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" attr.aria-label=\"{{caseField | ccdFieldLabel}}\">{{(caseField | ccdFieldLabel)}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"fileUploadMessages && !valid\">{{fileUploadMessages | rpxTranslate}}</span>\n\n <div>\n <!--<span *ngIf=\"getUploadedFileName()\" class=\"text-16\">File name: {{getUploadedFileName()}}</span>-->\n <ccd-read-document-field *ngIf=\"caseField\" [caseField]=\"caseField\"></ccd-read-document-field>\n </div>\n\n <div style='position:relative'>\n\n <div [id]=\"createElementId('fileInputWrapper')\" (click)=\"fileSelectEvent()\" (keyup)=\"fileSelectEvent()\"></div>\n <input class=\"form-control bottom-30\" [id]=\"id()\" type=\"file\" (keydown.Tab)=\"fileValidationsOnTab()\" (change)=\"fileChangeEvent($event)\"\n accept=\"{{caseField.field_type.regular_expression}}\" #fileInput/>\n </div>\n</div>\n<div class=\"form-group bottom-30\">\n <button class=\"button button-secondary\" type=\"button\" aria-label=\"Cancel upload\" (click)=\"cancelUpload()\" [disabled]=\"!isUploadInProgress()\">{{'Cancel upload' | rpxTranslate}}</button>\n</div>\n" }]
404
404
  }], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.CaseNotifier }, { type: i3.DocumentManagementService }, { type: i4.MatLegacyDialog }, { type: i5.FileUploadStateService }, { type: i6.JurisdictionService }]; }, { fileInput: [{
405
405
  type: ViewChild,
406
406
  args: ['fileInput', { static: false }]
407
407
  }] }); })();
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLElBQUksU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFBO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0Ys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RUgsb0hBQTZGO1FBQy9GLGlCQUFNO1FBRU4sK0JBQStCLGNBQUE7UUFFbUIsc0dBQVMscUJBQWlCLElBQUMseUZBQVUscUJBQWlCLElBQTNCO1FBQTZCLGlCQUFNO1FBQzlHLG9DQUN3RTtRQURWLG9IQUFlLDBCQUFzQixJQUFDLG1HQUFXLDJCQUF1QixJQUFsQztRQUFwRyxpQkFDd0UsRUFBQSxFQUFBO1FBRzVFLGdDQUFrQyxrQkFBQTtRQUNpRCx5R0FBUyxrQkFBYyxJQUFDO1FBQW9DLGFBQWtDOztRQUFBLGlCQUFTLEVBQUE7O1FBcEJsSyxpRUFBa0Q7UUFDakUsZUFBWTtRQUFaLDhCQUFZO1FBQ1EsZUFBK0M7UUFBL0Msa0VBQStDO1FBQUMsZUFBK0I7UUFBL0IsMERBQStCO1FBRWpGLGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNyQixlQUFrQztRQUFsQywyREFBa0M7UUFJbkMsZUFBZTtRQUFmLG9DQUFlO1FBS3BDLGVBQTBDO1FBQTFDLDREQUEwQztRQUV4QyxlQUFvRDtRQUFwRCwrRUFBb0Q7UUFEckIsNkJBQVc7UUFLdUQsZUFBa0M7UUFBbEMsb0RBQWtDO1FBQUMsZUFBa0M7UUFBbEMsNkRBQWtDOzt1RkRFcEssMkJBQTJCO2NBSnZDLFNBQVM7MkJBQ0UsMEJBQTBCOzRPQWNjLFNBQVM7a0JBQTFELFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcbmltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcvY2FzZS12aWV3Lm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50RGF0YSwgRm9ybURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RvY3VtZW50L2RvY3VtZW50LWRhdGEubW9kZWwnXG5pbXBvcnQgeyBIdHRwRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vaHR0cC9odHRwLWVycm9yLm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kb2N1bWVudC1tYW5hZ2VtZW50L2RvY3VtZW50LW1hbmFnZW1lbnQuc2VydmljZSdcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZS5ub3RpZmllcic7XG5pbXBvcnQgeyBEb2N1bWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvZG9jdW1lbnQtZGlhbG9nL2RvY3VtZW50LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgaW5pdERpYWxvZyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvaW5pdC1kaWFsb2ctaGVscGVyJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtZG9jdW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX1VSTCA9ICdkb2N1bWVudF91cmwnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX0JJTkFSWV9VUkwgPSAnZG9jdW1lbnRfYmluYXJ5X3VybCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfRklMRU5BTUUgPSAnZG9jdW1lbnRfZmlsZW5hbWUnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX0hBU0ggPSAnZG9jdW1lbnRfaGFzaCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVVBMT0FEX1RJTUVTVEFNUCA9ICd1cGxvYWRfdGltZXN0YW1wJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCA9ICdGaWxlIHJlcXVpcmVkJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfTk9UX0FWQUlMQUJMRSA9ICdEb2N1bWVudCB1cGxvYWQgZmFjaWxpdHkgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfV0FJVElOR19GSUxFX1NUQVRVUyA9ICdVcGxvYWRpbmcuLi4nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVSUk9SX1VQTE9BRElOR19GSUxFID0gJ0Vycm9yIFVwbG9hZGluZyBGaWxlJztcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcblxuICBwdWJsaWMgc2VsZWN0ZWRGaWxlOiBGaWxlO1xuICBwdWJsaWMgdmFsaWQgPSB0cnVlO1xuICBwdWJsaWMgZmlsZVVwbG9hZE1lc3NhZ2VzOiBzdHJpbmc7XG4gIHB1YmxpYyBjb25maXJtUmVwbGFjZVJlc3VsdDogc3RyaW5nO1xuICBwdWJsaWMgY2xpY2tJbnNpZGVUaGVEb2N1bWVudDogYm9vbGVhbjtcblxuICAvLyB0aGVzZSBhcmUgcHVibGljIHNvIHRoYXQgdGhleSBjYW4gYmUgbW9ja2VkIGZvciB0ZXN0c1xuICBwdWJsaWMgZmlsZVVwbG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgZGlhbG9nU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjYXNlTm90aWZpZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGp1cmlzZGljdGlvblN1YnM6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHVwbG9hZGVkRG9jdW1lbnQ6IEZvcm1Hcm91cDtcbiAgcHJpdmF0ZSBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZztcbiAgcHJpdmF0ZSBzZWN1cmVNb2RlT246IGJvb2xlYW47XG5cbiAgcHVibGljIGp1cmlzZGljdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlVHlwZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudE1hbmFnZW1lbnQ6IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsZVVwbG9hZFN0YXRlU2VydmljZTogRmlsZVVwbG9hZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWN1cmVNb2RlT24gPSB0aGlzLmFwcENvbmZpZy5nZXREb2N1bWVudFNlY3VyZU1vZGUoKTtcbiAgICBpZiAodGhpcy5zZWN1cmVNb2RlT24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9DYXNlRGV0YWlscygpO1xuICAgIH1cbiAgICB0aGlzLmRpYWxvZ0NvbmZpZyA9IGluaXREaWFsb2coKTtcbiAgICAvLyBFVUktMzQwMy4gVGhlIGZpZWxkIHdhcyBub3QgYmVpbmcgcmVnaXN0ZXJlZCB3aGVuIHRoZXJlIHdhcyBubyB2YWx1ZSBhbmQgdGhlIGZpZWxkXG4gICAgLy8gaXRzZWxmIHdhcyBub3QgbWFuZGF0b3J5LCB3aGljaCBtZWFudCB0aGF0IHNob3dfY29uZGl0aW9ucyB3b3VsZCBub3QgYmUgZXZhbHVhdGVkLlxuICAgIC8vIEkndmUgY2xlYW5lZCB1cCB0aGUgbG9naWMgYW5kIGl0J3Mgbm93IGFsd2F5cyByZWdpc3RlcmVkLlxuICAgIGxldCBkb2N1bWVudCA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlIHx8IHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCB9O1xuICAgIGRvY3VtZW50ID0gdGhpcy5zZWN1cmVNb2RlT24gJiYgIWRvY3VtZW50LmRvY3VtZW50X2hhc2ggPyB7IC4uLmRvY3VtZW50LCBkb2N1bWVudF9oYXNoOiBudWxsIH0gOiBkb2N1bWVudDtcbiAgICBpZiAodGhpcy5pc0FNYW5kYXRvcnlDb21wb25lbnQoKSkge1xuICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm1XaXRoVmFsaWRhdG9yKGRvY3VtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm0oZG9jdW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlhbG9nU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jYXNlTm90aWZpZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmp1cmlzZGljdGlvblN1YnMpIHtcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uU3Vicy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1VwbG9hZEluUHJvZ3Jlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5pc1VwbG9hZEluUHJvZ3Jlc3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxVcGxvYWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3MoZmFsc2UpO1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLnJlc2V0VXBsb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsZVZhbGlkYXRpb25zT25UYWIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIGlmICh0aGlzLnZhbGlkYXRlRm9ybVVwbG9hZGVkRG9jdW1lbnQoKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZUV2ZW50KGZpbGVJbnB1dDogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZmlsZUlucHV0LnRhcmdldC5maWxlc1swXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlSW5wdXQudGFyZ2V0LmZpbGVzWzBdO1xuICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfV0FJVElOR19GSUxFX1NUQVRVUyk7XG4gICAgICBjb25zdCBkb2N1bWVudFVwbG9hZDogRm9ybURhdGEgPSB0aGlzLmJ1aWxkRG9jdW1lbnRVcGxvYWREYXRhKHRoaXMuc2VsZWN0ZWRGaWxlKTtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKHRydWUpO1xuXG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50TWFuYWdlbWVudC51cGxvYWRGaWxlKGRvY3VtZW50VXBsb2FkKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzdWx0RG9jdW1lbnQ6IERvY3VtZW50RGF0YSkgPT4gdGhpcy5oYW5kbGVEb2N1bWVudFVwbG9hZFJlc3VsdChyZXN1bHREb2N1bWVudCksXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEh0dHBFcnJvcikgPT4gdGhpcy5oYW5kbGVEb2N1bWVudFVwbG9hZEVycm9yKGVycm9yKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRVcGxvYWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkZpbGVEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGZpbGVTZWxlY3RFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lKSB8fFxuICAgICAgKHRoaXMuc2VsZWN0ZWRGaWxlICYmIHRoaXMuc2VsZWN0ZWRGaWxlLm5hbWUpKSB7XG4gICAgICB0aGlzLm9wZW5EaWFsb2codGhpcy5kaWFsb2dDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5GaWxlRGlhbG9nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyaWdnZXJSZXBsYWNlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmNvbmZpcm1SZXBsYWNlUmVzdWx0ID09PSAnUmVwbGFjZScpIHtcbiAgICAgIHRoaXMub3BlbkZpbGVEaWFsb2coKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXBsb2FkZWRGaWxlTmFtZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLnVwbG9hZGVkRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9GSUxFTkFNRSkudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldFVwbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IG51bGw7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIHRoaXMudXBkYXRlRG9jdW1lbnRGb3JtKG51bGwsIG51bGwsIG51bGwpO1xuICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsaWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsZVZhbGlkYXRpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICBpZiAodGhpcy5jbGlja0luc2lkZVRoZURvY3VtZW50ICYmIHRoaXMudmFsaWRhdGVGb3JtVXBsb2FkZWREb2N1bWVudCgpICYmICF0aGlzLmlzVXBMb2FkaW5nQUZpbGUoKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5EaWFsb2coZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEb2N1bWVudERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbiA9IGRpYWxvZ1JlZi5iZWZvcmVDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuY29uZmlybVJlcGxhY2VSZXN1bHQgPSByZXN1bHQ7XG4gICAgICB0aGlzLnRyaWdnZXJSZXBsYWNlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBEZXBlbmRpbmcgb24gdGhlIGNvbnRleHQsIHdlIGNhbiBnZXQgdGhlIGNhc2UgdHlwZSBhbmQganVyaXNkaWN0aW9uIGZyb20gZGlmZmVyZW50IHNvdXJjZXNcbiAgLy8gSWYgd2UgYXJlIHJ1bm5pbmcgYW4gZXZlbnQsIHRoZSBjYXNlTm90aWZpZXIgd2lsbCBoYXZlIHRoZSBjdXJyZW50IGNhc2VcbiAgLy8gSWYgd2UgYXJlIGNyZWF0aW5nIGEgY2FzZSwgdGhlIGNhc2UgZG9lc24ndCBleGlzdCB5ZXQsIHNvIHRoZSBjYXNlTm90aWZpZXIgY2FuJ3QgaGVscFxuICAvLyBJbnN0ZWFkIHdlIGNhbiB1c2UgdGhlIGV2ZW50VHJpZ2dlciB0byBnZXQgdGhlIGNhc2UgdHlwZSwgYW5kIHRoZSBqdXJpc2RpY3Rpb24gc2VydmljZSB0b1xuICAvLyBnZXQgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBqdXJpc2RpY3Rpb25cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0Nhc2VEZXRhaWxzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChjYXNlRGV0YWlsczogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlVHlwZUlkID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZS5pZDtcbiAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb25JZCA9IGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbj8uaWQ7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzID0gdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLnNlbGVjdGVkSnVyaXNkaWN0aW9uQlMuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChqdXJpc2RpY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGp1cmlzZGljdGlvbikge1xuICAgICAgICAgIHRoaXMuanVyaXNkaWN0aW9uSWQgPSBqdXJpc2RpY3Rpb24uaWQ7XG4gICAgICAgICAgaWYgKGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FzZVR5cGVJZCA9IGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUuaWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBTWFuZGF0b3J5Q29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgJiYgdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSBDb25zdGFudHMuTUFOREFUT1JZO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKGZpbGVVcGxvYWRNZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkID0gZmFsc2U7XG4gICAgdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPSBmaWxlVXBsb2FkTWVzc2FnZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNVcExvYWRpbmdBRmlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPT09IFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfV0FJVElOR19GSUxFX1NUQVRVUztcbiAgfVxuICBwcml2YXRlIHZhbGlkYXRlRm9ybVVwbG9hZGVkRG9jdW1lbnQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnVwbG9hZGVkRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGxldCB2YWxpZGF0aW9uID0gIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX1VSTCkudmFsaWQgJiZcbiAgICAgICF0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9CSU5BUllfVVJMKS52YWxpZCAmJlxuICAgICAgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0ZJTEVOQU1FKS52YWxpZDtcblxuICAgIGlmICh0aGlzLnNlY3VyZU1vZGVPbikge1xuICAgICAgdmFsaWRhdGlvbiA9IHZhbGlkYXRpb24gJiYgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0hBU0gpLnZhbGlkO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEb2N1bWVudEZvcm0odXJsOiBzdHJpbmcsIGJpbmFyeVVybDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCBkb2N1bWVudEhhc2g/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9VUkwpLnNldFZhbHVlKHVybCk7XG4gICAgdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfQklOQVJZX1VSTCkuc2V0VmFsdWUoYmluYXJ5VXJsKTtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9GSUxFTkFNRSkuc2V0VmFsdWUoZmlsZW5hbWUpO1xuICAgIGlmIChkb2N1bWVudEhhc2gpIHtcbiAgICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0hBU0gpLnNldFZhbHVlKGRvY3VtZW50SGFzaCk7XG4gICAgfVxuICAgIGlmKHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9USU1FU1RBTVApKXtcbiAgICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5yZW1vdmVDb250cm9sKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfVElNRVNUQU1QKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50Rm9ybVdpdGhWYWxpZGF0b3IoZG9jdW1lbnQ6IEZvcm1Eb2N1bWVudCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgIGRvY3VtZW50X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH07XG5cbiAgICBpZihkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wICYmICh0eXBlb2YgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA9PT0gJ3N0cmluZycgKSl7XG4gICAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAgIC4uLnsgdXBsb2FkX3RpbWVzdGFtcDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LnVwbG9hZF90aW1lc3RhbXApIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHRoaXMuc2VjdXJlTW9kZU9uID8ge1xuICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAuLi57IGRvY3VtZW50X2hhc2g6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9oYXNoKSB9XG4gICAgfSA6IGRvY3VtZW50Rm9ybUdyb3VwO1xuXG4gICAgdGhpcy51cGxvYWRlZERvY3VtZW50ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cChkb2N1bWVudEZvcm1Hcm91cCksIHRydWUpIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRG9jdW1lbnRGb3JtKGRvY3VtZW50OiBGb3JtRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBsZXQgZG9jdW1lbnRGb3JtR3JvdXAgPSB7XG4gICAgICBkb2N1bWVudF91cmw6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF91cmwpLFxuICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmwpLFxuICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZSlcbiAgICB9O1xuXG4gICAgaWYoZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCAmJiAodHlwZW9mIGRvY3VtZW50LnVwbG9hZF90aW1lc3RhbXAgPT09ICdzdHJpbmcnICkpe1xuICAgICAgZG9jdW1lbnRGb3JtR3JvdXAgPSB7XG4gICAgICAgIC4uLmRvY3VtZW50Rm9ybUdyb3VwLFxuICAgICAgICAuLi57IHVwbG9hZF90aW1lc3RhbXA6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKSB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnRGb3JtR3JvdXAgPSB0aGlzLnNlY3VyZU1vZGVPbiA/IHtcbiAgICAgIC4uLmRvY3VtZW50Rm9ybUdyb3VwLFxuICAgICAgLi4ueyBkb2N1bWVudF9oYXNoOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfaGFzaCkgfVxuICAgIH0gOiBkb2N1bWVudEZvcm1Hcm91cDtcblxuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoZG9jdW1lbnRGb3JtR3JvdXApLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGdldEVycm9yTWVzc2FnZShlcnJvcjogSHR0cEVycm9yKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGVycm9yLnN0YXR1cykge1xuICAgICAgY2FzZSAwOlxuICAgICAgY2FzZSA1MDI6XG4gICAgICAgIHJldHVybiBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX05PVF9BVkFJTEFCTEU7XG4gICAgICBjYXNlIDQyMjpcbiAgICAgICAge1xuICAgICAgICAgIGxldCBlcnJvck1zZyA9IFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5FUlJPUl9VUExPQURJTkdfRklMRTtcbiAgICAgICAgICBpZiAoZXJyb3I/LmVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCBmdWxsRXJyb3IgPSBlcnJvci5lcnJvcjtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZnVsbEVycm9yLmluZGV4T2YoJ3snKTtcbiAgICAgICAgICAgIGlmIChzdGFydCA+PSAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBmdWxsRXJyb3Iuc3Vic3RyaW5nKHN0YXJ0LCBmdWxsRXJyb3IubGVuZ3RoIC0gMSkuc3BsaXQoJzxFT0w+Jykuam9pbignJyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9iaiA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgICAgICAgICAgIGlmIChvYmo/LmVycm9yKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBvYmouZXJyb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGVycm9yTXNnO1xuICAgICAgICB9XG4gICAgICBjYXNlIDQyOTpcbiAgICAgICAgcmV0dXJuIGVycm9yPy5lcnJvcjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRVJST1JfVVBMT0FESU5HX0ZJTEU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZERvY3VtZW50VXBsb2FkRGF0YShzZWxlY3RlZEZpbGU6IEZpbGUpOiBGb3JtRGF0YSB7XG4gICAgY29uc3QgZG9jdW1lbnRVcGxvYWQ6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZG9jdW1lbnRVcGxvYWQuYXBwZW5kKCdmaWxlcycsIHNlbGVjdGVkRmlsZSwgc2VsZWN0ZWRGaWxlLm5hbWUpO1xuICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnY2xhc3NpZmljYXRpb24nLCAnUFVCTElDJyk7XG5cbiAgICBpZiAodGhpcy5hcHBDb25maWcuZ2V0RG9jdW1lbnRTZWN1cmVNb2RlKCkpIHtcbiAgICAgIGNvbnN0IGNhc2VUeXBlSWQgPSB0aGlzLmNhc2VUeXBlSWQgPyB0aGlzLmNhc2VUeXBlSWQgOiBudWxsO1xuICAgICAgY29uc3QgY2FzZVR5cGVKdXJpc2RpY3Rpb25JZCA9IHRoaXMuanVyaXNkaWN0aW9uSWQgPyB0aGlzLmp1cmlzZGljdGlvbklkIDogbnVsbDtcbiAgICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnY2FzZVR5cGVJZCcsIGNhc2VUeXBlSWQpO1xuICAgICAgZG9jdW1lbnRVcGxvYWQuYXBwZW5kKCdqdXJpc2RpY3Rpb25JZCcsIGNhc2VUeXBlSnVyaXNkaWN0aW9uSWQpO1xuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudFVwbG9hZDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRG9jdW1lbnRVcGxvYWRSZXN1bHQocmVzdWx0OiBEb2N1bWVudERhdGEpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudXBsb2FkZWREb2N1bWVudCkge1xuICAgICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCwgZG9jdW1lbnRfaGFzaDogbnVsbCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuc2VjdXJlTW9kZU9uID8gcmVzdWx0LmRvY3VtZW50c1swXSA6IHJlc3VsdC5fZW1iZWRkZWQuZG9jdW1lbnRzWzBdO1xuXG4gICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLnNlbGYuaHJlZixcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmLFxuICAgICAgICBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZSxcbiAgICAgICAgZG9jdW1lbnQuaGFzaFRva2VuXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLnNlbGYuaHJlZixcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmLFxuICAgICAgICBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3MoZmFsc2UpO1xuXG4gICAgLy8gcmVmcmVzaCByZXBsYWNlZCBkb2N1bWVudCBpbmZvXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9iaW5hcnlfdXJsID0gZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmO1xuICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUgPSBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZTtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X3VybCA9IGRvY3VtZW50Ll9saW5rcy5zZWxmLmhyZWY7XG5cbiAgICAgIGlmICh0aGlzLnNlY3VyZU1vZGVPbikge1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9oYXNoID0gZG9jdW1lbnQuaGFzaFRva2VuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRG9jdW1lbnRVcGxvYWRFcnJvcihlcnJvcjogSHR0cEVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPSB0aGlzLmdldEVycm9yTWVzc2FnZShlcnJvcik7XG4gICAgdGhpcy52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3IgYm90dG9tLTMwJzogIXZhbGlkfVwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX1cIj57eyhjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsKX19PC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZpbGVVcGxvYWRNZXNzYWdlcyAmJiAhdmFsaWRcIj57e2ZpbGVVcGxvYWRNZXNzYWdlcyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuXG4gIDxkaXY+XG4gICAgPCEtLTxzcGFuICpuZ0lmPVwiZ2V0VXBsb2FkZWRGaWxlTmFtZSgpXCIgY2xhc3M9XCJ0ZXh0LTE2XCI+RmlsZSBuYW1lOiB7e2dldFVwbG9hZGVkRmlsZU5hbWUoKX19PC9zcGFuPi0tPlxuICAgIDxjY2QtcmVhZC1kb2N1bWVudC1maWVsZCAqbmdJZj1cImNhc2VGaWVsZFwiIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCI+PC9jY2QtcmVhZC1kb2N1bWVudC1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmUnPlxuXG4gICAgPGRpdiBbaWRdPVwiY3JlYXRlRWxlbWVudElkKCdmaWxlSW5wdXRXcmFwcGVyJylcIiAoY2xpY2spPVwiZmlsZVNlbGVjdEV2ZW50KClcIiAoa2V5VXApPVwiZmlsZVNlbGVjdEV2ZW50KClcIj48L2Rpdj5cbiAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm90dG9tLTMwXCIgW2lkXT1cImlkKClcIiB0eXBlPVwiZmlsZVwiIChrZXlkb3duLlRhYik9XCJmaWxlVmFsaWRhdGlvbnNPblRhYigpXCIgKGNoYW5nZSk9XCJmaWxlQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgIGFjY2VwdD1cInt7Y2FzZUZpZWxkLmZpZWxkX3R5cGUucmVndWxhcl9leHByZXNzaW9ufX1cIiAjZmlsZUlucHV0Lz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGJvdHRvbS0zMFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNhbmNlbCB1cGxvYWRcIiAoY2xpY2spPVwiY2FuY2VsVXBsb2FkKClcIiBbZGlzYWJsZWRdPVwiIWlzVXBsb2FkSW5Qcm9ncmVzcygpXCI+e3snQ2FuY2VsIHVwbG9hZCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
408
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLElBQUksU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFBO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0Ys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RUgsb0hBQTZGO1FBQy9GLGlCQUFNO1FBRU4sK0JBQStCLGNBQUE7UUFFbUIsc0dBQVMscUJBQWlCLElBQUMseUZBQVUscUJBQWlCLElBQTNCO1FBQTZCLGlCQUFNO1FBQzlHLG9DQUN3RTtRQURWLG9IQUFlLDBCQUFzQixJQUFDLG1HQUFXLDJCQUF1QixJQUFsQztRQUFwRyxpQkFDd0UsRUFBQSxFQUFBO1FBRzVFLGdDQUFrQyxrQkFBQTtRQUNpRCx5R0FBUyxrQkFBYyxJQUFDO1FBQW9DLGFBQWtDOztRQUFBLGlCQUFTLEVBQUE7O1FBcEJsSyxpRUFBa0Q7UUFDakUsZUFBWTtRQUFaLDhCQUFZO1FBQ1EsZUFBK0M7UUFBL0Msa0VBQStDO1FBQUMsZUFBK0I7UUFBL0IsMERBQStCO1FBRWpGLGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNyQixlQUFrQztRQUFsQywyREFBa0M7UUFJbkMsZUFBZTtRQUFmLG9DQUFlO1FBS3BDLGVBQTBDO1FBQTFDLDREQUEwQztRQUV4QyxlQUFvRDtRQUFwRCwrRUFBb0Q7UUFEckIsNkJBQVc7UUFLdUQsZUFBa0M7UUFBbEMsb0RBQWtDO1FBQUMsZUFBa0M7UUFBbEMsNkRBQWtDOzt1RkRFcEssMkJBQTJCO2NBSnZDLFNBQVM7MkJBQ0UsMEJBQTBCOzRPQWNjLFNBQVM7a0JBQTFELFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcbmltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcvY2FzZS12aWV3Lm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50RGF0YSwgRm9ybURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RvY3VtZW50L2RvY3VtZW50LWRhdGEubW9kZWwnXG5pbXBvcnQgeyBIdHRwRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vaHR0cC9odHRwLWVycm9yLm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kb2N1bWVudC1tYW5hZ2VtZW50L2RvY3VtZW50LW1hbmFnZW1lbnQuc2VydmljZSdcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZS5ub3RpZmllcic7XG5pbXBvcnQgeyBEb2N1bWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvZG9jdW1lbnQtZGlhbG9nL2RvY3VtZW50LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgaW5pdERpYWxvZyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvaW5pdC1kaWFsb2ctaGVscGVyJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtZG9jdW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX1VSTCA9ICdkb2N1bWVudF91cmwnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX0JJTkFSWV9VUkwgPSAnZG9jdW1lbnRfYmluYXJ5X3VybCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfRklMRU5BTUUgPSAnZG9jdW1lbnRfZmlsZW5hbWUnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX0hBU0ggPSAnZG9jdW1lbnRfaGFzaCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVVBMT0FEX1RJTUVTVEFNUCA9ICd1cGxvYWRfdGltZXN0YW1wJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCA9ICdGaWxlIHJlcXVpcmVkJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfTk9UX0FWQUlMQUJMRSA9ICdEb2N1bWVudCB1cGxvYWQgZmFjaWxpdHkgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfV0FJVElOR19GSUxFX1NUQVRVUyA9ICdVcGxvYWRpbmcuLi4nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVSUk9SX1VQTE9BRElOR19GSUxFID0gJ0Vycm9yIFVwbG9hZGluZyBGaWxlJztcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcblxuICBwdWJsaWMgc2VsZWN0ZWRGaWxlOiBGaWxlO1xuICBwdWJsaWMgdmFsaWQgPSB0cnVlO1xuICBwdWJsaWMgZmlsZVVwbG9hZE1lc3NhZ2VzOiBzdHJpbmc7XG4gIHB1YmxpYyBjb25maXJtUmVwbGFjZVJlc3VsdDogc3RyaW5nO1xuICBwdWJsaWMgY2xpY2tJbnNpZGVUaGVEb2N1bWVudDogYm9vbGVhbjtcblxuICAvLyB0aGVzZSBhcmUgcHVibGljIHNvIHRoYXQgdGhleSBjYW4gYmUgbW9ja2VkIGZvciB0ZXN0c1xuICBwdWJsaWMgZmlsZVVwbG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgZGlhbG9nU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjYXNlTm90aWZpZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGp1cmlzZGljdGlvblN1YnM6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHVwbG9hZGVkRG9jdW1lbnQ6IEZvcm1Hcm91cDtcbiAgcHJpdmF0ZSBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZztcbiAgcHJpdmF0ZSBzZWN1cmVNb2RlT246IGJvb2xlYW47XG5cbiAgcHVibGljIGp1cmlzZGljdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlVHlwZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudE1hbmFnZW1lbnQ6IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsZVVwbG9hZFN0YXRlU2VydmljZTogRmlsZVVwbG9hZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWN1cmVNb2RlT24gPSB0aGlzLmFwcENvbmZpZy5nZXREb2N1bWVudFNlY3VyZU1vZGUoKTtcbiAgICBpZiAodGhpcy5zZWN1cmVNb2RlT24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9DYXNlRGV0YWlscygpO1xuICAgIH1cbiAgICB0aGlzLmRpYWxvZ0NvbmZpZyA9IGluaXREaWFsb2coKTtcbiAgICAvLyBFVUktMzQwMy4gVGhlIGZpZWxkIHdhcyBub3QgYmVpbmcgcmVnaXN0ZXJlZCB3aGVuIHRoZXJlIHdhcyBubyB2YWx1ZSBhbmQgdGhlIGZpZWxkXG4gICAgLy8gaXRzZWxmIHdhcyBub3QgbWFuZGF0b3J5LCB3aGljaCBtZWFudCB0aGF0IHNob3dfY29uZGl0aW9ucyB3b3VsZCBub3QgYmUgZXZhbHVhdGVkLlxuICAgIC8vIEkndmUgY2xlYW5lZCB1cCB0aGUgbG9naWMgYW5kIGl0J3Mgbm93IGFsd2F5cyByZWdpc3RlcmVkLlxuICAgIGxldCBkb2N1bWVudCA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlIHx8IHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCB9O1xuICAgIGRvY3VtZW50ID0gdGhpcy5zZWN1cmVNb2RlT24gJiYgIWRvY3VtZW50LmRvY3VtZW50X2hhc2ggPyB7IC4uLmRvY3VtZW50LCBkb2N1bWVudF9oYXNoOiBudWxsIH0gOiBkb2N1bWVudDtcbiAgICBpZiAodGhpcy5pc0FNYW5kYXRvcnlDb21wb25lbnQoKSkge1xuICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm1XaXRoVmFsaWRhdG9yKGRvY3VtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm0oZG9jdW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlhbG9nU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jYXNlTm90aWZpZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmp1cmlzZGljdGlvblN1YnMpIHtcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uU3Vicy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1VwbG9hZEluUHJvZ3Jlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5pc1VwbG9hZEluUHJvZ3Jlc3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxVcGxvYWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3MoZmFsc2UpO1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLnJlc2V0VXBsb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsZVZhbGlkYXRpb25zT25UYWIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIGlmICh0aGlzLnZhbGlkYXRlRm9ybVVwbG9hZGVkRG9jdW1lbnQoKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZUV2ZW50KGZpbGVJbnB1dDogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZmlsZUlucHV0LnRhcmdldC5maWxlc1swXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlSW5wdXQudGFyZ2V0LmZpbGVzWzBdO1xuICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfV0FJVElOR19GSUxFX1NUQVRVUyk7XG4gICAgICBjb25zdCBkb2N1bWVudFVwbG9hZDogRm9ybURhdGEgPSB0aGlzLmJ1aWxkRG9jdW1lbnRVcGxvYWREYXRhKHRoaXMuc2VsZWN0ZWRGaWxlKTtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKHRydWUpO1xuXG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50TWFuYWdlbWVudC51cGxvYWRGaWxlKGRvY3VtZW50VXBsb2FkKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzdWx0RG9jdW1lbnQ6IERvY3VtZW50RGF0YSkgPT4gdGhpcy5oYW5kbGVEb2N1bWVudFVwbG9hZFJlc3VsdChyZXN1bHREb2N1bWVudCksXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEh0dHBFcnJvcikgPT4gdGhpcy5oYW5kbGVEb2N1bWVudFVwbG9hZEVycm9yKGVycm9yKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRVcGxvYWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkZpbGVEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGZpbGVTZWxlY3RFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lKSB8fFxuICAgICAgKHRoaXMuc2VsZWN0ZWRGaWxlICYmIHRoaXMuc2VsZWN0ZWRGaWxlLm5hbWUpKSB7XG4gICAgICB0aGlzLm9wZW5EaWFsb2codGhpcy5kaWFsb2dDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5GaWxlRGlhbG9nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyaWdnZXJSZXBsYWNlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmNvbmZpcm1SZXBsYWNlUmVzdWx0ID09PSAnUmVwbGFjZScpIHtcbiAgICAgIHRoaXMub3BlbkZpbGVEaWFsb2coKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXBsb2FkZWRGaWxlTmFtZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLnVwbG9hZGVkRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9GSUxFTkFNRSkudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldFVwbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IG51bGw7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIHRoaXMudXBkYXRlRG9jdW1lbnRGb3JtKG51bGwsIG51bGwsIG51bGwpO1xuICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsaWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsZVZhbGlkYXRpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICBpZiAodGhpcy5jbGlja0luc2lkZVRoZURvY3VtZW50ICYmIHRoaXMudmFsaWRhdGVGb3JtVXBsb2FkZWREb2N1bWVudCgpICYmICF0aGlzLmlzVXBMb2FkaW5nQUZpbGUoKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5EaWFsb2coZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEb2N1bWVudERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbiA9IGRpYWxvZ1JlZi5iZWZvcmVDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuY29uZmlybVJlcGxhY2VSZXN1bHQgPSByZXN1bHQ7XG4gICAgICB0aGlzLnRyaWdnZXJSZXBsYWNlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBEZXBlbmRpbmcgb24gdGhlIGNvbnRleHQsIHdlIGNhbiBnZXQgdGhlIGNhc2UgdHlwZSBhbmQganVyaXNkaWN0aW9uIGZyb20gZGlmZmVyZW50IHNvdXJjZXNcbiAgLy8gSWYgd2UgYXJlIHJ1bm5pbmcgYW4gZXZlbnQsIHRoZSBjYXNlTm90aWZpZXIgd2lsbCBoYXZlIHRoZSBjdXJyZW50IGNhc2VcbiAgLy8gSWYgd2UgYXJlIGNyZWF0aW5nIGEgY2FzZSwgdGhlIGNhc2UgZG9lc24ndCBleGlzdCB5ZXQsIHNvIHRoZSBjYXNlTm90aWZpZXIgY2FuJ3QgaGVscFxuICAvLyBJbnN0ZWFkIHdlIGNhbiB1c2UgdGhlIGV2ZW50VHJpZ2dlciB0byBnZXQgdGhlIGNhc2UgdHlwZSwgYW5kIHRoZSBqdXJpc2RpY3Rpb24gc2VydmljZSB0b1xuICAvLyBnZXQgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBqdXJpc2RpY3Rpb25cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0Nhc2VEZXRhaWxzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChjYXNlRGV0YWlsczogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlVHlwZUlkID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZS5pZDtcbiAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb25JZCA9IGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbj8uaWQ7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzID0gdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLnNlbGVjdGVkSnVyaXNkaWN0aW9uQlMuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChqdXJpc2RpY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGp1cmlzZGljdGlvbikge1xuICAgICAgICAgIHRoaXMuanVyaXNkaWN0aW9uSWQgPSBqdXJpc2RpY3Rpb24uaWQ7XG4gICAgICAgICAgaWYgKGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FzZVR5cGVJZCA9IGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUuaWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBTWFuZGF0b3J5Q29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgJiYgdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSBDb25zdGFudHMuTUFOREFUT1JZO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKGZpbGVVcGxvYWRNZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkID0gZmFsc2U7XG4gICAgdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPSBmaWxlVXBsb2FkTWVzc2FnZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNVcExvYWRpbmdBRmlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPT09IFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfV0FJVElOR19GSUxFX1NUQVRVUztcbiAgfVxuICBwcml2YXRlIHZhbGlkYXRlRm9ybVVwbG9hZGVkRG9jdW1lbnQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnVwbG9hZGVkRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGxldCB2YWxpZGF0aW9uID0gIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX1VSTCkudmFsaWQgJiZcbiAgICAgICF0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9CSU5BUllfVVJMKS52YWxpZCAmJlxuICAgICAgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0ZJTEVOQU1FKS52YWxpZDtcblxuICAgIGlmICh0aGlzLnNlY3VyZU1vZGVPbikge1xuICAgICAgdmFsaWRhdGlvbiA9IHZhbGlkYXRpb24gJiYgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0hBU0gpLnZhbGlkO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEb2N1bWVudEZvcm0odXJsOiBzdHJpbmcsIGJpbmFyeVVybDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCBkb2N1bWVudEhhc2g/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9VUkwpLnNldFZhbHVlKHVybCk7XG4gICAgdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfQklOQVJZX1VSTCkuc2V0VmFsdWUoYmluYXJ5VXJsKTtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9GSUxFTkFNRSkuc2V0VmFsdWUoZmlsZW5hbWUpO1xuICAgIGlmIChkb2N1bWVudEhhc2gpIHtcbiAgICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0hBU0gpLnNldFZhbHVlKGRvY3VtZW50SGFzaCk7XG4gICAgfVxuICAgIGlmKHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9USU1FU1RBTVApKXtcbiAgICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5yZW1vdmVDb250cm9sKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfVElNRVNUQU1QKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50Rm9ybVdpdGhWYWxpZGF0b3IoZG9jdW1lbnQ6IEZvcm1Eb2N1bWVudCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgIGRvY3VtZW50X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH07XG5cbiAgICBpZihkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wICYmICh0eXBlb2YgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA9PT0gJ3N0cmluZycgKSl7XG4gICAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAgIC4uLnsgdXBsb2FkX3RpbWVzdGFtcDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LnVwbG9hZF90aW1lc3RhbXApIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHRoaXMuc2VjdXJlTW9kZU9uID8ge1xuICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAuLi57IGRvY3VtZW50X2hhc2g6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9oYXNoKSB9XG4gICAgfSA6IGRvY3VtZW50Rm9ybUdyb3VwO1xuXG4gICAgdGhpcy51cGxvYWRlZERvY3VtZW50ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cChkb2N1bWVudEZvcm1Hcm91cCksIHRydWUpIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRG9jdW1lbnRGb3JtKGRvY3VtZW50OiBGb3JtRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBsZXQgZG9jdW1lbnRGb3JtR3JvdXAgPSB7XG4gICAgICBkb2N1bWVudF91cmw6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF91cmwpLFxuICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmwpLFxuICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZSlcbiAgICB9O1xuXG4gICAgaWYoZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCAmJiAodHlwZW9mIGRvY3VtZW50LnVwbG9hZF90aW1lc3RhbXAgPT09ICdzdHJpbmcnICkpe1xuICAgICAgZG9jdW1lbnRGb3JtR3JvdXAgPSB7XG4gICAgICAgIC4uLmRvY3VtZW50Rm9ybUdyb3VwLFxuICAgICAgICAuLi57IHVwbG9hZF90aW1lc3RhbXA6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKSB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnRGb3JtR3JvdXAgPSB0aGlzLnNlY3VyZU1vZGVPbiA/IHtcbiAgICAgIC4uLmRvY3VtZW50Rm9ybUdyb3VwLFxuICAgICAgLi4ueyBkb2N1bWVudF9oYXNoOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfaGFzaCkgfVxuICAgIH0gOiBkb2N1bWVudEZvcm1Hcm91cDtcblxuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoZG9jdW1lbnRGb3JtR3JvdXApLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGdldEVycm9yTWVzc2FnZShlcnJvcjogSHR0cEVycm9yKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGVycm9yLnN0YXR1cykge1xuICAgICAgY2FzZSAwOlxuICAgICAgY2FzZSA1MDI6XG4gICAgICAgIHJldHVybiBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX05PVF9BVkFJTEFCTEU7XG4gICAgICBjYXNlIDQyMjpcbiAgICAgICAge1xuICAgICAgICAgIGxldCBlcnJvck1zZyA9IFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5FUlJPUl9VUExPQURJTkdfRklMRTtcbiAgICAgICAgICBpZiAoZXJyb3I/LmVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCBmdWxsRXJyb3IgPSBlcnJvci5lcnJvcjtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZnVsbEVycm9yLmluZGV4T2YoJ3snKTtcbiAgICAgICAgICAgIGlmIChzdGFydCA+PSAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBmdWxsRXJyb3Iuc3Vic3RyaW5nKHN0YXJ0LCBmdWxsRXJyb3IubGVuZ3RoIC0gMSkuc3BsaXQoJzxFT0w+Jykuam9pbignJyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9iaiA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgICAgICAgICAgIGlmIChvYmo/LmVycm9yKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBvYmouZXJyb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGVycm9yTXNnO1xuICAgICAgICB9XG4gICAgICBjYXNlIDQyOTpcbiAgICAgICAgcmV0dXJuIGVycm9yPy5lcnJvcjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRVJST1JfVVBMT0FESU5HX0ZJTEU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZERvY3VtZW50VXBsb2FkRGF0YShzZWxlY3RlZEZpbGU6IEZpbGUpOiBGb3JtRGF0YSB7XG4gICAgY29uc3QgZG9jdW1lbnRVcGxvYWQ6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZG9jdW1lbnRVcGxvYWQuYXBwZW5kKCdmaWxlcycsIHNlbGVjdGVkRmlsZSwgc2VsZWN0ZWRGaWxlLm5hbWUpO1xuICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnY2xhc3NpZmljYXRpb24nLCAnUFVCTElDJyk7XG5cbiAgICBpZiAodGhpcy5hcHBDb25maWcuZ2V0RG9jdW1lbnRTZWN1cmVNb2RlKCkpIHtcbiAgICAgIGNvbnN0IGNhc2VUeXBlSWQgPSB0aGlzLmNhc2VUeXBlSWQgPyB0aGlzLmNhc2VUeXBlSWQgOiBudWxsO1xuICAgICAgY29uc3QgY2FzZVR5cGVKdXJpc2RpY3Rpb25JZCA9IHRoaXMuanVyaXNkaWN0aW9uSWQgPyB0aGlzLmp1cmlzZGljdGlvbklkIDogbnVsbDtcbiAgICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnY2FzZVR5cGVJZCcsIGNhc2VUeXBlSWQpO1xuICAgICAgZG9jdW1lbnRVcGxvYWQuYXBwZW5kKCdqdXJpc2RpY3Rpb25JZCcsIGNhc2VUeXBlSnVyaXNkaWN0aW9uSWQpO1xuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudFVwbG9hZDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRG9jdW1lbnRVcGxvYWRSZXN1bHQocmVzdWx0OiBEb2N1bWVudERhdGEpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudXBsb2FkZWREb2N1bWVudCkge1xuICAgICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCwgZG9jdW1lbnRfaGFzaDogbnVsbCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuc2VjdXJlTW9kZU9uID8gcmVzdWx0LmRvY3VtZW50c1swXSA6IHJlc3VsdC5fZW1iZWRkZWQuZG9jdW1lbnRzWzBdO1xuXG4gICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLnNlbGYuaHJlZixcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmLFxuICAgICAgICBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZSxcbiAgICAgICAgZG9jdW1lbnQuaGFzaFRva2VuXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLnNlbGYuaHJlZixcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmLFxuICAgICAgICBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3MoZmFsc2UpO1xuXG4gICAgLy8gcmVmcmVzaCByZXBsYWNlZCBkb2N1bWVudCBpbmZvXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9iaW5hcnlfdXJsID0gZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmO1xuICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUgPSBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZTtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X3VybCA9IGRvY3VtZW50Ll9saW5rcy5zZWxmLmhyZWY7XG5cbiAgICAgIGlmICh0aGlzLnNlY3VyZU1vZGVPbikge1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9oYXNoID0gZG9jdW1lbnQuaGFzaFRva2VuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRG9jdW1lbnRVcGxvYWRFcnJvcihlcnJvcjogSHR0cEVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPSB0aGlzLmdldEVycm9yTWVzc2FnZShlcnJvcik7XG4gICAgdGhpcy52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3IgYm90dG9tLTMwJzogIXZhbGlkfVwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX1cIj57eyhjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsKX19PC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZpbGVVcGxvYWRNZXNzYWdlcyAmJiAhdmFsaWRcIj57e2ZpbGVVcGxvYWRNZXNzYWdlcyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuXG4gIDxkaXY+XG4gICAgPCEtLTxzcGFuICpuZ0lmPVwiZ2V0VXBsb2FkZWRGaWxlTmFtZSgpXCIgY2xhc3M9XCJ0ZXh0LTE2XCI+RmlsZSBuYW1lOiB7e2dldFVwbG9hZGVkRmlsZU5hbWUoKX19PC9zcGFuPi0tPlxuICAgIDxjY2QtcmVhZC1kb2N1bWVudC1maWVsZCAqbmdJZj1cImNhc2VGaWVsZFwiIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCI+PC9jY2QtcmVhZC1kb2N1bWVudC1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmUnPlxuXG4gICAgPGRpdiBbaWRdPVwiY3JlYXRlRWxlbWVudElkKCdmaWxlSW5wdXRXcmFwcGVyJylcIiAoY2xpY2spPVwiZmlsZVNlbGVjdEV2ZW50KClcIiAoa2V5dXApPVwiZmlsZVNlbGVjdEV2ZW50KClcIj48L2Rpdj5cbiAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm90dG9tLTMwXCIgW2lkXT1cImlkKClcIiB0eXBlPVwiZmlsZVwiIChrZXlkb3duLlRhYik9XCJmaWxlVmFsaWRhdGlvbnNPblRhYigpXCIgKGNoYW5nZSk9XCJmaWxlQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgIGFjY2VwdD1cInt7Y2FzZUZpZWxkLmZpZWxkX3R5cGUucmVndWxhcl9leHByZXNzaW9ufX1cIiAjZmlsZUlucHV0Lz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGJvdHRvbS0zMFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNhbmNlbCB1cGxvYWRcIiAoY2xpY2spPVwiY2FuY2VsVXBsb2FkKClcIiBbZGlzYWJsZWRdPVwiIWlzVXBsb2FkSW5Qcm9ncmVzcygpXCI+e3snQ2FuY2VsIHVwbG9hZCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -81,7 +81,7 @@ const _c1 = function (a0) { return { "EventLogTable-Selected": a0 }; };
81
81
  function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
82
82
  const _r18 = i0.ɵɵgetCurrentView();
83
83
  i0.ɵɵelementStart(0, "tr", 4);
84
- i0.ɵɵlistener("click", function EventLogTableComponent_tr_20_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r18); const event_r1 = restoredCtx.$implicit; const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.select(event_r1)); })("keyUp", function EventLogTableComponent_tr_20_Template_tr_keyUp_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r18); const event_r1 = restoredCtx.$implicit; const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.select(event_r1)); });
84
+ i0.ɵɵlistener("click", function EventLogTableComponent_tr_20_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r18); const event_r1 = restoredCtx.$implicit; const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.select(event_r1)); })("keyup", function EventLogTableComponent_tr_20_Template_tr_keyup_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r18); const event_r1 = restoredCtx.$implicit; const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.select(event_r1)); });
85
85
  i0.ɵɵelementStart(1, "td");
86
86
  i0.ɵɵelementContainerStart(2, 5);
87
87
  i0.ɵɵtemplate(3, EventLogTableComponent_tr_20_div_3_Template, 2, 1, "div", 6);
@@ -178,7 +178,7 @@ export class EventLogTableComponent {
178
178
  }
179
179
  }
180
180
  EventLogTableComponent.ɵfac = function EventLogTableComponent_Factory(t) { return new (t || EventLogTableComponent)(); };
181
- EventLogTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventLogTableComponent, selectors: [["ccd-event-log-table"]], inputs: { events: "events", selected: "selected" }, outputs: { onSelect: "onSelect", onCaseHistory: "onCaseHistory" }, decls: 21, vars: 13, consts: [[1, "EventLogTable"], [1, "heading-h2"], [1, "text-16"], ["tabindex", "0", 3, "ngClass", "click", "keyUp", 4, "ngFor", "ngForOf"], ["tabindex", "0", 3, "ngClass", "click", "keyUp"], [3, "ngSwitch"], ["id", "case-timeline", 4, "ngSwitchCase"], [4, "ngSwitchCase"], [4, "ngIf"], ["class", "tooltip", 4, "ngIf"], ["tabindex", "0", 3, "keydown.enter"], [1, "tooltip", "text-16"], [1, "tooltiptext"], ["tabindex", "0"], ["id", "case-timeline"], ["class", "text-16 event-link", 3, "click", 4, "ngIf"], [1, "text-16", "event-link", 3, "click"], ["class", "text-16 event-link", 3, "routerLink", "target", 4, "ngIf"], [1, "text-16", "event-link", 3, "routerLink", "target"], [1, "tooltip"], ["target", "_blank", "rel", "noopener", 3, "href"], ["alt", "document image", "src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABoCAYAAABmOHdtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAAkoSURBVHhe7d33c5RFHAZw/wCKiF0s2LAwiigq9l5G/UV/UUeFkEAoQqiWoKKI1Dg6YxQQbGmkXQoJIQQiaSShhiQMkgIphCSXkN4buPtcnnDG9fXCa+FN9mY+M5Lce7f3ZPb2u/vu+3rRsKn+Z4ey4e7BIB4XnQ8doA7QHB2gSTpAk3SAJlk+wOG9VL/7L+gATbrgAxzlHgAM6skVcTDhw2i4daENXvbZCXd9EAU8fqRbADi/5j9JB2jSBRvg2Hmh8MAnMbAl/Ths+jUPqhvboLapHXJKTkPU/mKI2FcEdyyJhOvmhoLqvczQAZp0wQU4YVEAuPnGw5GTtdDd0wOdXd3Q1uGQXVID/HlXdw+0tHVCWU0zvLMhFSZ5R4Dqvc+HDtCkCybAW8RAIHn6xkJpuR3aOrqgqqEVPDanwZu+u8HLLwPY1aduTAF7fSvwuLqmNliweRfc6x0JqrYMxN8FONwj9Cz0Pq8/HWBvEP2Do389wFHugTDROxqOldcDu2hmfiXcucQGN8wLgxHiWOnc6zjKncs9t8DVs4Ih+kAxFFY2QK0IUXr1q11wvRhYJOc2DQSD6B8cDXMLPAuKYyUd4P8d4Eg3B7+UfOgRA4V0XHxYafx7kcCCePT0IHhudTyEZZ6Al9YlAAO+bEbQH8RlnYT6lg4oqW6CG+eHw7Apfg6KNhrRAVo9wAeXxcKu3DJgOTLn53S4cmYwMLiA1AI4VdsCja0dwC5feroZOKXjcWO9woDHtbSLMkfYmHgMVG1zhQ7Q6gHyg/IDnbA3AssRLiLM/SUDyutagc8vrmoEDj4suAsqGuCa2SFwuWcQLAzIhJ6eMxCYVgi3LY4AVRuN6ACtHuALaxKgobUT8kUI0uRlMcAy5+fkfOjsktO5nr4pHrvmG75JUFzdDE1iGie9/s1uuHiaP7y4NgH4B8gtrYFJH8eAqo1GdIBWD5BTs6KqJmCZMW5RBLAgfmd9MvDxeeRhYNe7QhTPUqWYvkFdC2xK/A34fl9EHYZ80b2lmqZ2GPNuKDi3zRU6QKsHyC7F4PjB7vsoBi6eFgCBaQXQ0dkN2cWn4VJRJEvsgtuzSqFdPEd6ZlU8cKr31BfxwN/zDzdZlFKSqo1GdIBWD3D8+1HAQvhQUTWc+/J3BLj1QDHwyz+zwA4MhoH/euQUsJzhFO8SjwC4X4QscZks6Wg5vOKzE1RtNKIDtHqAb36bBOVieiXVN7cDB4crZ24Bt+9TgQXwmpgc4GDDQrm6oRUqxAAi+cTmwAg3f+Agwikfnz9mdjCo2mhEB2j1AN/6Lgn4gVhWjFtkg9EegbA8MgvYNW37ioFTNRbUHIRYmE8XJZLE5TD+u0EMWNLpxjbg8ao2GtEBWj3AmxeEAx9ZYgCR5vllAAeR2EMl0NDSDnweBxGWKzyxztObj6/YDix3uHzGQcS2twg42KjaaEQHaPUAH/9cfEChTgwcUm1zBzz82TZgF14hvvglLiYE7SkEdmEuzXM5jIW55w9pwFMHM8R/S/0Ld8t2YR2g4ocD4bYxBfYXVgG/3Lm5iEv67ptSgY8vt+UCt7dd+24osBzilo5l4QeBC7OrtmYDyxwue42ZEwKqNhrRAVo9QBbMreILXWIXfHtDCnAQCU4/DpzK7cmrgNHTRRcXuBiwJ68S+HrPrNoBl4ivAenplduBiwmJuWXAKZ6qjUZ0gIMlwOa2DiiqaoS31ydDX4BiwJAYYNqxCmB5wkEnI98OXJx4emU8jHKX2z/8UepIDHBXThnoAIdqgAyKm4h4ovxGr1DoG0S+TwE+1okBRLpFFOHSdXPDgEv6nBouDT0AfL/V0Yfhz4NIKDi3zRU6QKsH+NCnscBFBBbULLA5SKyMzgYu6funFsBVs4Lh5gU2KBGhSXy9KRuSgYsJM3/cAyyX8srrYaxXOKjaaEQHaPUAOYXqFhN/iSfMFwdmAhcLth8uBXbxgyeqgL/nhTbx4jkSNylxcOAmo4dEqSNxEAkRpZH0wtoEULXRiA7Q6gG+9nUiFFY2Aif549+LAJYpq7bmABdUt4iSRrp6dghwaZ8bJ9mFueWDS/qzf0qHxtZOsNe3ADdmqtpoRAdo9QB5OrFYfGiJZcWED6OAWzs8f0wHnlRaHpEFXJBlucM/AKeEH4UdAC4mrI3NBS46cAsIl8VUbTSiA7R6gFyOYnBHy+pgmiiaJW5L25F9ErhIkHy0HPj7J1bEAZfFuPD66PI44GDz8Kdiyie0d3ZBgpjGSc+K6Z2kaqMRHaDVA3xMfDiJW3W5NfeRz7YBP3h45nHoEKWJtK/QDiy0n1udAPx5S3sX3Lt0KzDo59fsAAbIQnri0mhQtdGIDtDqAbJ8mLIhBbi5nFs6eKE0p2B8LAnaCzfNDwdukOQF2OzK3MrB91sXmwMn7A3ARQXLDiI6QMUPzwfLDE76+XMW0ryEn4PDT0l5wNOeDJqDREh6IfAPwdOaz68WXVjglJCD1kTRzSXnNrlCBzhYAvwrnIIliBJG4pI+bzLBJX8+n4MO/yA8ngFy0OKUMPVYBXDp3/m9XaEDHOwBcirHDZWcyn0spmcSp3CqY50xUF4yxsHjVE0z8JYDqmON6AAHe4C8gIYX1jBAn225wPJFdawzBsibVHARgUFyEFIda0QHONgDpK/jcoHlB28e4WoBfKmY7kncUtzVLW/S091XHvHiRtWxRnSAgz7A3ptBcNmLS/a8+VjU/iLg7U5YtvB4bioatzAceHkrb27Bk0osf/7w3i7QAQ76AHtxAyVPlPNWTly6z8ivhDd8d8NLPjvBY1Mq8CZlvClZQXkd8OJDHaAO0DWTvG3gtTkRePqSgwJPmPMSLm5zO3PmDBRW1IPHehGucNuicFC9lyt0gEMtQLr7gyjg1g0uCrCrcoq2t8AOyb9VABcTbl9sA9VrD4QOUPHaA2HZAIk3Fxsx1Q/u8Y4GBsugeVKJ2+FUr3U+dIAmWT7A/5sO0CQdoEk6QJN0gCbpAE0yHSBfYKgaMcMG/YMjHeDfMB2g6iDtHB2gSTpAk3SAJukATdIBmvSvBcj/UUnfGwxWitCcKcNxhQ7QQRmOK1iIql50KFGG4wodoIMyHFfoAB2U4bhCB+igDMcVOkAHZTiu0AFK/md/Bw8XevIIyEqZAAAAAElFTkSuQmCC", 1, "doc-img"], [1, "tooltiptext", "doc-tooltip"]], template: function EventLogTableComponent_Template(rf, ctx) { if (rf & 1) {
181
+ EventLogTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventLogTableComponent, selectors: [["ccd-event-log-table"]], inputs: { events: "events", selected: "selected" }, outputs: { onSelect: "onSelect", onCaseHistory: "onCaseHistory" }, decls: 21, vars: 13, consts: [[1, "EventLogTable"], [1, "heading-h2"], [1, "text-16"], ["tabindex", "0", 3, "ngClass", "click", "keyup", 4, "ngFor", "ngForOf"], ["tabindex", "0", 3, "ngClass", "click", "keyup"], [3, "ngSwitch"], ["id", "case-timeline", 4, "ngSwitchCase"], [4, "ngSwitchCase"], [4, "ngIf"], ["class", "tooltip", 4, "ngIf"], ["tabindex", "0", 3, "keydown.enter"], [1, "tooltip", "text-16"], [1, "tooltiptext"], ["tabindex", "0"], ["id", "case-timeline"], ["class", "text-16 event-link", 3, "click", 4, "ngIf"], [1, "text-16", "event-link", 3, "click"], ["class", "text-16 event-link", 3, "routerLink", "target", 4, "ngIf"], [1, "text-16", "event-link", 3, "routerLink", "target"], [1, "tooltip"], ["target", "_blank", "rel", "noopener", 3, "href"], ["alt", "document image", "src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABoCAYAAABmOHdtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAAkoSURBVHhe7d33c5RFHAZw/wCKiF0s2LAwiigq9l5G/UV/UUeFkEAoQqiWoKKI1Dg6YxQQbGmkXQoJIQQiaSShhiQMkgIphCSXkN4buPtcnnDG9fXCa+FN9mY+M5Lce7f3ZPb2u/vu+3rRsKn+Z4ey4e7BIB4XnQ8doA7QHB2gSTpAk3SAJlk+wOG9VL/7L+gATbrgAxzlHgAM6skVcTDhw2i4daENXvbZCXd9EAU8fqRbADi/5j9JB2jSBRvg2Hmh8MAnMbAl/Ths+jUPqhvboLapHXJKTkPU/mKI2FcEdyyJhOvmhoLqvczQAZp0wQU4YVEAuPnGw5GTtdDd0wOdXd3Q1uGQXVID/HlXdw+0tHVCWU0zvLMhFSZ5R4Dqvc+HDtCkCybAW8RAIHn6xkJpuR3aOrqgqqEVPDanwZu+u8HLLwPY1aduTAF7fSvwuLqmNliweRfc6x0JqrYMxN8FONwj9Cz0Pq8/HWBvEP2Do389wFHugTDROxqOldcDu2hmfiXcucQGN8wLgxHiWOnc6zjKncs9t8DVs4Ih+kAxFFY2QK0IUXr1q11wvRhYJOc2DQSD6B8cDXMLPAuKYyUd4P8d4Eg3B7+UfOgRA4V0XHxYafx7kcCCePT0IHhudTyEZZ6Al9YlAAO+bEbQH8RlnYT6lg4oqW6CG+eHw7Apfg6KNhrRAVo9wAeXxcKu3DJgOTLn53S4cmYwMLiA1AI4VdsCja0dwC5feroZOKXjcWO9woDHtbSLMkfYmHgMVG1zhQ7Q6gHyg/IDnbA3AssRLiLM/SUDyutagc8vrmoEDj4suAsqGuCa2SFwuWcQLAzIhJ6eMxCYVgi3LY4AVRuN6ACtHuALaxKgobUT8kUI0uRlMcAy5+fkfOjsktO5nr4pHrvmG75JUFzdDE1iGie9/s1uuHiaP7y4NgH4B8gtrYFJH8eAqo1GdIBWD5BTs6KqJmCZMW5RBLAgfmd9MvDxeeRhYNe7QhTPUqWYvkFdC2xK/A34fl9EHYZ80b2lmqZ2GPNuKDi3zRU6QKsHyC7F4PjB7vsoBi6eFgCBaQXQ0dkN2cWn4VJRJEvsgtuzSqFdPEd6ZlU8cKr31BfxwN/zDzdZlFKSqo1GdIBWD3D8+1HAQvhQUTWc+/J3BLj1QDHwyz+zwA4MhoH/euQUsJzhFO8SjwC4X4QscZks6Wg5vOKzE1RtNKIDtHqAb36bBOVieiXVN7cDB4crZ24Bt+9TgQXwmpgc4GDDQrm6oRUqxAAi+cTmwAg3f+Agwikfnz9mdjCo2mhEB2j1AN/6Lgn4gVhWjFtkg9EegbA8MgvYNW37ioFTNRbUHIRYmE8XJZLE5TD+u0EMWNLpxjbg8ao2GtEBWj3AmxeEAx9ZYgCR5vllAAeR2EMl0NDSDnweBxGWKzyxztObj6/YDix3uHzGQcS2twg42KjaaEQHaPUAH/9cfEChTgwcUm1zBzz82TZgF14hvvglLiYE7SkEdmEuzXM5jIW55w9pwFMHM8R/S/0Ld8t2YR2g4ocD4bYxBfYXVgG/3Lm5iEv67ptSgY8vt+UCt7dd+24osBzilo5l4QeBC7OrtmYDyxwue42ZEwKqNhrRAVo9QBbMreILXWIXfHtDCnAQCU4/DpzK7cmrgNHTRRcXuBiwJ68S+HrPrNoBl4ivAenplduBiwmJuWXAKZ6qjUZ0gIMlwOa2DiiqaoS31ydDX4BiwJAYYNqxCmB5wkEnI98OXJx4emU8jHKX2z/8UepIDHBXThnoAIdqgAyKm4h4ovxGr1DoG0S+TwE+1okBRLpFFOHSdXPDgEv6nBouDT0AfL/V0Yfhz4NIKDi3zRU6QKsH+NCnscBFBBbULLA5SKyMzgYu6funFsBVs4Lh5gU2KBGhSXy9KRuSgYsJM3/cAyyX8srrYaxXOKjaaEQHaPUAOYXqFhN/iSfMFwdmAhcLth8uBXbxgyeqgL/nhTbx4jkSNylxcOAmo4dEqSNxEAkRpZH0wtoEULXRiA7Q6gG+9nUiFFY2Aif549+LAJYpq7bmABdUt4iSRrp6dghwaZ8bJ9mFueWDS/qzf0qHxtZOsNe3ADdmqtpoRAdo9QB5OrFYfGiJZcWED6OAWzs8f0wHnlRaHpEFXJBlucM/AKeEH4UdAC4mrI3NBS46cAsIl8VUbTSiA7R6gFyOYnBHy+pgmiiaJW5L25F9ErhIkHy0HPj7J1bEAZfFuPD66PI44GDz8Kdiyie0d3ZBgpjGSc+K6Z2kaqMRHaDVA3xMfDiJW3W5NfeRz7YBP3h45nHoEKWJtK/QDiy0n1udAPx5S3sX3Lt0KzDo59fsAAbIQnri0mhQtdGIDtDqAbJ8mLIhBbi5nFs6eKE0p2B8LAnaCzfNDwdukOQF2OzK3MrB91sXmwMn7A3ARQXLDiI6QMUPzwfLDE76+XMW0ryEn4PDT0l5wNOeDJqDREh6IfAPwdOaz68WXVjglJCD1kTRzSXnNrlCBzhYAvwrnIIliBJG4pI+bzLBJX8+n4MO/yA8ngFy0OKUMPVYBXDp3/m9XaEDHOwBcirHDZWcyn0spmcSp3CqY50xUF4yxsHjVE0z8JYDqmON6AAHe4C8gIYX1jBAn225wPJFdawzBsibVHARgUFyEFIda0QHONgDpK/jcoHlB28e4WoBfKmY7kncUtzVLW/S091XHvHiRtWxRnSAgz7A3ptBcNmLS/a8+VjU/iLg7U5YtvB4bioatzAceHkrb27Bk0osf/7w3i7QAQ76AHtxAyVPlPNWTly6z8ivhDd8d8NLPjvBY1Mq8CZlvClZQXkd8OJDHaAO0DWTvG3gtTkRePqSgwJPmPMSLm5zO3PmDBRW1IPHehGucNuicFC9lyt0gEMtQLr7gyjg1g0uCrCrcoq2t8AOyb9VABcTbl9sA9VrD4QOUPHaA2HZAIk3Fxsx1Q/u8Y4GBsugeVKJ2+FUr3U+dIAmWT7A/5sO0CQdoEk6QJN0gCbpAE0yHSBfYKgaMcMG/YMjHeDfMB2g6iDtHB2gSTpAk3SAJukATdIBmvSvBcj/UUnfGwxWitCcKcNxhQ7QQRmOK1iIql50KFGG4wodoIMyHFfoAB2U4bhCB+igDMcVOkAHZTiu0AFK/md/Bw8XevIIyEqZAAAAAElFTkSuQmCC", 1, "doc-img"], [1, "tooltiptext", "doc-tooltip"]], template: function EventLogTableComponent_Template(rf, ctx) { if (rf & 1) {
182
182
  i0.ɵɵelementStart(0, "table", 0)(1, "caption")(2, "h2", 1);
183
183
  i0.ɵɵtext(3);
184
184
  i0.ɵɵpipe(4, "rpxTranslate");
@@ -212,7 +212,7 @@ EventLogTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Even
212
212
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgSwitch, i1.NgSwitchCase, i2.RouterLink, i1.UpperCasePipe, i1.TitleCasePipe, i3.DatePipe, i4.RpxTranslatePipe], styles: ["#case-timeline[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:#005ea5}#case-timeline[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#2b8cc4}#case-timeline[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{color:#4c2c92}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{padding-left:10px}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr.EventLogTable-Selected[_ngcontent-%COMP%]{border-left:8px solid #005ea5;background-color:#f8f8f8}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr.EventLogTable-Selected[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{padding-left:6px}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]:not(.EventLogTable-Selected):hover{border-left:8px solid #2b8cc4;background-color:#f8f8f8;cursor:pointer;cursor:hand}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]:not(.EventLogTable-Selected):hover td[_ngcontent-%COMP%]:first-child{padding-left:6px}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%] .event-link[_ngcontent-%COMP%]{float:left;padding-right:8px}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%] .doc-img[_ngcontent-%COMP%]{width:16px;float:left}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%] .doc-tooltip[_ngcontent-%COMP%]{left:35%;bottom:7px}.EventLogTable[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%] .doc-tooltip[_ngcontent-%COMP%]:after{border-color:transparent}"] });
213
213
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventLogTableComponent, [{
214
214
  type: Component,
215
- args: [{ selector: 'ccd-event-log-table', template: "<table class=\"EventLogTable\">\n <caption><h2 class=\"heading-h2\">{{'History' | rpxTranslate}}</h2></caption>\n <thead>\n <tr>\n <th><span class=\"text-16\">{{'Event' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Date' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Author' | rpxTranslate}}</span></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let event of events\" (click)=\"select(event)\" (keyUp)=\"select(event)\" [ngClass]=\"{'EventLogTable-Selected': selected === event}\" tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforRow(event)}}\">\n <td>\n <ng-container [ngSwitch]=\"isPartOfCaseTimeline\">\n <div id=\"case-timeline\" *ngSwitchCase=\"true\">\n <a (click)=\"caseHistoryClicked(event.id)\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n <div *ngSwitchCase=\"false\">\n <a [routerLink]=\"['./', 'event', event.id, 'history']\"\n [target]=\"'_blank'\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n </ng-container>\n <span *ngIf=\"event.state_id === 'Draft'\">{{event.event_name}}</span>\n <div class=\"tooltip\" *ngIf=\"significantItemExist(event)\">\n <a href=\"{{getSignificantItemUrl(event)}}\" target=\"_blank\" rel=\"noopener\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">\n <img class=\"doc-img\" alt=\"document image\" src=\"data:image/png;base64,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\"/>\n </a>\n <span class=\"tooltiptext doc-tooltip\">{{getSignificantItemDesc(event)}}</span>\n </div>\n </td>\n <td tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforColumn(event)}}\" (keydown.enter)=\"select(event)\"><div class=\"tooltip text-16\">{{event.timestamp | ccdDate : 'local'}}\n <span class=\"tooltiptext\">{{'Local:' | rpxTranslate}} {{event.timestamp | ccdDate : 'local'}}</span>\n </div></td>\n <td tabindex=\"0\"><span class=\"text-16\">{{event.user_first_name | titlecase}} {{event.user_last_name | uppercase}}</span></td>\n </tr>\n </tbody>\n</table>\n", styles: ["#case-timeline a{cursor:pointer;text-decoration:underline;color:#005ea5}#case-timeline a:hover{color:#2b8cc4}#case-timeline a:visited{color:#4c2c92}.EventLogTable tbody>tr td:first-child{padding-left:10px}.EventLogTable tbody>tr.EventLogTable-Selected{border-left:8px solid #005ea5;background-color:#f8f8f8}.EventLogTable tbody>tr.EventLogTable-Selected td:first-child{padding-left:6px}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover{border-left:8px solid #2b8cc4;background-color:#f8f8f8;cursor:pointer;cursor:hand}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover td:first-child{padding-left:6px}.EventLogTable tbody>tr .event-link{float:left;padding-right:8px}.EventLogTable tbody>tr .doc-img{width:16px;float:left}.EventLogTable tbody>tr .doc-tooltip{left:35%;bottom:7px}.EventLogTable tbody>tr .doc-tooltip:after{border-color:transparent}\n"] }]
215
+ args: [{ selector: 'ccd-event-log-table', template: "<table class=\"EventLogTable\">\n <caption><h2 class=\"heading-h2\">{{'History' | rpxTranslate}}</h2></caption>\n <thead>\n <tr>\n <th><span class=\"text-16\">{{'Event' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Date' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Author' | rpxTranslate}}</span></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let event of events\" (click)=\"select(event)\" (keyup)=\"select(event)\" [ngClass]=\"{'EventLogTable-Selected': selected === event}\" tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforRow(event)}}\">\n <td>\n <ng-container [ngSwitch]=\"isPartOfCaseTimeline\">\n <div id=\"case-timeline\" *ngSwitchCase=\"true\">\n <a (click)=\"caseHistoryClicked(event.id)\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n <div *ngSwitchCase=\"false\">\n <a [routerLink]=\"['./', 'event', event.id, 'history']\"\n [target]=\"'_blank'\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n </ng-container>\n <span *ngIf=\"event.state_id === 'Draft'\">{{event.event_name}}</span>\n <div class=\"tooltip\" *ngIf=\"significantItemExist(event)\">\n <a href=\"{{getSignificantItemUrl(event)}}\" target=\"_blank\" rel=\"noopener\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">\n <img class=\"doc-img\" alt=\"document image\" src=\"data:image/png;base64,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\"/>\n </a>\n <span class=\"tooltiptext doc-tooltip\">{{getSignificantItemDesc(event)}}</span>\n </div>\n </td>\n <td tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforColumn(event)}}\" (keydown.enter)=\"select(event)\"><div class=\"tooltip text-16\">{{event.timestamp | ccdDate : 'local'}}\n <span class=\"tooltiptext\">{{'Local:' | rpxTranslate}} {{event.timestamp | ccdDate : 'local'}}</span>\n </div></td>\n <td tabindex=\"0\"><span class=\"text-16\">{{event.user_first_name | titlecase}} {{event.user_last_name | uppercase}}</span></td>\n </tr>\n </tbody>\n</table>\n", styles: ["#case-timeline a{cursor:pointer;text-decoration:underline;color:#005ea5}#case-timeline a:hover{color:#2b8cc4}#case-timeline a:visited{color:#4c2c92}.EventLogTable tbody>tr td:first-child{padding-left:10px}.EventLogTable tbody>tr.EventLogTable-Selected{border-left:8px solid #005ea5;background-color:#f8f8f8}.EventLogTable tbody>tr.EventLogTable-Selected td:first-child{padding-left:6px}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover{border-left:8px solid #2b8cc4;background-color:#f8f8f8;cursor:pointer;cursor:hand}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover td:first-child{padding-left:6px}.EventLogTable tbody>tr .event-link{float:left;padding-right:8px}.EventLogTable tbody>tr .doc-img{width:16px;float:left}.EventLogTable tbody>tr .doc-tooltip{left:35%;bottom:7px}.EventLogTable tbody>tr .doc-tooltip:after{border-color:transparent}\n"] }]
216
216
  }], null, { events: [{
217
217
  type: Input
218
218
  }], selected: [{
@@ -222,4 +222,4 @@ EventLogTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Even
222
222
  }], onCaseHistory: [{
223
223
  type: Output
224
224
  }] }); })();
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbG9nLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2hpc3RvcnkvZXZlbnQtbG9nL2V2ZW50LWxvZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9oaXN0b3J5L2V2ZW50LWxvZy9ldmVudC1sb2ctdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztJQ1l6Qyw2QkFDaUg7SUFEOUcsd05BQVMsZUFBQSxzQ0FBNEIsQ0FBQSxJQUFDO0lBQ3dFLFlBQW1DOztJQUFBLGlCQUFJOzs7O0lBQXhGLGtFQUFnRDtJQUFDLGVBQW1DO0lBQW5DLCtEQUFtQzs7O0lBRnRKLCtCQUE2QztJQUMzQyxnRkFDd0o7SUFDeEosaUJBQU07OztJQURILGVBQWdDO0lBQWhDLG9EQUFnQzs7OztJQUduQyw2QkFFbUg7SUFBQSxZQUFtQzs7SUFBQSxpQkFBSTs7OztJQUZ2SixvRUFBbUQsb0JBQUE7SUFFWSxtRUFBZ0Q7SUFBQyxlQUFtQztJQUFuQywrREFBbUM7OztJQUh4SiwyQkFBMkI7SUFDekIsZ0ZBRTBKO0lBQzVKLGlCQUFNOzs7SUFEQyxlQUFnQztJQUFoQyxvREFBZ0M7OztJQUd6Qyw0QkFBeUM7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Q0FBQztvQ0FDL0MsS0FBSyxDQUFDLFVBQVUsVUFBVSxDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQW9CO1FBQzVDLE9BQU8sb0JBQW9CLEtBQUssQ0FBQyxVQUFVLDRDQUE0QyxDQUFDO0lBQzFGLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFvQjtRQUM3QyxPQUFPLGlDQUFpQyxLQUFLLENBQUMsVUFBVSwwQkFBMEIsQ0FBQztJQUNyRixDQUFDOzs0RkEvRFUsc0JBQXNCO3lFQUF0QixzQkFBc0I7UUNUbkMsZ0NBQTZCLGNBQUEsWUFBQTtRQUNLLFlBQTRCOztRQUFBLGlCQUFLLEVBQUE7UUFDakUsNkJBQU8sU0FBQSxTQUFBLGNBQUE7UUFFcUIsWUFBMEI7O1FBQUEsaUJBQU8sRUFBQTtRQUMzRCwyQkFBSSxlQUFBO1FBQXNCLGFBQXlCOztRQUFBLGlCQUFPLEVBQUE7UUFDMUQsMkJBQUksZUFBQTtRQUFzQixhQUEyQjs7UUFBQSxpQkFBTyxFQUFBLEVBQUEsRUFBQTtRQUc5RCw4QkFBTztRQUNQLHlFQXlCSztRQUNMLGlCQUFRLEVBQUE7O1FBbkN3QixlQUE0QjtRQUE1QixxREFBNEI7UUFHaEMsZUFBMEI7UUFBMUIsb0RBQTBCO1FBQzFCLGVBQXlCO1FBQXpCLG1EQUF5QjtRQUN6QixlQUEyQjtRQUEzQixzREFBMkI7UUFJakMsZUFBUztRQUFULG9DQUFTOzt1RkREcEIsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0UscUJBQXFCO2dCQU94QixNQUFNO2tCQURaLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxRQUFRO2tCQURkLE1BQU07WUFJQSxhQUFhO2tCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlVmlld0V2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWV2ZW50LWxvZy10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1sb2ctdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ldmVudC1sb2ctdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50TG9nVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBldmVudHM6IENhc2VWaWV3RXZlbnRbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWQ6IENhc2VWaWV3RXZlbnQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZVZpZXdFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQ2FzZUhpc3RvcnkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgaXNQYXJ0T2ZDYXNlVGltZWxpbmUgPSBmYWxzZTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1BhcnRPZkNhc2VUaW1lbGluZSA9IHRoaXMub25DYXNlSGlzdG9yeS5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3QoZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZXZlbnQ7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzaWduaWZpY2FudEl0ZW1FeGlzdChldmVudDogQ2FzZVZpZXdFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZXZlbnQuc2lnbmlmaWNhbnRfaXRlbSAmJlxuICAgICAgICBldmVudC5zaWduaWZpY2FudF9pdGVtLnR5cGUgPT09ICdET0NVTUVOVCcgJiZcbiAgICAgICAgZXZlbnQuc2lnbmlmaWNhbnRfaXRlbS51cmwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBldmVudC5zaWduaWZpY2FudF9pdGVtLmRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIGdldFNpZ25pZmljYW50SXRlbVVybChldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgaWYgKGV2ZW50LnNpZ25pZmljYW50X2l0ZW0pIHtcbiAgICAgIHJldHVybiBldmVudC5zaWduaWZpY2FudF9pdGVtLnVybDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U2lnbmlmaWNhbnRJdGVtRGVzYyhldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgaWYgKGV2ZW50LnNpZ25pZmljYW50X2l0ZW0pIHtcbiAgICAgIHJldHVybiBldmVudC5zaWduaWZpY2FudF9pdGVtLmRlc2NyaXB0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYXNlSGlzdG9yeUNsaWNrZWQoZXZlbnRJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNhc2VIaXN0b3J5LmVtaXQoZXZlbnRJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXJpYUxhYmVsZm9yQ29sdW1uKGV2ZW50OiBDYXNlVmlld0V2ZW50KTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAhPT0gZXZlbnQpIHtcbiAgICAgIHJldHVybiBgZGF0ZSAke2Zvcm1hdERhdGUoZXZlbnQudGltZXN0YW1wLCAnZGQgTU1NIHl5eXkgaGg6bW06c3MgYScsICdlbi1HQicpfSxcbiAgICAgICAgcHJlc3MgZW50ZXIga2V5IGZvciBldmVudCAke2V2ZW50LmV2ZW50X25hbWV9IGRldGFpbHNgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEFyaWFMYWJlbGZvclJvdyhldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB5b3UgYXJlIG9uIGV2ZW50ICR7ZXZlbnQuZXZlbnRfbmFtZX0gcm93LCBwcmVzcyB0YWIga2V5IHRvIG5hdmlnYXRlIHRvIGNvbHVtbnNgO1xuICB9XG5cbiAgcHVibGljIGdldEFyaWFMYWJlbGZvckxpbmsoZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcHJlc3MgZW50ZXIga2V5IHRvIG9wZW4gZXZlbnQgJHtldmVudC5ldmVudF9uYW1lfSBsaW5rIGluIHNlcGFyYXRlIHdpbmRvd2A7XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIkV2ZW50TG9nVGFibGVcIj5cbiAgPGNhcHRpb24+PGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiPnt7J0hpc3RvcnknIHwgcnB4VHJhbnNsYXRlfX08L2gyPjwvY2FwdGlvbj5cbiAgPHRoZWFkPlxuICA8dHI+XG4gICAgPHRoPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7J0V2ZW50JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgPHRoPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7J0RhdGUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICA8dGg+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3snQXV0aG9yJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgPHRyICpuZ0Zvcj1cImxldCBldmVudCBvZiBldmVudHNcIiAoY2xpY2spPVwic2VsZWN0KGV2ZW50KVwiIChrZXlVcCk9XCJzZWxlY3QoZXZlbnQpXCIgW25nQ2xhc3NdPVwieydFdmVudExvZ1RhYmxlLVNlbGVjdGVkJzogc2VsZWN0ZWQgPT09IGV2ZW50fVwiIHRhYmluZGV4PVwiMFwiIGF0dHIuYXJpYS1sYWJlbD1cInt7Z2V0QXJpYUxhYmVsZm9yUm93KGV2ZW50KX19XCI+XG4gICAgPHRkPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXNQYXJ0T2ZDYXNlVGltZWxpbmVcIj5cbiAgICAgICAgPGRpdiBpZD1cImNhc2UtdGltZWxpbmVcIiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxuICAgICAgICAgIDxhIChjbGljayk9XCJjYXNlSGlzdG9yeUNsaWNrZWQoZXZlbnQuaWQpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZXZlbnQuc3RhdGVfaWQgIT09ICdEcmFmdCdcIiBjbGFzcz1cInRleHQtMTYgZXZlbnQtbGlua1wiIGF0dHIuYXJpYS1sYWJlbD1cInt7Z2V0QXJpYUxhYmVsZm9yTGluayhldmVudCl9fVwiPnt7ZXZlbnQuZXZlbnRfbmFtZSB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiPlxuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCAnZXZlbnQnLCBldmVudC5pZCwgJ2hpc3RvcnknXVwiXG4gICAgICAgICAgICAgIFt0YXJnZXRdPVwiJ19ibGFuaydcIlxuICAgICAgICAgICAgICAqbmdJZj1cImV2ZW50LnN0YXRlX2lkICE9PSAnRHJhZnQnXCIgY2xhc3M9XCJ0ZXh0LTE2IGV2ZW50LWxpbmtcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2dldEFyaWFMYWJlbGZvckxpbmsoZXZlbnQpfX1cIj57e2V2ZW50LmV2ZW50X25hbWUgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZXZlbnQuc3RhdGVfaWQgPT09ICdEcmFmdCdcIj57e2V2ZW50LmV2ZW50X25hbWV9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwXCIgKm5nSWY9XCJzaWduaWZpY2FudEl0ZW1FeGlzdChldmVudClcIj5cbiAgICAgICAgPGEgaHJlZj1cInt7Z2V0U2lnbmlmaWNhbnRJdGVtVXJsKGV2ZW50KX19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2dldEFyaWFMYWJlbGZvckxpbmsoZXZlbnQpfX1cIj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwiZG9jLWltZ1wiIGFsdD1cImRvY3VtZW50IGltYWdlXCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGQUFBQUJvQ0FZQUFBQm1PSGR0QUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd3dBQURzTUJ4MitvWkFBQUFCbDBSVmgwVTI5bWRIZGhjbVVBY0dGcGJuUXVibVYwSURRdU1DNHlNZkVnYVpVQUFBa29TVVJCVkhoZTdkMzNjNVJGSEFady93Q0tpRjBzMkxBd2lpZ3E5bDVHL1VWL1VVZUZrRUFvUXFpV29LS0kxRGc2WXhRUWJHbWtYUW9KSVFRaWFTU2hoaVFNa2dJcGhDU1hrTjRidVB0Y25uREc5ZlhDYStGTjltWStNNUxjZTdmM1pQYjJ1L3Z1KzNyUnNLbitaNGV5NGU3QklCNFhuUThkb0E3UUhCMmdTVHBBazNTQUpsayt3T0c5VkwvN0wrZ0FUYnJnQXh6bEhnQU02c2tWY1REaHcyaTRkYUVOWHZiWkNYZDlFQVU4ZnFSYkFEaS81ajlKQjJqU0JSdmcySG1oOE1Bbk1iQWwvVGhzK2pVUHFodmJvTGFwSFhKS1RrUFUvbUtJMkZjRWR5eUpoT3ZtaG9McXZjelFBWnAwd1FVNFlWRUF1UG5HdzVHVHRkRGQwd09kWGQzUTF1R1FYVklEL0hsWGR3KzB0SFZDV1UwenZMTWhGU1o1UjREcXZjK0hEdENrQ3liQVc4UkFJSG42eGtKcHVSM2FPcnFncXFFVlBEYW53WnUrdThITEx3UFkxYWR1VEFGN2ZTdnd1THFtTmxpd2VSZmM2eDBKcXJZTXhOOEZPTndqOUN6MFBxOC9IV0J2RVAyRG8zODl3Rkh1Z1REUk94cU9sZGNEdTJobWZpWGN1Y1FHTjh3TGd4SGlXT25jNnpqS25jczl0OERWczRJaCtrQXhGRlkyUUswSVVYcjFxMTF3dlJoWUpPYzJEUVNENkI4Y0RYTUxQQXVLWXlVZDRQOGQ0RWczQjcrVWZPZ1JBNFYwWEh4WWFmeDdrY0NDZVBUMElIaHVkVHlFWlo2QWw5WWxBQU8rYkViUUg4UmxuWVQ2bGc0b3FXNkNHK2VIdzdBcGZnNktOaHJSQVZvOXdBZVh4Y0t1M0RKZ09UTG41M1M0Y21Zd01MaUExQUk0VmRzQ2phMGR3QzVmZXJvWk9LWGpjV085d29ESHRiU0xNa2ZZbUhnTVZHMXpoUTdRNmdIeWcvSURuYkEzQXNzUkxpTE0vU1VEeXV0YWdjOHZybW9FRGo0c3VBc3FHdUNhMlNGd3VXY1FMQXpJaEo2ZU14Q1lWZ2kzTFk0QVZSdU42QUN0SHVBTGF4S2dvYlVUOGtVSTB1UmxNY0F5NStma2ZPanNrdE81bnI0cEhydm1HNzVKVUZ6ZERFMWlHaWU5L3MxdXVIaWFQN3k0TmdINEI4Z3RyWUZKSDhlQXFvMUdkSUJXRDVCVHM2S3FKbUNaTVc1UkJMQWdmbWQ5TXZEeGVlUmhZTmU3UWhUUFVxV1l2a0ZkQzJ4Sy9BMzRmbDlFSFlaODBiMmxtcVoyR1BOdUtEaTN6UlU2UUtzSHlDN0Y0UGpCN3Zzb0JpNmVGZ0NCYVFYUTBka04yY1duNFZKUkpFdnNndHV6U3FGZFBFZDZabFU4Y0tyMzFCZnh3Ti96RHpkWmxGS1NxbzFHZElCV0QzRDgrMUhBUXZoUVVUV2MrL0ozQkxqMVFESHd5eit6d0E0TWhvSC9ldVFVc0p6aEZPOFNqd0M0WDRRc2Naa3M2V2c1dk9LekUxUnROS0lEdEhxQWIzNmJCT1ZpZWlYVk43Y0RCNGNyWjI0QnQrOVRnUVh3bXBnYzRHRERRcm02b1JVcXhBQWkrY1Rtd0FnM2YrQWd3aWtmbno5bWRqQ28ybWhFQjJqMUFOLzZMZ240Z1ZoV2pGdGtnOUVlZ2JBOE1ndllOVzM3aW9GVE5SYlVISVJZbUU4WEpaTEU1VEQrdTBFTVdOTHB4amJnOGFvMkd0RUJXajNBbXhlRUF4OVpZZ0NSNXZsbEFBZVIyRU1sME5EU0Rud2VCeEdXS3p5eHp0T2JqNi9ZRGl4M3VIekdRY1MydHdnNDJLamFhRVFIYVBVQUgvOWNmRUNoVGd3Y1VtMXpCeno4MlRaZ0YxNGh2dmdsTGlZRTdTa0VkbUV1elhNNWpJVzU1dzlwd0ZNSE04Ui9TLzBMZDh0MllSMmc0b2NENGJZeEJmWVhWZ0cvM0xtNWlFdjY3cHRTZ1k4dnQrVUN0N2RkKzI0b3NCemlsbzVsNFFlQkM3T3J0bVlEeXh3dWU0MlpFd0txTmhyUkFWbzlRQmJNcmVJTFhXSVhmSHREQ25BUUNVNC9EcHpLN2NtcmdOSFRSUmNYdUJpd0o2OFMrSHJQck5vQmw0aXZBZW5wbGR1Qml3bUp1V1hBS1o2cWpVWjBnSU1sd09hMkRpaXFhb1MzMXlkRFg0Qml3SkFZWU5xeENtQjV3a0VuSTk4T1hKeDRlbVU4akhLWDJ6LzhVZXBJREhCWFRobm9BSWRxZ0F5S200aDRvdnhHcjFEb0cwUytUd0UrMW9rQlJMcEZGT0hTZFhQRGdFdjZuQm91RFQwQWZML1YwWWZoejROSUtEaTN6UlU2UUtzSCtOQ25zY0JGQkJiVUxMQTVTS3lNemdZdTZmdW5Gc0JWczRMaDVnVTJLQkdoU1h5OUtSdVNnWXNKTTMvY0F5eVg4c3JyWWF4WE9LamFhRVFIYVBVQU9ZWHFGaE4vaVNmTUZ3ZG1BaGNMdGg4dUJYYnhneWVxZ0wvbmhUYng0amtTTnlseGNPQW1vNGRFcVNOeEVBa1JwWkgwd3RvRVVMWFJpQTdRNmdHKzluVWlGRlkyQWlmNTQ5K0xBSllwcTdibUFCZFV0NGlTUnJwNmRnaHdhWjhiSjltRnVlV0RTL3F6ZjBxSHh0Wk9zTmUzQURkbXF0cG9SQWRvOVFCNU9yRllmR2lKWmNXRUQ2T0FXenM4ZjB3SG5sUmFIcEVGWEpCbHVjTS9BS2VFSDRVZEFDNG1ySTNOQlM0NmNBc0lsOFZVYlRTaUE3UjZnRnlPWW5CSHkrcGdtaWlhSlc1TDI1RjlFcmhJa0h5MEhQajdKMWJFQVpmRnVQRDY2UEk0NEdEejhLZGl5aWUwZDNaQmdwakdTYytLNloya2FxTVJIYURWQTN4TWZEaUpXM1c1TmZlUno3WUJQM2g0NW5Ib0VLV0p0Sy9RRGl5MG4xdWRBUHg1UzNzWDNMdDBLekRvNTlmc0FBYklRbnJpMG1oUXRkR0lEdERxQWJKOG1MSWhCYmk1bkZzNmVLRTBwMkI4TEFuYUN6Zk5Ed2R1a09RRjJPekszTXJCOTFzWG13TW43QTNBUlFYTERpSTZRTVVQendmTERFNzYrWE1XMHJ5RW40UERUMGw1d05PZURKcURSRWg2SWZBUHdkT2F6NjhXWFZqZ2xKQ0Qxa1RSelNYbk5ybENCemhZQXZ3cm5JSWxpQkpHNHBJK2J6TEJKWDgrbjRNTy95QThuZ0Z5ME9LVU1QVllCWERwMy9tOVhhRURIT3dCY2lySERaV2N5bjBzcG1jU3AzQ3FZNTB4VUY0eXhzSGpWRTB6OEpZRHFtT042QUFIZTRDOGdJWVgxakJBbjIyNXdQSkZkYXd6QnNpYlZIQVJnVUZ5RUZJZGEwUUhPTmdEcEsvamNvSGxCMjhlNFdvQmZLbVk3a25jVXR6VkxXL1MwOTFYSHZIaVJ0V3hSblNBZ3o3QTNwdEJjTm1MUy9hOCtWalUvaUxnN1U1WXR2QjRiaW9hdHpBY2VIa3JiMjdCazBvc2YvN3czaTdRQVE3NkFIdHhBeVZQbFBOV1RseTZ6OGl2aERkOGQ4TkxQanZCWTFNcThDWmx2Q2xaUVhrZDhPSkRIYUFPMERXVHZHM2d0VGtSZVBxU2d3SlBtUE1TTG01ek8zUG1EQlJXMUlQSGVoR3VjTnVpY0ZDOWx5dDBnRU10UUxyN2d5amcxZzB1Q3JDcmNvcTJ0OEFPeWI5VkFCY1RibDlzQTlWckQ0UU9VUEhhQTJIWkFJazNGeHN4MVEvdThZNEdCc3VnZVZLSjIrRlVyM1UrZElBbVdUN0EvNXNPMENRZG9FazZRSk4wZ0NicEFFMHlIU0JmWUtnYU1jTUcvWU1qSGVEZk1CMmc2aUR0SEIyZ1NUcEFrM1NBSnVrQVRkSUJtdlN2QmNqL1VVbmZHd3hXaXRDY0tjTnhoUTdRUVJtT0sxaUlxbDUwS0ZHRzR3b2RvSU15SEZmb0FCMlU0YmhDQitpZ0RNY1ZPa0FIWlRpdTBBRksvbWQvQnc4WGV2SUl5RXFaQUFBQUFFbEZUa1N1UW1DQ1wiLz5cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0IGRvYy10b29sdGlwXCI+e3tnZXRTaWduaWZpY2FudEl0ZW1EZXNjKGV2ZW50KX19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC90ZD5cbiAgICA8dGQgdGFiaW5kZXg9XCIwXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tnZXRBcmlhTGFiZWxmb3JDb2x1bW4oZXZlbnQpfX1cIiAoa2V5ZG93bi5lbnRlcik9XCJzZWxlY3QoZXZlbnQpXCI+PGRpdiBjbGFzcz1cInRvb2x0aXAgdGV4dC0xNlwiPnt7ZXZlbnQudGltZXN0YW1wIHwgY2NkRGF0ZSA6ICdsb2NhbCd9fVxuICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dFwiPnt7J0xvY2FsOicgfCBycHhUcmFuc2xhdGV9fSB7e2V2ZW50LnRpbWVzdGFtcCB8IGNjZERhdGUgOiAnbG9jYWwnfX08L3NwYW4+XG4gICAgPC9kaXY+PC90ZD5cbiAgICA8dGQgdGFiaW5kZXg9XCIwXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tldmVudC51c2VyX2ZpcnN0X25hbWUgfCB0aXRsZWNhc2V9fSB7e2V2ZW50LnVzZXJfbGFzdF9uYW1lIHwgdXBwZXJjYXNlfX08L3NwYW4+PC90ZD5cbiAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbG9nLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2hpc3RvcnkvZXZlbnQtbG9nL2V2ZW50LWxvZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9oaXN0b3J5L2V2ZW50LWxvZy9ldmVudC1sb2ctdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztJQ1l6Qyw2QkFDaUg7SUFEOUcsd05BQVMsZUFBQSxzQ0FBNEIsQ0FBQSxJQUFDO0lBQ3dFLFlBQW1DOztJQUFBLGlCQUFJOzs7O0lBQXhGLGtFQUFnRDtJQUFDLGVBQW1DO0lBQW5DLCtEQUFtQzs7O0lBRnRKLCtCQUE2QztJQUMzQyxnRkFDd0o7SUFDeEosaUJBQU07OztJQURILGVBQWdDO0lBQWhDLG9EQUFnQzs7OztJQUduQyw2QkFFbUg7SUFBQSxZQUFtQzs7SUFBQSxpQkFBSTs7OztJQUZ2SixvRUFBbUQsb0JBQUE7SUFFWSxtRUFBZ0Q7SUFBQyxlQUFtQztJQUFuQywrREFBbUM7OztJQUh4SiwyQkFBMkI7SUFDekIsZ0ZBRTBKO0lBQzVKLGlCQUFNOzs7SUFEQyxlQUFnQztJQUFoQyxvREFBZ0M7OztJQUd6Qyw0QkFBeUM7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Q0FBQztvQ0FDL0MsS0FBSyxDQUFDLFVBQVUsVUFBVSxDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQW9CO1FBQzVDLE9BQU8sb0JBQW9CLEtBQUssQ0FBQyxVQUFVLDRDQUE0QyxDQUFDO0lBQzFGLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFvQjtRQUM3QyxPQUFPLGlDQUFpQyxLQUFLLENBQUMsVUFBVSwwQkFBMEIsQ0FBQztJQUNyRixDQUFDOzs0RkEvRFUsc0JBQXNCO3lFQUF0QixzQkFBc0I7UUNUbkMsZ0NBQTZCLGNBQUEsWUFBQTtRQUNLLFlBQTRCOztRQUFBLGlCQUFLLEVBQUE7UUFDakUsNkJBQU8sU0FBQSxTQUFBLGNBQUE7UUFFcUIsWUFBMEI7O1FBQUEsaUJBQU8sRUFBQTtRQUMzRCwyQkFBSSxlQUFBO1FBQXNCLGFBQXlCOztRQUFBLGlCQUFPLEVBQUE7UUFDMUQsMkJBQUksZUFBQTtRQUFzQixhQUEyQjs7UUFBQSxpQkFBTyxFQUFBLEVBQUEsRUFBQTtRQUc5RCw4QkFBTztRQUNQLHlFQXlCSztRQUNMLGlCQUFRLEVBQUE7O1FBbkN3QixlQUE0QjtRQUE1QixxREFBNEI7UUFHaEMsZUFBMEI7UUFBMUIsb0RBQTBCO1FBQzFCLGVBQXlCO1FBQXpCLG1EQUF5QjtRQUN6QixlQUEyQjtRQUEzQixzREFBMkI7UUFJakMsZUFBUztRQUFULG9DQUFTOzt1RkREcEIsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0UscUJBQXFCO2dCQU94QixNQUFNO2tCQURaLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxRQUFRO2tCQURkLE1BQU07WUFJQSxhQUFhO2tCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlVmlld0V2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWV2ZW50LWxvZy10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1sb2ctdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ldmVudC1sb2ctdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50TG9nVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBldmVudHM6IENhc2VWaWV3RXZlbnRbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWQ6IENhc2VWaWV3RXZlbnQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZVZpZXdFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQ2FzZUhpc3RvcnkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgaXNQYXJ0T2ZDYXNlVGltZWxpbmUgPSBmYWxzZTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1BhcnRPZkNhc2VUaW1lbGluZSA9IHRoaXMub25DYXNlSGlzdG9yeS5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3QoZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZXZlbnQ7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzaWduaWZpY2FudEl0ZW1FeGlzdChldmVudDogQ2FzZVZpZXdFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZXZlbnQuc2lnbmlmaWNhbnRfaXRlbSAmJlxuICAgICAgICBldmVudC5zaWduaWZpY2FudF9pdGVtLnR5cGUgPT09ICdET0NVTUVOVCcgJiZcbiAgICAgICAgZXZlbnQuc2lnbmlmaWNhbnRfaXRlbS51cmwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBldmVudC5zaWduaWZpY2FudF9pdGVtLmRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIGdldFNpZ25pZmljYW50SXRlbVVybChldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgaWYgKGV2ZW50LnNpZ25pZmljYW50X2l0ZW0pIHtcbiAgICAgIHJldHVybiBldmVudC5zaWduaWZpY2FudF9pdGVtLnVybDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U2lnbmlmaWNhbnRJdGVtRGVzYyhldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgaWYgKGV2ZW50LnNpZ25pZmljYW50X2l0ZW0pIHtcbiAgICAgIHJldHVybiBldmVudC5zaWduaWZpY2FudF9pdGVtLmRlc2NyaXB0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYXNlSGlzdG9yeUNsaWNrZWQoZXZlbnRJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNhc2VIaXN0b3J5LmVtaXQoZXZlbnRJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXJpYUxhYmVsZm9yQ29sdW1uKGV2ZW50OiBDYXNlVmlld0V2ZW50KTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAhPT0gZXZlbnQpIHtcbiAgICAgIHJldHVybiBgZGF0ZSAke2Zvcm1hdERhdGUoZXZlbnQudGltZXN0YW1wLCAnZGQgTU1NIHl5eXkgaGg6bW06c3MgYScsICdlbi1HQicpfSxcbiAgICAgICAgcHJlc3MgZW50ZXIga2V5IGZvciBldmVudCAke2V2ZW50LmV2ZW50X25hbWV9IGRldGFpbHNgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEFyaWFMYWJlbGZvclJvdyhldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB5b3UgYXJlIG9uIGV2ZW50ICR7ZXZlbnQuZXZlbnRfbmFtZX0gcm93LCBwcmVzcyB0YWIga2V5IHRvIG5hdmlnYXRlIHRvIGNvbHVtbnNgO1xuICB9XG5cbiAgcHVibGljIGdldEFyaWFMYWJlbGZvckxpbmsoZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcHJlc3MgZW50ZXIga2V5IHRvIG9wZW4gZXZlbnQgJHtldmVudC5ldmVudF9uYW1lfSBsaW5rIGluIHNlcGFyYXRlIHdpbmRvd2A7XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIkV2ZW50TG9nVGFibGVcIj5cbiAgPGNhcHRpb24+PGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiPnt7J0hpc3RvcnknIHwgcnB4VHJhbnNsYXRlfX08L2gyPjwvY2FwdGlvbj5cbiAgPHRoZWFkPlxuICA8dHI+XG4gICAgPHRoPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7J0V2ZW50JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgPHRoPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7J0RhdGUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICA8dGg+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3snQXV0aG9yJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgPHRyICpuZ0Zvcj1cImxldCBldmVudCBvZiBldmVudHNcIiAoY2xpY2spPVwic2VsZWN0KGV2ZW50KVwiIChrZXl1cCk9XCJzZWxlY3QoZXZlbnQpXCIgW25nQ2xhc3NdPVwieydFdmVudExvZ1RhYmxlLVNlbGVjdGVkJzogc2VsZWN0ZWQgPT09IGV2ZW50fVwiIHRhYmluZGV4PVwiMFwiIGF0dHIuYXJpYS1sYWJlbD1cInt7Z2V0QXJpYUxhYmVsZm9yUm93KGV2ZW50KX19XCI+XG4gICAgPHRkPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXNQYXJ0T2ZDYXNlVGltZWxpbmVcIj5cbiAgICAgICAgPGRpdiBpZD1cImNhc2UtdGltZWxpbmVcIiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxuICAgICAgICAgIDxhIChjbGljayk9XCJjYXNlSGlzdG9yeUNsaWNrZWQoZXZlbnQuaWQpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZXZlbnQuc3RhdGVfaWQgIT09ICdEcmFmdCdcIiBjbGFzcz1cInRleHQtMTYgZXZlbnQtbGlua1wiIGF0dHIuYXJpYS1sYWJlbD1cInt7Z2V0QXJpYUxhYmVsZm9yTGluayhldmVudCl9fVwiPnt7ZXZlbnQuZXZlbnRfbmFtZSB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiPlxuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCAnZXZlbnQnLCBldmVudC5pZCwgJ2hpc3RvcnknXVwiXG4gICAgICAgICAgICAgIFt0YXJnZXRdPVwiJ19ibGFuaydcIlxuICAgICAgICAgICAgICAqbmdJZj1cImV2ZW50LnN0YXRlX2lkICE9PSAnRHJhZnQnXCIgY2xhc3M9XCJ0ZXh0LTE2IGV2ZW50LWxpbmtcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2dldEFyaWFMYWJlbGZvckxpbmsoZXZlbnQpfX1cIj57e2V2ZW50LmV2ZW50X25hbWUgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZXZlbnQuc3RhdGVfaWQgPT09ICdEcmFmdCdcIj57e2V2ZW50LmV2ZW50X25hbWV9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwXCIgKm5nSWY9XCJzaWduaWZpY2FudEl0ZW1FeGlzdChldmVudClcIj5cbiAgICAgICAgPGEgaHJlZj1cInt7Z2V0U2lnbmlmaWNhbnRJdGVtVXJsKGV2ZW50KX19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2dldEFyaWFMYWJlbGZvckxpbmsoZXZlbnQpfX1cIj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwiZG9jLWltZ1wiIGFsdD1cImRvY3VtZW50IGltYWdlXCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGQUFBQUJvQ0FZQUFBQm1PSGR0QUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd3dBQURzTUJ4MitvWkFBQUFCbDBSVmgwVTI5bWRIZGhjbVVBY0dGcGJuUXVibVYwSURRdU1DNHlNZkVnYVpVQUFBa29TVVJCVkhoZTdkMzNjNVJGSEFady93Q0tpRjBzMkxBd2lpZ3E5bDVHL1VWL1VVZUZrRUFvUXFpV29LS0kxRGc2WXhRUWJHbWtYUW9KSVFRaWFTU2hoaVFNa2dJcGhDU1hrTjRidVB0Y25uREc5ZlhDYStGTjltWStNNUxjZTdmM1pQYjJ1L3Z1KzNyUnNLbitaNGV5NGU3QklCNFhuUThkb0E3UUhCMmdTVHBBazNTQUpsayt3T0c5VkwvN0wrZ0FUYnJnQXh6bEhnQU02c2tWY1REaHcyaTRkYUVOWHZiWkNYZDlFQVU4ZnFSYkFEaS81ajlKQjJqU0JSdmcySG1oOE1Bbk1iQWwvVGhzK2pVUHFodmJvTGFwSFhKS1RrUFUvbUtJMkZjRWR5eUpoT3ZtaG9McXZjelFBWnAwd1FVNFlWRUF1UG5HdzVHVHRkRGQwd09kWGQzUTF1R1FYVklEL0hsWGR3KzB0SFZDV1UwenZMTWhGU1o1UjREcXZjK0hEdENrQ3liQVc4UkFJSG42eGtKcHVSM2FPcnFncXFFVlBEYW53WnUrdThITEx3UFkxYWR1VEFGN2ZTdnd1THFtTmxpd2VSZmM2eDBKcXJZTXhOOEZPTndqOUN6MFBxOC9IV0J2RVAyRG8zODl3Rkh1Z1REUk94cU9sZGNEdTJobWZpWGN1Y1FHTjh3TGd4SGlXT25jNnpqS25jczl0OERWczRJaCtrQXhGRlkyUUswSVVYcjFxMTF3dlJoWUpPYzJEUVNENkI4Y0RYTUxQQXVLWXlVZDRQOGQ0RWczQjcrVWZPZ1JBNFYwWEh4WWFmeDdrY0NDZVBUMElIaHVkVHlFWlo2QWw5WWxBQU8rYkViUUg4UmxuWVQ2bGc0b3FXNkNHK2VIdzdBcGZnNktOaHJSQVZvOXdBZVh4Y0t1M0RKZ09UTG41M1M0Y21Zd01MaUExQUk0VmRzQ2phMGR3QzVmZXJvWk9LWGpjV085d29ESHRiU0xNa2ZZbUhnTVZHMXpoUTdRNmdIeWcvSURuYkEzQXNzUkxpTE0vU1VEeXV0YWdjOHZybW9FRGo0c3VBc3FHdUNhMlNGd3VXY1FMQXpJaEo2ZU14Q1lWZ2kzTFk0QVZSdU42QUN0SHVBTGF4S2dvYlVUOGtVSTB1UmxNY0F5NStma2ZPanNrdE81bnI0cEhydm1HNzVKVUZ6ZERFMWlHaWU5L3MxdXVIaWFQN3k0TmdINEI4Z3RyWUZKSDhlQXFvMUdkSUJXRDVCVHM2S3FKbUNaTVc1UkJMQWdmbWQ5TXZEeGVlUmhZTmU3UWhUUFVxV1l2a0ZkQzJ4Sy9BMzRmbDlFSFlaODBiMmxtcVoyR1BOdUtEaTN6UlU2UUtzSHlDN0Y0UGpCN3Zzb0JpNmVGZ0NCYVFYUTBka04yY1duNFZKUkpFdnNndHV6U3FGZFBFZDZabFU4Y0tyMzFCZnh3Ti96RHpkWmxGS1NxbzFHZElCV0QzRDgrMUhBUXZoUVVUV2MrL0ozQkxqMVFESHd5eit6d0E0TWhvSC9ldVFVc0p6aEZPOFNqd0M0WDRRc2Naa3M2V2c1dk9LekUxUnROS0lEdEhxQWIzNmJCT1ZpZWlYVk43Y0RCNGNyWjI0QnQrOVRnUVh3bXBnYzRHRERRcm02b1JVcXhBQWkrY1Rtd0FnM2YrQWd3aWtmbno5bWRqQ28ybWhFQjJqMUFOLzZMZ240Z1ZoV2pGdGtnOUVlZ2JBOE1ndllOVzM3aW9GVE5SYlVISVJZbUU4WEpaTEU1VEQrdTBFTVdOTHB4amJnOGFvMkd0RUJXajNBbXhlRUF4OVpZZ0NSNXZsbEFBZVIyRU1sME5EU0Rud2VCeEdXS3p5eHp0T2JqNi9ZRGl4M3VIekdRY1MydHdnNDJLamFhRVFIYVBVQUgvOWNmRUNoVGd3Y1VtMXpCeno4MlRaZ0YxNGh2dmdsTGlZRTdTa0VkbUV1elhNNWpJVzU1dzlwd0ZNSE04Ui9TLzBMZDh0MllSMmc0b2NENGJZeEJmWVhWZ0cvM0xtNWlFdjY3cHRTZ1k4dnQrVUN0N2RkKzI0b3NCemlsbzVsNFFlQkM3T3J0bVlEeXh3dWU0MlpFd0txTmhyUkFWbzlRQmJNcmVJTFhXSVhmSHREQ25BUUNVNC9EcHpLN2NtcmdOSFRSUmNYdUJpd0o2OFMrSHJQck5vQmw0aXZBZW5wbGR1Qml3bUp1V1hBS1o2cWpVWjBnSU1sd09hMkRpaXFhb1MzMXlkRFg0Qml3SkFZWU5xeENtQjV3a0VuSTk4T1hKeDRlbVU4akhLWDJ6LzhVZXBJREhCWFRobm9BSWRxZ0F5S200aDRvdnhHcjFEb0cwUytUd0UrMW9rQlJMcEZGT0hTZFhQRGdFdjZuQm91RFQwQWZML1YwWWZoejROSUtEaTN6UlU2UUtzSCtOQ25zY0JGQkJiVUxMQTVTS3lNemdZdTZmdW5Gc0JWczRMaDVnVTJLQkdoU1h5OUtSdVNnWXNKTTMvY0F5eVg4c3JyWWF4WE9LamFhRVFIYVBVQU9ZWHFGaE4vaVNmTUZ3ZG1BaGNMdGg4dUJYYnhneWVxZ0wvbmhUYng0amtTTnlseGNPQW1vNGRFcVNOeEVBa1JwWkgwd3RvRVVMWFJpQTdRNmdHKzluVWlGRlkyQWlmNTQ5K0xBSllwcTdibUFCZFV0NGlTUnJwNmRnaHdhWjhiSjltRnVlV0RTL3F6ZjBxSHh0Wk9zTmUzQURkbXF0cG9SQWRvOVFCNU9yRllmR2lKWmNXRUQ2T0FXenM4ZjB3SG5sUmFIcEVGWEpCbHVjTS9BS2VFSDRVZEFDNG1ySTNOQlM0NmNBc0lsOFZVYlRTaUE3UjZnRnlPWW5CSHkrcGdtaWlhSlc1TDI1RjlFcmhJa0h5MEhQajdKMWJFQVpmRnVQRDY2UEk0NEdEejhLZGl5aWUwZDNaQmdwakdTYytLNloya2FxTVJIYURWQTN4TWZEaUpXM1c1TmZlUno3WUJQM2g0NW5Ib0VLV0p0Sy9RRGl5MG4xdWRBUHg1UzNzWDNMdDBLekRvNTlmc0FBYklRbnJpMG1oUXRkR0lEdERxQWJKOG1MSWhCYmk1bkZzNmVLRTBwMkI4TEFuYUN6Zk5Ed2R1a09RRjJPekszTXJCOTFzWG13TW43QTNBUlFYTERpSTZRTVVQendmTERFNzYrWE1XMHJ5RW40UERUMGw1d05PZURKcURSRWg2SWZBUHdkT2F6NjhXWFZqZ2xKQ0Qxa1RSelNYbk5ybENCemhZQXZ3cm5JSWxpQkpHNHBJK2J6TEJKWDgrbjRNTy95QThuZ0Z5ME9LVU1QVllCWERwMy9tOVhhRURIT3dCY2lySERaV2N5bjBzcG1jU3AzQ3FZNTB4VUY0eXhzSGpWRTB6OEpZRHFtT042QUFIZTRDOGdJWVgxakJBbjIyNXdQSkZkYXd6QnNpYlZIQVJnVUZ5RUZJZGEwUUhPTmdEcEsvamNvSGxCMjhlNFdvQmZLbVk3a25jVXR6VkxXL1MwOTFYSHZIaVJ0V3hSblNBZ3o3QTNwdEJjTm1MUy9hOCtWalUvaUxnN1U1WXR2QjRiaW9hdHpBY2VIa3JiMjdCazBvc2YvN3czaTdRQVE3NkFIdHhBeVZQbFBOV1RseTZ6OGl2aERkOGQ4TkxQanZCWTFNcThDWmx2Q2xaUVhrZDhPSkRIYUFPMERXVHZHM2d0VGtSZVBxU2d3SlBtUE1TTG01ek8zUG1EQlJXMUlQSGVoR3VjTnVpY0ZDOWx5dDBnRU10UUxyN2d5amcxZzB1Q3JDcmNvcTJ0OEFPeWI5VkFCY1RibDlzQTlWckQ0UU9VUEhhQTJIWkFJazNGeHN4MVEvdThZNEdCc3VnZVZLSjIrRlVyM1UrZElBbVdUN0EvNXNPMENRZG9FazZRSk4wZ0NicEFFMHlIU0JmWUtnYU1jTUcvWU1qSGVEZk1CMmc2aUR0SEIyZ1NUcEFrM1NBSnVrQVRkSUJtdlN2QmNqL1VVbmZHd3hXaXRDY0tjTnhoUTdRUVJtT0sxaUlxbDUwS0ZHRzR3b2RvSU15SEZmb0FCMlU0YmhDQitpZ0RNY1ZPa0FIWlRpdTBBRksvbWQvQnc4WGV2SUl5RXFaQUFBQUFFbEZUa1N1UW1DQ1wiLz5cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0IGRvYy10b29sdGlwXCI+e3tnZXRTaWduaWZpY2FudEl0ZW1EZXNjKGV2ZW50KX19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC90ZD5cbiAgICA8dGQgdGFiaW5kZXg9XCIwXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tnZXRBcmlhTGFiZWxmb3JDb2x1bW4oZXZlbnQpfX1cIiAoa2V5ZG93bi5lbnRlcik9XCJzZWxlY3QoZXZlbnQpXCI+PGRpdiBjbGFzcz1cInRvb2x0aXAgdGV4dC0xNlwiPnt7ZXZlbnQudGltZXN0YW1wIHwgY2NkRGF0ZSA6ICdsb2NhbCd9fVxuICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dFwiPnt7J0xvY2FsOicgfCBycHhUcmFuc2xhdGV9fSB7e2V2ZW50LnRpbWVzdGFtcCB8IGNjZERhdGUgOiAnbG9jYWwnfX08L3NwYW4+XG4gICAgPC9kaXY+PC90ZD5cbiAgICA8dGQgdGFiaW5kZXg9XCIwXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tldmVudC51c2VyX2ZpcnN0X25hbWUgfCB0aXRsZWNhc2V9fSB7e2V2ZW50LnVzZXJfbGFzdF9uYW1lIHwgdXBwZXJjYXNlfX08L3NwYW4+PC90ZD5cbiAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
@@ -152,10 +152,10 @@ QueryListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryLis
152
152
  i0.ɵɵtemplate(0, QueryListComponent_ng_container_0_Template, 10, 3, "ng-container", 0);
153
153
  } if (rf & 2) {
154
154
  i0.ɵɵproperty("ngIf", ctx.queryListData);
155
- } }, dependencies: [i1.NgForOf, i1.NgIf, i1.DatePipe, i2.RpxTranslatePipe], styles: ["@charset \"UTF-8\";.query-list__row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:first-child{padding-left:10px}.query-list__row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child{padding-right:10px}.query-list__cell--first[_ngcontent-%COMP%]{width:33%}[aria-sort] button[_ngcontent-%COMP%], [aria-sort] button[_ngcontent-%COMP%]:hover, [aria-sort] button[_ngcontent-%COMP%]:hover:hover{background-color:transparent;border-width:0;box-shadow:0 0;color:#000;cursor:pointer;font-family:inherit;font-weight:inherit;padding:0 10px 0 0;position:relative;text-align:inherit;font-size:1em;margin:0}[aria-sort] button[_ngcontent-%COMP%]:focus, [aria-sort] button[_ngcontent-%COMP%]:hover:focus{background-color:#fd0;color:#000;box-shadow:0 -2px #fd0,0 4px #000;outline:none}[aria-sort][_ngcontent-%COMP%]:first-child button{right:auto}[aria-sort] button[_ngcontent-%COMP%]:before{content:\" \\25bc\";position:absolute;right:-1px;top:9px;font-size:.5em}[aria-sort] button[_ngcontent-%COMP%]:after{content:\" \\25b2\";position:absolute;right:-1px;top:1px;font-size:.5em}[aria-sort=ascending] button[_ngcontent-%COMP%]:before, [aria-sort=descending] button[_ngcontent-%COMP%]:before{content:none}[aria-sort=ascending] button[_ngcontent-%COMP%]:after{content:\" \\25b2\";font-size:.8em;position:absolute;right:-5px;top:2px}[aria-sort=descending] button[_ngcontent-%COMP%]:after{content:\" \\25bc\";font-size:.8em;position:absolute;right:-5px;top:2px}"] });
155
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i1.DatePipe, i2.RpxTranslatePipe], styles: ["@charset \"UTF-8\";.query-list__row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:first-child{padding-left:10px}.query-list__row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child{padding-right:10px}.query-list__cell--first[_ngcontent-%COMP%]{width:33%}[aria-sort] button[_ngcontent-%COMP%], [aria-sort] button[_ngcontent-%COMP%]:hover, [aria-sort] button[_ngcontent-%COMP%]:hover, [aria-sort] button[_ngcontent-%COMP%]:hover:hover{background-color:transparent;border-width:0;box-shadow:0 0;color:#000;cursor:pointer;font-family:inherit;font-weight:inherit;padding:0 10px 0 0;position:relative;text-align:inherit;font-size:1em;margin:0}[aria-sort] button[_ngcontent-%COMP%]:focus, [aria-sort] button[_ngcontent-%COMP%]:hover:focus{background-color:#fd0;color:#000;box-shadow:0 -2px #fd0,0 4px #000;outline:none}[aria-sort][_ngcontent-%COMP%]:first-child button{right:auto}[aria-sort] button[_ngcontent-%COMP%]:before{content:\" \\25bc\";position:absolute;right:-1px;top:9px;font-size:.5em}[aria-sort] button[_ngcontent-%COMP%]:after{content:\" \\25b2\";position:absolute;right:-1px;top:1px;font-size:.5em}[aria-sort=ascending] button[_ngcontent-%COMP%]:before, [aria-sort=descending] button[_ngcontent-%COMP%]:before{content:none}[aria-sort=ascending] button[_ngcontent-%COMP%]:after{content:\" \\25b2\";font-size:.8em;position:absolute;right:-5px;top:2px}[aria-sort=descending] button[_ngcontent-%COMP%]:after{content:\" \\25bc\";font-size:.8em;position:absolute;right:-5px;top:2px}"] });
156
156
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryListComponent, [{
157
157
  type: Component,
158
- args: [{ selector: 'ccd-query-list', template: "<ng-container *ngIf=\"queryListData\">\n <table class=\"govuk-table query-list__table\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ queryListData.partyName }}</div>\n </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row query-list__row\">\n <th scope=\"col\" class=\"govuk-table__header\" [attr.aria-sort]=\"getAriaSortHeaderValue(col)\"\n *ngFor=\"let col of displayedColumns; let i = index;\">\n <button type=\"button\" [attr.data-index]=\"i\" aria-sort=\"none\" (click)=\"sortTable(col)\" href=\"javascript:void(0)\">\n {{ col.displayName | rpxTranslate }}\n </button>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row query-list__row\"\n *ngFor=\"let message of queryListData.queries\"\n >\n <td class=\"govuk-table__cell query-list__cell query-list__cell--first\">\n <a href=\"javascript:void(0)\" (click)=\"showDetails(message)\">{{ message.subject }}</a>\n </td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedBy }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedDate | date: 'dd MMM YYYY' }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastResponseDate | date: 'dd MMM YYYY' }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.responseStatus | rpxTranslate }}</td>\n </tr>\n </tbody>\n </table>\n</ng-container>\n", styles: ["@charset \"UTF-8\";.query-list__row>*:first-child{padding-left:10px}.query-list__row>*:last-child{padding-right:10px}.query-list__cell--first{width:33%}[aria-sort] button,[aria-sort] button:hover,[aria-sort] button:hover:hover{background-color:transparent;border-width:0;box-shadow:0 0;color:#000;cursor:pointer;font-family:inherit;font-weight:inherit;padding:0 10px 0 0;position:relative;text-align:inherit;font-size:1em;margin:0}[aria-sort] button:focus,[aria-sort] button:hover:focus{background-color:#fd0;color:#000;box-shadow:0 -2px #fd0,0 4px #000;outline:none}[aria-sort]:first-child button{right:auto}[aria-sort] button:before{content:\" \\25bc\";position:absolute;right:-1px;top:9px;font-size:.5em}[aria-sort] button:after{content:\" \\25b2\";position:absolute;right:-1px;top:1px;font-size:.5em}[aria-sort=ascending] button:before,[aria-sort=descending] button:before{content:none}[aria-sort=ascending] button:after{content:\" \\25b2\";font-size:.8em;position:absolute;right:-5px;top:2px}[aria-sort=descending] button:after{content:\" \\25bc\";font-size:.8em;position:absolute;right:-5px;top:2px}\n"] }]
158
+ args: [{ selector: 'ccd-query-list', template: "<ng-container *ngIf=\"queryListData\">\n <table class=\"govuk-table query-list__table\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ queryListData.partyName }}</div>\n </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row query-list__row\">\n <th scope=\"col\" class=\"govuk-table__header\" [attr.aria-sort]=\"getAriaSortHeaderValue(col)\"\n *ngFor=\"let col of displayedColumns; let i = index;\">\n <button type=\"button\" [attr.data-index]=\"i\" aria-sort=\"none\" (click)=\"sortTable(col)\" href=\"javascript:void(0)\">\n {{ col.displayName | rpxTranslate }}\n </button>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row query-list__row\"\n *ngFor=\"let message of queryListData.queries\"\n >\n <td class=\"govuk-table__cell query-list__cell query-list__cell--first\">\n <a href=\"javascript:void(0)\" (click)=\"showDetails(message)\">{{ message.subject }}</a>\n </td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedBy }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedDate | date: 'dd MMM YYYY' }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastResponseDate | date: 'dd MMM YYYY' }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.responseStatus | rpxTranslate }}</td>\n </tr>\n </tbody>\n </table>\n</ng-container>\n", styles: ["@charset \"UTF-8\";.query-list__row>*:first-child{padding-left:10px}.query-list__row>*:last-child{padding-right:10px}.query-list__cell--first{width:33%}[aria-sort] button,[aria-sort] button:hover,[aria-sort] button:hover,[aria-sort] button:hover:hover{background-color:transparent;border-width:0;box-shadow:0 0;color:#000;cursor:pointer;font-family:inherit;font-weight:inherit;padding:0 10px 0 0;position:relative;text-align:inherit;font-size:1em;margin:0}[aria-sort] button:focus,[aria-sort] button:hover:focus{background-color:#fd0;color:#000;box-shadow:0 -2px #fd0,0 4px #000;outline:none}[aria-sort]:first-child button{right:auto}[aria-sort] button:before{content:\" \\25bc\";position:absolute;right:-1px;top:9px;font-size:.5em}[aria-sort] button:after{content:\" \\25b2\";position:absolute;right:-1px;top:1px;font-size:.5em}[aria-sort=ascending] button:before,[aria-sort=descending] button:before{content:none}[aria-sort=ascending] button:after{content:\" \\25b2\";font-size:.8em;position:absolute;right:-5px;top:2px}[aria-sort=descending] button:after{content:\" \\25bc\";font-size:.8em;position:absolute;right:-5px;top:2px}\n"] }]
159
159
  }], null, { caseQueriesCollection: [{
160
160
  type: Input
161
161
  }], selectedQuery: [{