@hmcts/ccd-case-ui-toolkit 5.0.44-angular11-welsh-release-part1-5 → 5.0.44-angular11-welsh-release-part1-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +324 -2914
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +1 -9
  6. package/esm2015/lib/shared/components/case-editor/case-access-utils/index.js +10 -1
  7. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +7 -17
  8. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +5 -52
  9. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +2 -10
  10. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +2 -2
  11. package/esm2015/lib/shared/components/palette/base-field/abstract-form-field.component.js +2 -4
  12. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +4 -4
  13. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +4 -4
  14. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +3 -4
  15. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.js +26 -25
  16. package/esm2015/lib/shared/components/palette/case-link/index.js +1 -4
  17. package/esm2015/lib/shared/components/palette/case-link/read-case-link-field.component.js +8 -28
  18. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +68 -77
  19. package/esm2015/lib/shared/components/palette/palette.module.js +20 -66
  20. package/esm2015/lib/shared/components/palette/palette.service.js +4 -10
  21. package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +1 -10
  22. package/esm2015/lib/shared/domain/case-view/role-request.model.js +1 -1
  23. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  24. package/esm2015/lib/shared/domain/user/user-info.model.js +1 -1
  25. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +1 -5
  26. package/esm2015/lib/shared/pipes/index.js +1 -2
  27. package/esm2015/lib/shared/pipes/pipes.module.js +4 -8
  28. package/esm2015/lib/shared/services/fields/fields.utils.js +2 -8
  29. package/esm2015/lib/shared/services/form/form-value.service.js +10 -9
  30. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +258 -2617
  31. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  32. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +0 -5
  33. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  34. package/lib/shared/components/case-editor/case-access-utils/index.d.ts +3 -0
  35. package/lib/shared/components/case-editor/case-access-utils/index.d.ts.map +1 -1
  36. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +0 -2
  37. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  38. package/lib/shared/components/case-editor/services/cases.service.d.ts +0 -9
  39. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  40. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +0 -1
  41. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  42. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  43. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  44. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts.map +1 -1
  45. package/lib/shared/components/palette/case-link/index.d.ts +0 -3
  46. package/lib/shared/components/palette/case-link/index.d.ts.map +1 -1
  47. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts +0 -3
  48. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts.map +1 -1
  49. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +4 -13
  50. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  51. package/lib/shared/components/palette/palette.module.d.ts +59 -68
  52. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  53. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  54. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts +0 -1
  55. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts.map +1 -1
  56. package/lib/shared/domain/case-view/role-request.model.d.ts +1 -1
  57. package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
  58. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  59. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  60. package/lib/shared/domain/user/user-info.model.d.ts +2 -0
  61. package/lib/shared/domain/user/user-info.model.d.ts.map +1 -1
  62. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  63. package/lib/shared/pipes/index.d.ts +0 -1
  64. package/lib/shared/pipes/index.d.ts.map +1 -1
  65. package/lib/shared/pipes/pipes.module.d.ts +2 -3
  66. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  67. package/lib/shared/services/fields/fields.utils.d.ts +0 -1
  68. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  69. package/lib/shared/services/form/form-value.service.d.ts +0 -3
  70. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  71. package/package.json +1 -1
  72. package/esm2015/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.js +0 -125
  73. package/esm2015/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.js +0 -198
  74. package/esm2015/lib/shared/components/palette/case-link/components/index.js +0 -10
  75. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +0 -497
  76. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.js +0 -221
  77. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.js +0 -286
  78. package/esm2015/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.js +0 -76
  79. package/esm2015/lib/shared/components/palette/case-link/components/read-linked-cases.component.js +0 -178
  80. package/esm2015/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.js +0 -216
  81. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +0 -265
  82. package/esm2015/lib/shared/components/palette/case-link/domain/index.js +0 -3
  83. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases-state.model.js +0 -2
  84. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases.model.js +0 -19
  85. package/esm2015/lib/shared/components/palette/case-link/enums/index.js +0 -2
  86. package/esm2015/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.js +0 -33
  87. package/esm2015/lib/shared/components/palette/case-link/services/index.js +0 -2
  88. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +0 -134
  89. package/esm2015/lib/shared/components/palette/case-link/utils/validators.utils.js +0 -27
  90. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +0 -23
  91. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +0 -2
  92. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts +0 -19
  93. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts.map +0 -1
  94. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts +0 -18
  95. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts.map +0 -1
  96. package/lib/shared/components/palette/case-link/components/index.d.ts +0 -10
  97. package/lib/shared/components/palette/case-link/components/index.d.ts.map +0 -1
  98. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +0 -45
  99. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +0 -1
  100. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts +0 -42
  101. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +0 -1
  102. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts +0 -45
  103. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +0 -1
  104. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts +0 -12
  105. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts.map +0 -1
  106. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts +0 -37
  107. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts.map +0 -1
  108. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts +0 -38
  109. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts.map +0 -1
  110. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +0 -45
  111. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +0 -1
  112. package/lib/shared/components/palette/case-link/domain/index.d.ts +0 -3
  113. package/lib/shared/components/palette/case-link/domain/index.d.ts.map +0 -1
  114. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts +0 -12
  115. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts.map +0 -1
  116. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts +0 -65
  117. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts.map +0 -1
  118. package/lib/shared/components/palette/case-link/enums/index.d.ts +0 -2
  119. package/lib/shared/components/palette/case-link/enums/index.d.ts.map +0 -1
  120. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts +0 -29
  121. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts.map +0 -1
  122. package/lib/shared/components/palette/case-link/services/index.d.ts +0 -2
  123. package/lib/shared/components/palette/case-link/services/index.d.ts.map +0 -1
  124. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +0 -50
  125. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +0 -1
  126. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts +0 -10
  127. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts.map +0 -1
  128. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +0 -11
  129. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +0 -1
  130. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +0 -2
  131. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +0 -1
@@ -1,10 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
3
- import { PaletteContext } from '../base-field/palette-context.enum';
4
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../../pipes/case-reference/case-reference.pipe";
5
6
  function ReadCaseLinkFieldComponent_a_0_Template(rf, ctx) { if (rf & 1) {
6
- i0.ɵɵelementStart(0, "a", 2);
7
- i0.ɵɵelementStart(1, "span", 3);
7
+ i0.ɵɵelementStart(0, "a", 1);
8
+ i0.ɵɵelementStart(1, "span", 2);
8
9
  i0.ɵɵtext(2);
9
10
  i0.ɵɵpipe(3, "ccdCaseReference");
10
11
  i0.ɵɵelementEnd();
@@ -15,44 +16,23 @@ function ReadCaseLinkFieldComponent_a_0_Template(rf, ctx) { if (rf & 1) {
15
16
  i0.ɵɵadvance(2);
16
17
  i0.ɵɵtextInterpolate(ctx_r0.caseField.value.CaseReference ? i0.ɵɵpipeBind1(3, 2, ctx_r0.caseField.value.CaseReference) : "");
17
18
  } }
18
- function ReadCaseLinkFieldComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementContainerStart(0);
20
- i0.ɵɵelement(1, "ccd-read-linked-cases", 4);
21
- i0.ɵɵelementContainerEnd();
22
- } if (rf & 2) {
23
- const ctx_r1 = i0.ɵɵnextContext();
24
- i0.ɵɵadvance(1);
25
- i0.ɵɵproperty("caseField", ctx_r1.caseField);
26
- } }
27
19
  export class ReadCaseLinkFieldComponent extends AbstractFieldReadComponent {
28
- constructor() {
29
- super(...arguments);
30
- this.paletteContext = PaletteContext;
31
- }
32
20
  hasReference() {
33
21
  return this.caseField.value && this.caseField.value.CaseReference;
34
22
  }
35
- hasCaseLinkCollection() {
36
- return (this.caseField.field_type &&
37
- this.caseField.field_type.type === 'Collection' &&
38
- this.caseField.field_type.collection_field_type.id === 'CaseLink');
39
- }
40
23
  }
41
24
  ReadCaseLinkFieldComponent.ɵfac = function ReadCaseLinkFieldComponent_Factory(t) { return ɵReadCaseLinkFieldComponent_BaseFactory(t || ReadCaseLinkFieldComponent); };
42
- ReadCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadCaseLinkFieldComponent, selectors: [["ccd-read-case-link-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 2, consts: [["target", "_blank", 3, "href", 4, "ngIf"], [4, "ngIf"], ["target", "_blank", 3, "href"], [1, "text-16"], [3, "caseField"]], template: function ReadCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
25
+ ReadCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadCaseLinkFieldComponent, selectors: [["ccd-read-case-link-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["target", "_blank", 3, "href", 4, "ngIf"], ["target", "_blank", 3, "href"], [1, "text-16"]], template: function ReadCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
43
26
  i0.ɵɵtemplate(0, ReadCaseLinkFieldComponent_a_0_Template, 4, 4, "a", 0);
44
- i0.ɵɵtemplate(1, ReadCaseLinkFieldComponent_ng_container_1_Template, 2, 1, "ng-container", 1);
45
27
  } if (rf & 2) {
46
28
  i0.ɵɵproperty("ngIf", ctx.hasReference());
47
- i0.ɵɵadvance(1);
48
- i0.ɵɵproperty("ngIf", ctx.hasCaseLinkCollection());
49
- } }, encapsulation: 2 });
29
+ } }, directives: [i1.NgIf], pipes: [i2.CaseReferencePipe], encapsulation: 2 });
50
30
  const ɵReadCaseLinkFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(ReadCaseLinkFieldComponent);
51
31
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadCaseLinkFieldComponent, [{
52
32
  type: Component,
53
33
  args: [{
54
34
  selector: 'ccd-read-case-link-field',
55
- templateUrl: 'read-case-link-field.html',
35
+ templateUrl: 'read-case-link-field.html'
56
36
  }]
57
37
  }], null, null); })();
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9yZWFkLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7SUNGcEUsNEJBQTRGO0lBQzFGLCtCQUFzQjtJQUFBLFlBQ2hCOztJQUFBLGlCQUFPO0lBQ2YsaUJBQUk7OztJQUhzQiwwR0FBaUQ7SUFDbkQsZUFDaEI7SUFEZ0IsNEhBQ2hCOzs7SUFFUiw2QkFBOEM7SUFDNUMsMkNBQXVFO0lBQ3pFLDBCQUFlOzs7SUFEVSxlQUF1QjtJQUF2Qiw0Q0FBdUI7O0FER2hELE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBMEI7SUFKMUU7O1FBS1MsbUJBQWMsR0FBRyxjQUFjLENBQUM7S0FheEM7SUFYUSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ3BFLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUNsRSxDQUFDO0lBQ0osQ0FBQzs7dUlBYlUsMEJBQTBCOytEQUExQiwwQkFBMEI7UUNSdkMsdUVBR0k7UUFDSiw2RkFFZTs7UUFOWCx5Q0FBb0I7UUFJVCxlQUE2QjtRQUE3QixrREFBNkI7O3VGREkvQiwwQkFBMEI7dUZBQTFCLDBCQUEwQjtjQUp0QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsV0FBVyxFQUFFLDJCQUEyQjthQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9wYWxldHRlLWNvbnRleHQuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNhc2UtbGluay1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAncmVhZC1jYXNlLWxpbmstZmllbGQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQge1xuICBwdWJsaWMgcGFsZXR0ZUNvbnRleHQgPSBQYWxldHRlQ29udGV4dDtcblxuICBwdWJsaWMgaGFzUmVmZXJlbmNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZC52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlO1xuICB9XG5cbiAgcHVibGljIGhhc0Nhc2VMaW5rQ29sbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZSAmJlxuICAgICAgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29sbGVjdGlvbicgJiZcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkID09PSAnQ2FzZUxpbmsnXG4gICAgKTtcbiAgfVxufVxuIiwiPGEgKm5nSWY9XCJoYXNSZWZlcmVuY2UoKVwiIGhyZWY9XCIvdjIvY2FzZS97e2Nhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjYXNlRmllbGQudmFsdWUuQ2FzZVJlZmVyZW5jZSA/IChjYXNlRmllbGQudmFsdWUuQ2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2UpIDpcbiAgICAnJ319PC9zcGFuPlxuPC9hPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0Nhc2VMaW5rQ29sbGVjdGlvbigpXCI+XG4gIDxjY2QtcmVhZC1saW5rZWQtY2FzZXMgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIj48L2NjZC1yZWFkLWxpbmtlZC1jYXNlcz5cbjwvbmctY29udGFpbmVyPiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9yZWFkLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7O0lDRHpGLDRCQUE0RjtJQUMxRiwrQkFBc0I7SUFBQSxZQUEyRjs7SUFBQSxpQkFBTztJQUMxSCxpQkFBSTs7O0lBRnNCLDBHQUFpRDtJQUNuRCxlQUEyRjtJQUEzRiw0SEFBMkY7O0FETW5ILE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBMEI7SUFFakUsWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUNwRSxDQUFDOzt1SUFKVSwwQkFBMEI7K0RBQTFCLDBCQUEwQjtRQ1B2Qyx1RUFFSTs7UUFGQSx5Q0FBb0I7O3VGRE9YLDBCQUEwQjt1RkFBMUIsMEJBQTBCO2NBSnRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxXQUFXLEVBQUUsMkJBQTJCO2FBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcmVhZC1jYXNlLWxpbmstZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJ3JlYWQtY2FzZS1saW5rLWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQge1xuXG4gIHB1YmxpYyBoYXNSZWZlcmVuY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2U7XG4gIH1cbn1cbiIsIjxhICpuZ0lmPVwiaGFzUmVmZXJlbmNlKClcIiBocmVmPVwiL3YyL2Nhc2Uve3tjYXNlRmllbGQudmFsdWUuQ2FzZVJlZmVyZW5jZX19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2UgPyAoY2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlKSA6ICcnfX08L3NwYW4+XG48L2E+XG4iXX0=
@@ -1,77 +1,61 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { FormControl, FormGroup, Validators } from '@angular/forms';
3
3
  import { AbstractFieldWriteComponent } from '../base-field/abstract-field-write.component';
4
4
  import { WriteComplexFieldComponent } from '../complex/write-complex-field.component';
5
- import { LinkedCasesService } from './services';
6
5
  import * as i0 from "@angular/core";
7
- import * as i1 from "./services";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "rpx-xui-translation";
9
+ import * as i4 from "../utils/field-label.pipe";
10
+ import * as i5 from "../utils/first-error.pipe";
8
11
  const _c0 = ["writeComplexFieldComponent"];
9
- function WriteCaseLinkFieldComponent_div_1_span_2_Template(rf, ctx) { if (rf & 1) {
12
+ function WriteCaseLinkFieldComponent_span_2_Template(rf, ctx) { if (rf & 1) {
10
13
  i0.ɵɵelementStart(0, "span", 6);
11
14
  i0.ɵɵtext(1);
12
15
  i0.ɵɵpipe(2, "rpxTranslate");
13
16
  i0.ɵɵpipe(3, "ccdFieldLabel");
14
17
  i0.ɵɵelementEnd();
15
18
  } if (rf & 2) {
16
- const ctx_r2 = i0.ɵɵnextContext(2);
19
+ const ctx_r0 = i0.ɵɵnextContext();
17
20
  i0.ɵɵadvance(1);
18
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind1(3, 3, ctx_r2.caseField)));
21
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind1(3, 3, ctx_r0.caseField)), "}");
19
22
  } }
20
- function WriteCaseLinkFieldComponent_div_1_span_3_Template(rf, ctx) { if (rf & 1) {
23
+ function WriteCaseLinkFieldComponent_span_3_Template(rf, ctx) { if (rf & 1) {
21
24
  i0.ɵɵelementStart(0, "span", 7);
22
25
  i0.ɵɵtext(1);
23
26
  i0.ɵɵpipe(2, "rpxTranslate");
24
27
  i0.ɵɵelementEnd();
25
28
  } if (rf & 2) {
26
- const ctx_r3 = i0.ɵɵnextContext(2);
29
+ const ctx_r1 = i0.ɵɵnextContext();
27
30
  i0.ɵɵadvance(1);
28
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r3.caseField.hint_text));
31
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r1.caseField.hint_text));
29
32
  } }
30
- function WriteCaseLinkFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelementStart(0, "div", 1);
32
- i0.ɵɵelementStart(1, "label", 2);
33
- i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_div_1_span_2_Template, 4, 5, "span", 3);
34
- i0.ɵɵelementEnd();
35
- i0.ɵɵtemplate(3, WriteCaseLinkFieldComponent_div_1_span_3_Template, 3, 3, "span", 4);
36
- i0.ɵɵelement(4, "input", 5);
33
+ function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementStart(0, "span", 8);
35
+ i0.ɵɵtext(1);
36
+ i0.ɵɵpipe(2, "rpxTranslate");
37
+ i0.ɵɵpipe(3, "ccdFirstError");
37
38
  i0.ɵɵelementEnd();
38
39
  } if (rf & 2) {
39
- const ctx_r0 = i0.ɵɵnextContext();
40
- i0.ɵɵadvance(1);
41
- i0.ɵɵproperty("for", ctx_r0.id());
40
+ const ctx_r2 = i0.ɵɵnextContext();
42
41
  i0.ɵɵadvance(1);
43
- i0.ɵɵproperty("ngIf", ctx_r0.caseField.label);
44
- i0.ɵɵadvance(1);
45
- i0.ɵɵproperty("ngIf", ctx_r0.caseField.hint_text);
46
- i0.ɵɵadvance(1);
47
- i0.ɵɵproperty("id", ctx_r0.id())("formControl", ctx_r0.caseReferenceControl);
48
- } }
49
- function WriteCaseLinkFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
50
- const _r5 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "div", 1);
52
- i0.ɵɵelementStart(1, "ccd-write-linked-cases", 8);
53
- i0.ɵɵlistener("onLinkedCasesSelected", function WriteCaseLinkFieldComponent_div_2_Template_ccd_write_linked_cases_onLinkedCasesSelected_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.submitLinkedCases(); });
54
- i0.ɵɵelementEnd();
55
- i0.ɵɵelementEnd();
56
- } if (rf & 2) {
57
- const ctx_r1 = i0.ɵɵnextContext();
58
- i0.ɵɵadvance(1);
59
- i0.ɵɵproperty("caseFields", ctx_r1.caseFields)("caseField", ctx_r1.caseField)("formGroup", ctx_r1.formGroup)("isLinkedCasesJourney", ctx_r1.linkedCasesService.isLinkedCasesEventTrigger);
42
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label)));
60
43
  } }
44
+ const _c1 = function (a0) { return { "form-group-error": a0 }; };
61
45
  export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
62
- constructor(linkedCasesService) {
63
- super();
64
- this.linkedCasesService = linkedCasesService;
65
- this.caseFields = [];
66
- }
67
46
  ngOnInit() {
68
- this.formArray = this.registerControl(new FormArray([]), true);
69
- this.formArray['caseField'] = this.caseField;
70
- if (!this.hasCaseLinkCollection()) {
47
+ if (this.caseField.value) {
71
48
  this.caseLinkGroup = this.registerControl(new FormGroup({
72
49
  CaseReference: new FormControl(this.caseField.value.CaseReference, Validators.required),
73
50
  }), true);
74
51
  }
52
+ else {
53
+ this.caseLinkGroup = this.registerControl(new FormGroup({
54
+ CaseReference: new FormControl(null, Validators.required),
55
+ }), true);
56
+ }
57
+ this.caseReferenceControl = this.caseLinkGroup.controls['CaseReference'];
58
+ this.caseReferenceControl.setValidators(this.caseReferenceValidator());
75
59
  // Ensure that all sub-fields inherit the same value for retain_hidden_value as this parent; although a CaseLink
76
60
  // field uses the Complex type, it is meant to be treated as one field
77
61
  if (this.caseField && this.caseField.field_type.type === 'Complex') {
@@ -79,18 +63,22 @@ export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
79
63
  caseLinkSubField.retain_hidden_value = this.caseField.retain_hidden_value;
80
64
  }
81
65
  }
82
- this.containsCaseLinkCollection = this.hasCaseLinkCollection();
83
66
  }
84
- submitLinkedCases() {
85
- const formGroup = this.formGroup;
86
- if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
87
- const unlinkedCaseRefereneIds = this.linkedCasesService.linkedCases.filter(item => item.unlink).map(item => item.caseReference);
88
- this.formGroup.value.caseLinks = this.linkedCasesService.caseFieldValue
89
- .filter(item => unlinkedCaseRefereneIds.indexOf(item.id) === -1);
90
- }
91
- else if (formGroup.value && formGroup.value.caseLinks && this.linkedCasesService.linkedCases) {
92
- this.formGroup.value.caseLinks = this.linkedCasesService.caseFieldValue;
93
- }
67
+ caseReferenceValidator() {
68
+ return (control) => {
69
+ if (control.value) {
70
+ if (this.validCaseReference(control.value)) {
71
+ return null;
72
+ }
73
+ return { error: 'Please use a valid 16 Digit Case Reference' };
74
+ }
75
+ else {
76
+ if (control.touched) {
77
+ return { error: 'Please use a valid 16 Digit Case Reference' };
78
+ }
79
+ }
80
+ return null;
81
+ };
94
82
  }
95
83
  validCaseReference(valueString) {
96
84
  if (!valueString) {
@@ -98,41 +86,44 @@ export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
98
86
  }
99
87
  return new RegExp('^\\b\\d{4}[ -]?\\d{4}[ -]?\\d{4}[ -]?\\d{4}\\b$').test(valueString.trim());
100
88
  }
101
- hasCaseLinkCollection() {
102
- return (this.caseField.field_type &&
103
- this.caseField.field_type.type === 'Collection' &&
104
- this.caseField.field_type.collection_field_type.id === 'CaseLink');
105
- }
106
89
  }
107
- WriteCaseLinkFieldComponent.ɵfac = function WriteCaseLinkFieldComponent_Factory(t) { return new (t || WriteCaseLinkFieldComponent)(i0.ɵɵdirectiveInject(i1.LinkedCasesService)); };
90
+ WriteCaseLinkFieldComponent.ɵfac = function WriteCaseLinkFieldComponent_Factory(t) { return ɵWriteCaseLinkFieldComponent_BaseFactory(t || WriteCaseLinkFieldComponent); };
108
91
  WriteCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseLinkFieldComponent, selectors: [["ccd-write-case-link-field"]], viewQuery: function WriteCaseLinkFieldComponent_Query(rf, ctx) { if (rf & 1) {
109
92
  i0.ɵɵviewQuery(_c0, 1);
110
93
  } if (rf & 2) {
111
94
  let _t;
112
95
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.writeComplexFieldComponent = _t.first);
113
- } }, inputs: { caseFields: "caseFields", formGroup: "formGroup" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["class", "form-group", 4, "ngIf"], [1, "form-group"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["type", "text", 1, "form-control", "bottom-30", 3, "id", "formControl"], [1, "form-label"], [1, "form-hint"], [3, "caseFields", "caseField", "formGroup", "isLinkedCasesJourney", "onLinkedCasesSelected"]], template: function WriteCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵelementContainerStart(0);
115
- i0.ɵɵtemplate(1, WriteCaseLinkFieldComponent_div_1_Template, 5, 5, "div", 0);
116
- i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_div_2_Template, 2, 4, "div", 0);
117
- i0.ɵɵelementContainerEnd();
96
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 9, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "text", 1, "form-control", "bottom-30", 3, "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
97
+ i0.ɵɵelementStart(0, "div", 0);
98
+ i0.ɵɵelementStart(1, "label", 1);
99
+ i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_span_2_Template, 4, 5, "span", 2);
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵtemplate(3, WriteCaseLinkFieldComponent_span_3_Template, 3, 3, "span", 3);
102
+ i0.ɵɵtemplate(4, WriteCaseLinkFieldComponent_span_4_Template, 4, 6, "span", 4);
103
+ i0.ɵɵelement(5, "input", 5);
104
+ i0.ɵɵelementEnd();
118
105
  } if (rf & 2) {
106
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
107
+ i0.ɵɵadvance(1);
108
+ i0.ɵɵproperty("for", ctx.id());
109
+ i0.ɵɵadvance(1);
110
+ i0.ɵɵproperty("ngIf", ctx.caseField.label);
111
+ i0.ɵɵadvance(1);
112
+ i0.ɵɵproperty("ngIf", ctx.caseField.hint_text);
119
113
  i0.ɵɵadvance(1);
120
- i0.ɵɵproperty("ngIf", !ctx.containsCaseLinkCollection);
114
+ i0.ɵɵproperty("ngIf", ctx.caseReferenceControl.errors && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched));
121
115
  i0.ɵɵadvance(1);
122
- i0.ɵɵproperty("ngIf", ctx.containsCaseLinkCollection);
123
- } }, encapsulation: 2 });
116
+ i0.ɵɵproperty("id", ctx.id())("formControl", ctx.caseReferenceControl);
117
+ } }, directives: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.FormControlDirective], pipes: [i3.RpxTranslatePipe, i4.FieldLabelPipe, i5.FirstErrorPipe], encapsulation: 2 });
118
+ const ɵWriteCaseLinkFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(WriteCaseLinkFieldComponent);
124
119
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteCaseLinkFieldComponent, [{
125
120
  type: Component,
126
121
  args: [{
127
122
  selector: 'ccd-write-case-link-field',
128
123
  templateUrl: 'write-case-link-field.html'
129
124
  }]
130
- }], function () { return [{ type: i1.LinkedCasesService }]; }, { caseFields: [{
131
- type: Input
132
- }], formGroup: [{
133
- type: Input
134
- }], writeComplexFieldComponent: [{
125
+ }], null, { writeComplexFieldComponent: [{
135
126
  type: ViewChild,
136
- args: ['writeComplexFieldComponent', /* TODO: add static flag */ {}]
127
+ args: ['writeComplexFieldComponent']
137
128
  }] }); })();
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7SUNGMUMsK0JBQWlEO0lBQUEsWUFBNEM7OztJQUFBLGlCQUFPOzs7SUFBbkQsZUFBNEM7SUFBNUMsa0ZBQTRDOzs7SUFFL0YsK0JBQW9EO0lBQUEsWUFBc0M7O0lBQUEsaUJBQU87OztJQUE3QyxlQUFzQztJQUF0QyxzRUFBc0M7OztJQUo1Riw4QkFBNEQ7SUFDMUQsZ0NBQW9CO0lBQ2xCLG9GQUFvRztJQUN0RyxpQkFBUTtJQUNSLG9GQUFpRztJQUNqRywyQkFBbUc7SUFDckcsaUJBQU07OztJQUxHLGVBQVk7SUFBWixpQ0FBWTtJQUNTLGVBQXFCO0lBQXJCLDZD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QUksRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixPQUFPLENBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxZQUFZO1lBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsS0FBSyxVQUFVLENBQ2xFLENBQUM7SUFDSixDQUFDOztzR0FoRVUsMkJBQTJCO2dFQUEzQiwyQkFBMkI7Ozs7OztRQ1p4Qyw2QkFBYztRQUNaLDRFQU1NO1FBQ1AsNEVBR007UUFDUCwwQkFBZTs7UUFYUCxlQUFpQztRQUFqQyxzREFBaUM7UUFPZixlQUFnQztRQUFoQyxxREFBZ0M7O3VGREk3QywyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSw0QkFBNEI7YUFDMUM7cUVBS1EsVUFBVTtrQkFEaEIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQVVDLDBCQUEwQjtrQkFEaEMsU0FBUzttQkFBQyw0QkFBNEIsRUFBRSwyQkFBMkIsQ0FBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBsZXgvd3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1jYXNlLWxpbmstZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJ3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIFdyaXRlQ2FzZUxpbmtGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBmb3JtQXJyYXk6IEZvcm1BcnJheTtcblxuICBwdWJsaWMgY2FzZVJlZmVyZW5jZUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgcHVibGljIGNhc2VMaW5rR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoJ3dyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50JywgLyogVE9ETzogYWRkIHN0YXRpYyBmbGFnICovIHt9KVxuICBwdWJsaWMgd3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQ6IFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtQXJyYXkgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUFycmF5KFtdKSwgdHJ1ZSkgYXMgRm9ybUFycmF5O1xuICAgIHRoaXMuZm9ybUFycmF5WydjYXNlRmllbGQnXSA9IHRoaXMuY2FzZUZpZWxkO1xuXG4gICAgaWYgKCF0aGlzLmhhc0Nhc2VMaW5rQ29sbGVjdGlvbigpKSB7XG4gICAgICB0aGlzLmNhc2VMaW5rR3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgQ2FzZVJlZmVyZW5jZTogbmV3IEZvcm1Db250cm9sKHRoaXMuY2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgfSksIHRydWUpIGFzIEZvcm1Hcm91cDtcbiAgICB9XG4gICAgLy8gRW5zdXJlIHRoYXQgYWxsIHN1Yi1maWVsZHMgaW5oZXJpdCB0aGUgc2FtZSB2YWx1ZSBmb3IgcmV0YWluX2hpZGRlbl92YWx1ZSBhcyB0aGlzIHBhcmVudDsgYWx0aG91Z2ggYSBDYXNlTGlua1xuICAgIC8vIGZpZWxkIHVzZXMgdGhlIENvbXBsZXggdHlwZSwgaXQgaXMgbWVhbnQgdG8gYmUgdHJlYXRlZCBhcyBvbmUgZmllbGRcbiAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcGxleCcpIHtcbiAgICAgIGZvciAoY29uc3QgY2FzZUxpbmtTdWJGaWVsZCBvZiB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzKSB7XG4gICAgICAgIGNhc2VMaW5rU3ViRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY29udGFpbnNDYXNlTGlua0NvbGxlY3Rpb24gPSB0aGlzLmhhc0Nhc2VMaW5rQ29sbGVjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdExpbmtlZENhc2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuZm9ybUdyb3VwO1xuICAgIGlmICghdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcikge1xuICAgICAgY29uc3QgdW5saW5rZWRDYXNlUmVmZXJlbmVJZHMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnVubGluaykubWFwKGl0ZW0gPT4gaXRlbS5jYXNlUmVmZXJlbmNlKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlLmNhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IHVubGlua2VkQ2FzZVJlZmVyZW5lSWRzLmluZGV4T2YoaXRlbS5pZCkgPT09IC0xKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1Hcm91cC52YWx1ZSAmJiBmb3JtR3JvdXAudmFsdWUuY2FzZUxpbmtzICYmIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5jYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdmFsaWRDYXNlUmVmZXJlbmNlKHZhbHVlU3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXZhbHVlU3RyaW5nKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUmVnRXhwKCdeXFxcXGJcXFxcZHs0fVsgLV0/XFxcXGR7NH1bIC1dP1xcXFxkezR9WyAtXT9cXFxcZHs0fVxcXFxiJCcpLnRlc3QodmFsdWVTdHJpbmcudHJpbSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNDYXNlTGlua0NvbGxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUgJiZcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbGxlY3Rpb24nICYmXG4gICAgICB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCA9PT0gJ0Nhc2VMaW5rJ1xuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgKm5nSWY9XCIhY29udGFpbnNDYXNlTGlua0NvbGxlY3Rpb25cIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIj57e2Nhc2VGaWVsZC5oaW50X3RleHQgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm90dG9tLTMwXCIgW2lkXT1cImlkKClcIiB0eXBlPVwidGV4dFwiIFtmb3JtQ29udHJvbF09XCJjYXNlUmVmZXJlbmNlQ29udHJvbFwiPlxuICA8L2Rpdj5cblx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiAqbmdJZj1cImNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uXCI+XG5cdFx0PGNjZC13cml0ZS1saW5rZWQtY2FzZXMgW2Nhc2VGaWVsZHNdPVwiY2FzZUZpZWxkc1wiIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgKG9uTGlua2VkQ2FzZXNTZWxlY3RlZCk9XCJzdWJtaXRMaW5rZWRDYXNlcygpO1wiIFtpc0xpbmtlZENhc2VzSm91cm5leV09XCJsaW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlclwiPjwvY2NkLXdyaXRlLWxpbmtlZC1jYXNlcz5cblx0PC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7O0lDRmxGLCtCQUFpRDtJQUFBLFlBQTZDOzs7SUFBQSxpQkFBTzs7O0lBQXBELGVBQTZDO0lBQTdDLDRGQUE2Qzs7O0lBRWhHLCtCQUFvRDtJQUFBLFlBQXNDOztJQUFBLGlCQUFPOzs7SUFBN0MsZUFBc0M7SUFBdEMsc0VBQXNDOzs7SUFDMUYsK0JBQWdJO0lBQUEsWUFBOEU7OztJQUFBLGlCQUFPOzs7SUFBckYsZUFBOEU7SUFBOUUsNEhBQThFOzs7QURLaE4sTUFBTSxPQUFPLDJCQUE0QixTQUFRLDJCQUEyQjtJQVFuRSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxTQUFTLENBQUM7Z0JBQ3RELGFBQWEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUN4RixDQUFDLEVBQUUsSUFBSSxDQUFjLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztnQkFDdEQsYUFBYSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2FBQzFELENBQUMsRUFBRSxJQUFJLENBQWMsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFFdkUsZ0hBQWdIO1FBQ2hILHNFQUFzRTtRQUN0RSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNsRSxLQUFLLE1BQU0sZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFO2dCQUN2RSxnQkFBZ0IsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO2FBQzNFO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1lBQzFELElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDakIsSUFBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFHO29CQUM1QyxPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFDRCxPQUFPLEVBQUMsS0FBSyxFQUFFLDRDQUE0QyxFQUFDLENBQUM7YUFDOUQ7aUJBQU07Z0JBQ0wsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO29CQUNuQixPQUFPLEVBQUMsS0FBSyxFQUFFLDRDQUE0QyxFQUFDLENBQUM7aUJBQzlEO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxXQUFtQjtRQUM1QyxJQUFJLENBQUMsV0FBVyxFQUFJO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7OzBJQW5EVSwyQkFBMkI7Z0VBQTNCLDJCQUEyQjs7Ozs7O1FDVnhDLDhCQUFzSjtRQUNwSixnQ0FBb0I7UUFDbEIsOEVBQXFHO1FBQ3ZHLGlCQUFRO1FBQ1IsOEVBQWlHO1FBQ2pHLDhFQUFxTjtRQUNyTiwyQkFBbUc7UUFDckcsaUJBQU07O1FBUGtCLDZKQUE2SDtRQUM1SSxlQUFZO1FBQVosOEJBQVk7UUFDUyxlQUFxQjtRQUFyQiwwQ0FBcUI7UUFFeEIsZUFBeUI7UUFBekIsOENBQXlCO1FBQ3JCLGVBQWlHO1FBQWpHLDhIQUFpRztRQUN4RixlQUFXO1FBQVgsNkJBQVcseUNBQUE7O3dGREl0QywyQkFBMkI7dUZBQTNCLDJCQUEyQjtjQUp2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsV0FBVyxFQUFFLDRCQUE0QjthQUMxQztnQkFPUSwwQkFBMEI7a0JBRGhDLFNBQVM7bUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wbGV4L3dyaXRlLWNvbXBsZXgtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLWNhc2UtbGluay1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnd3JpdGUtY2FzZS1saW5rLWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlQ2FzZUxpbmtGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGNhc2VSZWZlcmVuY2VDb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIHB1YmxpYyBjYXNlTGlua0dyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQFZpZXdDaGlsZCgnd3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQnKVxuICBwdWJsaWMgd3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQ6IFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQudmFsdWUpIHtcbiAgICAgIHRoaXMuY2FzZUxpbmtHcm91cCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBDYXNlUmVmZXJlbmNlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5jYXNlRmllbGQudmFsdWUuQ2FzZVJlZmVyZW5jZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB9KSwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhc2VMaW5rR3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgQ2FzZVJlZmVyZW5jZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgfSksIHRydWUpIGFzIEZvcm1Hcm91cDtcbiAgICB9XG4gICAgdGhpcy5jYXNlUmVmZXJlbmNlQ29udHJvbCA9IHRoaXMuY2FzZUxpbmtHcm91cC5jb250cm9sc1snQ2FzZVJlZmVyZW5jZSddO1xuICAgIHRoaXMuY2FzZVJlZmVyZW5jZUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmNhc2VSZWZlcmVuY2VWYWxpZGF0b3IoKSk7XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbGwgc3ViLWZpZWxkcyBpbmhlcml0IHRoZSBzYW1lIHZhbHVlIGZvciByZXRhaW5faGlkZGVuX3ZhbHVlIGFzIHRoaXMgcGFyZW50OyBhbHRob3VnaCBhIENhc2VMaW5rXG4gICAgLy8gZmllbGQgdXNlcyB0aGUgQ29tcGxleCB0eXBlLCBpdCBpcyBtZWFudCB0byBiZSB0cmVhdGVkIGFzIG9uZSBmaWVsZFxuICAgIGlmICh0aGlzLmNhc2VGaWVsZCAmJiB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgZm9yIChjb25zdCBjYXNlTGlua1N1YkZpZWxkIG9mIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgICAgY2FzZUxpbmtTdWJGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlID0gdGhpcy5jYXNlRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhc2VSZWZlcmVuY2VWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSkge1xuICAgICAgICBpZiAoIHRoaXMudmFsaWRDYXNlUmVmZXJlbmNlKGNvbnRyb2wudmFsdWUpICkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7ZXJyb3I6ICdQbGVhc2UgdXNlIGEgdmFsaWQgMTYgRGlnaXQgQ2FzZSBSZWZlcmVuY2UnfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjb250cm9sLnRvdWNoZWQpIHtcbiAgICAgICAgICByZXR1cm4ge2Vycm9yOiAnUGxlYXNlIHVzZSBhIHZhbGlkIDE2IERpZ2l0IENhc2UgUmVmZXJlbmNlJ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHZhbGlkQ2FzZVJlZmVyZW5jZSh2YWx1ZVN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF2YWx1ZVN0cmluZyApICB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUmVnRXhwKCdeXFxcXGJcXFxcZHs0fVsgLV0/XFxcXGR7NH1bIC1dP1xcXFxkezR9WyAtXT9cXFxcZHs0fVxcXFxiJCcpLnRlc3QodmFsdWVTdHJpbmcudHJpbSgpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiAhY2FzZVJlZmVyZW5jZUNvbnRyb2wudmFsaWQgJiYgKGNhc2VSZWZlcmVuY2VDb250cm9sLmRpcnR5IHx8IGNhc2VSZWZlcmVuY2VDb250cm9sLnRvdWNoZWQpfVwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIj57e2Nhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwgfCBycHhUcmFuc2xhdGV9fX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlZmVyZW5jZUNvbnRyb2wuZXJyb3JzICYmIChjYXNlUmVmZXJlbmNlQ29udHJvbC5kaXJ0eSB8fCBjYXNlUmVmZXJlbmNlQ29udHJvbC50b3VjaGVkKVwiPnt7Y2FzZVJlZmVyZW5jZUNvbnRyb2wuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtpZF09XCJpZCgpXCIgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwiY2FzZVJlZmVyZW5jZUNvbnRyb2xcIj5cbjwvZGl2PlxuIl19