@pega/angular-sdk-components 23.1.10 → 24.1.10

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 (192) hide show
  1. package/esm2022/lib/_bridge/angular-pconnect.mjs +18 -6
  2. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +4 -4
  3. package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +3 -1
  4. package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +1 -1
  5. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +4 -4
  6. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +4 -4
  7. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +4 -4
  8. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +5 -5
  9. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +3 -3
  10. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +9 -6
  11. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +5 -5
  12. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +5 -5
  13. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +5 -5
  14. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +4 -4
  15. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +5 -5
  16. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +5 -5
  17. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +16 -9
  18. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +4 -4
  19. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +4 -4
  20. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +3 -3
  21. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +6 -6
  22. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +5 -7
  23. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +109 -45
  24. package/esm2022/lib/_components/field/currency/currency.component.mjs +34 -17
  25. package/esm2022/lib/_components/field/date/date.component.mjs +6 -6
  26. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +21 -42
  27. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +38 -10
  28. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +7 -12
  29. package/esm2022/lib/_components/field/email/email.component.mjs +5 -5
  30. package/esm2022/lib/_components/field/group/group.component.mjs +9 -6
  31. package/esm2022/lib/_components/field/integer/integer.component.mjs +5 -5
  32. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +3 -3
  33. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +307 -0
  34. package/esm2022/lib/_components/field/multiselect/utils.mjs +187 -0
  35. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +27 -8
  36. package/esm2022/lib/_components/field/phone/phone.component.mjs +5 -5
  37. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +7 -12
  38. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +6 -6
  39. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +7 -6
  40. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +5 -5
  41. package/esm2022/lib/_components/field/text/text.component.mjs +5 -5
  42. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +5 -7
  43. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +5 -5
  44. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +5 -5
  45. package/esm2022/lib/_components/field/time/time.component.mjs +8 -6
  46. package/esm2022/lib/_components/field/url/url.component.mjs +8 -6
  47. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +38 -26
  48. package/esm2022/lib/_components/infra/Containers/base-components/flow-container-base.component.mjs +18 -0
  49. package/esm2022/lib/_components/infra/Containers/base-components/helper.mjs +71 -0
  50. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +35 -39
  51. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +1 -1
  52. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +3 -3
  53. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +41 -13
  54. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +3 -3
  55. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +5 -6
  56. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +3 -3
  57. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +36 -40
  58. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +4 -4
  59. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +5 -6
  60. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +10 -13
  61. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +3 -3
  62. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +6 -6
  63. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +11 -7
  64. package/esm2022/lib/_components/infra/reference/reference.component.mjs +5 -5
  65. package/esm2022/lib/_components/infra/region/region.component.mjs +4 -4
  66. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +5 -5
  67. package/esm2022/lib/_components/infra/stages/stages.component.mjs +5 -5
  68. package/esm2022/lib/_components/infra/view/view.component.mjs +6 -6
  69. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +5 -5
  70. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +5 -5
  71. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +38 -9
  72. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +6 -12
  73. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +5 -5
  74. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +6 -8
  75. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +5 -5
  76. package/esm2022/lib/_components/template/details/details.component.mjs +5 -5
  77. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +5 -5
  78. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +5 -5
  79. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +5 -5
  80. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +5 -5
  81. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +5 -5
  82. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +5 -5
  83. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +5 -6
  84. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +4 -4
  85. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +9 -19
  86. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +10 -5
  87. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +4 -4
  88. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +5 -5
  89. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +4 -4
  90. package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +1 -1
  91. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +35 -31
  92. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +1 -2
  93. package/esm2022/lib/_components/template/list-view/utils.mjs +1 -1
  94. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +5 -5
  95. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +4 -4
  96. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +4 -4
  97. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +4 -4
  98. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +4 -4
  99. package/esm2022/lib/_components/template/page/page.component.mjs +5 -5
  100. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +5 -5
  101. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +5 -6
  102. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +5 -7
  103. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +2 -2
  104. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +49 -28
  105. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +7 -9
  106. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +4 -4
  107. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +5 -5
  108. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +4 -4
  109. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +4 -4
  110. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +4 -4
  111. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +5 -5
  112. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +4 -4
  113. package/esm2022/lib/_components/template/utils.mjs +1 -1
  114. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +4 -4
  115. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +5 -5
  116. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +8 -6
  117. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +4 -4
  118. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +231 -424
  119. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +6 -7
  120. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +5 -9
  121. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +18 -22
  122. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +6 -6
  123. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +5 -5
  124. package/esm2022/lib/_components/widget/todo/todo.component.mjs +8 -7
  125. package/esm2022/lib/_components/widget/utility/utility.component.mjs +5 -5
  126. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +5 -5
  127. package/esm2022/lib/_helpers/case-utils.mjs +1 -1
  128. package/esm2022/lib/_helpers/currency-utils.mjs +1 -1
  129. package/esm2022/lib/_helpers/event-util.mjs +1 -1
  130. package/esm2022/lib/_helpers/field-group-utils.mjs +1 -1
  131. package/esm2022/lib/_helpers/filter-utils.mjs +1 -1
  132. package/esm2022/lib/_helpers/formatters/boolean.mjs +1 -1
  133. package/esm2022/lib/_helpers/formatters/currency.mjs +2 -2
  134. package/esm2022/lib/_helpers/formatters/date.mjs +1 -1
  135. package/esm2022/lib/_helpers/formatters/format-utils.mjs +3 -3
  136. package/esm2022/lib/_helpers/formatters/index.mjs +1 -1
  137. package/esm2022/lib/_helpers/instructions-utils.mjs +36 -0
  138. package/esm2022/lib/_helpers/tab-utils.mjs +1 -1
  139. package/esm2022/lib/_helpers/template-utils.mjs +4 -4
  140. package/esm2022/lib/_helpers/utils.mjs +6 -6
  141. package/esm2022/lib/_messages/error-messages.service.mjs +3 -3
  142. package/esm2022/lib/_messages/get-login-status.service.mjs +3 -3
  143. package/esm2022/lib/_messages/oauth-response.service.mjs +3 -3
  144. package/esm2022/lib/_messages/progress-spinner.service.mjs +3 -3
  145. package/esm2022/lib/_messages/reset-pconnect.service.mjs +3 -3
  146. package/esm2022/lib/_messages/update-worklist.service.mjs +3 -3
  147. package/esm2022/lib/_services/case.service.mjs +4 -4
  148. package/esm2022/lib/_services/datapage.service.mjs +5 -5
  149. package/esm2022/lib/_services/server-config.service.mjs +3 -3
  150. package/esm2022/public-api.mjs +3 -1
  151. package/fesm2022/pega-angular-sdk-components.mjs +1996 -1429
  152. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  153. package/lib/_bridge/angular-pconnect.d.ts +2 -0
  154. package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +2 -0
  155. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +2 -0
  156. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -1
  157. package/lib/_components/field/check-box/check-box.component.d.ts +18 -0
  158. package/lib/_components/field/currency/currency.component.d.ts +7 -5
  159. package/lib/_components/field/date-time/date-time.component.d.ts +1 -1
  160. package/lib/_components/field/decimal/decimal.component.d.ts +9 -1
  161. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -1
  162. package/lib/_components/field/multiselect/multiselect.component.d.ts +64 -0
  163. package/lib/_components/field/multiselect/utils.d.ts +8 -0
  164. package/lib/_components/field/percentage/percentage.component.d.ts +6 -0
  165. package/lib/_components/field/time/time.component.d.ts +1 -0
  166. package/lib/_components/field/url/url.component.d.ts +1 -0
  167. package/lib/_components/field/user-reference/user-reference.component.d.ts +9 -4
  168. package/lib/_components/infra/Containers/base-components/flow-container-base.component.d.ts +8 -0
  169. package/lib/_components/infra/Containers/base-components/helper.d.ts +1 -0
  170. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +6 -7
  171. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +3 -2
  172. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  173. package/lib/_components/infra/assignment/assignment.component.d.ts +2 -2
  174. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  175. package/lib/_components/infra/navbar/navbar.component.d.ts +2 -0
  176. package/lib/_components/template/case-summary/case-summary.component.d.ts +2 -0
  177. package/lib/_components/template/field-value-list/field-value-list.component.d.ts +2 -1
  178. package/lib/_components/template/list-view/list-view.component.d.ts +8 -4
  179. package/lib/_components/template/simple-table-manual/helpers.d.ts +1 -1
  180. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +2 -0
  181. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +2 -0
  182. package/lib/_components/widget/attachment/attachment.component.d.ts +30 -54
  183. package/lib/_components/widget/file-utility/file-utility.component.d.ts +3 -3
  184. package/lib/_components/widget/todo/todo.component.d.ts +4 -3
  185. package/lib/_helpers/common.d.ts +1 -1
  186. package/lib/_helpers/field-group-utils.d.ts +1 -1
  187. package/lib/_helpers/filter-utils.d.ts +1 -1
  188. package/lib/_helpers/formatters/common.d.ts +2 -2
  189. package/lib/_helpers/instructions-utils.d.ts +4 -0
  190. package/lib/doc/KeyReleaseUpdates.md +18 -1
  191. package/package.json +3 -3
  192. package/public-api.d.ts +2 -0
@@ -20,7 +20,6 @@ export class AssignmentComponent {
20
20
  this.isInModal$ = false;
21
21
  // For interaction with AngularPConnect
22
22
  this.angularPConnectData = {};
23
- this.bIsRefComponent = false;
24
23
  this.bInitialized = false;
25
24
  this.bHasNavigation$ = false;
26
25
  this.bIsVertical$ = false;
@@ -72,36 +71,16 @@ export class AssignmentComponent {
72
71
  }
73
72
  }
74
73
  updateChanges() {
75
- this.bIsRefComponent = this.checkIfRefComponent(this.pConn$);
76
- this.ngZone.run(() => {
77
- // pConn$ may be a 'reference' component, so normalize it
78
- // this.pConn$ = ReferenceComponent.normalizePConn(this.pConn$);
79
- this.newPConn$ = ReferenceComponent.normalizePConn(this.pConn$);
80
- // If 'reference' so we need to get the children of the normalized pConn
81
- if (this.bIsRefComponent) {
82
- // this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
83
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.newPConn$.getChildren());
84
- }
85
- });
86
- this.createButtons();
87
- }
88
- checkIfRefComponent(thePConn) {
89
- let bReturn = false;
90
- if (thePConn && thePConn.getComponentName() == 'reference') {
91
- bReturn = true;
74
+ // pConn$ may be a 'reference' component, so normalize it
75
+ this.newPConn$ = ReferenceComponent.normalizePConn(this.pConn$);
76
+ if (this.arChildren$) {
77
+ this.createButtons();
92
78
  }
93
- return bReturn;
94
79
  }
95
80
  initComponent() {
96
- this.bIsRefComponent = this.checkIfRefComponent(this.pConn$);
97
81
  // pConn$ may be a 'reference' component, so normalize it
98
82
  // this.pConn$ = ReferenceComponent.normalizePConn(this.pConn$);
99
83
  this.newPConn$ = ReferenceComponent.normalizePConn(this.pConn$);
100
- // If 'reference' so we need to get the children of the normalized pConn
101
- if (this.bIsRefComponent) {
102
- // this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
103
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.newPConn$.getChildren());
104
- }
105
84
  // prevent re-intializing with flowContainer update unless an action is taken
106
85
  this.bReInit = false;
107
86
  this.bHasNavigation$ = false;
@@ -132,7 +111,11 @@ export class AssignmentComponent {
132
111
  this.cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);
133
112
  this.showPage = actionsAPI.showPage.bind(actionsAPI);
134
113
  this.cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);
135
- this.createButtons();
114
+ this.approveCase = actionsAPI.approveCase?.bind(actionsAPI);
115
+ this.rejectCase = actionsAPI.rejectCase?.bind(actionsAPI);
116
+ if (this.arChildren$) {
117
+ this.createButtons();
118
+ }
136
119
  }
137
120
  createButtons() {
138
121
  // let oData = this.pConn$.getDataObject();
@@ -259,8 +242,8 @@ export class AssignmentComponent {
259
242
  const savePromise = this.saveAssignment(this.itemKey$);
260
243
  savePromise
261
244
  .then(() => {
245
+ // @ts-ignore - Property 'c11nEnv' is private and only accessible within class 'CaseInfo'.
262
246
  const caseType = this.pConn$.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);
263
- // @ts-ignore - second parameter “payload” for publish method should be optional
264
247
  PCore.getPubSubUtils().publish('cancelPressed');
265
248
  this.onSaveActionSuccess({ caseType, caseID, assignmentID });
266
249
  })
@@ -273,12 +256,8 @@ export class AssignmentComponent {
273
256
  case 'cancelAssignment':
274
257
  this.bReInit = true;
275
258
  this.erService.sendMessage('dismiss', '');
276
- // @ts-ignore - Property 'isAssignmentInCreateStage' is private and only accessible within class 'CaseInfo'
277
259
  const isAssignmentInCreateStage = this.pConn$.getCaseInfo().isAssignmentInCreateStage();
278
- const isLocalAction =
279
- // @ts-ignore - Property 'isLocalAction' is private and only accessible within class 'CaseInfo'.
280
- this.pConn$.getCaseInfo().isLocalAction() ||
281
- // @ts-ignore - second parameter pageReference for getValue method should be optional
260
+ const isLocalAction = this.pConn$.getCaseInfo().isLocalAction() ||
282
261
  (PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION && this.pConn$.getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION));
283
262
  // check if create stage (modal)
284
263
  if (isAssignmentInCreateStage && this.isInModal$ && !isLocalAction) {
@@ -298,13 +277,11 @@ export class AssignmentComponent {
298
277
  this.psService.sendMessage(true);
299
278
  // publish before cancel pressed, because
300
279
  // cancel assignment happens "after" cancel assignment happens
301
- // @ts-ignore - second parameter “payload” for publish method should be optional
302
280
  PCore.getPubSubUtils().publish('cancelPressed');
303
281
  const cancelPromise = this.cancelAssignment(this.itemKey$);
304
282
  cancelPromise
305
283
  .then(() => {
306
284
  this.psService.sendMessage(false);
307
- // @ts-ignore - second parameter “payload” for publish method should be optional
308
285
  PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_CANCEL);
309
286
  })
310
287
  .catch(() => {
@@ -313,12 +290,21 @@ export class AssignmentComponent {
313
290
  });
314
291
  }
315
292
  break;
293
+ case 'rejectCase': {
294
+ const rejectPromise = this.rejectCase(this.itemKey$);
295
+ rejectPromise
296
+ .then(() => { })
297
+ .catch(() => {
298
+ this.psService.sendMessage(false);
299
+ this.snackBar.open(`${this.localizedVal('Rejection failed!', this.localeCategory)}`, 'Ok');
300
+ });
301
+ break;
302
+ }
316
303
  default:
317
304
  break;
318
305
  }
319
306
  }
320
307
  else if (sButtonType == 'primary') {
321
- // eslint-disable-next-line sonarjs/no-small-switch
322
308
  switch (sAction) {
323
309
  case 'finishAssignment':
324
310
  this.erService.sendMessage('publish', '');
@@ -341,6 +327,16 @@ export class AssignmentComponent {
341
327
  this.erService.sendMessage('show', this.localizedVal('Please fix errors on form.', this.localeCategory));
342
328
  }
343
329
  break;
330
+ case 'approveCase': {
331
+ const approvePromise = this.approveCase(this.itemKey$);
332
+ approvePromise
333
+ .then(() => { })
334
+ .catch(() => {
335
+ this.psService.sendMessage(false);
336
+ this.snackBar.open(`${this.localizedVal('Approve failed!', this.localeCategory)}`, 'Ok');
337
+ });
338
+ break;
339
+ }
344
340
  default:
345
341
  break;
346
342
  }
@@ -361,13 +357,13 @@ export class AssignmentComponent {
361
357
  control.markAsTouched();
362
358
  });
363
359
  }
364
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssignmentComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ProgressSpinnerService }, { token: i3.ErrorMessagesService }, { token: i0.NgZone }, { token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
365
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AssignmentComponent, isStandalone: true, selector: "app-assignment", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", itemKey$: "itemKey$", isCreateStage$: "isCreateStage$", updateToken$: "updateToken$", isInModal$: "isInModal$", banners: "banners" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatSnackBarModule; }) }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
360
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssignmentComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ProgressSpinnerService }, { token: i3.ErrorMessagesService }, { token: i0.NgZone }, { token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
361
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AssignmentComponent, isStandalone: true, selector: "app-assignment", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", itemKey$: "itemKey$", isCreateStage$: "isCreateStage$", updateToken$: "updateToken$", isInModal$: "isInModal$", banners: "banners" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i5.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSnackBarModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
366
362
  }
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssignmentComponent, decorators: [{
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssignmentComponent, decorators: [{
368
364
  type: Component,
369
365
  args: [{ selector: 'app-assignment', standalone: true, imports: [CommonModule, MatSnackBarModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n" }]
370
- }], ctorParameters: function () { return [{ type: i1.AngularPConnectService }, { type: i2.ProgressSpinnerService }, { type: i3.ErrorMessagesService }, { type: i0.NgZone }, { type: i4.MatSnackBar }]; }, propDecorators: { pConn$: [{
366
+ }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i2.ProgressSpinnerService }, { type: i3.ErrorMessagesService }, { type: i0.NgZone }, { type: i4.MatSnackBar }], propDecorators: { pConn$: [{
371
367
  type: Input
372
368
  }], formGroup$: [{
373
369
  type: Input
@@ -384,4 +380,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
384
380
  }], banners: [{
385
381
  type: Input
386
382
  }] } });
387
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvYXNzaWdubWVudC9hc3NpZ25tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50L2Fzc2lnbm1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBSzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0FBY3hHLE1BQU0sT0FBTyxtQkFBbUI7SUErQzlCLFlBQ1UsZUFBdUMsRUFDdkMsU0FBaUMsRUFDakMsU0FBK0IsRUFDL0IsTUFBYyxFQUNkLFFBQXFCO1FBSnJCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQTdDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUc1Qix1Q0FBdUM7UUFDdkMsd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQU05QyxvQkFBZSxHQUFHLEtBQUss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RCwwREFBMEQ7SUFDMUQsY0FBYztRQUNaLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUMvRCxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXRiVSxtQkFBbUI7bUdBQW5CLG1CQUFtQix1VEN2QmhDLGs3QkE0QkEsNEZEUFksWUFBWSxnTkFBRSxpQkFBaUIsc0VBQW1CLHdCQUF3Qjs7NEZBRXpFLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7b09BRzdFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jYXNlLWRlY2xhcmF0aW9ucyAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBOZ1pvbmUsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUsIE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21lc3NhZ2VzL3Byb2dyZXNzLXNwaW5uZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgQXNzaWdubWVudFByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICB0ZW1wbGF0ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXNzaWdubWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NpZ25tZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzaWdubWVudC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRTbmFja0Jhck1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBBc3NpZ25tZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgQElucHV0KCkgaXRlbUtleSQ6IHN0cmluZztcbiAgQElucHV0KCkgaXNDcmVhdGVTdGFnZSQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHVwZGF0ZVRva2VuJDogbnVtYmVyO1xuICBASW5wdXQoKSBpc0luTW9kYWwkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGJhbm5lcnM7XG5cbiAgLy8gRm9yIGludGVyYWN0aW9uIHdpdGggQW5ndWxhclBDb25uZWN0XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcbiAgY29uZmlnUHJvcHMkOiBBc3NpZ25tZW50UHJvcHM7XG5cbiAgbmV3UENvbm4kOiBhbnk7XG4gIGNvbnRhaW5lck5hbWUkOiBzdHJpbmc7XG5cbiAgYklzUmVmQ29tcG9uZW50ID0gZmFsc2U7XG4gIGJJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHRlbXBsYXRlTmFtZSQ6IHN0cmluZztcblxuICBhck1haW5CdXR0b25zJDogYW55W107XG4gIGFyU2Vjb25kYXJ5QnV0dG9ucyQ6IGFueVtdO1xuXG4gIGFjdGlvbnNBUEk6IGFueTtcblxuICBiSGFzTmF2aWdhdGlvbiQgPSBmYWxzZTtcbiAgYklzVmVydGljYWwkID0gZmFsc2U7XG4gIGFyQ3VycmVudFN0ZXBJbmRpY2llcyQ6IG51bWJlcltdID0gW107XG4gIGFyTmF2aWdhdGlvblN0ZXBzJDogYW55W10gPSBbXTtcblxuICBpbml0OiBib29sZWFuO1xuICBmaW5pc2hBc3NpZ25tZW50OiBhbnk7XG4gIG5hdmlnYXRlVG9TdGVwOiBhbnk7XG4gIHNhdmVBc3NpZ25tZW50OiBhbnk7XG4gIGNhbmNlbEFzc2lnbm1lbnQ6IGFueTtcbiAgY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50OiBhbnk7XG4gIHNob3dQYWdlOiBhbnk7XG5cbiAgLy8gaXRlbUtleTogc3RyaW5nID0gXCJcIjsgICAvLyBKQSAtIHRoaXMgaXMgd2hhdCBOZWJ1bGEvQ29uc3RlbGxhdGlvbiB1c2VzIHRvIHBhc3MgdG8gZmluaXNoQXNzaWdubWVudCwgbmF2aWdhdGVUb1N0ZXBcblxuICBiUmVJbml0ID0gZmFsc2U7XG4gIGxvY2FsaXplZFZhbDtcbiAgbG9jYWxlQ2F0ZWdvcnkgPSAnQXNzaWdubWVudCc7XG4gIGxvY2FsZVJlZmVyZW5jZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSxcbiAgICBwcml2YXRlIHBzU2VydmljZTogUHJvZ3Jlc3NTcGlubmVyU2VydmljZSxcbiAgICBwcml2YXRlIGVyU2VydmljZTogRXJyb3JNZXNzYWdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhclxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICB0aGlzLmluaXRDb21wb25lbnQoKTtcblxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIHRoaXMuYkluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB0aGlzLmxvY2FsaXplZFZhbCA9IFBDb3JlLmdldExvY2FsZVV0aWxzKCkuZ2V0TG9jYWxlVmFsdWU7XG4gICAgdGhpcy5sb2NhbGVSZWZlcmVuY2UgPSBgJHt0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmdldENsYXNzTmFtZSgpfSFDQVNFISR7dGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXROYW1lKCl9YC50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGxiYWNrIHBhc3NlZCB3aGVuIHN1YnNjcmliaW5nIHRvIHN0b3JlIGNoYW5nZVxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgLy8gT05MWSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICAvLyAgICBBTkQgcmVtb3ZpbmcgdGhlIFwiZ2F0ZVwiIHRoYXQgd2FzIHB1dCB0aGVyZSBzaW5jZSBzaG91bGRDb21wb25lbnRVcGRhdGVcbiAgICAvLyAgICAgIHNob3VsZCBiZSB0aGUgcmVhbCBcImdhdGVcIlxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgbGV0IGxvYWRpbmdJbmZvO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gbG9hZGluZ0luZm8gPSB0aGlzLnBDb25uJC5nZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIGxvYWRpbmdJbmZvID0gdGhpcy5uZXdQQ29ubiQuZ2V0TG9hZGluZ1N0YXR1cygpO1xuXG4gICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGxvYWRpbmdJbmZvKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIC8qIGVtcHR5ICovXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuYkluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDaGFuZ2VzKCkge1xuICAgIHRoaXMuYklzUmVmQ29tcG9uZW50ID0gdGhpcy5jaGVja0lmUmVmQ29tcG9uZW50KHRoaXMucENvbm4kKTtcblxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAvLyBwQ29ubiQgbWF5IGJlIGEgJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyBub3JtYWxpemUgaXRcbiAgICAgIC8vIHRoaXMucENvbm4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKHRoaXMucENvbm4kKTtcbiAgICAgIHRoaXMubmV3UENvbm4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKHRoaXMucENvbm4kKTtcblxuICAgICAgLy8gIElmICdyZWZlcmVuY2UnIHNvIHdlIG5lZWQgdG8gZ2V0IHRoZSBjaGlsZHJlbiBvZiB0aGUgbm9ybWFsaXplZCBwQ29ublxuICAgICAgaWYgKHRoaXMuYklzUmVmQ29tcG9uZW50KSB7XG4gICAgICAgIC8vIHRoaXMuYXJDaGlsZHJlbiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm5BcnJheSh0aGlzLnBDb25uJC5nZXRDaGlsZHJlbigpKTtcbiAgICAgICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMubmV3UENvbm4kLmdldENoaWxkcmVuKCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5jcmVhdGVCdXR0b25zKCk7XG4gIH1cblxuICBjaGVja0lmUmVmQ29tcG9uZW50KHRoZVBDb25uOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgYlJldHVybiA9IGZhbHNlO1xuICAgIGlmICh0aGVQQ29ubiAmJiB0aGVQQ29ubi5nZXRDb21wb25lbnROYW1lKCkgPT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgIGJSZXR1cm4gPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBiUmV0dXJuO1xuICB9XG5cbiAgaW5pdENvbXBvbmVudCgpIHtcbiAgICB0aGlzLmJJc1JlZkNvbXBvbmVudCA9IHRoaXMuY2hlY2tJZlJlZkNvbXBvbmVudCh0aGlzLnBDb25uJCk7XG5cbiAgICAvLyBwQ29ubiQgbWF5IGJlIGEgJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyBub3JtYWxpemUgaXRcbiAgICAvLyB0aGlzLnBDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubih0aGlzLnBDb25uJCk7XG4gICAgdGhpcy5uZXdQQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuXG4gICAgLy8gSWYgJ3JlZmVyZW5jZScgc28gd2UgbmVlZCB0byBnZXQgdGhlIGNoaWxkcmVuIG9mIHRoZSBub3JtYWxpemVkIHBDb25uXG4gICAgaWYgKHRoaXMuYklzUmVmQ29tcG9uZW50KSB7XG4gICAgICAvLyB0aGlzLmFyQ2hpbGRyZW4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uQXJyYXkodGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICB0aGlzLmFyQ2hpbGRyZW4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uQXJyYXkodGhpcy5uZXdQQ29ubiQuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgfVxuXG4gICAgLy8gcHJldmVudCByZS1pbnRpYWxpemluZyB3aXRoIGZsb3dDb250YWluZXIgdXBkYXRlIHVubGVzcyBhbiBhY3Rpb24gaXMgdGFrZW5cbiAgICB0aGlzLmJSZUluaXQgPSBmYWxzZTtcbiAgICB0aGlzLmJIYXNOYXZpZ2F0aW9uJCA9IGZhbHNlO1xuXG4gICAgLy8gdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSk7XG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLm5ld1BDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5uZXdQQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSk7XG5cbiAgICB0aGlzLnRlbXBsYXRlTmFtZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50ZW1wbGF0ZTtcblxuICAgIC8vIGNyZWF0ZSBwb2ludGVycyB0byBmdW5jdGlvbnNcbiAgICAvKlxuICAgIGxldCBjb250YWluZXJNZ3IgPSB0aGlzLnBDb25uJC5nZXRDb250YWluZXJNYW5hZ2VyKCk7XG4gICAgbGV0IGFjdGlvbnNBUEkgPSB0aGlzLnBDb25uJC5nZXRBY3Rpb25zQXBpKCk7XG4gICAgbGV0IGJhc2VDb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBsZXQgYWNOYW1lID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgICovXG5cbiAgICBjb25zdCBhY3Rpb25zQVBJID0gdGhpcy5uZXdQQ29ubiQuZ2V0QWN0aW9uc0FwaSgpO1xuICAgIGNvbnN0IGJhc2VDb250ZXh0ID0gdGhpcy5uZXdQQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBjb25zdCBhY05hbWUgPSB0aGlzLm5ld1BDb25uJC5nZXRDb250YWluZXJOYW1lKCk7XG5cbiAgICAvLyBmb3Igbm93LCBpbiBnZW5lcmFsIHRoaXMgc2hvdWxkIGJlIG92ZXJyaWRkZW4gYnkgdXBkYXRlU2VsZigpLCBhbmQgbm90IGJlIGJsYW5rXG4gICAgaWYgKHRoaXMuaXRlbUtleSQgPT09ICcnKSB7XG4gICAgICB0aGlzLml0ZW1LZXkkID0gYmFzZUNvbnRleHQuY29uY2F0KCcvJykuY29uY2F0KGFjTmFtZSk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5wQ29ubiQuaXNCb3VuZFRvU3RhdGUoKTtcbiAgICB0aGlzLm5ld1BDb25uJC5pc0JvdW5kVG9TdGF0ZSgpO1xuXG4gICAgdGhpcy5pbml0ID0gZmFsc2U7XG5cbiAgICAvLyBzdG9yZSBvZmYgYm91bmQgZnVuY3Rpb25zIHRvIGFib3ZlIHBvaW50ZXJzXG4gICAgdGhpcy5maW5pc2hBc3NpZ25tZW50ID0gYWN0aW9uc0FQSS5maW5pc2hBc3NpZ25tZW50LmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5uYXZpZ2F0ZVRvU3RlcCA9IGFjdGlvbnNBUEkubmF2aWdhdGVUb1N0ZXAuYmluZChhY3Rpb25zQVBJKTtcbiAgICB0aGlzLnNhdmVBc3NpZ25tZW50ID0gYWN0aW9uc0FQSS5zYXZlQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMuY2FuY2VsQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuY2FuY2VsQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMuc2hvd1BhZ2UgPSBhY3Rpb25zQVBJLnNob3dQYWdlLmJpbmQoYWN0aW9uc0FQSSk7XG5cbiAgICB0aGlzLmNhbmNlbENyZWF0ZVN0YWdlQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50LmJpbmQoYWN0aW9uc0FQSSk7XG5cbiAgICB0aGlzLmNyZWF0ZUJ1dHRvbnMoKTtcbiAgfVxuXG4gIGNyZWF0ZUJ1dHRvbnMoKSB7XG4gICAgLy8gbGV0IG9EYXRhID0gdGhpcy5wQ29ubiQuZ2V0RGF0YU9iamVjdCgpO1xuICAgIGNvbnN0IG9EYXRhID0gdGhpcy5uZXdQQ29ubiQuZ2V0RGF0YU9iamVjdCgpO1xuXG4gICAgLy8gaW5zaWRlXG4gICAgLy8gZ2V0IGZpc3Qga2lkLCBnZXQgdGhlIG5hbWUgYW5kIGRpc3BsYVxuICAgIC8vIHBhc3MgZmlyc3Qga2lkIHRvIGEgdmlldyBjb250YWluZXIsIHdoaWNoIHdpbGwgZGlzcGVyc2UgaXQgdG8gYSB2aWV3IHdoaWNoIHdpbGwgdXNlIG9uZSBjb2x1bW4sIHR3byBjb2x1bW4sIGV0Yy5cbiAgICBjb25zdCBvV29ya0l0ZW0gPSB0aGlzLmFyQ2hpbGRyZW4kWzBdLmdldFBDb25uZWN0KCk7XG4gICAgY29uc3Qgb1dvcmtEYXRhID0gb1dvcmtJdGVtLmdldERhdGFPYmplY3QoKTtcblxuICAgIGlmIChvV29ya0RhdGEpIHtcbiAgICAgIHRoaXMuYWN0aW9uc0FQSSA9IG9Xb3JrSXRlbS5nZXRBY3Rpb25zQXBpKCk7XG5cbiAgICAgIC8vIHRoaXMuY29udGFpbmVyTmFtZSQgPSBvV29ya01ldGFbXCJuYW1lXCJdO1xuXG4gICAgICBpZiAob1dvcmtEYXRhLmNhc2VJbmZvICYmIG9Xb3JrRGF0YS5jYXNlSW5mby5hc3NpZ25tZW50cyAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNvbnRhaW5lck5hbWUkID0gb1dvcmtEYXRhLmNhc2VJbmZvLmFzc2lnbm1lbnRzPy5bMF0ubmFtZTtcblxuICAgICAgICAvLyBnZXQgY2FzZUluZm9cbiAgICAgICAgY29uc3Qgb0Nhc2VJbmZvID0gb0RhdGEuY2FzZUluZm87XG5cbiAgICAgICAgaWYgKG9DYXNlSW5mbyAmJiBvQ2FzZUluZm8uYWN0aW9uQnV0dG9ucykge1xuICAgICAgICAgIHRoaXMuYXJNYWluQnV0dG9ucyQgPSBvQ2FzZUluZm8uYWN0aW9uQnV0dG9ucy5tYWluO1xuICAgICAgICAgIHRoaXMuYXJTZWNvbmRhcnlCdXR0b25zJCA9IG9DYXNlSW5mby5hY3Rpb25CdXR0b25zLnNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvQ2FzZUluZm8ubmF2aWdhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVCdXR0b25zRm9yTXVsdGlTdGVwRm9ybShvQ2FzZUluZm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYkhhc05hdmlnYXRpb24kID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjcmVhdGVCdXR0b25zRm9yTXVsdGlTdGVwRm9ybShvQ2FzZUluZm8pIHtcbiAgICB0aGlzLmJIYXNOYXZpZ2F0aW9uJCA9IHRydWU7XG5cbiAgICBpZiAoKG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlICYmIG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlLnRvTG93ZXJDYXNlKCkgPT09ICdzdGFuZGFyZCcpIHx8IG9DYXNlSW5mbz8ubmF2aWdhdGlvbj8uc3RlcHM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5iSGFzTmF2aWdhdGlvbiQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlICYmIG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlLnRvTG93ZXJDYXNlKCkgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHRoaXMuYklzVmVydGljYWwkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iSXNWZXJ0aWNhbCQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBpdGVyYXRlIHRocm91Z2ggc3RlcHMgdG8gZmluZCBjdXJyZW50IG9uZShzKVxuICAgIC8vIGltbXV0YWJsZSwgc28gd2Ugd2FudCB0byBjaGFuZ2UgdGhlIGxvY2FsIGNvcHksIHNvIG5lZWQgdG8gbWFrZSBhIGNvcHlcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgLy8gd2hhdCBjb21lcyBiYWNrIG5vdyBpbiBjb25maWdPYmplY3QgaXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBmbG93Q29udGFpbmVyXG4gICAgICB0aGlzLmFyTmF2aWdhdGlvblN0ZXBzJCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob0Nhc2VJbmZvLm5hdmlnYXRpb24uc3RlcHMpKTtcbiAgICAgIHRoaXMuYXJOYXZpZ2F0aW9uU3RlcHMkLmZvckVhY2goc3RlcCA9PiB7XG4gICAgICAgIGlmIChzdGVwLm5hbWUpIHtcbiAgICAgICAgICBzdGVwLm5hbWUgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlKHN0ZXAubmFtZSwgdW5kZWZpbmVkLCB0aGlzLmxvY2FsZVJlZmVyZW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hckN1cnJlbnRTdGVwSW5kaWNpZXMkID0gW107XG4gICAgICB0aGlzLmFyQ3VycmVudFN0ZXBJbmRpY2llcyQgPSB0aGlzLmZpbmRDdXJyZW50SW5kaWNpZXModGhpcy5hck5hdmlnYXRpb25TdGVwcyQsIHRoaXMuYXJDdXJyZW50U3RlcEluZGljaWVzJCwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBmaW5kQ3VycmVudEluZGljaWVzKGFyU3RlcHBlclN0ZXBzOiBhbnlbXSwgYXJJbmRpY2llczogbnVtYmVyW10sIGRlcHRoOiBudW1iZXIpOiBudW1iZXJbXSB7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBhclN0ZXBwZXJTdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgaWYgKHN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnKSB7XG4gICAgICAgIGFySW5kaWNpZXNbZGVwdGhdID0gY291bnQ7XG5cbiAgICAgICAgLy8gYWRkIGluXG4gICAgICAgIHN0ZXAuc3RlcF9zdGF0dXMgPSAnJztcbiAgICAgIH0gZWxzZSBpZiAoc3RlcC52aXNpdGVkX3N0YXR1cyA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgc3RlcC5zdGVwX3N0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgc3RlcC5zdGVwX3N0YXR1cyA9ICcnO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RlcC5zdGVwcykge1xuICAgICAgICBhckluZGljaWVzID0gdGhpcy5maW5kQ3VycmVudEluZGljaWVzKHN0ZXAuc3RlcHMsIGFySW5kaWNpZXMsIGRlcHRoICsgMSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYXJJbmRpY2llcztcbiAgfVxuXG4gIG9uU2F2ZUFjdGlvblN1Y2Nlc3MoZGF0YSkge1xuICAgIHRoaXMuYWN0aW9uc0FQSS5jYW5jZWxBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkNBU0VfRVZFTlRTLkNSRUFURV9TVEFHRV9TQVZFRCwgZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkFjdGlvbkJ1dHRvbkNsaWNrKG9EYXRhOiBhbnkpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrKG9EYXRhLmFjdGlvbiwgb0RhdGEuYnV0dG9uVHlwZSk7XG4gIH1cblxuICBidXR0b25DbGljayhzQWN0aW9uLCBzQnV0dG9uVHlwZSkge1xuICAgIC8vIHJpZ2h0IG5vdywgZG9uZSBvbiBhbiBpbmRpdmlkdWFsIGJhc2lzLCBzZXR0aW5nIGJSZUluaXQgdG8gdHJ1ZVxuICAgIC8vIHVwb24gdGhlIG5leHQgZmxvdyBjb250YWluZXIgc3RhdGUgY2hhbmdlLCB3aWxsIGNhdXNlIHRoZSBmbG93IGNvbnRhaW5lclxuICAgIC8vIHRvIHJlLWluaXRpYWxpemVcbiAgICAvLyB0aGlzLmJSZUluaXQgPXRydWU7XG5cbiAgICAvKlxuICAgIGxldCBiYXNlQ29udGV4dCA9IHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCk7XG4gICAgbGV0IGFjTmFtZSA9IHRoaXMucENvbm4kLmdldENvbnRhaW5lck5hbWUoKTtcbiAgICBsZXQgaXRlbUlEID0gYmFzZUNvbnRleHQuY29uY2F0KFwiL1wiKS5jb25jYXQoYWNOYW1lKTtcbiAgICAqL1xuXG4gICAgLy8gY29uc3QgYmFzZUNvbnRleHQgPSB0aGlzLm5ld1BDb25uJC5nZXRDb250ZXh0TmFtZSgpO1xuICAgIC8vIGNvbnN0IGFjTmFtZSA9IHRoaXMubmV3UENvbm4kLmdldENvbnRhaW5lck5hbWUoKTtcbiAgICAvLyBjb25zdCBpdGVtSUQgPSBiYXNlQ29udGV4dC5jb25jYXQoJy8nKS5jb25jYXQoYWNOYW1lKTtcblxuICAgIGlmIChzQnV0dG9uVHlwZSA9PSAnc2Vjb25kYXJ5Jykge1xuICAgICAgLy8gY29uc3Qgc3RlcElEID0gJyc7IC8vID8/P1xuXG4gICAgICAvLyBuZWVkIHRvIGhhbmRsZSBjYW5jZWwgYXMgdGhpcy5jYW5jZWwoZGlzcGF0Y2hJbmZvKVxuICAgICAgLy8gdGhpcy5hY3Rpb25zQVBJW3NBY3Rpb25dKGRpc3BhdGNoSW5mbyk7XG4gICAgICBzd2l0Y2ggKHNBY3Rpb24pIHtcbiAgICAgICAgY2FzZSAnbmF2aWdhdGVUb1N0ZXAnOlxuICAgICAgICAgIHRoaXMuZXJTZXJ2aWNlLnNlbmRNZXNzYWdlKCdwdWJsaXNoJywgJycpO1xuICAgICAgICAgIGlmICh0aGlzLmZvcm1WYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmJSZUluaXQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UodHJ1ZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IG5hdmlnYXRlUHJvbWlzZSA9IHRoaXMubmF2aWdhdGVUb1N0ZXAoJ3ByZXZpb3VzJywgdGhpcy5pdGVtS2V5JCk7XG4gICAgICAgICAgICBuYXZpZ2F0ZVByb21pc2VcbiAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGAke3RoaXMubG9jYWxpemVkVmFsKCdOYXZpZ2F0aW9uIGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3NhdmVBc3NpZ25tZW50Jzoge1xuICAgICAgICAgIGNvbnN0IGNhc2VJRCA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0S2V5KCk7XG4gICAgICAgICAgY29uc3QgYXNzaWdubWVudElEID0gdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXRBc3NpZ25tZW50SUQoKTtcbiAgICAgICAgICBjb25zdCBzYXZlUHJvbWlzZSA9IHRoaXMuc2F2ZUFzc2lnbm1lbnQodGhpcy5pdGVtS2V5JCk7XG5cbiAgICAgICAgICBzYXZlUHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjYXNlVHlwZSA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuYzExbkVudi5nZXRWYWx1ZShQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uQ0FTRV9UWVBFX0lEKTtcbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIHNlY29uZCBwYXJhbWV0ZXIg4oCccGF5bG9hZOKAnSBmb3IgcHVibGlzaCBtZXRob2Qgc2hvdWxkIGJlIG9wdGlvbmFsXG4gICAgICAgICAgICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaCgnY2FuY2VsUHJlc3NlZCcpO1xuICAgICAgICAgICAgICB0aGlzLm9uU2F2ZUFjdGlvblN1Y2Nlc3MoeyBjYXNlVHlwZSwgY2FzZUlELCBhc3NpZ25tZW50SUQgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ1NhdmUgZmFpbGVkJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSAnY2FuY2VsQXNzaWdubWVudCc6XG4gICAgICAgICAgdGhpcy5iUmVJbml0ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmVyU2VydmljZS5zZW5kTWVzc2FnZSgnZGlzbWlzcycsICcnKTtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gUHJvcGVydHkgJ2lzQXNzaWdubWVudEluQ3JlYXRlU3RhZ2UnIGlzIHByaXZhdGUgYW5kIG9ubHkgYWNjZXNzaWJsZSB3aXRoaW4gY2xhc3MgJ0Nhc2VJbmZvJ1xuICAgICAgICAgIGNvbnN0IGlzQXNzaWdubWVudEluQ3JlYXRlU3RhZ2UgPSB0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmlzQXNzaWdubWVudEluQ3JlYXRlU3RhZ2UoKTtcbiAgICAgICAgICBjb25zdCBpc0xvY2FsQWN0aW9uID1cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBQcm9wZXJ0eSAnaXNMb2NhbEFjdGlvbicgaXMgcHJpdmF0ZSBhbmQgb25seSBhY2Nlc3NpYmxlIHdpdGhpbiBjbGFzcyAnQ2FzZUluZm8nLlxuICAgICAgICAgICAgdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5pc0xvY2FsQWN0aW9uKCkgfHxcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBzZWNvbmQgcGFyYW1ldGVyIHBhZ2VSZWZlcmVuY2UgZm9yIGdldFZhbHVlIG1ldGhvZCBzaG91bGQgYmUgb3B0aW9uYWxcbiAgICAgICAgICAgIChQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uSVNfTE9DQUxfQUNUSU9OICYmIHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5JU19MT0NBTF9BQ1RJT04pKTtcbiAgICAgICAgICAvLyBjaGVjayBpZiBjcmVhdGUgc3RhZ2UgKG1vZGFsKVxuICAgICAgICAgIGlmIChpc0Fzc2lnbm1lbnRJbkNyZWF0ZVN0YWdlICYmIHRoaXMuaXNJbk1vZGFsJCAmJiAhaXNMb2NhbEFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IHRoaXMuY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpO1xuICAgICAgICAgICAgY2FuY2VsUHJvbWlzZVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIC8vIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChcbiAgICAgICAgICAgICAgICAvLyAgIFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0NBTkNFTCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnQ2FuY2VsIGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKHRydWUpO1xuXG4gICAgICAgICAgICAvLyBwdWJsaXNoIGJlZm9yZSBjYW5jZWwgcHJlc3NlZCwgYmVjYXVzZVxuICAgICAgICAgICAgLy8gY2FuY2VsIGFzc2lnbm1lbnQgaGFwcGVucyBcImFmdGVyXCIgY2FuY2VsIGFzc2lnbm1lbnQgaGFwcGVuc1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIHNlY29uZCBwYXJhbWV0ZXIg4oCccGF5bG9hZOKAnSBmb3IgcHVibGlzaCBtZXRob2Qgc2hvdWxkIGJlIG9wdGlvbmFsXG4gICAgICAgICAgICBQQ29yZS5nZXRQdWJTdWJVdGlscygpLnB1Ymxpc2goJ2NhbmNlbFByZXNzZWQnKTtcblxuICAgICAgICAgICAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IHRoaXMuY2FuY2VsQXNzaWdubWVudCh0aGlzLml0ZW1LZXkkKTtcbiAgICAgICAgICAgIGNhbmNlbFByb21pc2VcbiAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gc2Vjb25kIHBhcmFtZXRlciDigJxwYXlsb2Fk4oCdIGZvciBwdWJsaXNoIG1ldGhvZCBzaG91bGQgYmUgb3B0aW9uYWxcbiAgICAgICAgICAgICAgICBQQ29yZS5nZXRQdWJTdWJVdGlscygpLnB1Ymxpc2goUENvcmUuZ2V0Q29uc3RhbnRzKCkuUFVCX1NVQl9FVkVOVFMuRVZFTlRfQ0FOQ0VMKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGAke3RoaXMubG9jYWxpemVkVmFsKCdDYW5jZWwgZmFpbGVkIScsIHRoaXMubG9jYWxlQ2F0ZWdvcnkpfWAsICdPaycpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNCdXR0b25UeXBlID09ICdwcmltYXJ5Jykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvbm8tc21hbGwtc3dpdGNoXG4gICAgICBzd2l0Y2ggKHNBY3Rpb24pIHtcbiAgICAgICAgY2FzZSAnZmluaXNoQXNzaWdubWVudCc6XG4gICAgICAgICAgdGhpcy5lclNlcnZpY2Uuc2VuZE1lc3NhZ2UoJ3B1Ymxpc2gnLCAnJyk7XG4gICAgICAgICAgaWYgKHRoaXMuZm9ybVZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuYlJlSW5pdCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmlzaFByb21pc2UgPSB0aGlzLmZpbmlzaEFzc2lnbm1lbnQodGhpcy5pdGVtS2V5JCk7IC8vIEpBIC0gd2FzIGl0ZW1JRCBidXQgTmVidWxhL0NvbnN0ZWxsYXRpb24gdXNlcyBpdGVtS2V5XG4gICAgICAgICAgICBmaW5pc2hQcm9taXNlXG4gICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnU3VibWl0IGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGxldCBzbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihcIlBsZWFzZSBmaXggZXJyb3JzIG9uIGZvcm0uXCIsICBcIk9rXCIpO1xuICAgICAgICAgICAgdGhpcy5lclNlcnZpY2Uuc2VuZE1lc3NhZ2UoJ3Nob3cnLCB0aGlzLmxvY2FsaXplZFZhbCgnUGxlYXNlIGZpeCBlcnJvcnMgb24gZm9ybS4nLCB0aGlzLmxvY2FsZUNhdGVnb3J5KSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvcm1WYWxpZCgpOiBib29sZWFuIHtcbiAgICB0aGlzLnRvdWNoQWxsKCk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwJC52YWxpZDtcbiAgfVxuXG4gIHRvdWNoQWxsKCk6IHZvaWQge1xuICAgIE9iamVjdC52YWx1ZXModGhpcy5mb3JtR3JvdXAkLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvbm8taWRlbnRpY2FsLWZ1bmN0aW9uc1xuICB0b3BWaWV3UmVmcmVzaCgpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUdyb3VwJC5jb250cm9scykuZm9yRWFjaCgoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPGRpdj48Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiQWxlcnRCYW5uZXJcIiBbcHJvcHNdPVwieyBiYW5uZXJzIH1cIiBbcGFyZW50XT1cInRoaXNcIj48L2NvbXBvbmVudC1tYXBwZXI+PC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJiSGFzTmF2aWdhdGlvbiRcIiBjbGFzcz1cInBzZGstc3RlcHBlclwiPlxuICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICBuYW1lPVwiTXVsdGlTdGVwXCJcbiAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgIHBDb25uJDogbmV3UENvbm4kLFxuICAgICAgICBmb3JtR3JvdXAkLFxuICAgICAgICBhckNoaWxkcmVuJCxcbiAgICAgICAgYXJNYWluQnV0dG9ucyQsXG4gICAgICAgIGFyU2Vjb25kYXJ5QnV0dG9ucyQsXG4gICAgICAgIGJJc1ZlcnRpY2FsJCxcbiAgICAgICAgYXJDdXJyZW50U3RlcEluZGljaWVzJCxcbiAgICAgICAgYXJOYXZpZ2F0aW9uU3RlcHMkXG4gICAgICB9XCJcbiAgICAgIFtwYXJlbnRdPVwidGhpc1wiXG4gICAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCIhYkhhc05hdmlnYXRpb24kXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgIG5hbWU9XCJBc3NpZ25tZW50Q2FyZFwiXG4gICAgICBbcHJvcHNdPVwieyBwQ29ubiQ6IG5ld1BDb25uJCwgZm9ybUdyb3VwJCwgYXJDaGlsZHJlbiQsIGFyTWFpbkJ1dHRvbnMkLCBhclNlY29uZGFyeUJ1dHRvbnMkLCB1cGRhdGVUb2tlbiQgfVwiXG4gICAgICBbcGFyZW50XT1cInRoaXNcIlxuICAgICAgW291dHB1dEV2ZW50c109XCJ7IGFjdGlvbkJ1dHRvbkNsaWNrOiBvbkFjdGlvbkJ1dHRvbkNsaWNrIH1cIlxuICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
383
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvYXNzaWdubWVudC9hc3NpZ25tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50L2Fzc2lnbm1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBSzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0FBY3hHLE1BQU0sT0FBTyxtQkFBbUI7SUFnRDlCLFlBQ1UsZUFBdUMsRUFDdkMsU0FBaUMsRUFDakMsU0FBK0IsRUFDL0IsTUFBYyxFQUNkLFFBQXFCO1FBSnJCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQTlDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUc1Qix1Q0FBdUM7UUFDdkMsd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQU05QyxpQkFBWSxHQUFHLEtBQUss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VUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY2FzZS1kZWNsYXJhdGlvbnMgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlLCBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IEVycm9yTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21lc3NhZ2VzL2Vycm9yLW1lc3NhZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXNzYWdlcy9wcm9ncmVzcy1zcGlubmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW5mcmEvcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIEFzc2lnbm1lbnRQcm9wcyB7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gdGhpcyBjb21wb25lbnRcbiAgdGVtcGxhdGU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFzc2lnbm1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzaWdubWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2lnbm1lbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0U25hY2tCYXJNb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgQXNzaWdubWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgZm9ybUdyb3VwJDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBhckNoaWxkcmVuJDogYW55W107XG4gIEBJbnB1dCgpIGl0ZW1LZXkkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzQ3JlYXRlU3RhZ2UkOiBib29sZWFuO1xuICBASW5wdXQoKSB1cGRhdGVUb2tlbiQ6IG51bWJlcjtcbiAgQElucHV0KCkgaXNJbk1vZGFsJCA9IGZhbHNlO1xuICBASW5wdXQoKSBiYW5uZXJzO1xuXG4gIC8vIEZvciBpbnRlcmFjdGlvbiB3aXRoIEFuZ3VsYXJQQ29ubmVjdFxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogQXNzaWdubWVudFByb3BzO1xuXG4gIG5ld1BDb25uJDogYW55O1xuICBjb250YWluZXJOYW1lJDogc3RyaW5nO1xuXG4gIGJJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHRlbXBsYXRlTmFtZSQ6IHN0cmluZztcblxuICBhck1haW5CdXR0b25zJDogYW55W107XG4gIGFyU2Vjb25kYXJ5QnV0dG9ucyQ6IGFueVtdO1xuXG4gIGFjdGlvbnNBUEk6IGFueTtcblxuICBiSGFzTmF2aWdhdGlvbiQgPSBmYWxzZTtcbiAgYklzVmVydGljYWwkID0gZmFsc2U7XG4gIGFyQ3VycmVudFN0ZXBJbmRpY2llcyQ6IG51bWJlcltdID0gW107XG4gIGFyTmF2aWdhdGlvblN0ZXBzJDogYW55W10gPSBbXTtcblxuICBpbml0OiBib29sZWFuO1xuICBmaW5pc2hBc3NpZ25tZW50OiBhbnk7XG4gIG5hdmlnYXRlVG9TdGVwOiBhbnk7XG4gIHNhdmVBc3NpZ25tZW50OiBhbnk7XG4gIGNhbmNlbEFzc2lnbm1lbnQ6IGFueTtcbiAgY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50OiBhbnk7XG4gIHNob3dQYWdlOiBhbnk7XG4gIGFwcHJvdmVDYXNlOiBhbnk7XG4gIHJlamVjdENhc2U6IGFueTtcblxuICAvLyBpdGVtS2V5OiBzdHJpbmcgPSBcIlwiOyAgIC8vIEpBIC0gdGhpcyBpcyB3aGF0IE5lYnVsYS9Db25zdGVsbGF0aW9uIHVzZXMgdG8gcGFzcyB0byBmaW5pc2hBc3NpZ25tZW50LCBuYXZpZ2F0ZVRvU3RlcFxuXG4gIGJSZUluaXQgPSBmYWxzZTtcbiAgbG9jYWxpemVkVmFsO1xuICBsb2NhbGVDYXRlZ29yeSA9ICdBc3NpZ25tZW50JztcbiAgbG9jYWxlUmVmZXJlbmNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHNTZXJ2aWNlOiBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXJTZXJ2aWNlOiBFcnJvck1lc3NhZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaXJzdCB0aGluZyBpbiBpbml0aWFsaXphdGlvbiBpcyByZWdpc3RlcmluZyBhbmQgc3Vic2NyaWJpbmcgdG8gdGhlIEFuZ3VsYXJQQ29ubmVjdCBzZXJ2aWNlXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcblxuICAgIHRoaXMuaW5pdENvbXBvbmVudCgpO1xuXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgdGhpcy5iSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHRoaXMubG9jYWxpemVkVmFsID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgICB0aGlzLmxvY2FsZVJlZmVyZW5jZSA9IGAke3RoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0Q2xhc3NOYW1lKCl9IUNBU0UhJHt0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmdldE5hbWUoKX1gLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4pIHtcbiAgICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsbGJhY2sgcGFzc2VkIHdoZW4gc3Vic2NyaWJpbmcgdG8gc3RvcmUgY2hhbmdlXG4gIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgY2hlY2tBbmRVcGRhdGUoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICAvLyBPTkxZIGNhbGwgdXBkYXRlU2VsZiB3aGVuIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZVxuICAgIC8vICAgIEFORCByZW1vdmluZyB0aGUgXCJnYXRlXCIgdGhhdCB3YXMgcHV0IHRoZXJlIHNpbmNlIHNob3VsZENvbXBvbmVudFVwZGF0ZVxuICAgIC8vICAgICAgc2hvdWxkIGJlIHRoZSByZWFsIFwiZ2F0ZVwiXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICBsZXQgbG9hZGluZ0luZm87XG4gICAgICB0cnkge1xuICAgICAgICAvLyBsb2FkaW5nSW5mbyA9IHRoaXMucENvbm4kLmdldExvYWRpbmdTdGF0dXMoKTtcbiAgICAgICAgbG9hZGluZ0luZm8gPSB0aGlzLm5ld1BDb25uJC5nZXRMb2FkaW5nU3RhdHVzKCk7XG5cbiAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UobG9hZGluZ0luZm8pO1xuICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5iSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUNoYW5nZXMoKSB7XG4gICAgLy8gcENvbm4kIG1heSBiZSBhICdyZWZlcmVuY2UnIGNvbXBvbmVudCwgc28gbm9ybWFsaXplIGl0XG4gICAgdGhpcy5uZXdQQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuXG4gICAgaWYgKHRoaXMuYXJDaGlsZHJlbiQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQnV0dG9ucygpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRDb21wb25lbnQoKSB7XG4gICAgLy8gcENvbm4kIG1heSBiZSBhICdyZWZlcmVuY2UnIGNvbXBvbmVudCwgc28gbm9ybWFsaXplIGl0XG4gICAgLy8gdGhpcy5wQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuICAgIHRoaXMubmV3UENvbm4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKHRoaXMucENvbm4kKTtcblxuICAgIC8vIHByZXZlbnQgcmUtaW50aWFsaXppbmcgd2l0aCBmbG93Q29udGFpbmVyIHVwZGF0ZSB1bmxlc3MgYW4gYWN0aW9uIGlzIHRha2VuXG4gICAgdGhpcy5iUmVJbml0ID0gZmFsc2U7XG4gICAgdGhpcy5iSGFzTmF2aWdhdGlvbiQgPSBmYWxzZTtcblxuICAgIC8vIHRoaXMuY29uZmlnUHJvcHMkID0gdGhpcy5wQ29ubiQucmVzb2x2ZUNvbmZpZ1Byb3BzKHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCkpO1xuICAgIHRoaXMuY29uZmlnUHJvcHMkID0gdGhpcy5uZXdQQ29ubiQucmVzb2x2ZUNvbmZpZ1Byb3BzKHRoaXMubmV3UENvbm4kLmdldENvbmZpZ1Byb3BzKCkpO1xuXG4gICAgdGhpcy50ZW1wbGF0ZU5hbWUkID0gdGhpcy5jb25maWdQcm9wcyQudGVtcGxhdGU7XG5cbiAgICAvLyBjcmVhdGUgcG9pbnRlcnMgdG8gZnVuY3Rpb25zXG4gICAgLypcbiAgICBsZXQgY29udGFpbmVyTWdyID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTWFuYWdlcigpO1xuICAgIGxldCBhY3Rpb25zQVBJID0gdGhpcy5wQ29ubiQuZ2V0QWN0aW9uc0FwaSgpO1xuICAgIGxldCBiYXNlQ29udGV4dCA9IHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCk7XG4gICAgbGV0IGFjTmFtZSA9IHRoaXMucENvbm4kLmdldENvbnRhaW5lck5hbWUoKTtcbiAgICAqL1xuXG4gICAgY29uc3QgYWN0aW9uc0FQSSA9IHRoaXMubmV3UENvbm4kLmdldEFjdGlvbnNBcGkoKTtcbiAgICBjb25zdCBiYXNlQ29udGV4dCA9IHRoaXMubmV3UENvbm4kLmdldENvbnRleHROYW1lKCk7XG4gICAgY29uc3QgYWNOYW1lID0gdGhpcy5uZXdQQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuXG4gICAgLy8gZm9yIG5vdywgaW4gZ2VuZXJhbCB0aGlzIHNob3VsZCBiZSBvdmVycmlkZGVuIGJ5IHVwZGF0ZVNlbGYoKSwgYW5kIG5vdCBiZSBibGFua1xuICAgIGlmICh0aGlzLml0ZW1LZXkkID09PSAnJykge1xuICAgICAgdGhpcy5pdGVtS2V5JCA9IGJhc2VDb250ZXh0LmNvbmNhdCgnLycpLmNvbmNhdChhY05hbWUpO1xuICAgIH1cblxuICAgIC8vIHRoaXMucENvbm4kLmlzQm91bmRUb1N0YXRlKCk7XG4gICAgdGhpcy5uZXdQQ29ubiQuaXNCb3VuZFRvU3RhdGUoKTtcblxuICAgIHRoaXMuaW5pdCA9IGZhbHNlO1xuXG4gICAgLy8gc3RvcmUgb2ZmIGJvdW5kIGZ1bmN0aW9ucyB0byBhYm92ZSBwb2ludGVyc1xuICAgIHRoaXMuZmluaXNoQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuZmluaXNoQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMubmF2aWdhdGVUb1N0ZXAgPSBhY3Rpb25zQVBJLm5hdmlnYXRlVG9TdGVwLmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5zYXZlQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuc2F2ZUFzc2lnbm1lbnQuYmluZChhY3Rpb25zQVBJKTtcbiAgICB0aGlzLmNhbmNlbEFzc2lnbm1lbnQgPSBhY3Rpb25zQVBJLmNhbmNlbEFzc2lnbm1lbnQuYmluZChhY3Rpb25zQVBJKTtcbiAgICB0aGlzLnNob3dQYWdlID0gYWN0aW9uc0FQSS5zaG93UGFnZS5iaW5kKGFjdGlvbnNBUEkpO1xuXG4gICAgdGhpcy5jYW5jZWxDcmVhdGVTdGFnZUFzc2lnbm1lbnQgPSBhY3Rpb25zQVBJLmNhbmNlbENyZWF0ZVN0YWdlQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMuYXBwcm92ZUNhc2UgPSBhY3Rpb25zQVBJLmFwcHJvdmVDYXNlPy5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMucmVqZWN0Q2FzZSA9IGFjdGlvbnNBUEkucmVqZWN0Q2FzZT8uYmluZChhY3Rpb25zQVBJKTtcblxuICAgIGlmICh0aGlzLmFyQ2hpbGRyZW4kKSB7XG4gICAgICB0aGlzLmNyZWF0ZUJ1dHRvbnMoKTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVCdXR0b25zKCkge1xuICAgIC8vIGxldCBvRGF0YSA9IHRoaXMucENvbm4kLmdldERhdGFPYmplY3QoKTtcbiAgICBjb25zdCBvRGF0YSA9IHRoaXMubmV3UENvbm4kLmdldERhdGFPYmplY3QoKTtcblxuICAgIC8vIGluc2lkZVxuICAgIC8vIGdldCBmaXN0IGtpZCwgZ2V0IHRoZSBuYW1lIGFuZCBkaXNwbGFcbiAgICAvLyBwYXNzIGZpcnN0IGtpZCB0byBhIHZpZXcgY29udGFpbmVyLCB3aGljaCB3aWxsIGRpc3BlcnNlIGl0IHRvIGEgdmlldyB3aGljaCB3aWxsIHVzZSBvbmUgY29sdW1uLCB0d28gY29sdW1uLCBldGMuXG4gICAgY29uc3Qgb1dvcmtJdGVtID0gdGhpcy5hckNoaWxkcmVuJFswXS5nZXRQQ29ubmVjdCgpO1xuICAgIGNvbnN0IG9Xb3JrRGF0YSA9IG9Xb3JrSXRlbS5nZXREYXRhT2JqZWN0KCk7XG5cbiAgICBpZiAob1dvcmtEYXRhKSB7XG4gICAgICB0aGlzLmFjdGlvbnNBUEkgPSBvV29ya0l0ZW0uZ2V0QWN0aW9uc0FwaSgpO1xuXG4gICAgICAvLyB0aGlzLmNvbnRhaW5lck5hbWUkID0gb1dvcmtNZXRhW1wibmFtZVwiXTtcblxuICAgICAgaWYgKG9Xb3JrRGF0YS5jYXNlSW5mbyAmJiBvV29ya0RhdGEuY2FzZUluZm8uYXNzaWdubWVudHMgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJOYW1lJCA9IG9Xb3JrRGF0YS5jYXNlSW5mby5hc3NpZ25tZW50cz8uWzBdLm5hbWU7XG5cbiAgICAgICAgLy8gZ2V0IGNhc2VJbmZvXG4gICAgICAgIGNvbnN0IG9DYXNlSW5mbyA9IG9EYXRhLmNhc2VJbmZvO1xuXG4gICAgICAgIGlmIChvQ2FzZUluZm8gJiYgb0Nhc2VJbmZvLmFjdGlvbkJ1dHRvbnMpIHtcbiAgICAgICAgICB0aGlzLmFyTWFpbkJ1dHRvbnMkID0gb0Nhc2VJbmZvLmFjdGlvbkJ1dHRvbnMubWFpbjtcbiAgICAgICAgICB0aGlzLmFyU2Vjb25kYXJ5QnV0dG9ucyQgPSBvQ2FzZUluZm8uYWN0aW9uQnV0dG9ucy5zZWNvbmRhcnk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob0Nhc2VJbmZvLm5hdmlnYXRpb24gIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuY3JlYXRlQnV0dG9uc0Zvck11bHRpU3RlcEZvcm0ob0Nhc2VJbmZvKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmJIYXNOYXZpZ2F0aW9uJCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlQnV0dG9uc0Zvck11bHRpU3RlcEZvcm0ob0Nhc2VJbmZvKSB7XG4gICAgdGhpcy5iSGFzTmF2aWdhdGlvbiQgPSB0cnVlO1xuXG4gICAgaWYgKChvQ2FzZUluZm8ubmF2aWdhdGlvbi50ZW1wbGF0ZSAmJiBvQ2FzZUluZm8ubmF2aWdhdGlvbi50ZW1wbGF0ZS50b0xvd2VyQ2FzZSgpID09PSAnc3RhbmRhcmQnKSB8fCBvQ2FzZUluZm8/Lm5hdmlnYXRpb24/LnN0ZXBzPy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuYkhhc05hdmlnYXRpb24kID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChvQ2FzZUluZm8ubmF2aWdhdGlvbi50ZW1wbGF0ZSAmJiBvQ2FzZUluZm8ubmF2aWdhdGlvbi50ZW1wbGF0ZS50b0xvd2VyQ2FzZSgpID09PSAndmVydGljYWwnKSB7XG4gICAgICB0aGlzLmJJc1ZlcnRpY2FsJCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYklzVmVydGljYWwkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gaXRlcmF0ZSB0aHJvdWdoIHN0ZXBzIHRvIGZpbmQgY3VycmVudCBvbmUocylcbiAgICAvLyBpbW11dGFibGUsIHNvIHdlIHdhbnQgdG8gY2hhbmdlIHRoZSBsb2NhbCBjb3B5LCBzbyBuZWVkIHRvIG1ha2UgYSBjb3B5XG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgIC8vIHdoYXQgY29tZXMgYmFjayBub3cgaW4gY29uZmlnT2JqZWN0IGlzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZmxvd0NvbnRhaW5lclxuICAgICAgdGhpcy5hck5hdmlnYXRpb25TdGVwcyQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9DYXNlSW5mby5uYXZpZ2F0aW9uLnN0ZXBzKSk7XG4gICAgICB0aGlzLmFyTmF2aWdhdGlvblN0ZXBzJC5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgICBpZiAoc3RlcC5uYW1lKSB7XG4gICAgICAgICAgc3RlcC5uYW1lID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZShzdGVwLm5hbWUsIHVuZGVmaW5lZCwgdGhpcy5sb2NhbGVSZWZlcmVuY2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXJDdXJyZW50U3RlcEluZGljaWVzJCA9IFtdO1xuICAgICAgdGhpcy5hckN1cnJlbnRTdGVwSW5kaWNpZXMkID0gdGhpcy5maW5kQ3VycmVudEluZGljaWVzKHRoaXMuYXJOYXZpZ2F0aW9uU3RlcHMkLCB0aGlzLmFyQ3VycmVudFN0ZXBJbmRpY2llcyQsIDApO1xuICAgIH0pO1xuICB9XG5cbiAgZmluZEN1cnJlbnRJbmRpY2llcyhhclN0ZXBwZXJTdGVwczogYW55W10sIGFySW5kaWNpZXM6IG51bWJlcltdLCBkZXB0aDogbnVtYmVyKTogbnVtYmVyW10ge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgYXJTdGVwcGVyU3RlcHMuZm9yRWFjaChzdGVwID0+IHtcbiAgICAgIGlmIChzdGVwLnZpc2l0ZWRfc3RhdHVzID09ICdjdXJyZW50Jykge1xuICAgICAgICBhckluZGljaWVzW2RlcHRoXSA9IGNvdW50O1xuXG4gICAgICAgIC8vIGFkZCBpblxuICAgICAgICBzdGVwLnN0ZXBfc3RhdHVzID0gJyc7XG4gICAgICB9IGVsc2UgaWYgKHN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgIGNvdW50Kys7XG4gICAgICAgIHN0ZXAuc3RlcF9zdGF0dXMgPSAnY29tcGxldGVkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvdW50Kys7XG4gICAgICAgIHN0ZXAuc3RlcF9zdGF0dXMgPSAnJztcbiAgICAgIH1cblxuICAgICAgaWYgKHN0ZXAuc3RlcHMpIHtcbiAgICAgICAgYXJJbmRpY2llcyA9IHRoaXMuZmluZEN1cnJlbnRJbmRpY2llcyhzdGVwLnN0ZXBzLCBhckluZGljaWVzLCBkZXB0aCArIDEpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGFySW5kaWNpZXM7XG4gIH1cblxuICBvblNhdmVBY3Rpb25TdWNjZXNzKGRhdGEpIHtcbiAgICB0aGlzLmFjdGlvbnNBUEkuY2FuY2VsQXNzaWdubWVudCh0aGlzLml0ZW1LZXkkKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5DQVNFX0VWRU5UUy5DUkVBVEVfU1RBR0VfU0FWRUQsIGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgb25BY3Rpb25CdXR0b25DbGljayhvRGF0YTogYW55KSB7XG4gICAgdGhpcy5idXR0b25DbGljayhvRGF0YS5hY3Rpb24sIG9EYXRhLmJ1dHRvblR5cGUpO1xuICB9XG5cbiAgYnV0dG9uQ2xpY2soc0FjdGlvbiwgc0J1dHRvblR5cGUpIHtcbiAgICAvLyByaWdodCBub3csIGRvbmUgb24gYW4gaW5kaXZpZHVhbCBiYXNpcywgc2V0dGluZyBiUmVJbml0IHRvIHRydWVcbiAgICAvLyB1cG9uIHRoZSBuZXh0IGZsb3cgY29udGFpbmVyIHN0YXRlIGNoYW5nZSwgd2lsbCBjYXVzZSB0aGUgZmxvdyBjb250YWluZXJcbiAgICAvLyB0byByZS1pbml0aWFsaXplXG4gICAgLy8gdGhpcy5iUmVJbml0ID10cnVlO1xuXG4gICAgLypcbiAgICBsZXQgYmFzZUNvbnRleHQgPSB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpO1xuICAgIGxldCBhY05hbWUgPSB0aGlzLnBDb25uJC5nZXRDb250YWluZXJOYW1lKCk7XG4gICAgbGV0IGl0ZW1JRCA9IGJhc2VDb250ZXh0LmNvbmNhdChcIi9cIikuY29uY2F0KGFjTmFtZSk7XG4gICAgKi9cblxuICAgIC8vIGNvbnN0IGJhc2VDb250ZXh0ID0gdGhpcy5uZXdQQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICAvLyBjb25zdCBhY05hbWUgPSB0aGlzLm5ld1BDb25uJC5nZXRDb250YWluZXJOYW1lKCk7XG4gICAgLy8gY29uc3QgaXRlbUlEID0gYmFzZUNvbnRleHQuY29uY2F0KCcvJykuY29uY2F0KGFjTmFtZSk7XG5cbiAgICBpZiAoc0J1dHRvblR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgIC8vIGNvbnN0IHN0ZXBJRCA9ICcnOyAvLyA/Pz9cblxuICAgICAgLy8gbmVlZCB0byBoYW5kbGUgY2FuY2VsIGFzIHRoaXMuY2FuY2VsKGRpc3BhdGNoSW5mbylcbiAgICAgIC8vIHRoaXMuYWN0aW9uc0FQSVtzQWN0aW9uXShkaXNwYXRjaEluZm8pO1xuICAgICAgc3dpdGNoIChzQWN0aW9uKSB7XG4gICAgICAgIGNhc2UgJ25hdmlnYXRlVG9TdGVwJzpcbiAgICAgICAgICB0aGlzLmVyU2VydmljZS5zZW5kTWVzc2FnZSgncHVibGlzaCcsICcnKTtcbiAgICAgICAgICBpZiAodGhpcy5mb3JtVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy5iUmVJbml0ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKHRydWUpO1xuXG4gICAgICAgICAgICBjb25zdCBuYXZpZ2F0ZVByb21pc2UgPSB0aGlzLm5hdmlnYXRlVG9TdGVwKCdwcmV2aW91cycsIHRoaXMuaXRlbUtleSQpO1xuICAgICAgICAgICAgbmF2aWdhdGVQcm9taXNlXG4gICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnTmF2aWdhdGlvbiBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzYXZlQXNzaWdubWVudCc6IHtcbiAgICAgICAgICBjb25zdCBjYXNlSUQgPSB0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmdldEtleSgpO1xuICAgICAgICAgIGNvbnN0IGFzc2lnbm1lbnRJRCA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0QXNzaWdubWVudElEKCk7XG4gICAgICAgICAgY29uc3Qgc2F2ZVByb21pc2UgPSB0aGlzLnNhdmVBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpO1xuXG4gICAgICAgICAgc2F2ZVByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIFByb3BlcnR5ICdjMTFuRW52JyBpcyBwcml2YXRlIGFuZCBvbmx5IGFjY2Vzc2libGUgd2l0aGluIGNsYXNzICdDYXNlSW5mbycuXG4gICAgICAgICAgICAgIGNvbnN0IGNhc2VUeXBlID0gdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5jMTFuRW52LmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5DQVNFX1RZUEVfSUQpO1xuICAgICAgICAgICAgICBQQ29yZS5nZXRQdWJTdWJVdGlscygpLnB1Ymxpc2goJ2NhbmNlbFByZXNzZWQnKTtcbiAgICAgICAgICAgICAgdGhpcy5vblNhdmVBY3Rpb25TdWNjZXNzKHsgY2FzZVR5cGUsIGNhc2VJRCwgYXNzaWdubWVudElEIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGAke3RoaXMubG9jYWxpemVkVmFsKCdTYXZlIGZhaWxlZCcsIHRoaXMubG9jYWxlQ2F0ZWdvcnkpfWAsICdPaycpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ2NhbmNlbEFzc2lnbm1lbnQnOlxuICAgICAgICAgIHRoaXMuYlJlSW5pdCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5lclNlcnZpY2Uuc2VuZE1lc3NhZ2UoJ2Rpc21pc3MnLCAnJyk7XG4gICAgICAgICAgY29uc3QgaXNBc3NpZ25tZW50SW5DcmVhdGVTdGFnZSA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuaXNBc3NpZ25tZW50SW5DcmVhdGVTdGFnZSgpO1xuICAgICAgICAgIGNvbnN0IGlzTG9jYWxBY3Rpb24gPVxuICAgICAgICAgICAgdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5pc0xvY2FsQWN0aW9uKCkgfHxcbiAgICAgICAgICAgIChQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uSVNfTE9DQUxfQUNUSU9OICYmIHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5JU19MT0NBTF9BQ1RJT04pKTtcbiAgICAgICAgICAvLyBjaGVjayBpZiBjcmVhdGUgc3RhZ2UgKG1vZGFsKVxuICAgICAgICAgIGlmIChpc0Fzc2lnbm1lbnRJbkNyZWF0ZVN0YWdlICYmIHRoaXMuaXNJbk1vZGFsJCAmJiAhaXNMb2NhbEFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IHRoaXMuY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpO1xuICAgICAgICAgICAgY2FuY2VsUHJvbWlzZVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIC8vIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChcbiAgICAgICAgICAgICAgICAvLyAgIFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0NBTkNFTCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnQ2FuY2VsIGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKHRydWUpO1xuXG4gICAgICAgICAgICAvLyBwdWJsaXNoIGJlZm9yZSBjYW5jZWwgcHJlc3NlZCwgYmVjYXVzZVxuICAgICAgICAgICAgLy8gY2FuY2VsIGFzc2lnbm1lbnQgaGFwcGVucyBcImFmdGVyXCIgY2FuY2VsIGFzc2lnbm1lbnQgaGFwcGVuc1xuICAgICAgICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKCdjYW5jZWxQcmVzc2VkJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbmNlbFByb21pc2UgPSB0aGlzLmNhbmNlbEFzc2lnbm1lbnQodGhpcy5pdGVtS2V5JCk7XG4gICAgICAgICAgICBjYW5jZWxQcm9taXNlXG4gICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0NBTkNFTCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnQ2FuY2VsIGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JlamVjdENhc2UnOiB7XG4gICAgICAgICAgY29uc3QgcmVqZWN0UHJvbWlzZSA9IHRoaXMucmVqZWN0Q2FzZSh0aGlzLml0ZW1LZXkkKTtcblxuICAgICAgICAgIHJlamVjdFByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHt9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ1JlamVjdGlvbiBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNCdXR0b25UeXBlID09ICdwcmltYXJ5Jykge1xuICAgICAgc3dpdGNoIChzQWN0aW9uKSB7XG4gICAgICAgIGNhc2UgJ2ZpbmlzaEFzc2lnbm1lbnQnOlxuICAgICAgICAgIHRoaXMuZXJTZXJ2aWNlLnNlbmRNZXNzYWdlKCdwdWJsaXNoJywgJycpO1xuICAgICAgICAgIGlmICh0aGlzLmZvcm1WYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmJSZUluaXQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCBmaW5pc2hQcm9taXNlID0gdGhpcy5maW5pc2hBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpOyAvLyBKQSAtIHdhcyBpdGVtSUQgYnV0IE5lYnVsYS9Db25zdGVsbGF0aW9uIHVzZXMgaXRlbUtleVxuICAgICAgICAgICAgZmluaXNoUHJvbWlzZVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hhbmdlcygpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ1N1Ym1pdCBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBsZXQgc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oXCJQbGVhc2UgZml4IGVycm9ycyBvbiBmb3JtLlwiLCAgXCJPa1wiKTtcbiAgICAgICAgICAgIHRoaXMuZXJTZXJ2aWNlLnNlbmRNZXNzYWdlKCdzaG93JywgdGhpcy5sb2NhbGl6ZWRWYWwoJ1BsZWFzZSBmaXggZXJyb3JzIG9uIGZvcm0uJywgdGhpcy5sb2NhbGVDYXRlZ29yeSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdhcHByb3ZlQ2FzZSc6IHtcbiAgICAgICAgICBjb25zdCBhcHByb3ZlUHJvbWlzZSA9IHRoaXMuYXBwcm92ZUNhc2UodGhpcy5pdGVtS2V5JCk7XG5cbiAgICAgICAgICBhcHByb3ZlUHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge30pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnQXBwcm92ZSBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9ybVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHRoaXMudG91Y2hBbGwoKTtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAkLnZhbGlkO1xuICB9XG5cbiAgdG91Y2hBbGwoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmZvcm1Hcm91cCQuY29udHJvbHMpLmZvckVhY2goKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9uby1pZGVudGljYWwtZnVuY3Rpb25zXG4gIHRvcFZpZXdSZWZyZXNoKCk6IHZvaWQge1xuICAgIE9iamVjdC52YWx1ZXModGhpcy5mb3JtR3JvdXAkLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2Pjxjb21wb25lbnQtbWFwcGVyIG5hbWU9XCJBbGVydEJhbm5lclwiIFtwcm9wc109XCJ7IGJhbm5lcnMgfVwiIFtwYXJlbnRdPVwidGhpc1wiPjwvY29tcG9uZW50LW1hcHBlcj48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImJIYXNOYXZpZ2F0aW9uJFwiIGNsYXNzPVwicHNkay1zdGVwcGVyXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgIG5hbWU9XCJNdWx0aVN0ZXBcIlxuICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgcENvbm4kOiBuZXdQQ29ubiQsXG4gICAgICAgIGZvcm1Hcm91cCQsXG4gICAgICAgIGFyQ2hpbGRyZW4kLFxuICAgICAgICBhck1haW5CdXR0b25zJCxcbiAgICAgICAgYXJTZWNvbmRhcnlCdXR0b25zJCxcbiAgICAgICAgYklzVmVydGljYWwkLFxuICAgICAgICBhckN1cnJlbnRTdGVwSW5kaWNpZXMkLFxuICAgICAgICBhck5hdmlnYXRpb25TdGVwcyRcbiAgICAgIH1cIlxuICAgICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICAgIFtvdXRwdXRFdmVudHNdPVwieyBhY3Rpb25CdXR0b25DbGljazogb25BY3Rpb25CdXR0b25DbGljayB9XCJcbiAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFiSGFzTmF2aWdhdGlvbiRcIj5cbiAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgbmFtZT1cIkFzc2lnbm1lbnRDYXJkXCJcbiAgICAgIFtwcm9wc109XCJ7IHBDb25uJDogbmV3UENvbm4kLCBmb3JtR3JvdXAkLCBhckNoaWxkcmVuJCwgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQsIHVwZGF0ZVRva2VuJCB9XCJcbiAgICAgIFtwYXJlbnRdPVwidGhpc1wiXG4gICAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -23,10 +23,10 @@ export class AssignmentCardComponent {
23
23
  onActionButtonClick(oData) {
24
24
  this.actionButtonClick.emit(oData);
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssignmentCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AssignmentCardComponent, isStandalone: true, selector: "app-assignment-card", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", updateToken$: "updateToken$" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(function () { return ReactiveFormsModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i2.ɵNgNoValidate; }), selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i2.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssignmentCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AssignmentCardComponent, isStandalone: true, selector: "app-assignment-card", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", updateToken$: "updateToken$" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i2.ɵNgNoValidate), selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i0.forwardRef(() => i2.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i2.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssignmentCardComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssignmentCardComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'app-assignment-card', standalone: true, imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)], template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"] }]
32
32
  }], propDecorators: { pConn$: [{
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
44
44
  }], actionButtonClick: [{
45
45
  type: Output
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQVN4RyxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBZVksc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7S0FpQnJFO0lBZkMsUUFBUTtRQUNOLDREQUE0RDtRQUM1RCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVc7UUFDVCw0REFBNEQ7UUFDNUQsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F4QlUsdUJBQXVCO21HQUF2Qix1QkFBdUIseVZDYnBDLHdtQ0EwQkEseU5EZlksWUFBWSwwbUJBQUUsbUJBQW1CLGlsQkFBbUIsd0JBQXdCOzs0RkFFM0UsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7OEJBRy9FLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXNzaWdubWVudC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2lnbm1lbnQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2lnbm1lbnQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIEFzc2lnbm1lbnRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgZm9ybUdyb3VwJDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBhck1haW5CdXR0b25zJDogYW55W107XG4gIEBJbnB1dCgpIGFyU2Vjb25kYXJ5QnV0dG9ucyQ6IGFueVtdO1xuICBASW5wdXQoKSBhckNoaWxkcmVuJDogYW55W107XG4gIEBJbnB1dCgpIHVwZGF0ZVRva2VuJDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBhY3Rpb25CdXR0b25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hpbGRyZW4gbWF5IGNvbnRhaW4gJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyB3ZSBuZWVkIHRvXG4gICAgLy8gIG5vcm1hbGl6ZSB0aGVtXG4gICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMuYXJDaGlsZHJlbiQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgLy8gQ2hpbGRyZW4gbWF5IGNvbnRhaW4gJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyB3ZSBuZWVkIHRvXG4gICAgLy8gIG5vcm1hbGl6ZSB0aGVtXG4gICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMuYXJDaGlsZHJlbiQpO1xuICB9XG5cbiAgb25BY3Rpb25CdXR0b25DbGljayhvRGF0YTogYW55KSB7XG4gICAgdGhpcy5hY3Rpb25CdXR0b25DbGljay5lbWl0KG9EYXRhKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXAkXCIgbmFtZT1cImZsb3dDb250YWluZXJcIiBjbGFzcz1cInBzZGstZmxvdy1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGFyQ2hpbGRyZW4kXCI+XG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwia2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpXCI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciAqbmdTd2l0Y2hDYXNlPVwiJ1ZpZXcnXCIgbmFtZT1cIlZpZXdcIiBbcHJvcHNdPVwieyBmb3JtR3JvdXAkLCBwQ29ubiQ6IGtpZC5nZXRQQ29ubmVjdCgpIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0Nhc2VDcmVhdGVTdGFnZSdcIlxuICAgICAgICBuYW1lPVwiQ2FzZUNyZWF0ZVN0YWdlXCJcbiAgICAgICAgW3Byb3BzXT1cInsgZm9ybUdyb3VwJCwgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSB9XCJcbiAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciAqbmdTd2l0Y2hDYXNlPVwiJ1JlZ2lvbidcIiBuYW1lPVwiUmVnaW9uXCIgW3Byb3BzXT1cInsgZm9ybUdyb3VwJCwgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0PkFzc2lnbm1lbnQgQ2FyZCB3YW50cyBjb21wb25lbnQgbm90IHlldCBhdmFpbGFibGU6IHt7IGtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdj5cbiAgPGJyIC8+XG4gIDxkaXYgY2xhc3M9XCJwc2RrLWNhc2Utdmlldy1kaXZpZGVyXCI+PC9kaXY+XG5cbiAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICBuYW1lPVwiQWN0aW9uQnV0dG9uc1wiXG4gICAgW3Byb3BzXT1cInsgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQgfVwiXG4gICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gID48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQVN4RyxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBZVksc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7S0FpQnJFO0lBZkMsUUFBUTtRQUNOLDREQUE0RDtRQUM1RCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVc7UUFDVCw0REFBNEQ7UUFDNUQsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F4QlUsdUJBQXVCO21HQUF2Qix1QkFBdUIseVZDYnBDLHdtQ0EwQkEsME1EZlksWUFBWSxnaEJBQUUsbUJBQW1CLHlnQkFBbUIsd0JBQXdCOzs0RkFFM0UsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7OEJBRy9FLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXNzaWdubWVudC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2lnbm1lbnQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2lnbm1lbnQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIEFzc2lnbm1lbnRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgZm9ybUdyb3VwJDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBhck1haW5CdXR0b25zJDogYW55W107XG4gIEBJbnB1dCgpIGFyU2Vjb25kYXJ5QnV0dG9ucyQ6IGFueVtdO1xuICBASW5wdXQoKSBhckNoaWxkcmVuJDogYW55W107XG4gIEBJbnB1dCgpIHVwZGF0ZVRva2VuJDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBhY3Rpb25CdXR0b25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hpbGRyZW4gbWF5IGNvbnRhaW4gJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyB3ZSBuZWVkIHRvXG4gICAgLy8gIG5vcm1hbGl6ZSB0aGVtXG4gICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMuYXJDaGlsZHJlbiQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgLy8gQ2hpbGRyZW4gbWF5IGNvbnRhaW4gJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyB3ZSBuZWVkIHRvXG4gICAgLy8gIG5vcm1hbGl6ZSB0aGVtXG4gICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMuYXJDaGlsZHJlbiQpO1xuICB9XG5cbiAgb25BY3Rpb25CdXR0b25DbGljayhvRGF0YTogYW55KSB7XG4gICAgdGhpcy5hY3Rpb25CdXR0b25DbGljay5lbWl0KG9EYXRhKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXAkXCIgbmFtZT1cImZsb3dDb250YWluZXJcIiBjbGFzcz1cInBzZGstZmxvdy1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGFyQ2hpbGRyZW4kXCI+XG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwia2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpXCI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciAqbmdTd2l0Y2hDYXNlPVwiJ1ZpZXcnXCIgbmFtZT1cIlZpZXdcIiBbcHJvcHNdPVwieyBmb3JtR3JvdXAkLCBwQ29ubiQ6IGtpZC5nZXRQQ29ubmVjdCgpIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0Nhc2VDcmVhdGVTdGFnZSdcIlxuICAgICAgICBuYW1lPVwiQ2FzZUNyZWF0ZVN0YWdlXCJcbiAgICAgICAgW3Byb3BzXT1cInsgZm9ybUdyb3VwJCwgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSB9XCJcbiAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciAqbmdTd2l0Y2hDYXNlPVwiJ1JlZ2lvbidcIiBuYW1lPVwiUmVnaW9uXCIgW3Byb3BzXT1cInsgZm9ybUdyb3VwJCwgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0PkFzc2lnbm1lbnQgQ2FyZCB3YW50cyBjb21wb25lbnQgbm90IHlldCBhdmFpbGFibGU6IHt7IGtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdj5cbiAgPGJyIC8+XG4gIDxkaXYgY2xhc3M9XCJwc2RrLWNhc2Utdmlldy1kaXZpZGVyXCI+PC9kaXY+XG5cbiAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICBuYW1lPVwiQWN0aW9uQnV0dG9uc1wiXG4gICAgW3Byb3BzXT1cInsgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQgfVwiXG4gICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gID48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbiJdfQ==
@@ -28,7 +28,6 @@ export class DashboardFilterComponent {
28
28
  }
29
29
  clearFilters() {
30
30
  this.filtersFormGroup$.reset();
31
- // @ts-ignore - second parameter “payload” for publish method should be optional
32
31
  PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL);
33
32
  }
34
33
  updateTmpData(filterData) {
@@ -62,10 +61,10 @@ export class DashboardFilterComponent {
62
61
  };
63
62
  PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);
64
63
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatFormFieldModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i2.MatFormField; }), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.MatLabel; }), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(function () { return i2.MatSuffix; }), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return ReactiveFormsModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i3.DefaultValueAccessor; }), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatDatepickerModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i4.MatDatepickerToggle; }), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(function () { return i4.MatDateRangeInput; }), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.MatStartDate; }), selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.MatEndDate; }), selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(function () { return i4.MatDateRangePicker; }), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatButtonModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i5.MatButton; }), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatNativeDateModule; }) }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i2.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i2.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i2.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i3.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i3.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i3.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangeInput), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatStartDate), selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatEndDate), selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangePicker), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
67
66
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardFilterComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardFilterComponent, decorators: [{
69
68
  type: Component,
70
69
  args: [{ selector: 'app-dashboard-filter', standalone: true, imports: [
71
70
  CommonModule,
@@ -76,7 +75,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
76
75
  MatNativeDateModule,
77
76
  forwardRef(() => ComponentMapperComponent)
78
77
  ], template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"] }]
79
- }], ctorParameters: function () { return []; }, propDecorators: { pConn$: [{
78
+ }], ctorParameters: () => [], propDecorators: { pConn$: [{
80
79
  type: Input
81
80
  }], filtersFormGroup$: [{
82
81
  type: Input
@@ -85,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
84
  }], children: [{
86
85
  type: Input
87
86
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGFzaGJvYXJkLWZpbHRlci9kYXNoYm9hcmQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kYXNoYm9hcmQtZmlsdGVyL2Rhc2hib2FyZC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENB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Y0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEgsQ0FBQzsrR0E3RFUsd0JBQXdCO21HQUF4Qix3QkFBd0Isd01DM0JyQyxxN0NBbUNBLHdSRGpCSSxZQUFZLHlmQUNaLGtCQUFrQix1a0JBQ2xCLG1CQUFtQiw2a0NBQ25CLG1CQUFtQiw0bENBQ25CLGVBQWUseVZBQ2YsbUJBQW1CLHNFQUNGLHdCQUF3Qjs7NEZBR2hDLHdCQUF3QjtrQkFmcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDM0M7MEVBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGdldEZpbHRlckV4cHJlc3Npb24sIGdldEZvcm1hdHRlZERhdGUsIGNyZWF0ZUZpbHRlciwgY29tYmluZUZpbHRlcnMgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy9maWx0ZXItdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGFzaGJvYXJkLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZpbHRlcnNGb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGlubGluZVByb3BzO1xuICBASW5wdXQoKSBjaGlsZHJlbjtcblxuICBhckNoaWxkcmVuJDogYW55W107XG4gIHByaXZhdGUgZmlsdGVyQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmZpbHRlckNoYW5nZVN1YmplY3QucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLmZpcmVGaWx0ZXJDaGFuZ2UodmFsKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJzRm9ybUdyb3VwJCAhPSBudWxsKSB7XG4gICAgICB0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmFkZENvbnRyb2woJ3N0YXJ0JywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICAgIHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQuYWRkQ29udHJvbCgnZW5kJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB9XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5maWx0ZXJzRm9ybUdyb3VwJC5yZXNldCgpO1xuICAgIC8vIEB0cy1pZ25vcmUgLSBzZWNvbmQgcGFyYW1ldGVyIOKAnHBheWxvYWTigJ0gZm9yIHB1Ymxpc2ggbWV0aG9kIHNob3VsZCBiZSBvcHRpb25hbFxuICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5FVkVOVF9EQVNIQk9BUkRfRklMVEVSX0NMRUFSX0FMTCk7XG4gIH1cblxuICB1cGRhdGVUbXBEYXRhKGZpbHRlckRhdGEpIHtcbiAgICB0aGlzLmZpbHRlckNoYW5nZVN1YmplY3QubmV4dChmaWx0ZXJEYXRhKTtcbiAgfVxuXG4gIGRhdGVSYW5nZUNoYW5nZUhhbmRsZXIoZmllbGQpIHtcbiAgICBjb25zdCB7IGZpbHRlcklkLCBuYW1lIH0gPSBmaWVsZDtcbiAgICBjb25zdCBzdGFydCA9ICh0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmdldCgnc3RhcnQnKSBhcyBGb3JtQ29udHJvbCkudmFsdWU7XG4gICAgY29uc3QgZW5kID0gKHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQuZ2V0KCdlbmQnKSBhcyBGb3JtQ29udHJvbCkudmFsdWU7XG4gICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgbGV0IHN0YXJ0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGUoc3RhcnQpO1xuICAgICAgbGV0IGVuZERhdGUgPSBnZXRGb3JtYXR0ZWREYXRlKGVuZCk7XG5cbiAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICBzdGFydERhdGUgPSBgJHtzdGFydERhdGV9VDAwOjAwOjAwYDtcbiAgICAgICAgZW5kRGF0ZSA9IGAke2VuZERhdGV9VDAwOjAwOjAwYDtcbiAgICAgICAgY29uc3Qgc3RhcnRGaWx0ZXIgPSBjcmVhdGVGaWx0ZXIoc3RhcnREYXRlLCBuYW1lLCAnR1QnKTtcbiAgICAgICAgY29uc3QgZW5kRmlsdGVyID0gY3JlYXRlRmlsdGVyKGVuZERhdGUsIG5hbWUsICdMVCcpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSB7XG4gICAgICAgICAgZmlsdGVySWQsXG4gICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbjogY29tYmluZUZpbHRlcnMoW3N0YXJ0RmlsdGVyLCBlbmRGaWx0ZXJdLCBudWxsKVxuICAgICAgICB9O1xuICAgICAgICBQQ29yZS5nZXRQdWJTdWJVdGlscygpLnB1Ymxpc2goUENvcmUuZ2V0Q29uc3RhbnRzKCkuUFVCX1NVQl9FVkVOVFMuRVZFTlRfREFTSEJPQVJEX0ZJTFRFUl9DSEFOR0UsIGZpbHRlckRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZpcmVGaWx0ZXJDaGFuZ2UoZGF0YTogYW55KSB7XG4gICAgY29uc3QgeyBldmVudCwgZmllbGQgfSA9IGRhdGE7XG4gICAgY29uc3QgZmlsdGVyRGF0YSA9IHtcbiAgICAgIGZpbHRlcklkOiBmaWVsZC5maWx0ZXJJZCxcbiAgICAgIGZpbHRlckV4cHJlc3Npb246IGdldEZpbHRlckV4cHJlc3Npb24oZXZlbnQudGFyZ2V0LnZhbHVlLCBmaWVsZC5uYW1lLCBmaWVsZC5tZXRhZGF0YSlcbiAgICB9O1xuXG4gICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0RBU0hCT0FSRF9GSUxURVJfQ0hBTkdFLCBmaWx0ZXJEYXRhKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3BzZGstYmxvY2stc3R5bGUnOiBpbmxpbmVQcm9wcy5maWx0ZXJQb3NpdGlvbiA9PT0gJ2Jsb2NrLXN0YXJ0J1xuICB9XCJcbj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGNoaWxkcmVuXCI+XG4gICAgPGRpdiAqbmdJZj1cImtpZC50eXBlID09PSAnRGF0ZVRpbWUnXCIgW2Zvcm1Hcm91cF09XCJmaWx0ZXJzRm9ybUdyb3VwJFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicHNkay1mdWxsLXdpZHRoXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sga2lkLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCI+XG4gICAgICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZSBwbGFjZWhvbGRlcj1cIlN0YXJ0IGRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiIC8+XG4gICAgICAgICAgPGlucHV0IG1hdEVuZERhdGUgcGxhY2Vob2xkZXI9XCJFbmQgZGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImVuZFwiIChkYXRlQ2hhbmdlKT1cImRhdGVSYW5nZUNoYW5nZUhhbmRsZXIoa2lkKVwiIC8+XG4gICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJraWQuYzExbkVudlwiPlxuICAgICAgPHNwYW4gKGlucHV0KT1cInVwZGF0ZVRtcERhdGEoeyBldmVudDogJGV2ZW50LCBmaWVsZDoga2lkIH0pXCI+XG4gICAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgICAgW25hbWVdPVwia2lkLmMxMW5FbnYuZ2V0UENvbm5lY3QoKS5nZXRDb21wb25lbnROYW1lKClcIlxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBwQ29ubiQ6IGtpZC5jMTFuRW52LmdldFBDb25uZWN0KCksXG4gICAgICAgICAgICBmb3JtR3JvdXAkOiBmaWx0ZXJzRm9ybUdyb3VwJFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIGVycm9yTXNnPVwiRGFzaGJvYXJkIGZpbHRlciB3YW50cyBjb21wb25lbnQgbm90IHlldCBhdmFpbGFibGU6IHt7IGtpZC5jMTFuRW52LmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpIH19XCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5DbGVhciBBbGw8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGFzaGJvYXJkLWZpbHRlci9kYXNoYm9hcmQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kYXNoYm9hcmQtZmlsdGVyL2Rhc2hib2FyZC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENB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QztRQUVGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoSCxDQUFDOytHQTVEVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix3TUMzQnJDLHE3Q0FtQ0EseVFEakJJLFlBQVksaWJBQ1osa0JBQWtCLCtmQUNsQixtQkFBbUIsaStCQUNuQixtQkFBbUIsazdCQUNuQixlQUFlLHFRQUNmLG1CQUFtQixvREFDRix3QkFBd0I7OzRGQUdoQyx3QkFBd0I7a0JBZnBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQzNDO3dEQUdRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRGaWx0ZXJFeHByZXNzaW9uLCBnZXRGb3JtYXR0ZWREYXRlLCBjcmVhdGVGaWx0ZXIsIGNvbWJpbmVGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvZmlsdGVyLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRhc2hib2FyZC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmaWx0ZXJzRm9ybUdyb3VwJDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBpbmxpbmVQcm9wcztcbiAgQElucHV0KCkgY2hpbGRyZW47XG5cbiAgYXJDaGlsZHJlbiQ6IGFueVtdO1xuICBwcml2YXRlIGZpbHRlckNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VTdWJqZWN0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5maXJlRmlsdGVyQ2hhbmdlKHZhbCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5maWx0ZXJzRm9ybUdyb3VwJC5hZGRDb250cm9sKCdzdGFydCcsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgICB0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmFkZENvbnRyb2woJ2VuZCcsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQucmVzZXQoKTtcbiAgICBQQ29yZS5nZXRQdWJTdWJVdGlscygpLnB1Ymxpc2goUENvcmUuZ2V0Q29uc3RhbnRzKCkuUFVCX1NVQl9FVkVOVFMuRVZFTlRfREFTSEJPQVJEX0ZJTFRFUl9DTEVBUl9BTEwpO1xuICB9XG5cbiAgdXBkYXRlVG1wRGF0YShmaWx0ZXJEYXRhKSB7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VTdWJqZWN0Lm5leHQoZmlsdGVyRGF0YSk7XG4gIH1cblxuICBkYXRlUmFuZ2VDaGFuZ2VIYW5kbGVyKGZpZWxkKSB7XG4gICAgY29uc3QgeyBmaWx0ZXJJZCwgbmFtZSB9ID0gZmllbGQ7XG4gICAgY29uc3Qgc3RhcnQgPSAodGhpcy5maWx0ZXJzRm9ybUdyb3VwJC5nZXQoJ3N0YXJ0JykgYXMgRm9ybUNvbnRyb2wpLnZhbHVlO1xuICAgIGNvbnN0IGVuZCA9ICh0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmdldCgnZW5kJykgYXMgRm9ybUNvbnRyb2wpLnZhbHVlO1xuICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgIGxldCBzdGFydERhdGUgPSBnZXRGb3JtYXR0ZWREYXRlKHN0YXJ0KTtcbiAgICAgIGxldCBlbmREYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZShlbmQpO1xuXG4gICAgICBpZiAoc3RhcnREYXRlICYmIGVuZERhdGUpIHtcbiAgICAgICAgc3RhcnREYXRlID0gYCR7c3RhcnREYXRlfVQwMDowMDowMGA7XG4gICAgICAgIGVuZERhdGUgPSBgJHtlbmREYXRlfVQwMDowMDowMGA7XG4gICAgICAgIGNvbnN0IHN0YXJ0RmlsdGVyID0gY3JlYXRlRmlsdGVyKHN0YXJ0RGF0ZSwgbmFtZSwgJ0dUJyk7XG4gICAgICAgIGNvbnN0IGVuZEZpbHRlciA9IGNyZWF0ZUZpbHRlcihlbmREYXRlLCBuYW1lLCAnTFQnKTtcblxuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0ge1xuICAgICAgICAgIGZpbHRlcklkLFxuICAgICAgICAgIGZpbHRlckV4cHJlc3Npb246IGNvbWJpbmVGaWx0ZXJzKFtzdGFydEZpbHRlciwgZW5kRmlsdGVyXSwgbnVsbClcbiAgICAgICAgfTtcbiAgICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0RBU0hCT0FSRF9GSUxURVJfQ0hBTkdFLCBmaWx0ZXJEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaXJlRmlsdGVyQ2hhbmdlKGRhdGE6IGFueSkge1xuICAgIGNvbnN0IHsgZXZlbnQsIGZpZWxkIH0gPSBkYXRhO1xuICAgIGNvbnN0IGZpbHRlckRhdGEgPSB7XG4gICAgICBmaWx0ZXJJZDogZmllbGQuZmlsdGVySWQsXG4gICAgICBmaWx0ZXJFeHByZXNzaW9uOiBnZXRGaWx0ZXJFeHByZXNzaW9uKGV2ZW50LnRhcmdldC52YWx1ZSwgZmllbGQubmFtZSwgZmllbGQubWV0YWRhdGEpXG4gICAgfTtcblxuICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5FVkVOVF9EQVNIQk9BUkRfRklMVEVSX0NIQU5HRSwgZmlsdGVyRGF0YSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwie1xuICAgICdwc2RrLWJsb2NrLXN0eWxlJzogaW5saW5lUHJvcHMuZmlsdGVyUG9zaXRpb24gPT09ICdibG9jay1zdGFydCdcbiAgfVwiXG4+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGtpZCBvZiBjaGlsZHJlblwiPlxuICAgIDxkaXYgKm5nSWY9XCJraWQudHlwZSA9PT0gJ0RhdGVUaW1lJ1wiIFtmb3JtR3JvdXBdPVwiZmlsdGVyc0Zvcm1Hcm91cCRcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInBzZGstZnVsbC13aWR0aFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGtpZC5sYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiPlxuICAgICAgICAgIDxpbnB1dCBtYXRTdGFydERhdGUgcGxhY2Vob2xkZXI9XCJTdGFydCBkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIiAvPlxuICAgICAgICAgIDxpbnB1dCBtYXRFbmREYXRlIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIiAoZGF0ZUNoYW5nZSk9XCJkYXRlUmFuZ2VDaGFuZ2VIYW5kbGVyKGtpZClcIiAvPlxuICAgICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwia2lkLmMxMW5FbnZcIj5cbiAgICAgIDxzcGFuIChpbnB1dCk9XCJ1cGRhdGVUbXBEYXRhKHsgZXZlbnQ6ICRldmVudCwgZmllbGQ6IGtpZCB9KVwiPlxuICAgICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAgIFtuYW1lXT1cImtpZC5jMTFuRW52LmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpXCJcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgcENvbm4kOiBraWQuYzExbkVudi5nZXRQQ29ubmVjdCgpLFxuICAgICAgICAgICAgZm9ybUdyb3VwJDogZmlsdGVyc0Zvcm1Hcm91cCRcbiAgICAgICAgICB9XCJcbiAgICAgICAgICBlcnJvck1zZz1cIkRhc2hib2FyZCBmaWx0ZXIgd2FudHMgY29tcG9uZW50IG5vdCB5ZXQgYXZhaWxhYmxlOiB7eyBraWQuYzExbkVudi5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSB9fVwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCI+Q2xlYXIgQWxsPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=