@hmcts/ccd-case-ui-toolkit 6.13.10-show-condition-code-fix → 6.14.0-restricted-case-access

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 (117) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +9346 -6553
  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 +19 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +6 -1
  7. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +7 -1
  8. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +7 -1
  9. package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +10 -6
  10. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +2 -2
  11. package/esm2015/lib/shared/components/palette/index.js +3 -6
  12. package/esm2015/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.js +126 -0
  13. package/esm2015/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.js +220 -0
  14. package/esm2015/lib/shared/components/palette/linked-cases/components/index.js +8 -0
  15. package/esm2015/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.js +572 -0
  16. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +219 -0
  17. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +285 -0
  18. package/esm2015/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.js +79 -0
  19. package/esm2015/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.js +214 -0
  20. package/esm2015/lib/shared/components/palette/linked-cases/domain/index.js +3 -0
  21. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +2 -0
  22. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases.model.js +21 -0
  23. package/esm2015/lib/shared/components/palette/linked-cases/enums/index.js +2 -0
  24. package/esm2015/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.js +35 -0
  25. package/esm2015/lib/shared/components/palette/linked-cases/index.js +6 -0
  26. package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +183 -0
  27. package/esm2015/lib/shared/components/palette/linked-cases/services/index.js +2 -0
  28. package/esm2015/lib/shared/components/palette/linked-cases/services/linked-cases.service.js +134 -0
  29. package/esm2015/lib/shared/components/palette/linked-cases/utils/validators.utils.js +27 -0
  30. package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +272 -0
  31. package/esm2015/lib/shared/components/palette/palette.module.js +51 -7
  32. package/esm2015/lib/shared/components/palette/palette.service.js +19 -7
  33. package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +12 -0
  34. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +2 -2
  35. package/esm2015/lib/shared/pipes/index.js +3 -1
  36. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.js +28 -0
  37. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/index.js +2 -0
  38. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +28 -0
  39. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  40. package/esm2015/lib/shared/pipes/pipes.module.js +12 -4
  41. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +1 -1
  42. package/esm2015/lib/shared/services/fields/fields.utils.js +7 -1
  43. package/esm2015/lib/shared/services/form/form-value.service.js +33 -2
  44. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +4995 -2513
  45. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  46. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +13 -0
  47. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  48. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  49. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -0
  50. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  51. package/lib/shared/components/case-editor/services/cases.service.d.ts +2 -0
  52. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  53. package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
  54. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -1
  55. package/lib/shared/components/palette/index.d.ts +2 -5
  56. package/lib/shared/components/palette/index.d.ts.map +1 -1
  57. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +23 -0
  58. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  59. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  60. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  61. package/lib/shared/components/palette/linked-cases/components/index.d.ts +8 -0
  62. package/lib/shared/components/palette/linked-cases/components/index.d.ts.map +1 -0
  63. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +49 -0
  64. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -0
  65. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +38 -0
  66. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  67. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +47 -0
  68. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  69. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +18 -0
  70. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  71. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  72. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  73. package/lib/shared/components/palette/linked-cases/domain/index.d.ts +3 -0
  74. package/lib/shared/components/palette/linked-cases/domain/index.d.ts.map +1 -0
  75. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +12 -0
  76. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -0
  77. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts +68 -0
  78. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts.map +1 -0
  79. package/lib/shared/components/palette/linked-cases/enums/index.d.ts +2 -0
  80. package/lib/shared/components/palette/linked-cases/enums/index.d.ts.map +1 -0
  81. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts +31 -0
  82. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  83. package/lib/shared/components/palette/linked-cases/index.d.ts +6 -0
  84. package/lib/shared/components/palette/linked-cases/index.d.ts.map +1 -0
  85. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts +38 -0
  86. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -0
  87. package/lib/shared/components/palette/linked-cases/services/index.d.ts +2 -0
  88. package/lib/shared/components/palette/linked-cases/services/index.d.ts.map +1 -0
  89. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +44 -0
  90. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -0
  91. package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts +10 -0
  92. package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts.map +1 -0
  93. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +43 -0
  94. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -0
  95. package/lib/shared/components/palette/palette.module.d.ts +67 -58
  96. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  97. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  98. package/lib/shared/domain/definition/display-context-enum.model.d.ts +10 -0
  99. package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -0
  100. package/lib/shared/pipes/index.d.ts +2 -0
  101. package/lib/shared/pipes/index.d.ts.map +1 -1
  102. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts +12 -0
  103. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts.map +1 -0
  104. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts +2 -0
  105. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts.map +1 -0
  106. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +12 -0
  107. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  108. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  109. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  110. package/lib/shared/pipes/pipes.module.d.ts +4 -2
  111. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  112. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
  113. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  114. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  115. package/lib/shared/services/form/form-value.service.d.ts +14 -0
  116. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  117. package/package.json +1 -1
@@ -0,0 +1,219 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CaseField } from '../../../../../domain/definition';
3
+ import { CasesService } from '../../../../case-editor/services/cases.service';
4
+ import { ActivatedRoute } from '@angular/router';
5
+ import { LinkedCasesService } from '../../services';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "../../../../case-editor/services/cases.service";
9
+ import * as i3 from "../../services";
10
+ function LinkedCasesFromTableComponent_a_0_Template(rf, ctx) { if (rf & 1) {
11
+ const _r3 = i0.ɵɵgetCurrentView();
12
+ i0.ɵɵelementStart(0, "a", 2);
13
+ i0.ɵɵlistener("click", function LinkedCasesFromTableComponent_a_0_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return ctx_r2.onClick(); });
14
+ i0.ɵɵtext(1);
15
+ i0.ɵɵelementEnd();
16
+ } if (rf & 2) {
17
+ const ctx_r0 = i0.ɵɵnextContext();
18
+ i0.ɵɵadvance(1);
19
+ i0.ɵɵtextInterpolate(ctx_r0.showHideLinkText);
20
+ } }
21
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "span");
23
+ i0.ɵɵtext(1);
24
+ i0.ɵɵpipe(2, "ccdLinkCasesFromReasonValue");
25
+ i0.ɵɵelement(3, "br");
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const reason_r11 = ctx.$implicit;
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, reason_r11), " ");
31
+ } }
32
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "td", 14);
34
+ i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template, 4, 3, "span", 17);
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ const details_r9 = ctx.$implicit;
38
+ i0.ɵɵadvance(1);
39
+ i0.ɵɵproperty("ngForOf", details_r9.reasons);
40
+ } }
41
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_Template(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵelementStart(0, "tr", 5);
43
+ i0.ɵɵelementStart(1, "td", 11);
44
+ i0.ɵɵelementStart(2, "p", 12);
45
+ i0.ɵɵelementStart(3, "a", 13);
46
+ i0.ɵɵelementStart(4, "span");
47
+ i0.ɵɵtext(5);
48
+ i0.ɵɵelement(6, "br");
49
+ i0.ɵɵtext(7);
50
+ i0.ɵɵpipe(8, "ccdCaseReference");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementEnd();
53
+ i0.ɵɵelementEnd();
54
+ i0.ɵɵelementEnd();
55
+ i0.ɵɵelementStart(9, "td", 14);
56
+ i0.ɵɵelementStart(10, "span", 15);
57
+ i0.ɵɵtext(11);
58
+ i0.ɵɵelementEnd();
59
+ i0.ɵɵelementEnd();
60
+ i0.ɵɵelementStart(12, "td", 14);
61
+ i0.ɵɵelementStart(13, "span");
62
+ i0.ɵɵtext(14);
63
+ i0.ɵɵelementEnd();
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementStart(15, "td", 14);
66
+ i0.ɵɵelementStart(16, "span", 15);
67
+ i0.ɵɵtext(17);
68
+ i0.ɵɵelementEnd();
69
+ i0.ɵɵelementEnd();
70
+ i0.ɵɵtemplate(18, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_Template, 2, 1, "td", 16);
71
+ i0.ɵɵelementEnd();
72
+ } if (rf & 2) {
73
+ const case_r7 = ctx.$implicit;
74
+ i0.ɵɵadvance(3);
75
+ i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r7.caseReference, "", i0.ɵɵsanitizeUrl);
76
+ i0.ɵɵadvance(2);
77
+ i0.ɵɵtextInterpolate1("", case_r7.caseNameHmctsInternal, " ");
78
+ i0.ɵɵadvance(2);
79
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 9, case_r7.caseReference), "");
80
+ i0.ɵɵadvance(3);
81
+ i0.ɵɵproperty("title", case_r7.ccdCaseTypeDescription);
82
+ i0.ɵɵadvance(1);
83
+ i0.ɵɵtextInterpolate(case_r7.ccdCaseType);
84
+ i0.ɵɵadvance(3);
85
+ i0.ɵɵtextInterpolate(case_r7.ccdJurisdiction);
86
+ i0.ɵɵadvance(2);
87
+ i0.ɵɵproperty("title", case_r7.stateDescription);
88
+ i0.ɵɵadvance(1);
89
+ i0.ɵɵtextInterpolate(case_r7.state);
90
+ i0.ɵɵadvance(1);
91
+ i0.ɵɵproperty("ngForOf", case_r7.linkDetails);
92
+ } }
93
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_2_Template(rf, ctx) { if (rf & 1) {
94
+ i0.ɵɵelementStart(0, "tr", 5);
95
+ i0.ɵɵelementStart(1, "td", 18);
96
+ i0.ɵɵtext(2, " None ");
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵelementEnd();
99
+ } }
100
+ function LinkedCasesFromTableComponent_table_1_tbody_13_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelementStart(0, "tbody", 8);
102
+ i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_Template, 19, 11, "tr", 9);
103
+ i0.ɵɵtemplate(2, LinkedCasesFromTableComponent_table_1_tbody_13_tr_2_Template, 3, 0, "tr", 10);
104
+ i0.ɵɵelementEnd();
105
+ } if (rf & 2) {
106
+ const ctx_r4 = i0.ɵɵnextContext(2);
107
+ i0.ɵɵadvance(1);
108
+ i0.ɵɵproperty("ngForOf", ctx_r4.getLinkedCasesResponse);
109
+ i0.ɵɵadvance(1);
110
+ i0.ɵɵproperty("ngIf", ctx_r4.noLinkedCases);
111
+ } }
112
+ function LinkedCasesFromTableComponent_table_1_Template(rf, ctx) { if (rf & 1) {
113
+ i0.ɵɵelementStart(0, "table", 3);
114
+ i0.ɵɵelementStart(1, "thead", 4);
115
+ i0.ɵɵelementStart(2, "tr", 5);
116
+ i0.ɵɵelementStart(3, "th", 6);
117
+ i0.ɵɵtext(4, "Case name and number");
118
+ i0.ɵɵelementEnd();
119
+ i0.ɵɵelementStart(5, "th", 6);
120
+ i0.ɵɵtext(6, "Case type ");
121
+ i0.ɵɵelementEnd();
122
+ i0.ɵɵelementStart(7, "th", 6);
123
+ i0.ɵɵtext(8, "Service");
124
+ i0.ɵɵelementEnd();
125
+ i0.ɵɵelementStart(9, "th", 6);
126
+ i0.ɵɵtext(10, "State");
127
+ i0.ɵɵelementEnd();
128
+ i0.ɵɵelementStart(11, "th", 6);
129
+ i0.ɵɵtext(12, "Reasons for case link");
130
+ i0.ɵɵelementEnd();
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementEnd();
133
+ i0.ɵɵtemplate(13, LinkedCasesFromTableComponent_table_1_tbody_13_Template, 3, 2, "tbody", 7);
134
+ i0.ɵɵelementEnd();
135
+ } if (rf & 2) {
136
+ const ctx_r1 = i0.ɵɵnextContext();
137
+ i0.ɵɵadvance(13);
138
+ i0.ɵɵproperty("ngIf", ctx_r1.getLinkedCasesResponse && (!ctx_r1.isServerError && !ctx_r1.isServerReasonCodeError));
139
+ } }
140
+ export class LinkedCasesFromTableComponent {
141
+ constructor(route, casesService, linkedCasesService) {
142
+ this.route = route;
143
+ this.casesService = casesService;
144
+ this.linkedCasesService = linkedCasesService;
145
+ this.notifyAPIFailure = new EventEmitter(false);
146
+ this.showHideLinkText = 'Show';
147
+ this.noLinkedCases = true;
148
+ this.isServerError = false;
149
+ this.isServerReasonCodeError = false;
150
+ }
151
+ ngAfterViewInit() {
152
+ const labelField = document.getElementsByClassName('case-viewer-label');
153
+ if (labelField && labelField.length) {
154
+ labelField[0].replaceWith('');
155
+ }
156
+ }
157
+ ngOnInit() {
158
+ this.fetchPageData();
159
+ if (this.route.snapshot.data.case) {
160
+ this.linkedCasesService.caseDetails = this.route.snapshot.data.case;
161
+ }
162
+ this.isServerReasonCodeError = this.linkedCasesService.isServerReasonCodeError;
163
+ }
164
+ fetchPageData() {
165
+ this.caseId = this.route.snapshot.data.case.case_id;
166
+ this.getLinkedCases().subscribe({
167
+ next: response => {
168
+ this.isServerError = false;
169
+ this.getLinkedCasesResponse = response.linkedCases && response.linkedCases.map(item => {
170
+ const mappedCasetype = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE', item.ccdCaseType);
171
+ const mappedCasetypeDescription = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE_DESCRIPTION', item.ccdCaseType);
172
+ const mappedCaseState = this.mapLookupIDToValueFromJurisdictions('STATE', item.state);
173
+ const mappedCaseStateDescription = this.mapLookupIDToValueFromJurisdictions('STATE_DESCRIPTION', item.state);
174
+ const mappedCaseService = this.mapLookupIDToValueFromJurisdictions('JURISDICTION', item.ccdJurisdiction);
175
+ return Object.assign(Object.assign({}, item), { ccdCaseType: mappedCasetype, ccdCaseTypeDescription: mappedCasetypeDescription, ccdJurisdiction: mappedCaseService, state: mappedCaseState, stateDescription: mappedCaseStateDescription, caseNameHmctsInternal: item.caseNameHmctsInternal || LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT, linkDetails: item.linkDetails });
176
+ });
177
+ this.noLinkedCases = !response.linkedCases || !response.linkedCases.length;
178
+ },
179
+ error: () => {
180
+ this.isServerError = true;
181
+ this.notifyAPIFailure.emit(true);
182
+ }
183
+ });
184
+ }
185
+ getLinkedCases() {
186
+ return this.casesService.getLinkedCases(this.caseId);
187
+ }
188
+ mapLookupIDToValueFromJurisdictions(fieldName, fieldValue) {
189
+ return this.linkedCasesService.mapLookupIDToValueFromJurisdictions(fieldName, fieldValue);
190
+ }
191
+ onClick() {
192
+ this.showHideLinkText = this.showHideLinkText === 'Show'
193
+ ? 'Hide'
194
+ : 'Show';
195
+ }
196
+ }
197
+ LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT = 'Case name missing';
198
+ LinkedCasesFromTableComponent.ɵfac = function LinkedCasesFromTableComponent_Factory(t) { return new (t || LinkedCasesFromTableComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.CasesService), i0.ɵɵdirectiveInject(i3.LinkedCasesService)); };
199
+ LinkedCasesFromTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCasesFromTableComponent, selectors: [["ccd-linked-cases-from-table"]], inputs: { caseField: "caseField" }, outputs: { notifyAPIFailure: "notifyAPIFailure" }, decls: 2, vars: 2, consts: [["id", "show-hide-link", "class", "govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "table to display cases linked from", 4, "ngIf"], ["id", "show-hide-link", "href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["aria-describedby", "table to display cases linked from"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", "width", "20%", 1, "govuk-table__header", "case-table-column"], ["class", "govuk-table__body", 4, "ngIf"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "govuk-table__header", "case-table-column", "width-20"], [1, "govuk-body"], ["target", "_blank", "rel", "noopener", 1, "govuk-link", 3, "href"], [1, "case-table-column"], [3, "title"], ["class", "case-table-column", 4, "ngFor", "ngForOf"], [4, "ngFor", "ngForOf"], ["colspan", "5", 1, "govuk-table__cell"]], template: function LinkedCasesFromTableComponent_Template(rf, ctx) { if (rf & 1) {
200
+ i0.ɵɵtemplate(0, LinkedCasesFromTableComponent_a_0_Template, 2, 1, "a", 0);
201
+ i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_Template, 14, 1, "table", 1);
202
+ } if (rf & 2) {
203
+ i0.ɵɵproperty("ngIf", !ctx.noLinkedCases && !ctx.isServerError);
204
+ i0.ɵɵadvance(1);
205
+ i0.ɵɵproperty("ngIf", ctx.getLinkedCasesResponse && ctx.showHideLinkText === "Hide" || ctx.noLinkedCases);
206
+ } }, styles: [".case-table-column[_ngcontent-%COMP%]{min-width:20%;max-width:20%}.heading-h2[_ngcontent-%COMP%]{margin-bottom:0}"] });
207
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesFromTableComponent, [{
208
+ type: Component,
209
+ args: [{
210
+ selector: 'ccd-linked-cases-from-table',
211
+ templateUrl: './linked-cases-from-table.component.html',
212
+ styleUrls: ['./linked-cases-from-table.component.scss']
213
+ }]
214
+ }], function () { return [{ type: i1.ActivatedRoute }, { type: i2.CasesService }, { type: i3.LinkedCasesService }]; }, { caseField: [{
215
+ type: Input
216
+ }], notifyAPIFailure: [{
217
+ type: Output
218
+ }] }); })();
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLWZyb20tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy1mcm9tLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtZnJvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztJQ1JwRCw0QkFDc0I7SUFBcEIsdUxBQW1CO0lBQUMsWUFBb0I7SUFBQSxpQkFBSTs7O0lBQXhCLGVBQW9CO0lBQXBCLDZDQUFvQjs7O0lBdUJsQyw0QkFBK0U7SUFDN0UsWUFBeUM7O0lBQUEscUJBQUk7SUFDL0MsaUJBQU87OztJQURMLGVBQXlDO0lBQXpDLGlFQUF5Qzs7O0lBRjdDLDhCQUF1RTtJQUNyRSw2R0FFTztJQUNULGlC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USxTQUFTO2tCQURmLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VMaW5rUmVzcG9uc2UsIExpbmtlZENhc2VzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtZnJvbS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rZWQtY2FzZXMtZnJvbS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy1mcm9tLXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9OQU1FX01JU1NJTkdfVEVYVCA9ICdDYXNlIG5hbWUgbWlzc2luZyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBwYXJlbnRVcmw6IHN0cmluZztcbiAgcHVibGljIGlzTG9hZGVkOiBib29sZWFuO1xuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXNSZXNwb25zZTogQ2FzZUxpbmtSZXNwb25zZVtdO1xuICBwdWJsaWMgbGlua2VkQ2FzZVJlYXNvbnM6IExvdlJlZkRhdGFNb2RlbFtdO1xuXG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIHNob3dIaWRlTGlua1RleHQgPSAnU2hvdyc7XG4gIHB1YmxpYyBub0xpbmtlZENhc2VzID0gdHJ1ZTtcbiAgcHVibGljIGlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGlzU2VydmVyUmVhc29uQ29kZUVycm9yID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgICkge1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2FzZS12aWV3ZXItbGFiZWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2hQYWdlRGF0YSgpO1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9XG4gICAgdGhpcy5pc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzU2VydmVyUmVhc29uQ29kZUVycm9yO1xuICB9XG5cbiAgcHVibGljIGZldGNoUGFnZURhdGEoKSB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS5jYXNlX2lkO1xuICAgIHRoaXMuZ2V0TGlua2VkQ2FzZXMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xuICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlc1Jlc3BvbnNlID0gcmVzcG9uc2UubGlua2VkQ2FzZXMgJiYgcmVzcG9uc2UubGlua2VkQ2FzZXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2V0eXBlID0gdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnQ0FTRV9UWVBFJywgaXRlbS5jY2RDYXNlVHlwZSk7XG4gICAgICAgICAgY29uc3QgbWFwcGVkQ2FzZXR5cGVEZXNjcmlwdGlvbiA9IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRV9ERVNDUklQVElPTicsIGl0ZW0uY2NkQ2FzZVR5cGUpO1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2VTdGF0ZSA9IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgaXRlbS5zdGF0ZSk7XG4gICAgICAgICAgY29uc3QgbWFwcGVkQ2FzZVN0YXRlRGVzY3JpcHRpb24gPSB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdTVEFURV9ERVNDUklQVElPTicsIGl0ZW0uc3RhdGUpO1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2VTZXJ2aWNlID0gdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnSlVSSVNESUNUSU9OJywgaXRlbS5jY2RKdXJpc2RpY3Rpb24pO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgY2NkQ2FzZVR5cGU6IG1hcHBlZENhc2V0eXBlLFxuICAgICAgICAgICAgY2NkQ2FzZVR5cGVEZXNjcmlwdGlvbjogbWFwcGVkQ2FzZXR5cGVEZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGNjZEp1cmlzZGljdGlvbjogbWFwcGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICBzdGF0ZTogbWFwcGVkQ2FzZVN0YXRlLFxuICAgICAgICAgICAgc3RhdGVEZXNjcmlwdGlvbjogbWFwcGVkQ2FzZVN0YXRlRGVzY3JpcHRpb24sXG4gICAgICAgICAgICBjYXNlTmFtZUhtY3RzSW50ZXJuYWw6IGl0ZW0uY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzRnJvbVRhYmxlQ29tcG9uZW50LkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQsXG4gICAgICAgICAgICBsaW5rRGV0YWlsczogaXRlbS5saW5rRGV0YWlsc1xuICAgICAgICAgIH0gYXMgQ2FzZUxpbmtSZXNwb25zZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubm9MaW5rZWRDYXNlcyA9ICFyZXNwb25zZS5saW5rZWRDYXNlcyB8fCAhcmVzcG9uc2UubGlua2VkQ2FzZXMubGVuZ3RoO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMubm90aWZ5QVBJRmFpbHVyZS5lbWl0KHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKCk6IE9ic2VydmFibGU8TGlua2VkQ2FzZXNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VzU2VydmljZS5nZXRMaW5rZWRDYXNlcyh0aGlzLmNhc2VJZCk7XG4gIH1cblxuICBwdWJsaWMgbWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoZmllbGROYW1lLCBmaWVsZFZhbHVlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoZmllbGROYW1lLCBmaWVsZFZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0hpZGVMaW5rVGV4dCA9IHRoaXMuc2hvd0hpZGVMaW5rVGV4dCA9PT0gJ1Nob3cnXG4gICAgICA/ICdIaWRlJ1xuICAgICAgOiAnU2hvdyc7XG4gIH1cbn1cbiIsIjxhICpuZ0lmPVwiIW5vTGlua2VkQ2FzZXMgJiYgIWlzU2VydmVyRXJyb3JcIiBpZD1cInNob3ctaGlkZS1saW5rXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gIChjbGljayk9XCJvbkNsaWNrKClcIj57e3Nob3dIaWRlTGlua1RleHR9fTwvYT5cbjx0YWJsZSAqbmdJZj1cIihnZXRMaW5rZWRDYXNlc1Jlc3BvbnNlICYmIHNob3dIaWRlTGlua1RleHQgPT09ICdIaWRlJykgfHwgbm9MaW5rZWRDYXNlc1wiXG4gIGFyaWEtZGVzY3JpYmVkYnk9XCJ0YWJsZSB0byBkaXNwbGF5IGNhc2VzIGxpbmtlZCBmcm9tXCI+XG4gIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5DYXNlIG5hbWUgYW5kIG51bWJlcjwvdGg+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgdHlwZSA8L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TZXJ2aWNlPC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U3RhdGU8L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCIgKm5nSWY9XCJnZXRMaW5rZWRDYXNlc1Jlc3BvbnNlICYmICghaXNTZXJ2ZXJFcnJvciAmJiAhaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IpXCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGdldExpbmtlZENhc2VzUmVzcG9uc2VcIj5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW4gd2lkdGgtMjBcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97e2Nhc2UuY2FzZVJlZmVyZW5jZX19XCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCI+PHNwYW4+e3tjYXNlLmNhc2VOYW1lSG1jdHNJbnRlcm5hbH19IDxicj5cbiAgICAgICAgICAgICAge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+PC9hPjwvcD5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJjYXNlLXRhYmxlLWNvbHVtblwiPjxzcGFuIFt0aXRsZV09XCJjYXNlLmNjZENhc2VUeXBlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2NkQ2FzZVR5cGV9fTwvc3Bhbj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiY2FzZS10YWJsZS1jb2x1bW5cIj48c3Bhbj57e2Nhc2UuY2NkSnVyaXNkaWN0aW9ufX08L3NwYW4+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImNhc2UtdGFibGUtY29sdW1uXCI+PHNwYW4gW3RpdGxlXT1cImNhc2Uuc3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5zdGF0ZX19PC9zcGFuPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJjYXNlLXRhYmxlLWNvbHVtblwiICpuZ0Zvcj1cImxldCBkZXRhaWxzIG9mIGNhc2UubGlua0RldGFpbHNcIj5cbiAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHJlYXNvbiBvZiBkZXRhaWxzLnJlYXNvbnM7IGxldCBpID0gaW5kZXg7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gICAgICAgICAge3tyZWFzb24gfCBjY2RMaW5rQ2FzZXNGcm9tUmVhc29uVmFsdWV9fSA8YnI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJub0xpbmtlZENhc2VzXCI+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI1XCI+XG4gICAgICAgIE5vbmVcbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8L3Rib2R5PiAgXG48L3RhYmxlPlxuIl19
@@ -0,0 +1,285 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { forkJoin } from 'rxjs';
4
+ import { CaseField } from '../../../../../domain/definition';
5
+ import { CasesService } from '../../../../case-editor/services/cases.service';
6
+ import { LinkedCasesService } from '../../services';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "../../services";
10
+ import * as i3 from "../../../../case-editor/services/cases.service";
11
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_a_4_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "a", 16);
13
+ i0.ɵɵtext(1);
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ const case_r3 = i0.ɵɵnextContext(3).$implicit;
17
+ const ctx_r9 = i0.ɵɵnextContext(2);
18
+ i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r3.caseReference, "", i0.ɵɵsanitizeUrl);
19
+ i0.ɵɵadvance(1);
20
+ i0.ɵɵtextInterpolate(ctx_r9.getCaseRefereneLink(case_r3.caseReference));
21
+ } }
22
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_br_5_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelement(0, "br");
24
+ } }
25
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "span");
27
+ i0.ɵɵtext(1);
28
+ i0.ɵɵpipe(2, "ccdLinkCasesReasonValue");
29
+ i0.ɵɵelementStart(3, "span");
30
+ i0.ɵɵtemplate(4, LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_a_4_Template, 2, 2, "a", 15);
31
+ i0.ɵɵelementEnd();
32
+ i0.ɵɵtemplate(5, LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_br_5_Template, 1, 0, "br", 13);
33
+ i0.ɵɵelementEnd();
34
+ } if (rf & 2) {
35
+ const reason_r6 = ctx.$implicit;
36
+ const isLast_r8 = ctx.last;
37
+ const ctx_r5 = i0.ɵɵnextContext(4);
38
+ i0.ɵɵadvance(1);
39
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, reason_r6.value), "");
40
+ i0.ɵɵadvance(3);
41
+ i0.ɵɵproperty("ngIf", ctx_r5.hasLeadCaseOrConsolidated(reason_r6.value.Reason));
42
+ i0.ɵɵadvance(1);
43
+ i0.ɵɵproperty("ngIf", !isLast_r8);
44
+ } }
45
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_Template(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵelementStart(0, "td");
47
+ i0.ɵɵtemplate(1, LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_Template, 6, 5, "span", 14);
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const case_r3 = i0.ɵɵnextContext().$implicit;
51
+ i0.ɵɵadvance(1);
52
+ i0.ɵɵproperty("ngForOf", case_r3.reasons);
53
+ } }
54
+ function LinkedCasesToTableComponent_table_2_tr_14_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵelementStart(0, "tr", 4);
56
+ i0.ɵɵelementStart(1, "td");
57
+ i0.ɵɵelementStart(2, "p", 9);
58
+ i0.ɵɵelementStart(3, "a", 10);
59
+ i0.ɵɵelementStart(4, "span", 11);
60
+ i0.ɵɵtext(5);
61
+ i0.ɵɵelement(6, "br");
62
+ i0.ɵɵtext(7);
63
+ i0.ɵɵpipe(8, "ccdCaseReference");
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementEnd();
67
+ i0.ɵɵelementEnd();
68
+ i0.ɵɵelementStart(9, "td");
69
+ i0.ɵɵelementStart(10, "span", 12);
70
+ i0.ɵɵtext(11);
71
+ i0.ɵɵelementEnd();
72
+ i0.ɵɵelementEnd();
73
+ i0.ɵɵelementStart(12, "td");
74
+ i0.ɵɵelementStart(13, "span");
75
+ i0.ɵɵtext(14);
76
+ i0.ɵɵelementEnd();
77
+ i0.ɵɵelementEnd();
78
+ i0.ɵɵelementStart(15, "td");
79
+ i0.ɵɵelementStart(16, "span", 12);
80
+ i0.ɵɵtext(17);
81
+ i0.ɵɵelementEnd();
82
+ i0.ɵɵelementEnd();
83
+ i0.ɵɵtemplate(18, LinkedCasesToTableComponent_table_2_tr_14_td_18_Template, 2, 1, "td", 13);
84
+ i0.ɵɵelementEnd();
85
+ } if (rf & 2) {
86
+ const case_r3 = ctx.$implicit;
87
+ i0.ɵɵadvance(3);
88
+ i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r3.caseReference, "", i0.ɵɵsanitizeUrl);
89
+ i0.ɵɵadvance(2);
90
+ i0.ɵɵtextInterpolate1("", case_r3.caseName, " ");
91
+ i0.ɵɵadvance(2);
92
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 9, case_r3.caseReference), "");
93
+ i0.ɵɵadvance(3);
94
+ i0.ɵɵproperty("title", case_r3.caseTypeDescription);
95
+ i0.ɵɵadvance(1);
96
+ i0.ɵɵtextInterpolate(case_r3.caseType);
97
+ i0.ɵɵadvance(3);
98
+ i0.ɵɵtextInterpolate(case_r3.service);
99
+ i0.ɵɵadvance(2);
100
+ i0.ɵɵproperty("title", case_r3.stateDescription);
101
+ i0.ɵɵadvance(1);
102
+ i0.ɵɵtextInterpolate(case_r3.state);
103
+ i0.ɵɵadvance(1);
104
+ i0.ɵɵproperty("ngIf", case_r3 && case_r3.reasons);
105
+ } }
106
+ function LinkedCasesToTableComponent_table_2_tr_15_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵelementStart(0, "tr", 4);
108
+ i0.ɵɵelementStart(1, "td", 17);
109
+ i0.ɵɵtext(2, " None ");
110
+ i0.ɵɵelementEnd();
111
+ i0.ɵɵelementEnd();
112
+ } }
113
+ function LinkedCasesToTableComponent_table_2_Template(rf, ctx) { if (rf & 1) {
114
+ i0.ɵɵelementStart(0, "table", 3);
115
+ i0.ɵɵelementStart(1, "thead");
116
+ i0.ɵɵelementStart(2, "tr", 4);
117
+ i0.ɵɵelementStart(3, "th", 5);
118
+ i0.ɵɵtext(4, "Case name and number");
119
+ i0.ɵɵelementEnd();
120
+ i0.ɵɵelementStart(5, "th", 5);
121
+ i0.ɵɵtext(6, "Case type ");
122
+ i0.ɵɵelementEnd();
123
+ i0.ɵɵelementStart(7, "th", 5);
124
+ i0.ɵɵtext(8, "Service");
125
+ i0.ɵɵelementEnd();
126
+ i0.ɵɵelementStart(9, "th", 5);
127
+ i0.ɵɵtext(10, "State");
128
+ i0.ɵɵelementEnd();
129
+ i0.ɵɵelementStart(11, "th", 5);
130
+ i0.ɵɵtext(12, "Reasons for case link");
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementEnd();
133
+ i0.ɵɵelementEnd();
134
+ i0.ɵɵelementStart(13, "tbody", 6);
135
+ i0.ɵɵtemplate(14, LinkedCasesToTableComponent_table_2_tr_14_Template, 19, 11, "tr", 7);
136
+ i0.ɵɵtemplate(15, LinkedCasesToTableComponent_table_2_tr_15_Template, 3, 0, "tr", 8);
137
+ i0.ɵɵelementEnd();
138
+ i0.ɵɵelementEnd();
139
+ } if (rf & 2) {
140
+ const ctx_r0 = i0.ɵɵnextContext();
141
+ i0.ɵɵadvance(14);
142
+ i0.ɵɵproperty("ngForOf", ctx_r0.linkedCasesFromResponse);
143
+ i0.ɵɵadvance(1);
144
+ i0.ɵɵproperty("ngIf", ctx_r0.linkedCasesFromResponse.length === 0 && (!ctx_r0.isServerError && !ctx_r0.isServerReasonCodeError));
145
+ } }
146
+ export class LinkedCasesToTableComponent {
147
+ constructor(route, linkedCasesService, casesService) {
148
+ this.route = route;
149
+ this.linkedCasesService = linkedCasesService;
150
+ this.casesService = casesService;
151
+ this.notifyAPIFailure = new EventEmitter(false);
152
+ this.linkedCasesFromResponse = [];
153
+ this.isServerError = false;
154
+ this.isServerReasonCodeError = false;
155
+ this.jurisdictionsResponse = [];
156
+ }
157
+ ngAfterViewInit() {
158
+ let labelField = document.getElementsByClassName('govuk-heading-l');
159
+ if (labelField && labelField.length) {
160
+ labelField[0].replaceWith('');
161
+ }
162
+ labelField = document.getElementsByClassName('heading-h2');
163
+ if (labelField && labelField.length) {
164
+ labelField[0].replaceWith('');
165
+ }
166
+ }
167
+ ngOnInit() {
168
+ this.caseId = this.route.snapshot && this.route.snapshot.data && this.route.snapshot.data.case.case_id;
169
+ this.getAllLinkedCaseInformation();
170
+ if (this.route.snapshot.data.case) {
171
+ this.linkedCasesService.caseDetails = this.route.snapshot.data.case;
172
+ }
173
+ this.isServerReasonCodeError = this.linkedCasesService.isServerReasonCodeError;
174
+ }
175
+ getCaseRefereneLink(caseRef) {
176
+ return caseRef.slice(this.caseId.length - 4);
177
+ }
178
+ sortLinkedCasesByReasonCode(searchCasesResponse) {
179
+ const topLevelresultArray = [];
180
+ let secondLevelresultArray = [];
181
+ searchCasesResponse.forEach((item) => {
182
+ const reasons = item && item.reasons || [];
183
+ const consolidatedStateReason = reasons.map(x => x).find(reason => reason === LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE);
184
+ const progressedStateReason = reasons.map(x => x).find(reason => reason === LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE);
185
+ const arrayItem = Object.assign({}, item);
186
+ if (progressedStateReason) {
187
+ topLevelresultArray.push(arrayItem);
188
+ }
189
+ else if (consolidatedStateReason) {
190
+ secondLevelresultArray = [Object.assign({}, item), ...secondLevelresultArray];
191
+ }
192
+ else {
193
+ secondLevelresultArray.push(Object.assign({}, item));
194
+ }
195
+ });
196
+ return topLevelresultArray.concat(secondLevelresultArray);
197
+ }
198
+ getAllLinkedCaseInformation() {
199
+ const searchCasesResponse = [];
200
+ const caseFieldValue = this.caseField && this.caseField.id === 'caseLinks' ? this.caseField.value : [];
201
+ // Generate the list of observables
202
+ caseFieldValue.forEach(fieldValue => {
203
+ if (fieldValue && fieldValue.id) {
204
+ searchCasesResponse.push(this.casesService.getCaseViewV2(fieldValue.id));
205
+ }
206
+ });
207
+ if (searchCasesResponse.length) {
208
+ this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
209
+ const casesResponse = [];
210
+ searchCases.forEach(response => {
211
+ casesResponse.push(this.mapResponse(response));
212
+ });
213
+ this.linkedCasesFromResponse = this.sortLinkedCasesByReasonCode(casesResponse);
214
+ this.isLoaded = true;
215
+ const caseLinks = this.linkedCasesFromResponse.map(item => {
216
+ return {
217
+ caseReference: item.caseReference,
218
+ caseName: item.caseName,
219
+ caseService: item.service,
220
+ caseType: item.caseType,
221
+ unlink: false,
222
+ reasons: item.reasons && item.reasons.map(reason => {
223
+ return {
224
+ Reason: reason
225
+ };
226
+ }),
227
+ };
228
+ });
229
+ this.linkedCasesService.initialCaseLinks = caseLinks;
230
+ this.linkedCasesService.linkedCases = caseLinks;
231
+ this.isServerError = false;
232
+ }, err => {
233
+ this.isServerError = true;
234
+ this.notifyAPIFailure.emit(true);
235
+ });
236
+ }
237
+ }
238
+ searchCasesByCaseIds(searchCasesResponse) {
239
+ return forkJoin(searchCasesResponse);
240
+ }
241
+ hasLeadCaseOrConsolidated(reasonCode) {
242
+ return reasonCode === LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE ||
243
+ reasonCode === LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE;
244
+ }
245
+ mapResponse(esSearchCasesResponse) {
246
+ var _a;
247
+ const caseInfo = this.caseField.value.find(item => item.value && item.value.CaseReference === esSearchCasesResponse.case_id);
248
+ return caseInfo && {
249
+ caseReference: esSearchCasesResponse.case_id,
250
+ caseName: this.linkedCasesService.getCaseName(esSearchCasesResponse),
251
+ caseType: esSearchCasesResponse.case_type.name || '',
252
+ caseTypeDescription: esSearchCasesResponse.case_type.description || '',
253
+ service: esSearchCasesResponse.case_type && esSearchCasesResponse.case_type.jurisdiction.description || '',
254
+ state: esSearchCasesResponse.state.name || '',
255
+ stateDescription: esSearchCasesResponse.state.description || '',
256
+ reasons: (_a = caseInfo === null || caseInfo === void 0 ? void 0 : caseInfo.value) === null || _a === void 0 ? void 0 : _a.ReasonForLink
257
+ };
258
+ }
259
+ }
260
+ LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE = 'CLRC015';
261
+ LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE = 'CLRC016';
262
+ LinkedCasesToTableComponent.ɵfac = function LinkedCasesToTableComponent_Factory(t) { return new (t || LinkedCasesToTableComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.LinkedCasesService), i0.ɵɵdirectiveInject(i3.CasesService)); };
263
+ LinkedCasesToTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCasesToTableComponent, selectors: [["ccd-linked-cases-to-table"]], inputs: { caseField: "caseField" }, outputs: { notifyAPIFailure: "notifyAPIFailure" }, decls: 3, vars: 1, consts: [[1, "govuk-grid-row", "govuk-!-margin-bottom-2"], [1, "govuk-grid-column-full"], ["aria-describedby", "table to display cases linked TO", 4, "ngIf"], ["aria-describedby", "table to display cases linked TO"], [1, "govuk-table__row"], ["scope", "col", "width", "20%", 1, "govuk-table__header", "case-table-column"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "govuk-body"], ["target", "_blank", "rel", "noopener", 3, "href"], [1, "govuk-link"], [3, "title"], [4, "ngIf"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-padding-left-1", 3, "href", 4, "ngIf"], [1, "govuk-!-padding-left-1", 3, "href"], ["colspan", "5", 1, "govuk-table__cell"]], template: function LinkedCasesToTableComponent_Template(rf, ctx) { if (rf & 1) {
264
+ i0.ɵɵelementStart(0, "div", 0);
265
+ i0.ɵɵelementStart(1, "div", 1);
266
+ i0.ɵɵtemplate(2, LinkedCasesToTableComponent_table_2_Template, 16, 2, "table", 2);
267
+ i0.ɵɵelementEnd();
268
+ i0.ɵɵelementEnd();
269
+ } if (rf & 2) {
270
+ i0.ɵɵadvance(2);
271
+ i0.ɵɵproperty("ngIf", ctx.linkedCasesFromResponse);
272
+ } }, styles: [".case-table-column[_ngcontent-%COMP%]{min-width:20%;max-width:20%}"] });
273
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesToTableComponent, [{
274
+ type: Component,
275
+ args: [{
276
+ selector: 'ccd-linked-cases-to-table',
277
+ templateUrl: './linked-cases-to-table.component.html',
278
+ styleUrls: ['./linked-cases-to-table.component.scss']
279
+ }]
280
+ }], function () { return [{ type: i1.ActivatedRoute }, { type: i2.LinkedCasesService }, { type: i3.CasesService }]; }, { caseField: [{
281
+ type: Input
282
+ }], notifyAPIFailure: [{
283
+ type: Output
284
+ }] }); })();
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JVLDZCQUVXO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR0RyxxR0FBa0Q7SUFDSyxlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN0RyxxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBMEM7O0lBQUEsNEJBQU07SUFBQSxvR0FFMEQ7SUFBQSxpQkFBTztJ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SUFBSSxFQUFFO1lBQy9ELE9BQU8sUUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsS0FBSywwQ0FBRSxhQUFhO1NBQ2pCLENBQUM7SUFDM0IsQ0FBQzs7QUFwSXVCLHlEQUE2QixHQUFHLFNBQVMsQ0FBQztBQUMxQyxxREFBeUIsR0FBRyxTQUFTLENBQUM7c0dBSG5ELDJCQUEyQjtnRUFBM0IsMkJBQTJCO1FDekJ4Qyw4QkFBb0Q7UUFDbEQsOEJBQW9DO1FBQ2xDLGlGQW9DUTtRQUNWLGlCQUFNO1FBQ1IsaUJBQU07O1FBdENNLGVBQTZCO1FBQTdCLGtEQUE2Qjs7dUZEdUI1QiwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REOzZIQU9RLFNBQVM7a0JBRGYsS0FBSztZQUlDLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtSZWFzb24gfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuaW50ZXJmYWNlIExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGNhc2VOYW1lOiBzdHJpbmc7XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYXNvbnM6IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLXRvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREUgPSAnQ0xSQzAxNSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgPSAnQ0xSQzAxNic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10gPSBbXTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfVxuICAgIHRoaXMuaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc1NlcnZlclJlYXNvbkNvZGVFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2VSZWY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNhc2VSZWYuc2xpY2UodGhpcy5jYXNlSWQubGVuZ3RoIC0gNCk7XG4gIH1cblxuICBwdWJsaWMgc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKHNlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10ge1xuICAgIGNvbnN0IHRvcExldmVscmVzdWx0QXJyYXkgPSBbXTtcbiAgICBsZXQgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIHNlYXJjaENhc2VzUmVzcG9uc2UuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZWFzb25zID0gaXRlbSAmJiBpdGVtLnJlYXNvbnMgfHwgW107XG4gICAgICBjb25zdCBjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbiA9IHJlYXNvbnMubWFwKHggPT4geCkuZmluZChcbiAgICAgICAgcmVhc29uID0+IHJlYXNvbiA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgY29uc3QgcHJvZ3Jlc3NlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFycmF5SXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgaWYgKHByb2dyZXNzZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICB0b3BMZXZlbHJlc3VsdEFycmF5LnB1c2goYXJyYXlJdGVtKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uc29saWRhdGVkU3RhdGVSZWFzb24pIHtcbiAgICAgICAgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFt7IC4uLml0ZW0gfSwgLi4uc2Vjb25kTGV2ZWxyZXN1bHRBcnJheV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHRvcExldmVscmVzdWx0QXJyYXkuY29uY2F0KHNlY29uZExldmVscmVzdWx0QXJyYXkpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gW107XG4gICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmNhc2VGaWVsZCAmJiB0aGlzLmNhc2VGaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycgPyB0aGlzLmNhc2VGaWVsZC52YWx1ZSA6IFtdO1xuICAgIC8vIEdlbmVyYXRlIHRoZSBsaXN0IG9mIG9ic2VydmFibGVzXG4gICAgY2FzZUZpZWxkVmFsdWUuZm9yRWFjaChmaWVsZFZhbHVlID0+IHtcbiAgICAgIGlmIChmaWVsZFZhbHVlICYmIGZpZWxkVmFsdWUuaWQpIHtcbiAgICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIoZmllbGRWYWx1ZS5pZCkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXNwb25zZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZSA9IHRoaXMuc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKGNhc2VzUmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgUmVhc29uOiByZWFzb25cbiAgICAgICAgICAgICAgfSBhcyBMaW5rUmVhc29uO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGluaztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gY2FzZUxpbmtzO1xuICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm5vdGlmeUFQSUZhaWx1cmUuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNMZWFkQ2FzZU9yQ29uc29saWRhdGVkKHJlYXNvbkNvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZWFzb25Db2RlID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERSB8fFxuICAgICAgcmVhc29uQ29kZSA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFO1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICAgIGNvbnN0IGNhc2VJbmZvID0gdGhpcy5jYXNlRmllbGQudmFsdWUuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgJiYgaXRlbS52YWx1ZS5DYXNlUmVmZXJlbmNlID09PSBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCk7XG4gICAgcmV0dXJuIGNhc2VJbmZvICYmIHtcbiAgICAgIGNhc2VSZWZlcmVuY2U6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkLFxuICAgICAgY2FzZU5hbWU6IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSksXG4gICAgICBjYXNlVHlwZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHNlcnZpY2U6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUgJiYgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBzdGF0ZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLnN0YXRlLm5hbWUgfHwgJycsXG4gICAgICBzdGF0ZURlc2NyaXB0aW9uOiBlc1NlYXJjaENhc2VzUmVzcG9uc2Uuc3RhdGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICByZWFzb25zOiBjYXNlSW5mbz8udmFsdWU/LlJlYXNvbkZvckxpbmtcbiAgICB9IGFzIExpbmtlZENhc2VzUmVzcG9uc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMlwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDx0YWJsZSAqbmdJZj1cImxpbmtlZENhc2VzRnJvbVJlc3BvbnNlXCIgYXJpYS1kZXNjcmliZWRieT1cInRhYmxlIHRvIGRpc3BsYXkgY2FzZXMgbGlua2VkIFRPXCI+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgdHlwZSA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U2VydmljZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBsaW5rZWRDYXNlc0Zyb21SZXNwb25zZVwiPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3tjYXNlLmNhc2VSZWZlcmVuY2V9fVwiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIj48c3BhbiBjbGFzcz1cImdvdnVrLWxpbmtcIj57e2Nhc2UuY2FzZU5hbWV9fSA8YnI+XG4gICAgICAgICAgICAgICAgICB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj48L2E+PC9wPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLmNhc2VUeXBlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2FzZVR5cGV9fTwvc3Bhbj48L3RkPlxuICAgICAgICAgIDx0ZD48c3Bhbj57e2Nhc2Uuc2VydmljZX19PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLnN0YXRlRGVzY3JpcHRpb25cIj57e2Nhc2Uuc3RhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cImNhc2UgJiYgY2FzZS5yZWFzb25zXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGNhc2UucmVhc29uczsgbGV0IGkgPSBpbmRleDsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgICAge3tyZWFzb24udmFsdWUgfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19PHNwYW4+PGEgY2xhc3M9XCJnb3Z1ay0hLXBhZGRpbmctbGVmdC0xXCJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3sgY2FzZS5jYXNlUmVmZXJlbmNlIH19XCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzTGVhZENhc2VPckNvbnNvbGlkYXRlZChyZWFzb24udmFsdWUuUmVhc29uKVwiPnt7Z2V0Q2FzZVJlZmVyZW5lTGluayhjYXNlLmNhc2VSZWZlcmVuY2UpfX08L2E+PC9zcGFuPlxuICAgICAgICAgICAgICA8YnIgKm5nSWY9XCIhaXNMYXN0XCIgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJsaW5rZWRDYXNlc0Zyb21SZXNwb25zZS5sZW5ndGggPT09IDAgJiYgKCFpc1NlcnZlckVycm9yICYmICFpc1NlcnZlclJlYXNvbkNvZGVFcnJvcilcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==