@fundamental-ngx/platform 0.46.0-rc.2 → 0.46.0-rc.21

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 (207) hide show
  1. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +1 -1
  2. package/esm2022/approval-flow/approval-flow.component.mjs +3 -3
  3. package/esm2022/form/auto-complete/auto-complete.directive.mjs +4 -3
  4. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -6
  5. package/esm2022/form/checkbox/checkbox.module.mjs +5 -8
  6. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +5 -7
  7. package/esm2022/form/combobox/combobox/combobox.component.mjs +36 -14
  8. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +19 -4
  9. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -9
  10. package/esm2022/form/combobox/combobox.module.mjs +5 -51
  11. package/esm2022/form/combobox/commons/base-combobox.mjs +9 -1
  12. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +3 -3
  13. package/esm2022/form/form-group/fdp-form.module.mjs +10 -42
  14. package/esm2022/form/form-group/form-field/form-field.component.mjs +47 -12
  15. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +4 -3
  16. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +4 -3
  17. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +4 -3
  18. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  19. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +3 -3
  20. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +8 -6
  21. package/esm2022/form/form-group/form-group.component.mjs +25 -10
  22. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +6 -3
  23. package/esm2022/form/input/fdp-input.module.mjs +5 -11
  24. package/esm2022/form/input/input.component.mjs +5 -4
  25. package/esm2022/form/input-group/addon-body.component.mjs +6 -4
  26. package/esm2022/form/input-group/addon.component.mjs +4 -4
  27. package/esm2022/form/input-group/input-group.component.mjs +9 -10
  28. package/esm2022/form/input-group/input-group.module.mjs +5 -29
  29. package/esm2022/form/input-group/input.component.mjs +4 -3
  30. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +5 -5
  31. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +9 -1
  32. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +44 -19
  33. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +24 -5
  34. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -10
  35. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +5 -65
  36. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +11 -7
  37. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -9
  38. package/esm2022/form/multi-input/multi-input.component.mjs +39 -20
  39. package/esm2022/form/multi-input/multi-input.module.mjs +5 -51
  40. package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +6 -5
  41. package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +5 -11
  42. package/esm2022/form/radio-group/radio/radio.component.mjs +10 -9
  43. package/esm2022/form/radio-group/radio-group.component.mjs +6 -6
  44. package/esm2022/form/radio-group/radio-group.module.mjs +5 -32
  45. package/esm2022/form/select/option/option.component.mjs +6 -3
  46. package/esm2022/form/select/select/select.component.mjs +20 -11
  47. package/esm2022/form/select/select.module.mjs +5 -54
  48. package/esm2022/form/step-input/number/number-step-input.component.mjs +25 -14
  49. package/esm2022/form/step-input/step-input-control.directive.mjs +4 -3
  50. package/esm2022/form/step-input/step-input-decrement.directive.mjs +4 -3
  51. package/esm2022/form/step-input/step-input-increment.directive.mjs +4 -3
  52. package/esm2022/form/step-input/step-input.module.mjs +13 -35
  53. package/esm2022/form/switch/switch/switch.component.mjs +4 -3
  54. package/esm2022/form/switch/switch.module.mjs +5 -11
  55. package/esm2022/form/text-area/text-area.component.mjs +12 -11
  56. package/esm2022/form/text-area/text-area.module.mjs +5 -32
  57. package/esm2022/form/time-picker/time-picker.component.mjs +5 -5
  58. package/esm2022/form/time-picker/time-picker.module.mjs +5 -11
  59. package/esm2022/list/list.component.mjs +3 -3
  60. package/esm2022/search-field/search-field.component.mjs +3 -3
  61. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +18 -9
  62. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +8 -5
  63. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +18 -10
  64. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +22 -10
  65. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +5 -6
  66. package/esm2022/settings-generator/settings-generator.component.mjs +3 -3
  67. package/esm2022/settings-generator/settings-generator.module.mjs +12 -54
  68. package/esm2022/shared/form/base.input.mjs +43 -13
  69. package/esm2022/shared/form/form-field.mjs +1 -1
  70. package/esm2022/slider/slider.component.mjs +4 -4
  71. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +3 -3
  72. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +3 -3
  73. package/esm2022/split-menu-button/split-menu-button.component.mjs +3 -3
  74. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +3 -3
  75. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +1 -1
  76. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +1 -1
  77. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +2 -2
  78. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +11 -11
  79. package/esm2022/table/components/table-row/table-row.component.mjs +3 -3
  80. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +5 -5
  81. package/esm2022/table/components/table-toolbar/table-toolbar.mjs +1 -1
  82. package/esm2022/table/table.component.mjs +14 -5
  83. package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +3 -3
  84. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +1 -1
  85. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +3 -3
  86. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
  87. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +41 -18
  88. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +20 -8
  89. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +10 -8
  90. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +5 -5
  91. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +12 -9
  92. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +5 -5
  93. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +4 -3
  94. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +4 -3
  95. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +4 -3
  96. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +4 -3
  97. package/esm2022/wizard-generator/wizard-generator.module.mjs +13 -56
  98. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +3 -3
  99. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  100. package/fesm2022/fundamental-ngx-platform-form.mjs +541 -635
  101. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-platform-list.mjs +2 -2
  103. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  104. package/fesm2022/fundamental-ngx-platform-search-field.mjs +2 -2
  105. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  106. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +69 -80
  107. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  108. package/fesm2022/fundamental-ngx-platform-shared.mjs +42 -12
  109. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +4 -4
  112. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +2 -2
  114. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-platform-table.mjs +423 -414
  116. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +2 -2
  118. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  119. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +3 -3
  120. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +1 -1
  122. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +226 -228
  124. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  125. package/form/auto-complete/auto-complete.directive.d.ts +1 -1
  126. package/form/auto-complete/auto-complete.module.d.ts +1 -2
  127. package/form/checkbox/checkbox.module.d.ts +2 -5
  128. package/form/checkbox-group/checkbox-group.module.d.ts +2 -4
  129. package/form/combobox/combobox/combobox.component.d.ts +1 -1
  130. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +1 -1
  131. package/form/combobox/combobox-mobile/combobox-mobile.module.d.ts +1 -5
  132. package/form/combobox/combobox.module.d.ts +1 -12
  133. package/form/combobox/commons/base-combobox.d.ts +2 -0
  134. package/form/form-group/fdp-form.module.d.ts +1 -9
  135. package/form/form-group/form-field/form-field.component.d.ts +12 -3
  136. package/form/form-group/form-field-error/form-field-error-description.directive.d.ts +1 -1
  137. package/form/form-group/form-field-error/form-field-error-heading.directive.d.ts +1 -1
  138. package/form/form-group/form-field-error/form-field-error.directive.d.ts +1 -1
  139. package/form/form-group/form-field-extras/form-field-extras.component.d.ts +1 -1
  140. package/form/form-group/form-field-group/form-field-group.component.d.ts +1 -1
  141. package/form/form-group/form-group-header/form-group-header.component.d.ts +1 -1
  142. package/form/form-group/form-group.component.d.ts +1 -1
  143. package/form/form-group/pipes/field-group-row-value.pipe.d.ts +1 -1
  144. package/form/input/fdp-input.module.d.ts +1 -6
  145. package/form/input/input.component.d.ts +1 -1
  146. package/form/input-group/addon-body.component.d.ts +1 -1
  147. package/form/input-group/addon.component.d.ts +1 -1
  148. package/form/input-group/input-group.component.d.ts +1 -1
  149. package/form/input-group/input-group.module.d.ts +1 -5
  150. package/form/input-group/input.component.d.ts +1 -1
  151. package/form/input-message-group-with-template/input-message-group-with-template.component.d.ts +1 -1
  152. package/form/multi-combobox/commons/base-multi-combobox.d.ts +2 -0
  153. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +1 -1
  154. package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +1 -1
  155. package/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.d.ts +1 -6
  156. package/form/multi-combobox/multi-combobox.module.d.ts +1 -15
  157. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +1 -1
  158. package/form/multi-input/multi-input-mobile/multi-input-mobile.module.d.ts +1 -5
  159. package/form/multi-input/multi-input.component.d.ts +1 -1
  160. package/form/multi-input/multi-input.module.d.ts +1 -11
  161. package/form/platform-file-uploader/platform-file-uploader.component.d.ts +1 -1
  162. package/form/platform-file-uploader/platform-file-uploader.module.d.ts +1 -6
  163. package/form/radio-group/radio/radio.component.d.ts +1 -1
  164. package/form/radio-group/radio-group.component.d.ts +1 -1
  165. package/form/radio-group/radio-group.module.d.ts +1 -7
  166. package/form/select/option/option.component.d.ts +1 -1
  167. package/form/select/select/select.component.d.ts +3 -1
  168. package/form/select/select.module.d.ts +1 -12
  169. package/form/step-input/number/number-step-input.component.d.ts +1 -1
  170. package/form/step-input/step-input-control.directive.d.ts +1 -1
  171. package/form/step-input/step-input-decrement.directive.d.ts +1 -1
  172. package/form/step-input/step-input-increment.directive.d.ts +1 -1
  173. package/form/step-input/step-input.module.d.ts +1 -7
  174. package/form/switch/switch/switch.component.d.ts +1 -1
  175. package/form/switch/switch.module.d.ts +1 -6
  176. package/form/text-area/text-area.component.d.ts +1 -1
  177. package/form/text-area/text-area.module.d.ts +1 -7
  178. package/form/time-picker/time-picker.component.d.ts +1 -1
  179. package/form/time-picker/time-picker.module.d.ts +1 -6
  180. package/fundamental-ngx-platform-v0.46.0-rc.21.tgz +0 -0
  181. package/package.json +4 -4
  182. package/schematics/ng-add/index.js +1 -1
  183. package/settings-generator/controls/theme-selector-list/theme-selector-list.component.d.ts +2 -2
  184. package/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.d.ts +1 -1
  185. package/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.d.ts +1 -1
  186. package/settings-generator/settings-generator-content/settings-generator-content.component.d.ts +1 -1
  187. package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +1 -1
  188. package/settings-generator/settings-generator.component.d.ts +1 -1
  189. package/settings-generator/settings-generator.module.d.ts +9 -20
  190. package/shared/form/base.input.d.ts +42 -27
  191. package/shared/form/form-field.d.ts +22 -7
  192. package/table/components/table-p13-dialog/table-p13-dialog.component.d.ts +7 -7
  193. package/table/components/table-toolbar/table-toolbar.component.d.ts +3 -3
  194. package/table/components/table-toolbar/table-toolbar.d.ts +4 -1
  195. package/table/table.component.d.ts +9 -3
  196. package/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.d.ts +5 -4
  197. package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +1 -1
  198. package/wizard-generator/components/wizard-generator/wizard-generator.component.d.ts +1 -1
  199. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
  200. package/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.d.ts +1 -1
  201. package/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.d.ts +1 -1
  202. package/wizard-generator/directives/wizard-generator-finish-button.directive.d.ts +1 -1
  203. package/wizard-generator/directives/wizard-generator-go-next-button.directive.d.ts +1 -1
  204. package/wizard-generator/directives/wizard-generator-review-button.directive.d.ts +1 -1
  205. package/wizard-generator/directives/wizard-generator-summary-step.directive.d.ts +1 -1
  206. package/wizard-generator/wizard-generator.module.d.ts +12 -24
  207. package/fundamental-ngx-platform-v0.46.0-rc.2.tgz +0 -0
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef, Directive, ElementRef, Host, inject, Inject, InjectionToken, Input, isDevMode, Optional, Self, SkipSelf, ViewChild } from '@angular/core';
2
2
  import { ControlContainer, NgControl, NgForm } from '@angular/forms';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { Subject, takeUntil } from 'rxjs';
4
+ import { filter, Subject, takeUntil } from 'rxjs';
5
5
  import { BaseComponent } from '../base';
6
6
  import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL, isValidControlState } from '@fundamental-ngx/cdk/forms';
7
7
  import { PlatformFormField, PlatformFormFieldControl } from './form-field';
@@ -86,20 +86,26 @@ export class BaseInput extends BaseComponent {
86
86
  this.ngControl = ngControl;
87
87
  this.controlContainer = controlContainer;
88
88
  this.ngForm = ngForm;
89
- /** @hidden */
90
- this.defaultId = `fdp-input-id-${randomId++}`;
91
- /** @hidden */
92
- this._editable = true;
93
- /** @hidden */
94
- this._destroyed = new Subject();
95
89
  /**
96
- * See @FormFieldControl
90
+ * To allow user to determine what event he wants to trigger the messages to show
91
+ * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).
97
92
  */
98
- this.focused = false;
93
+ this.triggers = [
94
+ {
95
+ trigger: 'focusin',
96
+ openAction: true,
97
+ closeAction: false
98
+ },
99
+ {
100
+ trigger: 'focusout',
101
+ openAction: false,
102
+ closeAction: true
103
+ }
104
+ ];
99
105
  /**
100
- * @hidden
106
+ * See @FormFieldControl
101
107
  */
102
- this._controlInvalid = false;
108
+ this.focused = false;
103
109
  /**
104
110
  * See @FormFieldControl
105
111
  */
@@ -109,6 +115,16 @@ export class BaseInput extends BaseComponent {
109
115
  /** @hidden */
110
116
  this._doCheck$ = inject(FDP_DO_CHECK, { optional: true });
111
117
  /** @hidden */
118
+ this.defaultId = `fdp-input-id-${randomId++}`;
119
+ /** @hidden */
120
+ this._editable = true;
121
+ /** @hidden */
122
+ this._destroyed = new Subject();
123
+ /**
124
+ * @hidden
125
+ */
126
+ this._controlInvalid = false;
127
+ /** @hidden */
112
128
  this.onChange = () => { };
113
129
  /** @hidden */
114
130
  this.onTouched = () => { };
@@ -152,6 +168,16 @@ export class BaseInput extends BaseComponent {
152
168
  else {
153
169
  this.ariaLabelledBy += ' ' + labelAndHelpId;
154
170
  }
171
+ this.innerErrorsTemplate = this.formField?.innerErrorRenderers;
172
+ this.stateChanges
173
+ .pipe(filter(() => !!this.formField), takeUntil(this._destroyed))
174
+ .subscribe(() => {
175
+ this.advancedStateMessage = {
176
+ template: this.formField.innerErrorRenderers,
177
+ hasErrors: this.formField.hasErrors()
178
+ };
179
+ this._cd.detectChanges();
180
+ });
155
181
  this._cd.detectChanges();
156
182
  }
157
183
  /** @hidden */
@@ -261,7 +287,7 @@ export class BaseInput extends BaseComponent {
261
287
  return this._value;
262
288
  }
263
289
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: BaseInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.ControlContainer, optional: true, skipSelf: true }, { token: i1.NgForm, optional: true, skipSelf: true }, { token: FD_FORM_FIELD, host: true, optional: true, skipSelf: true }, { token: FD_FORM_FIELD_CONTROL, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
264
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: BaseInput, inputs: { placeholder: "placeholder", state: "state", stateMessage: "stateMessage", disabled: "disabled", readonly: "readonly", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", editable: "editable" }, viewQueries: [{ propertyName: "_elementRef", first: true, predicate: ["inputElementRef"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0 }); }
290
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: BaseInput, inputs: { placeholder: "placeholder", triggers: "triggers", state: "state", stateMessage: "stateMessage", stateMessageConfig: "stateMessageConfig", disabled: "disabled", readonly: "readonly", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", editable: "editable" }, viewQueries: [{ propertyName: "_elementRef", first: true, predicate: ["inputElementRef"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0 }); }
265
291
  }
266
292
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: BaseInput, decorators: [{
267
293
  type: Directive
@@ -297,10 +323,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
297
323
  args: [FD_FORM_FIELD_CONTROL]
298
324
  }] }]; }, propDecorators: { placeholder: [{
299
325
  type: Input
326
+ }], triggers: [{
327
+ type: Input
300
328
  }], state: [{
301
329
  type: Input
302
330
  }], stateMessage: [{
303
331
  type: Input
332
+ }], stateMessageConfig: [{
333
+ type: Input
304
334
  }], disabled: [{
305
335
  type: Input
306
336
  }], readonly: [{
@@ -315,4 +345,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
315
345
  type: ViewChild,
316
346
  args: ['inputElementRef', { static: true, read: ElementRef }]
317
347
  }] } });
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zaGFyZWQvZm9ybS9iYXNlLmlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLFNBQVMsRUFHVCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFxQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEcsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBYyxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUUzRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQW1CLHdCQUF3QixDQUFDLENBQUM7QUFFM0YsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7Ozs7Ozs7O0dBVUc7QUFFSCxNQUFNLE9BQWdCLFNBQ2xCLFNBQVEsYUFBYTtJQWtCckI7Ozs7O09BS0c7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUE2QjtRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixLQUFLLDZDQUE2QyxDQUFDLENBQUM7U0FDdkY7SUFDTCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxPQUFPLENBQUM7SUFDekQsQ0FBQztJQWFELG9DQUFvQztJQUNwQyxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUNwRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFnQkQ7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFtQjtRQUM1QixNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFvQkQsaUNBQWlDO0lBQ2pDLElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBdUJELGNBQWM7SUFDZCxZQUNJLEVBQXFCLEVBQ1osVUFBc0IsRUFDRixTQUFvQixFQUNoQixnQkFBa0MsRUFDbEMsTUFBYyxFQUNRLFNBQTRCLEVBQ3BCLFdBQXFDO1FBRXBHOzs7OztXQUtHO1FBQ0gsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBYkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNGLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEpuRCxjQUFjO1FBQ0osY0FBUyxHQUFHLGdCQUFnQixRQUFRLEVBQUUsRUFBRSxDQUFDO1FBS25ELGNBQWM7UUFDSixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGNBQWM7UUFDSixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQStGM0M7O1dBRUc7UUFDSCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBZ0JoQjs7V0FFRztRQUNLLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2hDOztXQUVHO1FBQ00saUJBQVksR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUV6RCxjQUFjO1FBQ0wsY0FBUyxHQUE2QixJQUFJLENBQUM7UUFFcEQsY0FBYztRQUNMLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFnQzlELGNBQWM7UUFDZCxhQUFRLEdBQXlCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUUxQyxjQUFjO1FBQ2QsY0FBUyxHQUFHLEdBQVMsRUFBRSxHQUFFLENBQUMsQ0FBQztRQWhCdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUN2QztRQUVELGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFOUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQVFELGNBQWM7SUFDZCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDekMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUNMLENBQUM7U0FDTDtRQUVELE1BQU0sY0FBYyxHQUFHLDBCQUEwQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0Qsd0VBQXdFO1FBQ3hFLDJDQUEyQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztTQUN4QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGNBQWMsSUFBSSxHQUFHLEdBQUcsY0FBYyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztJQUNkLGdCQUFnQixDQUFDLEVBQW9CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjO0lBQ2QsaUJBQWlCLENBQUMsRUFBYztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGdCQUFnQixDQUFDLFVBQXdCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQzlDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZSxDQUFDLFNBQWtCO1FBQzlCLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxLQUFpQjtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBSyxDQUFDLEtBQWtCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGdCQUFnQjtRQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQ3ZCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE1BQU0sRUFBRSxTQUFTLElBQUssc0JBQThCLEVBQUUsU0FBUyxDQUFDLENBQ3hHLENBQUM7UUFFRixJQUFJLGdCQUFnQixLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDTyxRQUFRLENBQUMsS0FBVSxFQUFFLFlBQVksR0FBRyxJQUFJO1FBQzlDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixJQUFJLFlBQVksRUFBRTtnQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ0osUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDOzhHQS9VaUIsU0FBUyx3UEFxSmlCLGFBQWEseURBQ2IscUJBQXFCO2tHQXRKL0MsU0FBUyx1VUE0SHlCLFVBQVU7OzJGQTVINUMsU0FBUztrQkFEOUIsU0FBUzs7MEJBbUpELFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BELFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCOzRDQXJJakUsV0FBVztzQkFEVixLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSztnQkFzQk4sWUFBWTtzQkFEWCxLQUFLO2dCQVlGLFFBQVE7c0JBRFgsS0FBSztnQkFlTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFPRixRQUFRO3NCQURYLEtBQUs7Z0JBd0NJLFdBQVc7c0JBRHBCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0LFxuICAgIGluamVjdCxcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgaXNEZXZNb2RlLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBTa2lwU2VsZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UnO1xuaW1wb3J0IHsgRkRfRk9STV9GSUVMRCwgRkRfRk9STV9GSUVMRF9DT05UUk9MLCBGb3JtU3RhdGVzLCBpc1ZhbGlkQ29udHJvbFN0YXRlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuaW1wb3J0IHsgUGxhdGZvcm1Gb3JtRmllbGQsIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4vZm9ybS1maWVsZCc7XG5cbmV4cG9ydCBjb25zdCBGRFBfRE9fQ0hFQ0sgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTx2b2lkPj4oJ0ZkcElucHV0RG9DaGVja1RyaWdnZXInKTtcblxubGV0IHJhbmRvbUlkID0gMDtcblxuLyoqXG4gKiBBbGwgZm9ybSBjb21wb25lbnRzIHNoYXJlIHRoZSBzYW1lIGluZm9ybWF0aW9uICh2YWx1ZSwgbmFtZSwgcGxhY2Vob2xkZXIsLi4gKSBhcyB3ZWxsIGFzXG4gKiB0aGUgc2FtZSBiZWhhdmlvciBnaXZlbiBieSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAqXG4gKiBFdmVuIHRoaXMgaXMgbm90IGlkZWFsIHNvbHV0aW9uIHRoZXJlIGlzIG5vIG90aGVyIHdheSB0aGVuIHVzZSBpbmhlcml0YW5jZSB0byByZXVzZSBzb21lIG9mIHRoZVxuICogY29tbW9uIGxvZ2ljLiBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gdXNlIHNvbWUga2luZCBvZiBjb21wb3NpdGlvbnMgd2l0aCBQcm94aWVzIGJ1dCBzb21ldGhpbmdcbiAqIHNpbWlsYXIgdGhhdCBleGlzdHMgaW4gQXNwZWN0IE9yaWVudGVkIFByb2dyYW1pbmcuXG4gKlxuICogVXN1YWxseSB0cnkgdG8gZmlyZSBzdGF0ZUNoYW5nZSBvbmx5IGZvciB0aGluZ3MgdGhhdCBjYW4gY2hhbmdlIGR5bmFtaWNhbGx5IGluIHJ1bnRpbWUuIFdlIGRvbid0IGV4cGVjdFxuICogdGhhdCBlLmcuIHBsYWNlaG9sZGVyIHdpbGwgY2hhbmdlIGFmdGVyIGNvbXBvbmVudCBpcyBjcmVhdGVkXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VJbnB1dFxuICAgIGV4dGVuZHMgQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBEb0NoZWNrLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBkZWZhdWx0SWQgPSBgZmRwLWlucHV0LWlkLSR7cmFuZG9tSWQrK31gO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9kaXNhYmxlZDogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfdmFsdWU6IGFueTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfZWRpdGFibGUgPSB0cnVlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIElucHV0IHBsYWNlaG9sZGVyICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogIFRoZSBzdGF0ZSBvZiB0aGUgZm9ybSBjb250cm9sIC0gYXBwbGllcyBjc3MgY2xhc3Nlcy5cbiAgICAgKiAgQ2FuIGJlICdzdWNjZXNzJywgJ2Vycm9yJywgJ3dhcm5pbmcnLCAnZGVmYXVsdCcsICdpbmZvcm1hdGlvbicuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnZGVmYXVsdCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzdGF0ZShzdGF0ZTogRm9ybVN0YXRlcyB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoIXN0YXRlIHx8IGlzVmFsaWRDb250cm9sU3RhdGUoc3RhdGUpKSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFByb3ZpZGVkIHZhbHVlIFwiJHtzdGF0ZX1cIiBpcyBub3QgYSB2YWxpZCBvcHRpb24gZm9yIEZvcm1TdGF0ZXMgdHlwZWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBzdGF0ZSgpOiBGb3JtU3RhdGVzIHtcbiAgICAgICAgaWYgKHRoaXMuX3N0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuY29udHJvbEludmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybiAnZGVmYXVsdCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRmllbGQ/LmdldFByaW9yaXR5U3RhdGUoKSB8fCAnZXJyb3InO1xuICAgIH1cblxuICAgIC8qKiBIb2xkcyB0aGUgbWVzc2FnZSB3aXRoIHJlc3BlY3QgdG8gc3RhdGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXRlTWVzc2FnZTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIGZvcm0gY29udHJvbCAtIGFwcGxpZXMgY3NzIGNsYXNzZXMuXG4gICAgICogQ2FuIGJlIGBzdWNjZXNzYCwgYGVycm9yYCwgYHdhcm5pbmdgLCBgaW5mb3JtYXRpb25gIG9yICdkZWZhdWx0J1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBfc3RhdGU6IEZvcm1TdGF0ZXMgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLmRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZWFkT25seSBWYWx1ZSB0byBNYXJrIGNvbXBvbmVudCByZWFkIG9ubHlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gICAgLyoqIEJpbmRzIHRvIGNvbnRyb2wgYXJpYS1sYWJlbGxlZEJ5IGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsbGVkQnk6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogU2V0cyBjb250cm9sIGFyaWEtbGFiZWwgYXR0cmlidXRlIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBUZWxsIHRoZSBjb21wb25lbnQgaWYgd2UgYXJlIGluIGVkaXRpbmcgbW9kZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBlZGl0YWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLl9lZGl0YWJsZSAhPT0gbmV3VmFsKSB7XG4gICAgICAgICAgICB0aGlzLl9lZGl0YWJsZSA9IG5ld1ZhbDtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgnZWRpdGFibGUnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBuZWVkIHRvIG1ha2UgIHRoZXNlIHZhbHVlIGFjY2Vzc29yIGFzIGFic3RyYWN0IHRvIGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuIEhhdmluZyB0aGVtXG4gICAgICogaW4gc3VwZXJjbGFzcyBoYXZlIGlzc3VlIGdldHRpbmcgcmVmZXJlbmNlIHRvIHRoZW0gd2l0aCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9uXG4gICAgICogd2hpY2ggd2UgbmVlZCB0byBwcm9ncmFtbWF0aWNhbGx5IHdyYXBzIGNvbXBvbmVudHMgc2V0L2dldCB2YWx1ZVxuICAgICAqXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0IHZhbHVlKCk6IGFueTtcblxuICAgIGFic3RyYWN0IHNldCB2YWx1ZSh2YWx1ZTogYW55KTtcblxuICAgIC8qKlxuICAgICAqIFNlZSBARm9ybUZpZWxkQ29udHJvbFxuICAgICAqL1xuICAgIGZvY3VzZWQgPSBmYWxzZTtcblxuICAgIC8qKiBzZXQgd2hlbiBpbnB1dCBmaWVsZCBpcyBtYW5kYXRvcnkgZm9ybSBmaWVsZCAqL1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgY29udHJvbCBoYXMgZXJyb3JzICovXG4gICAgZ2V0IGNvbnRyb2xJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udHJvbEludmFsaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIGludGVybmFsIElucHV0IGVsZW1lbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnRSZWYnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb250cm9sSW52YWxpZCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFNlZSBARm9ybUZpZWxkQ29udHJvbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBmb3JtRmllbGQ6IFBsYXRmb3JtRm9ybUZpZWxkIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9kb0NoZWNrJCA9IGluamVjdChGRFBfRE9fQ0hFQ0ssIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSByZWFkb25seSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSByZWFkb25seSBuZ0Zvcm06IE5nRm9ybSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTEQpIGZvcm1GaWVsZDogUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBIb3N0KCkgQEluamVjdChGRF9GT1JNX0ZJRUxEX0NPTlRST0wpIGZvcm1Db250cm9sOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xcbiAgICApIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdlIGRvIG5vdCB1c2UgSW5qZWN0b3IuZ2V0KCkgYXBwcm9hY2ggaGVyZSBiZWNhdXNlIHRoZXJlIGlzIGEgYnVnXG4gICAgICAgICAqIHdpdGggdGhpcyBzaWduYXR1cmUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzE3NzZcbiAgICAgICAgICogd2hlcmUgXCJnZXQoKVwiIG1ldGhvZCBkb2Vzbid0IHRha2UgaW50byBhY2NvdW50IFwiZmxhZ1wiIG9wdGlvblwiXG4gICAgICAgICAqXG4gICAgICAgICAqL1xuICAgICAgICBzdXBlcihjZCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIGhhdmUgdG8gaWdub3JlIFwiZm9ybUZpZWxkXCIgaWYgdGhlcmUgaXMgXCJmb3JtQ29udHJvbFwiIHdyYXBwZXJcbiAgICAgICAgdGhpcy5mb3JtRmllbGQgPSBmb3JtRmllbGQgJiYgIWZvcm1Db250cm9sID8gZm9ybUZpZWxkIDogbnVsbDtcblxuICAgICAgICB0aGlzLl9kb0NoZWNrJD8ucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdEb0NoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybUZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1GaWVsZC5yZWdpc3RlckZvcm1GaWVsZENvbnRyb2wodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZS12YWxpZGF0ZSBhbmQgZW1pdCBldmVudCB0byBwYXJlbnQgY29udGFpbmVyIG9uIGV2ZXJ5IENEIGN5Y2xlIGFzIHRoZXkgYXJlIHNvbWUgZXJyb3JzXG4gICAgICogdGhhdCB3ZSBjYW4ndCBzdWJzY3JpYmUgdG8uXG4gICAgICovXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcz8uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhYmVsQW5kSGVscElkID0gYGZkcC1mb3JtLWxhYmVsLWNvbnRlbnQtJHt0aGlzLmlkfWA7XG4gICAgICAgIC8vIGlmIG5vdCBzcGVjaWZpZWQsIGFzc29jaWF0ZSBsYWJlbCBhbmQgaW5saW5lIGhlbHAgaWRzIHdpdGggdGhlIGlucHV0LFxuICAgICAgICAvLyBlbHNlIGFkZCB0aGVzZSBpZHMgdG8gdGhlIHNwZWNpZmllZCBvbmVzXG4gICAgICAgIGlmICghdGhpcy5hcmlhTGFiZWxsZWRCeSkge1xuICAgICAgICAgICAgdGhpcy5hcmlhTGFiZWxsZWRCeSA9IGxhYmVsQW5kSGVscElkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hcmlhTGFiZWxsZWRCeSArPSAnICcgKyBsYWJlbEFuZEhlbHBJZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgICAgIGlmICh0aGlzLmZvcm1GaWVsZCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtRmllbGQudW5yZWdpc3RlckZvcm1GaWVsZENvbnRyb2wodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogQm9vbGVhbklucHV0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGlzRGlzYWJsZWQpO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgaWYgKG5ld1N0YXRlICE9PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdTdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ3NldERpc2FibGVkU3RhdGUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVhY2ggc3ViIGNsYXNzIG11c3Qgb3ZlcnJpZGUgdGhpcyBtZXRob2QgYXMgaW5oZXJpdGFuY2UgZG9lcyBub3Qgd29ya1xuICAgICAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCd3cml0ZVZhbHVlJyk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogS2VlcHMgdHJhY2sgb2YgZWxlbWVudCBmb2N1c1xuICAgICAqL1xuICAgIF9vbkZvY3VzQ2hhbmdlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRm9jdXNlZCAhPT0gdGhpcy5mb2N1c2VkICYmICghdGhpcy5kaXNhYmxlZCB8fCAhaXNGb2N1c2VkKSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgnX29uRm9jdXNDaGFuZ2VkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzRm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgZXZlbiB3aGVuIHdlIGNsaWNrIG9uIHBhcmVudCBjb250YWluZXIgd2hpY2ggaXMgdGhlIEZvcm1GaWVsZCBXcmFwcGluZyB0aGlzXG4gICAgICogY29udHJvbFxuICAgICAqL1xuICAgIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1cyhldmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW4gbW9zdCBvZiB0aGUgY2FzZXMgd2hlbiB3b3JraW5nIHdpdGggaW5wdXQgZWxlbWVudCBkaXJlY3RseSB5b3Ugc2hvdWxkIGJlIGp1c3QgZmluZCB0byBhc3NpbmdcbiAgICAgKiB2YXJpYWJsZSB0byB0aGlzIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIGBgYFxuICAgICAqIDxpbnB1dCAjaW5wdXRFbGVtZW50UmVmIGZkLWZvcm0tY29udHJvbCAuLi4+XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBhbmQgdGhpcyBkZWZhdWx0IGJlaGF2aW9yIHVzZWQuIEZvciBvdGhlciBjYXNlcyBpbXBsZW1lbnQgZm9jdXMuXG4gICAgICpcbiAgICAgKi9cbiAgICBmb2N1cyhldmVudD86IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRSZWYgJiYgIXRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBOZWVkIHJlLXZhbGlkYXRlcyBlcnJvcnMgb24gZXZlcnkgQ0QgaXRlcmF0aW9uIHRvIG1ha2Ugc3VyZSB3ZSBhcmUgYWxzb1xuICAgICAqICBjb3ZlcmluZyBub24tY29udHJvbCBlcnJvcnMsIGVycm9ycyB0aGF0IGhhcHBlbnMgb3V0c2lkZSBvZiB0aGlzIGNvbnRyb2xcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRXJyb3JTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5uZ0Zvcm07XG4gICAgICAgIGNvbnN0IHBhcmVudENvbnRyb2xDb250YWluZXIgPSB0aGlzLmNvbnRyb2xDb250YWluZXI7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbCA/ICh0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIEZvcm1Db250cm9sKSA6IG51bGw7XG4gICAgICAgIGNvbnN0IG5ld1N0YXR1c0lzRXJyb3IgPSAhIShcbiAgICAgICAgICAgIGNvbnRyb2w/LmludmFsaWQgJiZcbiAgICAgICAgICAgIChjb250cm9sLmRpcnR5IHx8IGNvbnRyb2wudG91Y2hlZCB8fCBwYXJlbnQ/LnN1Ym1pdHRlZCB8fCAocGFyZW50Q29udHJvbENvbnRhaW5lciBhcyBhbnkpPy5zdWJtaXR0ZWQpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG5ld1N0YXR1c0lzRXJyb3IgIT09IHRoaXMuY29udHJvbEludmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRyb2xJbnZhbGlkID0gbmV3U3RhdHVzSXNFcnJvcjtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ3VwZGF0ZUVycm9yU3RhdGUnKTtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIGEgY29udHJvbC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIGJlIGFwcGxpZWRcbiAgICAgKiBAcGFyYW0gZW1pdE9uQ2hhbmdlIHdoZXRoZXIgdG8gZW1pdCBcIm9uQ2hhbmdlXCIgZXZlbnQuXG4gICAgICogU2hvdWxkIGJlIFwiZmFsc2VcIiwgaWYgdGhlIGNoYW5nZSBpcyBtYWRlIHByb2dyYW1tYXRpY2FsbHkgKGludGVybmFsbHkpIGJ5IHRoZSBjb250cm9sLCBcInRydWVcIiBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUodmFsdWU6IGFueSwgZW1pdE9uQ2hhbmdlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGVtaXRPbkNoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBnZXRWYWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxufVxuIl19
348
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zaGFyZWQvZm9ybS9iYXNlLmlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLFNBQVMsRUFHVCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFFBQVEsRUFFUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFxQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEcsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCxhQUFhLEVBQ2IscUJBQXFCLEVBR3JCLG1CQUFtQixFQUN0QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUkzRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQW1CLHdCQUF3QixDQUFDLENBQUM7QUFFM0YsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7Ozs7Ozs7O0dBVUc7QUFFSCxNQUFNLE9BQWdCLFNBQ2xCLFNBQVEsYUFBYTtJQXlCckI7Ozs7O09BS0c7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUE2QjtRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixLQUFLLDZDQUE2QyxDQUFDLENBQUM7U0FDdkY7SUFDTCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxPQUFPLENBQUM7SUFDekQsQ0FBQztJQVVELG9DQUFvQztJQUNwQyxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUNwRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFnQkQ7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFtQjtRQUM1QixNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFnQ0QsaUNBQWlDO0lBQ2pDLElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBdUNELGNBQWM7SUFDZCxZQUNJLEVBQXFCLEVBQ1osVUFBc0IsRUFDRixTQUFvQixFQUNoQixnQkFBa0MsRUFDbEMsTUFBYyxFQUNRLFNBQTRCLEVBQ3BCLFdBQXFDO1FBRXBHOzs7OztXQUtHO1FBQ0gsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBYkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNGLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBNUtuRDs7O1dBR0c7UUFFSCxhQUFRLEdBQStCO1lBQ25DO2dCQUNJLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsV0FBVyxFQUFFLEtBQUs7YUFDckI7WUFDRDtnQkFDSSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLFdBQVcsRUFBRSxJQUFJO2FBQ3BCO1NBQ0osQ0FBQztRQWlHRjs7V0FFRztRQUNILFlBQU8sR0FBRyxLQUFLLENBQUM7UUFnQmhCOztXQUVHO1FBQ00saUJBQVksR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUV6RCxjQUFjO1FBQ0wsY0FBUyxHQUE2QixJQUFJLENBQUM7UUFFcEQsY0FBYztRQUNMLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFTOUQsY0FBYztRQUNKLGNBQVMsR0FBRyxnQkFBZ0IsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUtuRCxjQUFjO1FBQ0osY0FBUyxHQUFHLElBQUksQ0FBQztRQUMzQixjQUFjO1FBQ0osZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0M7O1dBRUc7UUFDSyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQWdDaEMsY0FBYztRQUNkLGFBQVEsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRTFDLGNBQWM7UUFDZCxjQUFTLEdBQUcsR0FBUyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBaEJ2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ3ZDO1FBRUQsa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU5RCxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBUUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO1FBRUQsTUFBTSxjQUFjLEdBQUcsMEJBQTBCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMzRCx3RUFBd0U7UUFDeEUsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1NBQ3hDO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxJQUFJLEdBQUcsR0FBRyxjQUFjLENBQUM7U0FDL0M7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQztRQUUvRCxJQUFJLENBQUMsWUFBWTthQUNaLElBQUksQ0FDRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDN0I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLG9CQUFvQixHQUFHO2dCQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVUsQ0FBQyxtQkFBbUI7Z0JBQzdDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBVSxDQUFDLFNBQVMsRUFBRTthQUN6QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7SUFDZCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxnQkFBZ0IsQ0FBQyxVQUF3QjtRQUNyQyxNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxTQUFrQjtRQUM5QixJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUM3QztRQUVELElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBaUI7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxLQUFrQjtRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDTyxnQkFBZ0I7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoRixNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUN2QixPQUFPLEVBQUUsT0FBTztZQUNoQixDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxNQUFNLEVBQUUsU0FBUyxJQUFLLHNCQUE4QixFQUFFLFNBQVMsQ0FBQyxDQUN4RyxDQUFDO1FBRUYsSUFBSSxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sUUFBUSxDQUFDLEtBQVUsRUFBRSxZQUFZLEdBQUcsSUFBSTtRQUM5QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsSUFBSSxZQUFZLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNKLFFBQVE7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQzs4R0EvWGlCLFNBQVMsd1BBcUxpQixhQUFhLHlEQUNiLHFCQUFxQjtrR0F0TC9DLFNBQVMsdVlBeUd5QixVQUFVOzsyRkF6RzVDLFNBQVM7a0JBRDlCLFNBQVM7OzBCQW1MRCxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwRCxRQUFROzswQkFBSSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs0Q0FoTGpFLFdBQVc7c0JBRFYsS0FBSztnQkFRTixRQUFRO3NCQURQLEtBQUs7Z0JBcUJGLEtBQUs7c0JBRFIsS0FBSztnQkFzQk4sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBZU4sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGNBQWM7c0JBRGIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBT0YsUUFBUTtzQkFEWCxLQUFLO2dCQWlCSSxXQUFXO3NCQURwQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdCxcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIGlzRGV2TW9kZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UnO1xuaW1wb3J0IHtcbiAgICBGRF9GT1JNX0ZJRUxELFxuICAgIEZEX0ZPUk1fRklFTERfQ09OVFJPTCxcbiAgICBGb3JtRmllbGRBZHZhbmNlZFN0YXRlTWVzc2FnZSxcbiAgICBGb3JtU3RhdGVzLFxuICAgIGlzVmFsaWRDb250cm9sU3RhdGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuaW1wb3J0IHsgUGxhdGZvcm1Gb3JtRmllbGQsIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4vZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBUcmlnZ2VyQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgRm9ybUlucHV0TWVzc2FnZUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuXG5leHBvcnQgY29uc3QgRkRQX0RPX0NIRUNLID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8dm9pZD4+KCdGZHBJbnB1dERvQ2hlY2tUcmlnZ2VyJyk7XG5cbmxldCByYW5kb21JZCA9IDA7XG5cbi8qKlxuICogQWxsIGZvcm0gY29tcG9uZW50cyBzaGFyZSB0aGUgc2FtZSBpbmZvcm1hdGlvbiAodmFsdWUsIG5hbWUsIHBsYWNlaG9sZGVyLC4uICkgYXMgd2VsbCBhc1xuICogdGhlIHNhbWUgYmVoYXZpb3IgZ2l2ZW4gYnkgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gKlxuICogRXZlbiB0aGlzIGlzIG5vdCBpZGVhbCBzb2x1dGlvbiB0aGVyZSBpcyBubyBvdGhlciB3YXkgdGhlbiB1c2UgaW5oZXJpdGFuY2UgdG8gcmV1c2Ugc29tZSBvZiB0aGVcbiAqIGNvbW1vbiBsb2dpYy4gSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHVzZSBzb21lIGtpbmQgb2YgY29tcG9zaXRpb25zIHdpdGggUHJveGllcyBidXQgc29tZXRoaW5nXG4gKiBzaW1pbGFyIHRoYXQgZXhpc3RzIGluIEFzcGVjdCBPcmllbnRlZCBQcm9ncmFtaW5nLlxuICpcbiAqIFVzdWFsbHkgdHJ5IHRvIGZpcmUgc3RhdGVDaGFuZ2Ugb25seSBmb3IgdGhpbmdzIHRoYXQgY2FuIGNoYW5nZSBkeW5hbWljYWxseSBpbiBydW50aW1lLiBXZSBkb24ndCBleHBlY3RcbiAqIHRoYXQgZS5nLiBwbGFjZWhvbGRlciB3aWxsIGNoYW5nZSBhZnRlciBjb21wb25lbnQgaXMgY3JlYXRlZFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlSW5wdXRcbiAgICBleHRlbmRzIEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgRG9DaGVjaywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgLyoqIElucHV0IHBsYWNlaG9sZGVyICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVG8gYWxsb3cgdXNlciB0byBkZXRlcm1pbmUgd2hhdCBldmVudCBoZSB3YW50cyB0byB0cmlnZ2VyIHRoZSBtZXNzYWdlcyB0byBzaG93XG4gICAgICogQWNjZXB0cyBhbnkgW0hUTUwgRE9NIEV2ZW50c10oaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9qc3JlZi9kb21fb2JqX2V2ZW50LmFzcCkuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0cmlnZ2VyczogKHN0cmluZyB8IFRyaWdnZXJDb25maWcpW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRyaWdnZXI6ICdmb2N1c2luJyxcbiAgICAgICAgICAgIG9wZW5BY3Rpb246IHRydWUsXG4gICAgICAgICAgICBjbG9zZUFjdGlvbjogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdHJpZ2dlcjogJ2ZvY3Vzb3V0JyxcbiAgICAgICAgICAgIG9wZW5BY3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgY2xvc2VBY3Rpb246IHRydWVcbiAgICAgICAgfVxuICAgIF07XG5cbiAgICAvKipcbiAgICAgKiAgVGhlIHN0YXRlIG9mIHRoZSBmb3JtIGNvbnRyb2wgLSBhcHBsaWVzIGNzcyBjbGFzc2VzLlxuICAgICAqICBDYW4gYmUgJ3N1Y2Nlc3MnLCAnZXJyb3InLCAnd2FybmluZycsICdkZWZhdWx0JywgJ2luZm9ybWF0aW9uJy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICdkZWZhdWx0J1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHN0YXRlKHN0YXRlOiBGb3JtU3RhdGVzIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghc3RhdGUgfHwgaXNWYWxpZENvbnRyb2xTdGF0ZShzdGF0ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgUHJvdmlkZWQgdmFsdWUgXCIke3N0YXRlfVwiIGlzIG5vdCBhIHZhbGlkIG9wdGlvbiBmb3IgRm9ybVN0YXRlcyB0eXBlYCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHN0YXRlKCk6IEZvcm1TdGF0ZXMge1xuICAgICAgICBpZiAodGhpcy5fc3RhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sSW52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuICdkZWZhdWx0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZD8uZ2V0UHJpb3JpdHlTdGF0ZSgpIHx8ICdlcnJvcic7XG4gICAgfVxuXG4gICAgLyoqIEhvbGRzIHRoZSBtZXNzYWdlIHdpdGggcmVzcGVjdCB0byBzdGF0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGVNZXNzYWdlOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFkdmFuY2VkIGZvcm0gbWVzc2FnZSBjb25maWd1cmF0aW9uLiBVc2VkIGZvciBjb21wb25lbnRzIHRoYXQgY2FuIHJlbmRlciBmb3JtIG1lc3NhZ2VzIGluIGl0cyB0ZW1wbGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXRlTWVzc2FnZUNvbmZpZzogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLmRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZWFkT25seSBWYWx1ZSB0byBNYXJrIGNvbXBvbmVudCByZWFkIG9ubHlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gICAgLyoqIEJpbmRzIHRvIGNvbnRyb2wgYXJpYS1sYWJlbGxlZEJ5IGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsbGVkQnk6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogU2V0cyBjb250cm9sIGFyaWEtbGFiZWwgYXR0cmlidXRlIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBUZWxsIHRoZSBjb21wb25lbnQgaWYgd2UgYXJlIGluIGVkaXRpbmcgbW9kZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBlZGl0YWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLl9lZGl0YWJsZSAhPT0gbmV3VmFsKSB7XG4gICAgICAgICAgICB0aGlzLl9lZGl0YWJsZSA9IG5ld1ZhbDtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgnZWRpdGFibGUnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gaW50ZXJuYWwgSW5wdXQgZWxlbWVudFxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudFJlZicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICogbmVlZCB0byBtYWtlICB0aGVzZSB2YWx1ZSBhY2Nlc3NvciBhcyBhYnN0cmFjdCB0byBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLiBIYXZpbmcgdGhlbVxuICAgICAqIGluIHN1cGVyY2xhc3MgaGF2ZSBpc3N1ZSBnZXR0aW5nIHJlZmVyZW5jZSB0byB0aGVtIHdpdGggT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvblxuICAgICAqIHdoaWNoIHdlIG5lZWQgdG8gcHJvZ3JhbW1hdGljYWxseSB3cmFwcyBjb21wb25lbnRzIHNldC9nZXQgdmFsdWVcbiAgICAgKlxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldCB2YWx1ZSgpOiBhbnk7XG5cbiAgICBhYnN0cmFjdCBzZXQgdmFsdWUodmFsdWU6IGFueSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvcm1NZXNzYWdlOiBGb3JtSW5wdXRNZXNzYWdlR3JvdXBDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBTZWUgQEZvcm1GaWVsZENvbnRyb2xcbiAgICAgKi9cbiAgICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICAvKiogc2V0IHdoZW4gaW5wdXQgZmllbGQgaXMgbWFuZGF0b3J5IGZvcm0gZmllbGQgKi9cbiAgICByZXF1aXJlZDogYm9vbGVhbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaW5uZXJFcnJvcnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogV2hldGhlciBjb250cm9sIGhhcyBlcnJvcnMgKi9cbiAgICBnZXQgY29udHJvbEludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250cm9sSW52YWxpZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFkdmFuY2VkU3RhdGVNZXNzYWdlOiBOdWxsYWJsZTxGb3JtRmllbGRBZHZhbmNlZFN0YXRlTWVzc2FnZT47XG5cbiAgICAvKipcbiAgICAgKiBTZWUgQEZvcm1GaWVsZENvbnRyb2xcbiAgICAgKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfZG9DaGVjayQgPSBpbmplY3QoRkRQX0RPX0NIRUNLLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoZSBzdGF0ZSBvZiB0aGUgZm9ybSBjb250cm9sIC0gYXBwbGllcyBjc3MgY2xhc3Nlcy5cbiAgICAgKiBDYW4gYmUgYHN1Y2Nlc3NgLCBgZXJyb3JgLCBgd2FybmluZ2AsIGBpbmZvcm1hdGlvbmAgb3IgJ2RlZmF1bHQnXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9zdGF0ZTogRm9ybVN0YXRlcyB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGRlZmF1bHRJZCA9IGBmZHAtaW5wdXQtaWQtJHtyYW5kb21JZCsrfWA7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX2Rpc2FibGVkOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF92YWx1ZTogYW55O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9lZGl0YWJsZSA9IHRydWU7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29udHJvbEludmFsaWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHJlYWRvbmx5IGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHJlYWRvbmx5IG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRCkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTCkgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFxuICAgICkge1xuICAgICAgICAvKipcbiAgICAgICAgICogV2UgZG8gbm90IHVzZSBJbmplY3Rvci5nZXQoKSBhcHByb2FjaCBoZXJlIGJlY2F1c2UgdGhlcmUgaXMgYSBidWdcbiAgICAgICAgICogd2l0aCB0aGlzIHNpZ25hdHVyZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8zMTc3NlxuICAgICAgICAgKiB3aGVyZSBcImdldCgpXCIgbWV0aG9kIGRvZXNuJ3QgdGFrZSBpbnRvIGFjY291bnQgXCJmbGFnXCIgb3B0aW9uXCJcbiAgICAgICAgICpcbiAgICAgICAgICovXG4gICAgICAgIHN1cGVyKGNkKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2UgaGF2ZSB0byBpZ25vcmUgXCJmb3JtRmllbGRcIiBpZiB0aGVyZSBpcyBcImZvcm1Db250cm9sXCIgd3JhcHBlclxuICAgICAgICB0aGlzLmZvcm1GaWVsZCA9IGZvcm1GaWVsZCAmJiAhZm9ybUNvbnRyb2wgPyBmb3JtRmllbGQgOiBudWxsO1xuXG4gICAgICAgIHRoaXMuX2RvQ2hlY2skPy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ0RvQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtRmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUZpZWxkLnJlZ2lzdGVyRm9ybUZpZWxkQ29udHJvbCh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlLXZhbGlkYXRlIGFuZCBlbWl0IGV2ZW50IHRvIHBhcmVudCBjb250YWluZXIgb24gZXZlcnkgQ0QgY3ljbGUgYXMgdGhleSBhcmUgc29tZSBlcnJvcnNcbiAgICAgKiB0aGF0IHdlIGNhbid0IHN1YnNjcmliZSB0by5cbiAgICAgKi9cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFcnJvclN0YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGFiZWxBbmRIZWxwSWQgPSBgZmRwLWZvcm0tbGFiZWwtY29udGVudC0ke3RoaXMuaWR9YDtcbiAgICAgICAgLy8gaWYgbm90IHNwZWNpZmllZCwgYXNzb2NpYXRlIGxhYmVsIGFuZCBpbmxpbmUgaGVscCBpZHMgd2l0aCB0aGUgaW5wdXQsXG4gICAgICAgIC8vIGVsc2UgYWRkIHRoZXNlIGlkcyB0byB0aGUgc3BlY2lmaWVkIG9uZXNcbiAgICAgICAgaWYgKCF0aGlzLmFyaWFMYWJlbGxlZEJ5KSB7XG4gICAgICAgICAgICB0aGlzLmFyaWFMYWJlbGxlZEJ5ID0gbGFiZWxBbmRIZWxwSWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFyaWFMYWJlbGxlZEJ5ICs9ICcgJyArIGxhYmVsQW5kSGVscElkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbm5lckVycm9yc1RlbXBsYXRlID0gdGhpcy5mb3JtRmllbGQ/LmlubmVyRXJyb3JSZW5kZXJlcnM7XG5cbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhIXRoaXMuZm9ybUZpZWxkKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZHZhbmNlZFN0YXRlTWVzc2FnZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IHRoaXMuZm9ybUZpZWxkIS5pbm5lckVycm9yUmVuZGVyZXJzLFxuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnM6IHRoaXMuZm9ybUZpZWxkIS5oYXNFcnJvcnMoKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgICAgICBpZiAodGhpcy5mb3JtRmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUZpZWxkLnVucmVnaXN0ZXJGb3JtRmllbGRDb250cm9sKHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShpc0Rpc2FibGVkKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIGlmIChuZXdTdGF0ZSAhPT0gdGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gbmV3U3RhdGU7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCdzZXREaXNhYmxlZFN0YXRlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFYWNoIHN1YiBjbGFzcyBtdXN0IG92ZXJyaWRlIHRoaXMgbWV0aG9kIGFzIGluaGVyaXRhbmNlIGRvZXMgbm90IHdvcmtcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgnd3JpdGVWYWx1ZScpO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEtlZXBzIHRyYWNrIG9mIGVsZW1lbnQgZm9jdXNcbiAgICAgKi9cbiAgICBfb25Gb2N1c0NoYW5nZWQoaXNGb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0ZvY3VzZWQgIT09IHRoaXMuZm9jdXNlZCAmJiAoIXRoaXMuZGlzYWJsZWQgfHwgIWlzRm9jdXNlZCkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ19vbkZvY3VzQ2hhbmdlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIGV2ZW4gd2hlbiB3ZSBjbGljayBvbiBwYXJlbnQgY29udGFpbmVyIHdoaWNoIGlzIHRoZSBGb3JtRmllbGQgV3JhcHBpbmcgdGhpc1xuICAgICAqIGNvbnRyb2xcbiAgICAgKi9cbiAgICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluIG1vc3Qgb2YgdGhlIGNhc2VzIHdoZW4gd29ya2luZyB3aXRoIGlucHV0IGVsZW1lbnQgZGlyZWN0bHkgeW91IHNob3VsZCBiZSBqdXN0IGZpbmQgdG8gYXNzaW5nXG4gICAgICogdmFyaWFibGUgdG8gdGhpcyBlbGVtZW50XG4gICAgICpcbiAgICAgKiBgYGBcbiAgICAgKiA8aW5wdXQgI2lucHV0RWxlbWVudFJlZiBmZC1mb3JtLWNvbnRyb2wgLi4uPlxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogYW5kIHRoaXMgZGVmYXVsdCBiZWhhdmlvciB1c2VkLiBGb3Igb3RoZXIgY2FzZXMgaW1wbGVtZW50IGZvY3VzLlxuICAgICAqXG4gICAgICovXG4gICAgZm9jdXMoZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50UmVmICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyhldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgTmVlZCByZS12YWxpZGF0ZXMgZXJyb3JzIG9uIGV2ZXJ5IENEIGl0ZXJhdGlvbiB0byBtYWtlIHN1cmUgd2UgYXJlIGFsc29cbiAgICAgKiAgY292ZXJpbmcgbm9uLWNvbnRyb2wgZXJyb3JzLCBlcnJvcnMgdGhhdCBoYXBwZW5zIG91dHNpZGUgb2YgdGhpcyBjb250cm9sXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUVycm9yU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMubmdGb3JtO1xuICAgICAgICBjb25zdCBwYXJlbnRDb250cm9sQ29udGFpbmVyID0gdGhpcy5jb250cm9sQ29udGFpbmVyO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5uZ0NvbnRyb2wgPyAodGhpcy5uZ0NvbnRyb2wuY29udHJvbCBhcyBGb3JtQ29udHJvbCkgOiBudWxsO1xuICAgICAgICBjb25zdCBuZXdTdGF0dXNJc0Vycm9yID0gISEoXG4gICAgICAgICAgICBjb250cm9sPy5pbnZhbGlkICYmXG4gICAgICAgICAgICAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQgfHwgcGFyZW50Py5zdWJtaXR0ZWQgfHwgKHBhcmVudENvbnRyb2xDb250YWluZXIgYXMgYW55KT8uc3VibWl0dGVkKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChuZXdTdGF0dXNJc0Vycm9yICE9PSB0aGlzLmNvbnRyb2xJbnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLl9jb250cm9sSW52YWxpZCA9IG5ld1N0YXR1c0lzRXJyb3I7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCd1cGRhdGVFcnJvclN0YXRlJyk7XG4gICAgICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiBhIGNvbnRyb2wuXG4gICAgICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byBiZSBhcHBsaWVkXG4gICAgICogQHBhcmFtIGVtaXRPbkNoYW5nZSB3aGV0aGVyIHRvIGVtaXQgXCJvbkNoYW5nZVwiIGV2ZW50LlxuICAgICAqIFNob3VsZCBiZSBcImZhbHNlXCIsIGlmIHRoZSBjaGFuZ2UgaXMgbWFkZSBwcm9ncmFtbWF0aWNhbGx5IChpbnRlcm5hbGx5KSBieSB0aGUgY29udHJvbCwgXCJ0cnVlXCIgb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNldFZhbHVlKHZhbHVlOiBhbnksIGVtaXRPbkNoYW5nZSA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChlbWl0T25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgZ2V0VmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
@@ -19,4 +19,4 @@ export class PlatformFormFieldControl {
19
19
  */
20
20
  export class FormGroupContainer {
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zaGFyZWQvZm9ybS9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFPckY7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLFNBQVM7Q0FnRnhEO0FBRUQsTUFBTSxPQUFnQixjQUFjO0NBd0JuQztBQUlELE1BQU0sT0FBZ0Isd0JBQXdCO0NBcUU3QztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixrQkFBa0I7Q0E4RHZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZvcm1GaWVsZENvbnRyb2wsIEZvcm1TdGF0ZXMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9ybUVycm9yLCBGb3JtRmllbGRFcnJvckRpcmVjdGl2ZUNvbnRleHQgfSBmcm9tICcuL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5MYXlvdXQgfSBmcm9tICcuL2Zvcm0tb3B0aW9ucyc7XG5cbi8qKlxuICogRm9ybUZpZWxkIGJhc2UgY2xhc3MuXG4gKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIHRvIGNyZWF0ZSBmb3JtIGZpZWxkIGNvbXBvbmVudHMuXG4gKlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGxhdGZvcm1Gb3JtRmllbGQgZXh0ZW5kcyBGb3JtRmllbGQge1xuICAgIC8qKlxuICAgICAqIEZvcm0gZmllbGQgaWRcbiAgICAgKi9cbiAgICBpZDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFJhbmsgaXMgdXNlZCBmb3Igb3JkZXJpbmcuXG4gICAgICogVGhhbiBsb3dlciBudW1iZXIgdGhlbiBoaWdoZXIgcHJpb3JpdHlcbiAgICAgKi9cbiAgICByYW5rOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogRm9ybSBmaWVsZCB0ZW1wbGF0ZSByZWZlcmVuY2VcbiAgICAgKi9cbiAgICByZW5kZXJlcjogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBGb3JtIGZpZWxkIGN1c3RvbSB3aWR0aCBpbiBjb2x1bW5zIG11c3QgYmUgYmV0d2VlbiAxIC0gMTJcbiAgICAgKi9cbiAgICBjb2x1bW5zOiBDb2x1bW47XG4gICAgLyoqXG4gICAgICogRGVmaW5lIGZvcm0gZmllbGQgY29sdW1uIGJlbG9uZ3NcbiAgICAgKi9cbiAgICBjb2x1bW46IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBUcmFuc2xhdGlvbnMgdGVtcGxhdGUgcmVmZXJlbmNlXG4gICAgICovXG4gICAgaTE4U3RyaW5nczogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgaWYgZmllbGQgaXMgZWRpdGFibGVcbiAgICAgKi9cbiAgICBlZGl0YWJsZTogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgd2hlbiBmb3JtIGZpZWxkIGxhYmVsIHNob3VsZCBub3QgYmUgZGlzcGxheWVkXG4gICAgICovXG4gICAgbm9MYWJlbExheW91dDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSB1bmRlcmx5aW5nIEZvcm1GaWVsZENvbnRyb2wuXG4gICAgICovXG4gICAgY29udHJvbDogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sIHwgbnVsbDtcbiAgICAvKipcbiAgICAgKiBTZXQgd2hlbiBmb3JtIGZpZWxkIGlzIGEgbWFuZGF0b3J5IG9uZS5cbiAgICAgKi9cbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICAvKiogRm9ybSBmaWVsZCBsYWJlbCAqL1xuICAgIGxhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqIEZvcm0gZmllbGRzJ3MgZ3JvdXAuICovXG4gICAgZm9ybUZpZWxkR3JvdXA6IE51bGxhYmxlPEZvcm1GaWVsZEdyb3VwPjtcblxuICAgIC8qKiBGcm0gZmllbGQncyBGb3JtIENvbnRhaW5lci4gKi9cbiAgICBmb3JtR3JvdXBDb250YWluZXI6IE51bGxhYmxlPEZvcm1Hcm91cENvbnRhaW5lcj47XG5cbiAgICAvKiogR3JvdXBlZCBlcnJvcnMuICovXG4gICAgZ3JvdXBlZEVycm9yczogRm9ybUZpZWxkRXJyb3JEaXJlY3RpdmVDb250ZXh0W107XG5cbiAgICAvKiogQ29tYmluZWQgRXJyb3IgZGlyZWN0aXZlcy4gKi9cbiAgICBlcnJvckRpcmVjdGl2ZXM6IEZvcm1FcnJvcltdO1xuXG4gICAgLyoqIEZvcm0gY29udHJvbCAqL1xuICAgIG5nQ29udHJvbD86IE5nQ29udHJvbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZm9ybUNvbnRyb2w/OiBGb3JtQ29udHJvbDtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gZXJyb3JzIGJlaW5nIGNoYW5nZWQuICovXG4gICAgZXJyb3JzQ2hhbmdlJDogU3ViamVjdDx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIFNldCBkZWZhdWx0IGNvbHVtbnMgbGF5b3V0XG4gICAgICovXG4gICAgc2V0RGVmYXVsdENvbHVtbkxheW91dDogKCkgPT4gdm9pZDtcblxuICAgIC8qKiBHZXRzIGZpZWxkIGVycm9yIHByaW9yaXR5IHN0YXRlLiAqL1xuICAgIGdldFByaW9yaXR5U3RhdGU6ICgpID0+IEZvcm1TdGF0ZXM7XG5cbiAgICAvKiogR3JvdXBzIGVycm9ycy4gKi9cbiAgICBncm91cEVycm9yczogKCkgPT4gdm9pZDtcblxuICAgIC8qKiBTZXRzIGVycm9yIGRpcmVjdGl2ZXMgZnJvbSBwYXJlbnQgY29udGFpbmVyICovXG4gICAgc2V0RXJyb3JEaXJlY3RpdmVzOiAoZGlyZWN0aXZlczogUXVlcnlMaXN0PEZvcm1FcnJvcj4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb3JtRmllbGRHcm91cCB7XG4gICAgLyoqIEdyb3VwIGhlYWRlciovXG4gICAgbGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBHcm91cCdzIGZvcm0gbmFtZSAqL1xuICAgIGZvcm1OYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogR3JvdXAgZmllbGRzICovXG4gICAgZmllbGRzOiBRdWVyeUxpc3Q8UGxhdGZvcm1Gb3JtRmllbGQ+O1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBsYWJlbCdzIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgbGFiZWxDb2x1bW5MYXlvdXQ6IENvbHVtbkxheW91dDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgZmllbGQncyBjb2x1bW4gbGF5b3V0LlxuICAgICAqL1xuICAgIGZpZWxkQ29sdW1uTGF5b3V0OiBDb2x1bW5MYXlvdXQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGdhcCBjb2x1bW4gbGF5b3V0LlxuICAgICAqL1xuICAgIGdhcENvbHVtbkxheW91dDogQ29sdW1uTGF5b3V0O1xufVxuXG5leHBvcnQgdHlwZSBGZHBGb3JtRmllbGRDb250cm9sPFQgPSBhbnk+ID0gRm9ybUZpZWxkQ29udHJvbDxUPjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbDxUID0gYW55PiBpbXBsZW1lbnRzIEZvcm1GaWVsZENvbnRyb2w8VD4ge1xuICAgIC8qKlxuICAgICAqIEVhY2ggaW5wdXQgY29udHJvbCBoYXMgYWx3YXlzIGEgdmFsdWUuIE5lZWQgdG8gbWFrZSBzdXJlIHdlIGtlZXAgYSBjb252ZW50aW9uIGZvclxuICAgICAqIGlucHV0IGZpZWxkc1xuICAgICAqL1xuICAgIHZhbHVlOiBUIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE5lZWQgdG8gaGF2ZSBhIHdheSB0byBzZXQgcGxhY2Vob2xkZXIgdG8gdGhlIGlucHV0XG4gICAgICovXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE5lZWQgdG8gaGF2ZSBhIHdheSB0byBzZXQgTWFuZGF0b3J5IHRvIHRoZSBpbnB1dCBmaWVsZFxuICAgICAqL1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2V0cyBpZCBmcm9tIEZGIHRvIElucHV0XG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgc2hvdWxkIGJlIGNvbWluZyBmcm9tIFBhcmVudC5cbiAgICAgKi9cbiAgICBlZGl0YWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBoZWlnaHQgb2YgdGhlIGV4dHJhIGNvbnRlbnQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZm9ybSBjb250cm9sLFxuICAgICAqIHdoaWNoIHNob3VsZCBub3QgYWZmZWN0IHRoZSBhbGlnbm1lbnQgb2YgZm9ybSBjb250cm9sIGFuZCBpdCdzIGxhYmVsXG4gICAgICovXG4gICAgZXh0cmFDb250ZW50SGVpZ2h0UHg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEZvcm0gRmllbGQgbGlzdGVuIGZvciBhbGwgdGhlIGNoYW5nZXMgaGFwcGVuaW5nIGluc2lkZSB0aGUgaW5wdXRcbiAgICAgKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiAgRWFjaCBpbnB1dCBzaG91bGQgaW5qZWN0IGl0cyBvd24gbmdDb250cm9sIGFuZCB3ZSBzaG91bGQgcmV0cmlldmUgaXRcbiAgICAgKi9cbiAgICByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgY29udHJvbCBpcyBkaXNhYmxlZC4gKi9cbiAgICByZWFkb25seSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEtlZXBzIHRyYWNrIGlmIHRoZSBmb3JtIGVsZW1lbnQgaXMgaW4gZm9jdXNcbiAgICAgKi9cbiAgICByZWFkb25seSBmb2N1c2VkOiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgY29udHJvbCBoYXMgZXJyb3JzICovXG4gICAgcmVhZG9ubHkgY29udHJvbEludmFsaWQ6IGJvb2xlYW47XG5cbiAgICAvKiogQ29ycmVzcG9uZGluZyBlbGVtZW50IHJlZmVyZW5jZS4gKi9cbiAgICByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIEZvcm0gZmllbGQgaW5zdGFuY2UuICovXG4gICAgZm9ybUZpZWxkOiBOdWxsYWJsZTxQbGF0Zm9ybUZvcm1GaWVsZD47XG5cbiAgICAvKiogTWV0aG9kIGZvciBmb2N1c2luZyBvbiB0aGUgZWxlbWVudCAqL1xuICAgIGFic3RyYWN0IGZvY3VzKGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIGV2ZW4gd2hlbiB3ZSBjbGljayBvbiBwYXJlbnQgY29udGFpbmVyIHdoaWNoIGlzIHRoZSBGb3JtRmllbGQgV3JhcHBpbmcgdGhpc1xuICAgICAqIGNvbnRyb2xcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcbn1cblxuLyoqXG4gKiBGb3JtR3JvdXAgYmFzZSBjbGFzcy5cbiAqXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gY3JlYXRlIGZvcm0gZ3JvdXAgY29tcG9uZW50cy5cbiAqXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb3JtR3JvdXBDb250YWluZXIge1xuICAgIC8qKlxuICAgICAqIEFuZ3VsYXIgRm9ybUdyb3VwIHdoZXJlIGFsbCB1bmRlcmx5aW5nIGNvbnRyb2xzIHdpbGwgYmUgYXR0YWNoZWQgdG8uXG4gICAgICovXG4gICAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgLyoqXG4gICAgICogVHJhbnNsYXRpb25zIHRlbXBsYXRlIHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBpMThTdHJpbmdzOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB3aGVuIGZvcm0gaXMgZWRpdGFibGUuXG4gICAgICovXG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZW4gbGFiZWxzIHNob3VsZCBub3QgYmUgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIG5vTGFiZWxMYXlvdXQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGxhYmVsJ3MgY29sdW1uIGxheW91dC5cbiAgICAgKi9cbiAgICBsYWJlbENvbHVtbkxheW91dDogQ29sdW1uTGF5b3V0O1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBmaWVsZCdzIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgZmllbGRDb2x1bW5MYXlvdXQ6IENvbHVtbkxheW91dDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgZ2FwIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgZ2FwQ29sdW1uTGF5b3V0OiBDb2x1bW5MYXlvdXQ7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtJ3MgbWFpbiB0aXRsZS5cbiAgICAgKi9cbiAgICBtYWluVGl0bGU/OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogQXR0YWNoIHVuZGVybHlpbmcgZm9ybSBmaWVsZC5cbiAgICAgKi9cbiAgICBhZGRGb3JtRmllbGQ6IChmb3JtRmllbGQ6IFBsYXRmb3JtRm9ybUZpZWxkKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIERldGFjaCB1bmRlcmx5aW5nIGZvcm0gZmllbGQuXG4gICAgICovXG4gICAgcmVtb3ZlRm9ybUZpZWxkOiAoZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBBdHRhY2ggZm9ybUNvbnRyb2wuXG4gICAgICovXG4gICAgYWRkRm9ybUNvbnRyb2w6IChuYW1lOiBzdHJpbmcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBEZXRhY2ggZm9ybSBmb3JtQ29udHJvbC5cbiAgICAgKi9cbiAgICByZW1vdmVGb3JtQ29udHJvbDogKG5hbWU6IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBBdHRhY2ggdW5kZXJseWluZyBmb3JtIGZpZWxkIGdyb3VwLlxuICAgICAqL1xuICAgIGFkZEZvcm1GaWVsZEdyb3VwOiAoZm9ybUZpZWxkR3JvdXA6IEZvcm1GaWVsZEdyb3VwKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIERldGFjaCB1bmRlcmx5aW5nIGZvcm0gZmllbGQgZ3JvdXAuXG4gICAgICovXG4gICAgcmVtb3ZlRm9ybUZpZWxkR3JvdXA6IChmb3JtRmllbGRHcm91cDogRm9ybUZpZWxkR3JvdXApID0+IHZvaWQ7XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zaGFyZWQvZm9ybS9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFTckY7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLFNBQVM7Q0FzRnhEO0FBRUQsTUFBTSxPQUFnQixjQUFjO0NBd0JuQztBQUlELE1BQU0sT0FBZ0Isd0JBQXdCO0NBaUY3QztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixrQkFBa0I7Q0E4RHZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZvcm1GaWVsZENvbnRyb2wsIEZvcm1TdGF0ZXMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9ybUVycm9yLCBGb3JtRmllbGRFcnJvckRpcmVjdGl2ZUNvbnRleHQgfSBmcm9tICcuL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5MYXlvdXQgfSBmcm9tICcuL2Zvcm0tb3B0aW9ucyc7XG5pbXBvcnQgeyBUcmlnZ2VyQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgRm9ybUlucHV0TWVzc2FnZUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuXG4vKipcbiAqIEZvcm1GaWVsZCBiYXNlIGNsYXNzLlxuICpcbiAqIFRoaXMgY2xhc3MgaXMgdXNlZCB0byBjcmVhdGUgZm9ybSBmaWVsZCBjb21wb25lbnRzLlxuICpcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtRm9ybUZpZWxkIGV4dGVuZHMgRm9ybUZpZWxkIHtcbiAgICAvKipcbiAgICAgKiBGb3JtIGZpZWxkIGlkXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSYW5rIGlzIHVzZWQgZm9yIG9yZGVyaW5nLlxuICAgICAqIFRoYW4gbG93ZXIgbnVtYmVyIHRoZW4gaGlnaGVyIHByaW9yaXR5XG4gICAgICovXG4gICAgcmFuazogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEZvcm0gZmllbGQgdGVtcGxhdGUgcmVmZXJlbmNlXG4gICAgICovXG4gICAgcmVuZGVyZXI6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogRm9ybSBmaWVsZCBjdXN0b20gd2lkdGggaW4gY29sdW1ucyBtdXN0IGJlIGJldHdlZW4gMSAtIDEyXG4gICAgICovXG4gICAgY29sdW1uczogQ29sdW1uO1xuICAgIC8qKlxuICAgICAqIERlZmluZSBmb3JtIGZpZWxkIGNvbHVtbiBiZWxvbmdzXG4gICAgICovXG4gICAgY29sdW1uOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogVHJhbnNsYXRpb25zIHRlbXBsYXRlIHJlZmVyZW5jZVxuICAgICAqL1xuICAgIGkxOFN0cmluZ3M6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIGlmIGZpZWxkIGlzIGVkaXRhYmxlXG4gICAgICovXG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZW4gZm9ybSBmaWVsZCBsYWJlbCBzaG91bGQgbm90IGJlIGRpc3BsYXllZFxuICAgICAqL1xuICAgIG5vTGFiZWxMYXlvdXQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgdW5kZXJseWluZyBGb3JtRmllbGRDb250cm9sLlxuICAgICAqL1xuICAgIGNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCB8IG51bGw7XG4gICAgLyoqXG4gICAgICogU2V0IHdoZW4gZm9ybSBmaWVsZCBpcyBhIG1hbmRhdG9yeSBvbmUuXG4gICAgICovXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgLyoqIEZvcm0gZmllbGQgbGFiZWwgKi9cbiAgICBsYWJlbD86IHN0cmluZztcblxuICAgIC8qKiBGb3JtIGZpZWxkcydzIGdyb3VwLiAqL1xuICAgIGZvcm1GaWVsZEdyb3VwOiBOdWxsYWJsZTxGb3JtRmllbGRHcm91cD47XG5cbiAgICAvKiogRnJtIGZpZWxkJ3MgRm9ybSBDb250YWluZXIuICovXG4gICAgZm9ybUdyb3VwQ29udGFpbmVyOiBOdWxsYWJsZTxGb3JtR3JvdXBDb250YWluZXI+O1xuXG4gICAgLyoqIEdyb3VwZWQgZXJyb3JzLiAqL1xuICAgIGdyb3VwZWRFcnJvcnM6IEZvcm1GaWVsZEVycm9yRGlyZWN0aXZlQ29udGV4dFtdO1xuXG4gICAgLyoqIENvbWJpbmVkIEVycm9yIGRpcmVjdGl2ZXMuICovXG4gICAgZXJyb3JEaXJlY3RpdmVzOiBGb3JtRXJyb3JbXTtcblxuICAgIC8qKiBGb3JtIGNvbnRyb2wgKi9cbiAgICBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2w7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvcm1Db250cm9sPzogRm9ybUNvbnRyb2w7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGVycm9ycyBiZWluZyBjaGFuZ2VkLiAqL1xuICAgIGVycm9yc0NoYW5nZSQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlubmVyRXJyb3JSZW5kZXJlcnM/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogU2V0IGRlZmF1bHQgY29sdW1ucyBsYXlvdXRcbiAgICAgKi9cbiAgICBzZXREZWZhdWx0Q29sdW1uTGF5b3V0OiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIEdldHMgZmllbGQgZXJyb3IgcHJpb3JpdHkgc3RhdGUuICovXG4gICAgZ2V0UHJpb3JpdHlTdGF0ZTogKCkgPT4gRm9ybVN0YXRlcztcblxuICAgIC8qKiBHcm91cHMgZXJyb3JzLiAqL1xuICAgIGdyb3VwRXJyb3JzOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIFNldHMgZXJyb3IgZGlyZWN0aXZlcyBmcm9tIHBhcmVudCBjb250YWluZXIgKi9cbiAgICBzZXRFcnJvckRpcmVjdGl2ZXM6IChkaXJlY3RpdmVzOiBRdWVyeUxpc3Q8Rm9ybUVycm9yPikgPT4gdm9pZDtcblxuICAgIC8qKiBXaGV0aGVyIGZvcm0gZmllbGQgaGFzIHZhbGlkYXRpb24gZXJyb3JzLiAqL1xuICAgIGhhc0Vycm9yczogKCkgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1GaWVsZEdyb3VwIHtcbiAgICAvKiogR3JvdXAgaGVhZGVyKi9cbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIEdyb3VwJ3MgZm9ybSBuYW1lICovXG4gICAgZm9ybU5hbWU6IHN0cmluZztcblxuICAgIC8qKiBHcm91cCBmaWVsZHMgKi9cbiAgICBmaWVsZHM6IFF1ZXJ5TGlzdDxQbGF0Zm9ybUZvcm1GaWVsZD47XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGxhYmVsJ3MgY29sdW1uIGxheW91dC5cbiAgICAgKi9cbiAgICBsYWJlbENvbHVtbkxheW91dDogQ29sdW1uTGF5b3V0O1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBmaWVsZCdzIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgZmllbGRDb2x1bW5MYXlvdXQ6IENvbHVtbkxheW91dDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgZ2FwIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgZ2FwQ29sdW1uTGF5b3V0OiBDb2x1bW5MYXlvdXQ7XG59XG5cbmV4cG9ydCB0eXBlIEZkcEZvcm1GaWVsZENvbnRyb2w8VCA9IGFueT4gPSBGb3JtRmllbGRDb250cm9sPFQ+O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sPFQgPSBhbnk+IGltcGxlbWVudHMgRm9ybUZpZWxkQ29udHJvbDxUPiB7XG4gICAgLyoqXG4gICAgICogVG8gYWxsb3cgdXNlciB0byBkZXRlcm1pbmUgd2hhdCBldmVudCBoZSB3YW50cyB0byB0cmlnZ2VyIHRoZSBtZXNzYWdlcyB0byBzaG93XG4gICAgICogQWNjZXB0cyBhbnkgW0hUTUwgRE9NIEV2ZW50c10oaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9qc3JlZi9kb21fb2JqX2V2ZW50LmFzcCkuXG4gICAgICovXG4gICAgYWJzdHJhY3QgdHJpZ2dlcnM6IChzdHJpbmcgfCBUcmlnZ2VyQ29uZmlnKVtdO1xuXG4gICAgLyoqIFN0YXRlIG1lc3NhZ2UgY29uZmlndXJhdGlvbi4gVXNlZCBmb3IgY29tcG9uZW50cyB0aGF0IGNhbiByZW5kZXIgZm9ybSBtZXNzYWdlIGluc2lkZSBpdHMgdGVtcGxhdGUuICovXG4gICAgYWJzdHJhY3Qgc3RhdGVNZXNzYWdlQ29uZmlnOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIC8qKiBNZXRob2QgZm9yIGZvY3VzaW5nIG9uIHRoZSBlbGVtZW50ICovXG4gICAgYWJzdHJhY3QgZm9jdXMoZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgZXZlbiB3aGVuIHdlIGNsaWNrIG9uIHBhcmVudCBjb250YWluZXIgd2hpY2ggaXMgdGhlIEZvcm1GaWVsZCBXcmFwcGluZyB0aGlzXG4gICAgICogY29udHJvbFxuICAgICAqL1xuICAgIGFic3RyYWN0IG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmb3JtTWVzc2FnZTogTnVsbGFibGU8Rm9ybUlucHV0TWVzc2FnZUdyb3VwQ29tcG9uZW50PjtcblxuICAgIC8qKlxuICAgICAqIEVhY2ggaW5wdXQgY29udHJvbCBoYXMgYWx3YXlzIGEgdmFsdWUuIE5lZWQgdG8gbWFrZSBzdXJlIHdlIGtlZXAgYSBjb252ZW50aW9uIGZvclxuICAgICAqIGlucHV0IGZpZWxkc1xuICAgICAqL1xuICAgIHZhbHVlOiBUIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE5lZWQgdG8gaGF2ZSBhIHdheSB0byBzZXQgcGxhY2Vob2xkZXIgdG8gdGhlIGlucHV0XG4gICAgICovXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE5lZWQgdG8gaGF2ZSBhIHdheSB0byBzZXQgTWFuZGF0b3J5IHRvIHRoZSBpbnB1dCBmaWVsZFxuICAgICAqL1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2V0cyBpZCBmcm9tIEZGIHRvIElucHV0XG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgc2hvdWxkIGJlIGNvbWluZyBmcm9tIFBhcmVudC5cbiAgICAgKi9cbiAgICBlZGl0YWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBoZWlnaHQgb2YgdGhlIGV4dHJhIGNvbnRlbnQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZm9ybSBjb250cm9sLFxuICAgICAqIHdoaWNoIHNob3VsZCBub3QgYWZmZWN0IHRoZSBhbGlnbm1lbnQgb2YgZm9ybSBjb250cm9sIGFuZCBpdCdzIGxhYmVsXG4gICAgICovXG4gICAgZXh0cmFDb250ZW50SGVpZ2h0UHg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEZvcm0gRmllbGQgbGlzdGVuIGZvciBhbGwgdGhlIGNoYW5nZXMgaGFwcGVuaW5nIGluc2lkZSB0aGUgaW5wdXRcbiAgICAgKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiAgRWFjaCBpbnB1dCBzaG91bGQgaW5qZWN0IGl0cyBvd24gbmdDb250cm9sIGFuZCB3ZSBzaG91bGQgcmV0cmlldmUgaXRcbiAgICAgKi9cbiAgICByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgY29udHJvbCBpcyBkaXNhYmxlZC4gKi9cbiAgICByZWFkb25seSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEtlZXBzIHRyYWNrIGlmIHRoZSBmb3JtIGVsZW1lbnQgaXMgaW4gZm9jdXNcbiAgICAgKi9cbiAgICByZWFkb25seSBmb2N1c2VkOiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgY29udHJvbCBoYXMgZXJyb3JzICovXG4gICAgcmVhZG9ubHkgY29udHJvbEludmFsaWQ6IGJvb2xlYW47XG5cbiAgICAvKiogQ29ycmVzcG9uZGluZyBlbGVtZW50IHJlZmVyZW5jZS4gKi9cbiAgICByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIEZvcm0gZmllbGQgaW5zdGFuY2UuICovXG4gICAgZm9ybUZpZWxkOiBOdWxsYWJsZTxQbGF0Zm9ybUZvcm1GaWVsZD47XG59XG5cbi8qKlxuICogRm9ybUdyb3VwIGJhc2UgY2xhc3MuXG4gKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIHRvIGNyZWF0ZSBmb3JtIGdyb3VwIGNvbXBvbmVudHMuXG4gKlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUdyb3VwQ29udGFpbmVyIHtcbiAgICAvKipcbiAgICAgKiBBbmd1bGFyIEZvcm1Hcm91cCB3aGVyZSBhbGwgdW5kZXJseWluZyBjb250cm9scyB3aWxsIGJlIGF0dGFjaGVkIHRvLlxuICAgICAqL1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIC8qKlxuICAgICAqIFRyYW5zbGF0aW9ucyB0ZW1wbGF0ZSByZWZlcmVuY2UuXG4gICAgICovXG4gICAgaTE4U3RyaW5nczogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgd2hlbiBmb3JtIGlzIGVkaXRhYmxlLlxuICAgICAqL1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB3aGVuIGxhYmVscyBzaG91bGQgbm90IGJlIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBub0xhYmVsTGF5b3V0OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBsYWJlbCdzIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgbGFiZWxDb2x1bW5MYXlvdXQ6IENvbHVtbkxheW91dDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgZmllbGQncyBjb2x1bW4gbGF5b3V0LlxuICAgICAqL1xuICAgIGZpZWxkQ29sdW1uTGF5b3V0OiBDb2x1bW5MYXlvdXQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGdhcCBjb2x1bW4gbGF5b3V0LlxuICAgICAqL1xuICAgIGdhcENvbHVtbkxheW91dDogQ29sdW1uTGF5b3V0O1xuXG4gICAgLyoqXG4gICAgICogRm9ybSdzIG1haW4gdGl0bGUuXG4gICAgICovXG4gICAgbWFpblRpdGxlPzogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIEF0dGFjaCB1bmRlcmx5aW5nIGZvcm0gZmllbGQuXG4gICAgICovXG4gICAgYWRkRm9ybUZpZWxkOiAoZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBEZXRhY2ggdW5kZXJseWluZyBmb3JtIGZpZWxkLlxuICAgICAqL1xuICAgIHJlbW92ZUZvcm1GaWVsZDogKGZvcm1GaWVsZDogUGxhdGZvcm1Gb3JtRmllbGQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQXR0YWNoIGZvcm1Db250cm9sLlxuICAgICAqL1xuICAgIGFkZEZvcm1Db250cm9sOiAobmFtZTogc3RyaW5nLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogRGV0YWNoIGZvcm0gZm9ybUNvbnRyb2wuXG4gICAgICovXG4gICAgcmVtb3ZlRm9ybUNvbnRyb2w6IChuYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQXR0YWNoIHVuZGVybHlpbmcgZm9ybSBmaWVsZCBncm91cC5cbiAgICAgKi9cbiAgICBhZGRGb3JtRmllbGRHcm91cDogKGZvcm1GaWVsZEdyb3VwOiBGb3JtRmllbGRHcm91cCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBEZXRhY2ggdW5kZXJseWluZyBmb3JtIGZpZWxkIGdyb3VwLlxuICAgICAqL1xuICAgIHJlbW92ZUZvcm1GaWVsZEdyb3VwOiAoZm9ybUZpZWxkR3JvdXA6IEZvcm1GaWVsZEdyb3VwKSA9PiB2b2lkO1xufVxuIl19
@@ -2,7 +2,7 @@
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Host, Inject, Input, Optional, Output, Self, SkipSelf, ViewEncapsulation } from '@angular/core';
3
3
  import { ControlContainer, NgControl, NgForm, FormsModule } from '@angular/forms';
4
4
  import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
5
- import { SliderComponent as SliderComponent_1 } from '@fundamental-ngx/core/slider';
5
+ import { SliderComponent as CoreSliderComponent } from '@fundamental-ngx/core/slider';
6
6
  import { BaseInput, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/forms";
@@ -71,11 +71,11 @@ export class SliderComponent extends BaseInput {
71
71
  this.sliderChange.emit(event);
72
72
  }
73
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SliderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.ControlContainer, optional: true, skipSelf: true }, { token: i1.NgForm, optional: true, skipSelf: true }, { token: FD_FORM_FIELD, host: true, optional: true, skipSelf: true }, { token: FD_FORM_FIELD_CONTROL, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SliderComponent, isStandalone: true, selector: "fdp-slider", inputs: { class: "class", min: "min", max: "max", step: "step", jump: "jump", tickmarksBetweenLabels: "tickmarksBetweenLabels", mode: "mode", showTicks: "showTicks", showTicksLabels: "showTicksLabels", customValues: "customValues", tooltipMode: "tooltipMode", hideProgressBar: "hideProgressBar", vertical: "vertical", value: "value" }, outputs: { sliderChange: "sliderChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: SliderComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<fd-slider\n [id]=\"id\"\n [class]=\"class\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [jump]=\"jump\"\n [mode]=\"mode\"\n [disabled]=\"disabled\"\n [showTicks]=\"showTicks\"\n [showTicksLabels]=\"showTicksLabels\"\n [tickmarksBetweenLabels]=\"tickmarksBetweenLabels\"\n [customValues]=\"customValues\"\n [tooltipMode]=\"tooltipMode\"\n [hideProgressBar]=\"hideProgressBar\"\n [ngModel]=\"value\"\n [vertical]=\"vertical\"\n (ngModelChange)=\"_onModelChange($event)\"\n></fd-slider>\n", dependencies: [{ kind: "component", type: SliderComponent_1, selector: "fd-slider", inputs: ["id", "class", "ariaLabelledBy", "ariaLabel", "min", "max", "step", "jump", "tickmarksBetweenLabels", "mode", "showTicks", "showTicksLabels", "customValues", "tooltipMode", "hideProgressBar", "disabled", "vertical", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SliderComponent, isStandalone: true, selector: "fdp-slider", inputs: { class: "class", min: "min", max: "max", step: "step", jump: "jump", tickmarksBetweenLabels: "tickmarksBetweenLabels", mode: "mode", showTicks: "showTicks", showTicksLabels: "showTicksLabels", customValues: "customValues", tooltipMode: "tooltipMode", hideProgressBar: "hideProgressBar", vertical: "vertical", value: "value" }, outputs: { sliderChange: "sliderChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: SliderComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<fd-slider\n [id]=\"id\"\n [class]=\"class\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [jump]=\"jump\"\n [mode]=\"mode\"\n [disabled]=\"disabled\"\n [showTicks]=\"showTicks\"\n [showTicksLabels]=\"showTicksLabels\"\n [tickmarksBetweenLabels]=\"tickmarksBetweenLabels\"\n [customValues]=\"customValues\"\n [tooltipMode]=\"tooltipMode\"\n [hideProgressBar]=\"hideProgressBar\"\n [ngModel]=\"value\"\n [vertical]=\"vertical\"\n (ngModelChange)=\"_onModelChange($event)\"\n></fd-slider>\n", dependencies: [{ kind: "component", type: CoreSliderComponent, selector: "fd-slider", inputs: ["id", "class", "ariaLabelledBy", "ariaLabel", "min", "max", "step", "jump", "tickmarksBetweenLabels", "mode", "showTicks", "showTicksLabels", "customValues", "tooltipMode", "hideProgressBar", "disabled", "vertical", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
75
75
  }
76
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SliderComponent, decorators: [{
77
77
  type: Component,
78
- args: [{ selector: 'fdp-slider', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: SliderComponent, multi: true }], standalone: true, imports: [SliderComponent_1, FormsModule], template: "<fd-slider\n [id]=\"id\"\n [class]=\"class\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [jump]=\"jump\"\n [mode]=\"mode\"\n [disabled]=\"disabled\"\n [showTicks]=\"showTicks\"\n [showTicksLabels]=\"showTicksLabels\"\n [tickmarksBetweenLabels]=\"tickmarksBetweenLabels\"\n [customValues]=\"customValues\"\n [tooltipMode]=\"tooltipMode\"\n [hideProgressBar]=\"hideProgressBar\"\n [ngModel]=\"value\"\n [vertical]=\"vertical\"\n (ngModelChange)=\"_onModelChange($event)\"\n></fd-slider>\n" }]
78
+ args: [{ selector: 'fdp-slider', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: SliderComponent, multi: true }], standalone: true, imports: [CoreSliderComponent, FormsModule], template: "<fd-slider\n [id]=\"id\"\n [class]=\"class\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [jump]=\"jump\"\n [mode]=\"mode\"\n [disabled]=\"disabled\"\n [showTicks]=\"showTicks\"\n [showTicksLabels]=\"showTicksLabels\"\n [tickmarksBetweenLabels]=\"tickmarksBetweenLabels\"\n [customValues]=\"customValues\"\n [tooltipMode]=\"tooltipMode\"\n [hideProgressBar]=\"hideProgressBar\"\n [ngModel]=\"value\"\n [vertical]=\"vertical\"\n (ngModelChange)=\"_onModelChange($event)\"\n></fd-slider>\n" }]
79
79
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
80
80
  type: Optional
81
81
  }, {
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
137
137
  }], value: [{
138
138
  type: Input
139
139
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixRQUFRLEVBQ1IsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRixPQUFPLEVBQWtCLGVBQWUsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQU0xRyxtQ0FBbUM7QUFDbkMsTUFBTSxPQUFPLGlCQUFpQjtDQUs3QjtBQVdELE1BQU0sT0FBTyxlQUFnQixTQUFRLFNBQVM7SUErRDFDLGNBQWM7SUFDZCxZQUNJLEVBQXFCLEVBQ3JCLFVBQXNCLEVBQ0YsU0FBb0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDaUIsU0FBNEIsRUFDcEIsV0FBcUM7UUFFcEcsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0s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TixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBU04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQU9HLFlBQVk7c0JBRHBCLE1BQU07Z0JBa0JILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdDb250cm9sLCBOZ0Zvcm0sIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRkRfRk9STV9GSUVMRCwgRkRfRk9STV9GSUVMRF9DT05UUk9MIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuXG5pbXBvcnQgeyBTbGlkZXJUaWNrTWFyaywgU2xpZGVyQ29tcG9uZW50IGFzIFNsaWRlckNvbXBvbmVudF8xIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NsaWRlcic7XG5pbXBvcnQgeyBCYXNlSW5wdXQsIFBsYXRmb3JtRm9ybUZpZWxkLCBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5cbmV4cG9ydCB0eXBlIFNsaWRlckN1c3RvbVZhbHVlID0gT21pdDxTbGlkZXJUaWNrTWFyaywgJ3Bvc2l0aW9uJz47XG5cbmV4cG9ydCB0eXBlIFNsaWRlckNvbnRyb2xWYWx1ZSA9IG51bWJlciB8IG51bWJlcltdIHwgU2xpZGVyVGlja01hcmsgfCBTbGlkZXJUaWNrTWFya1tdO1xuXG4vKiogU3dpdGNoIGNoYW5nZSBldmVudCBpbnN0YW5jZSAqL1xuZXhwb3J0IGNsYXNzIFNsaWRlckNoYW5nZUV2ZW50PFQgZXh0ZW5kcyBTbGlkZXJDb250cm9sVmFsdWUgPSBhbnk+IHtcbiAgICAvKiogVGhlIHNvdXJjZSBTbGlkZXIgb2YgdGhlIGV2ZW50LiAqL1xuICAgIHNvdXJjZTogU2xpZGVyQ29tcG9uZW50O1xuICAgIC8qKiBUaGUgbmV3IGBwYXlsb2FkYCB2YWx1ZSBvZiB0aGUgc2xpZGVyLiAqL1xuICAgIHBheWxvYWQ6IFQ7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXNsaWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZEX0ZPUk1fRklFTERfQ09OVFJPTCwgdXNlRXhpc3Rpbmc6IFNsaWRlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbU2xpZGVyQ29tcG9uZW50XzEsIEZvcm1zTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXQge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogTWluaW11bSB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1pbiA9IDA7XG5cbiAgICAvKiogTWF4aW11bSB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1heCA9IDEwMDtcblxuICAgIC8qKiBTdGVwIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RlcCA9IDE7XG5cbiAgICAvKiogSnVtcCB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGp1bXAgPSAxMDtcblxuICAgIC8qKiBQdXQgYSBsYWJlbCBvbiBldmVyeSBOLXRoIHRpY2ttYXJrLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGlja21hcmtzQmV0d2VlbkxhYmVscyA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBTbGlkZXIgbW9kZS5cbiAgICAgKiBPcHRpb25zIGluY2x1ZGU6ICdzaW5nbGUnIHwgJ3JhbmdlJ1xuICAgICAqIFRoZSBkZWZhdWx0IGlzIHNldCB0byAnc2luZ2xlJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9kZTogJ3NpbmdsZScgfCAncmFuZ2UnID0gJ3NpbmdsZSc7XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aWNrIG1hcmtzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1RpY2tzID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aWNrIG1hcmsgbGFiZWxzLiBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCAnc2hvd1RpY2tzJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1RpY2tzTGFiZWxzID0gZmFsc2U7XG5cbiAgICAvKiogQXJyYXkgb2YgY3VzdG9tIHZhbHVlcyB0byB1c2UgZm9yIFNsaWRlci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGN1c3RvbVZhbHVlczogU2xpZGVyQ3VzdG9tVmFsdWVbXSA9IFtdO1xuXG4gICAgLyoqIFRvb2x0aXAgY2FuIGJlIHR3byB0eXBlcywgJ3JlYWRvbmx5JyB0byBkaXNwbGF5IHZhbHVlIGFuZCAnZWRpdGFibGUnIHRvIG1ha2UgdGhlIGFiaWxpdHkgdG8gc2V0IGFuZCBkaXNwbGF5IHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdG9vbHRpcE1vZGU6ICdyZWFkb25seScgfCAnZWRpdGFibGUnO1xuXG4gICAgLyoqIEhpZGVzIGRpc3BsYXkgb2YgY29sb3JlZCBwcm9ncmVzcyBiYXIuICovXG4gICAgQElucHV0KClcbiAgICBoaWRlUHJvZ3Jlc3NCYXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBzbGlkZXIgc2hvdWxkIGJlIHJlbmRlcmVkIHZlcnRpY2FsbHkuICovXG4gICAgQElucHV0KClcbiAgICB2ZXJ0aWNhbCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEV2ZW50IGZpcmVkIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSBzbGlkZXIgY2hhbmdlcy5cbiAgICAgKiAqJGV2ZW50KiBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgbmV3IHN0YXRlIG9mIHRoZSBzbGlkZXIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2xpZGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTbGlkZXJDaGFuZ2VFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgbmdGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBIb3N0KCkgQEluamVjdChGRF9GT1JNX0ZJRUxEKSBmb3JtRmllbGQ6IFBsYXRmb3JtRm9ybUZpZWxkLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRF9DT05UUk9MKSBmb3JtQ29udHJvbDogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNkLCBlbGVtZW50UmVmLCBuZ0NvbnRyb2wsIGNvbnRyb2xDb250YWluZXIsIG5nRm9ybSwgZm9ybUZpZWxkLCBmb3JtQ29udHJvbCk7XG4gICAgfVxuXG4gICAgLyoqIHZhbHVlIGZvciBzbGlkZXIgY29udHJvbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHNlbGVjdFZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShzZWxlY3RWYWx1ZSk7XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uTW9kZWxDaGFuZ2UobW9kZWxWYWx1ZTogU2xpZGVyQ29udHJvbFZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VFdmVudChtb2RlbFZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgnU2xpZGVyOiBvblZhbHVlQ2hhbmdlJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBNZXRob2QgdG8gZW1pdCBjaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlRXZlbnQobW9kZWxWYWx1ZTogU2xpZGVyQ29udHJvbFZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IFNsaWRlckNoYW5nZUV2ZW50KCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIGV2ZW50LnBheWxvYWQgPSBtb2RlbFZhbHVlO1xuXG4gICAgICAgIC8vIHNldHRpbmcgdmFsdWUsIGl0IHdpbGwgY2FsbCBzZXRWYWx1ZSgpXG4gICAgICAgIHRoaXMudmFsdWUgPSBtb2RlbFZhbHVlO1xuICAgICAgICB0aGlzLnNsaWRlckNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG59XG4iLCI8ZmQtc2xpZGVyXG4gICAgW2lkXT1cImlkXCJcbiAgICBbY2xhc3NdPVwiY2xhc3NcIlxuICAgIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXJpYUxhYmVsbGVkQnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgIFttaW5dPVwibWluXCJcbiAgICBbbWF4XT1cIm1heFwiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgW2p1bXBdPVwianVtcFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbc2hvd1RpY2tzXT1cInNob3dUaWNrc1wiXG4gICAgW3Nob3dUaWNrc0xhYmVsc109XCJzaG93VGlja3NMYWJlbHNcIlxuICAgIFt0aWNrbWFya3NCZXR3ZWVuTGFiZWxzXT1cInRpY2ttYXJrc0JldHdlZW5MYWJlbHNcIlxuICAgIFtjdXN0b21WYWx1ZXNdPVwiY3VzdG9tVmFsdWVzXCJcbiAgICBbdG9vbHRpcE1vZGVdPVwidG9vbHRpcE1vZGVcIlxuICAgIFtoaWRlUHJvZ3Jlc3NCYXJdPVwiaGlkZVByb2dyZXNzQmFyXCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgW3ZlcnRpY2FsXT1cInZlcnRpY2FsXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJfb25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbj48L2ZkLXNsaWRlcj5cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixRQUFRLEVBQ1IsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRixPQUFPLEVBQWtCLGVBQWUsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQU0xRyxtQ0FBbUM7QUFDbkMsTUFBTSxPQUFPLGlCQUFpQjtDQUs3QjtBQVdELE1BQU0sT0FBTyxlQUFnQixTQUFRLFNBQVM7SUErRDFDLGNBQWM7SUFDZCxZQUNJLEVBQXFCLEVBQ3JCLFVBQXNCLEVBQ0YsU0FBb0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDaUIsU0FBNEIsRUFDcEIsV0FBcUM7UUFFcEcsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0s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TixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBU04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQU9HLFlBQVk7c0JBRHBCLE1BQU07Z0JBa0JILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdDb250cm9sLCBOZ0Zvcm0sIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRkRfRk9STV9GSUVMRCwgRkRfRk9STV9GSUVMRF9DT05UUk9MIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuXG5pbXBvcnQgeyBTbGlkZXJUaWNrTWFyaywgU2xpZGVyQ29tcG9uZW50IGFzIENvcmVTbGlkZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2xpZGVyJztcbmltcG9ydCB7IEJhc2VJbnB1dCwgUGxhdGZvcm1Gb3JtRmllbGQsIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcblxuZXhwb3J0IHR5cGUgU2xpZGVyQ3VzdG9tVmFsdWUgPSBPbWl0PFNsaWRlclRpY2tNYXJrLCAncG9zaXRpb24nPjtcblxuZXhwb3J0IHR5cGUgU2xpZGVyQ29udHJvbFZhbHVlID0gbnVtYmVyIHwgbnVtYmVyW10gfCBTbGlkZXJUaWNrTWFyayB8IFNsaWRlclRpY2tNYXJrW107XG5cbi8qKiBTd2l0Y2ggY2hhbmdlIGV2ZW50IGluc3RhbmNlICovXG5leHBvcnQgY2xhc3MgU2xpZGVyQ2hhbmdlRXZlbnQ8VCBleHRlbmRzIFNsaWRlckNvbnRyb2xWYWx1ZSA9IGFueT4ge1xuICAgIC8qKiBUaGUgc291cmNlIFNsaWRlciBvZiB0aGUgZXZlbnQuICovXG4gICAgc291cmNlOiBTbGlkZXJDb21wb25lbnQ7XG4gICAgLyoqIFRoZSBuZXcgYHBheWxvYWRgIHZhbHVlIG9mIHRoZSBzbGlkZXIuICovXG4gICAgcGF5bG9hZDogVDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtc2xpZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRkRfRk9STV9GSUVMRF9DT05UUk9MLCB1c2VFeGlzdGluZzogU2xpZGVyQ29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb3JlU2xpZGVyQ29tcG9uZW50LCBGb3Jtc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0IHtcbiAgICAvKiogVXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIE1pbmltdW0gdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBtaW4gPSAwO1xuXG4gICAgLyoqIE1heGltdW0gdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBtYXggPSAxMDA7XG5cbiAgICAvKiogU3RlcCB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHN0ZXAgPSAxO1xuXG4gICAgLyoqIEp1bXAgdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBqdW1wID0gMTA7XG5cbiAgICAvKiogUHV0IGEgbGFiZWwgb24gZXZlcnkgTi10aCB0aWNrbWFyay4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRpY2ttYXJrc0JldHdlZW5MYWJlbHMgPSAxO1xuXG4gICAgLyoqXG4gICAgICogU2xpZGVyIG1vZGUuXG4gICAgICogT3B0aW9ucyBpbmNsdWRlOiAnc2luZ2xlJyB8ICdyYW5nZSdcbiAgICAgKiBUaGUgZGVmYXVsdCBpcyBzZXQgdG8gJ3NpbmdsZSdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG1vZGU6ICdzaW5nbGUnIHwgJ3JhbmdlJyA9ICdzaW5nbGUnO1xuXG4gICAgLyoqIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgb2YgdGljayBtYXJrcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dUaWNrcyA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgb2YgdGljayBtYXJrIGxhYmVscy4gTXVzdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggJ3Nob3dUaWNrcycgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dUaWNrc0xhYmVscyA9IGZhbHNlO1xuXG4gICAgLyoqIEFycmF5IG9mIGN1c3RvbSB2YWx1ZXMgdG8gdXNlIGZvciBTbGlkZXIuICovXG4gICAgQElucHV0KClcbiAgICBjdXN0b21WYWx1ZXM6IFNsaWRlckN1c3RvbVZhbHVlW10gPSBbXTtcblxuICAgIC8qKiBUb29sdGlwIGNhbiBiZSB0d28gdHlwZXMsICdyZWFkb25seScgdG8gZGlzcGxheSB2YWx1ZSBhbmQgJ2VkaXRhYmxlJyB0byBtYWtlIHRoZSBhYmlsaXR5IHRvIHNldCBhbmQgZGlzcGxheSB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRvb2x0aXBNb2RlOiAncmVhZG9ubHknIHwgJ2VkaXRhYmxlJztcblxuICAgIC8qKiBIaWRlcyBkaXNwbGF5IG9mIGNvbG9yZWQgcHJvZ3Jlc3MgYmFyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZVByb2dyZXNzQmFyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgc2xpZGVyIHNob3VsZCBiZSByZW5kZXJlZCB2ZXJ0aWNhbGx5LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmVydGljYWwgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBFdmVudCBmaXJlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgc2xpZGVyIGNoYW5nZXMuXG4gICAgICogKiRldmVudCogY2FuIGJlIHVzZWQgdG8gcmV0cmlldmUgdGhlIG5ldyBzdGF0ZSBvZiB0aGUgc2xpZGVyLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNsaWRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2xpZGVyQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRCkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTCkgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFxuICAgICkge1xuICAgICAgICBzdXBlcihjZCwgZWxlbWVudFJlZiwgbmdDb250cm9sLCBjb250cm9sQ29udGFpbmVyLCBuZ0Zvcm0sIGZvcm1GaWVsZCwgZm9ybUNvbnRyb2wpO1xuICAgIH1cblxuICAgIC8qKiB2YWx1ZSBmb3Igc2xpZGVyIGNvbnRyb2wgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB2YWx1ZShzZWxlY3RWYWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUoc2VsZWN0VmFsdWUpO1xuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbk1vZGVsQ2hhbmdlKG1vZGVsVmFsdWU6IFNsaWRlckNvbnRyb2xWYWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQobW9kZWxWYWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ1NsaWRlcjogb25WYWx1ZUNoYW5nZScpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogTWV0aG9kIHRvIGVtaXQgY2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUV2ZW50KG1vZGVsVmFsdWU6IFNsaWRlckNvbnRyb2xWYWx1ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBTbGlkZXJDaGFuZ2VFdmVudCgpO1xuICAgICAgICBldmVudC5zb3VyY2UgPSB0aGlzO1xuICAgICAgICBldmVudC5wYXlsb2FkID0gbW9kZWxWYWx1ZTtcblxuICAgICAgICAvLyBzZXR0aW5nIHZhbHVlLCBpdCB3aWxsIGNhbGwgc2V0VmFsdWUoKVxuICAgICAgICB0aGlzLnZhbHVlID0gbW9kZWxWYWx1ZTtcbiAgICAgICAgdGhpcy5zbGlkZXJDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxufVxuIiwiPGZkLXNsaWRlclxuICAgIFtpZF09XCJpZFwiXG4gICAgW2NsYXNzXT1cImNsYXNzXCJcbiAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2FyaWFMYWJlbGxlZEJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW21heF09XCJtYXhcIlxuICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgIFtqdW1wXT1cImp1bXBcIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3Nob3dUaWNrc109XCJzaG93VGlja3NcIlxuICAgIFtzaG93VGlja3NMYWJlbHNdPVwic2hvd1RpY2tzTGFiZWxzXCJcbiAgICBbdGlja21hcmtzQmV0d2VlbkxhYmVsc109XCJ0aWNrbWFya3NCZXR3ZWVuTGFiZWxzXCJcbiAgICBbY3VzdG9tVmFsdWVzXT1cImN1c3RvbVZhbHVlc1wiXG4gICAgW3Rvb2x0aXBNb2RlXT1cInRvb2x0aXBNb2RlXCJcbiAgICBbaGlkZVByb2dyZXNzQmFyXT1cImhpZGVQcm9ncmVzc0JhclwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIFt2ZXJ0aWNhbF09XCJ2ZXJ0aWNhbFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiX29uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4+PC9mZC1zbGlkZXI+XG4iXX0=
@@ -215,11 +215,11 @@ export class SmartFilterBarConditionsDialogComponent {
215
215
  ];
216
216
  }
217
217
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SmartFilterBarConditionsDialogComponent, deps: [{ token: i1.DialogRef }, { token: FD_LANGUAGE }, { token: i0.ChangeDetectorRef }, { token: i2.SmartFilterBarService }], target: i0.ɵɵFactoryTarget.Component }); }
218
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SmartFilterBarConditionsDialogComponent, selector: "fdp-smart-filter-bar-conditions-dialog", viewQueries: [{ propertyName: "formGenerators", predicate: FormGeneratorComponent, descendants: true }], ngImport: i0, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"applyConditions()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n >\n </fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.FormGeneratorComponent, selector: "fdp-form-generator", inputs: ["formName", "formItems", "mainTitle", "hideMainTItle", "hint", "columnLayout", "labelColumnLayout", "fieldColumnLayout", "gapColumnLayout", "unifiedLayout", "inlineColumnLayout", "noAdditionalContent"], outputs: ["formCreated", "formSubmitted", "formSubmittedStatus"] }, { kind: "component", type: i6.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i7.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i8.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i8.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i8.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i11.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i11.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i11.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "pipe", type: i12.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
218
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SmartFilterBarConditionsDialogComponent, selector: "fdp-smart-filter-bar-conditions-dialog", viewQueries: [{ propertyName: "formGenerators", predicate: FormGeneratorComponent, descendants: true }], ngImport: i0, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"applyConditions()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n >\n </fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div [style.text-align]=\"'center'\" [style.margin.rem]=\"1\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.FormGeneratorComponent, selector: "fdp-form-generator", inputs: ["formName", "formItems", "mainTitle", "hideMainTItle", "hint", "columnLayout", "labelColumnLayout", "fieldColumnLayout", "gapColumnLayout", "unifiedLayout", "inlineColumnLayout", "noAdditionalContent"], outputs: ["formCreated", "formSubmitted", "formSubmittedStatus"] }, { kind: "component", type: i6.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i7.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i8.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i8.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i8.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i11.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i11.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i11.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "pipe", type: i12.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
219
219
  }
220
220
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SmartFilterBarConditionsDialogComponent, decorators: [{
221
221
  type: Component,
222
- args: [{ selector: 'fdp-smart-filter-bar-conditions-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"applyConditions()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n >\n </fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n" }]
222
+ args: [{ selector: 'fdp-smart-filter-bar-conditions-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"applyConditions()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n >\n </fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div [style.text-align]=\"'center'\" [style.margin.rem]=\"1\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n" }]
223
223
  }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i13.Observable, decorators: [{
224
224
  type: Inject,
225
225
  args: [FD_LANGUAGE]
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
227
227
  type: ViewChildren,
228
228
  args: [FormGeneratorComponent]
229
229
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBcUIsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBdUMsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRbEQsTUFBTSxPQUFP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QUUsS0FBSztvQkFDYixNQUFNLEVBQUUsQ0FBQztvQkFDVCxhQUFhLEVBQUUsSUFBSTtpQkFDdEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzhHQXhQUSx1Q0FBdUMsMkNBZ0RwQyxXQUFXO2tHQWhEZCx1Q0FBdUMsaUhBYWxDLHNCQUFzQixnREN4Q3hDLDJnR0F1RUE7OzJGRDVDYSx1Q0FBdUM7a0JBTm5ELFNBQVM7K0JBQ0ksd0NBQXdDLGlCQUVuQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrRDFDLE1BQU07MkJBQUMsV0FBVztnSEFsQ3ZCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmlsdGVyQWxsU3RyYXRlZ3ksIEZJTFRFUl9TVFJBVEVHWSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db250cm9sLCBEeW5hbWljRm9ybUl0ZW0sIEZvcm1HZW5lcmF0b3JDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL2Zvcm0nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJDb25kaXRpb24sIFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFNlbGVjdEl0ZW1WYWx1ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RyYXRlZ3ktbGFiZWxzLnR5cGUnO1xuaW1wb3J0IHsgRmRMYW5ndWFnZSwgRkRfTEFOR1VBR0UsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJCYXJDb25kaXRpb25zRGlhbG9nQ29tcG9uZW50IHtcbiAgICAvKiogQ29uZGl0aW9uIGJ1aWxkZXIgY29uZmlnLiAqL1xuICAgIGNvbmZpZzogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25CdWlsZGVyO1xuXG4gICAgLyoqIEF2YWlsYWJsZSBjb25kaXRpb24gb3BlcmF0b3Igb3B0aW9ucy4gKi9cbiAgICBjb25kaXRpb25PcGVyYXRvck9wdGlvbnM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZm9ybUl0ZW1zOiBEeW5hbWljRm9ybUl0ZW1bXVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZWQgY29uZGl0aW9uIGZvcm1zLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oRm9ybUdlbmVyYXRvckNvbXBvbmVudClcbiAgICBmb3JtR2VuZXJhdG9ycyE6IFF1ZXJ5TGlzdDxGb3JtR2VuZXJhdG9yQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbG9hZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbmRpdGlvbkxhYmVsS2V5czogU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyA9IHtcbiAgICAgICAgY29udGFpbnM6ICdmaWx0ZXJDb25kaXRpb25Db250YWlucycsXG4gICAgICAgIGVxdWFsVG86ICdmaWx0ZXJDb25kaXRpb25FcXVhbFRvJyxcbiAgICAgICAgYmV0d2VlbjogJ2ZpbHRlckNvbmRpdGlvbkJldHdlZW4nLFxuICAgICAgICBiZWdpbnNXaXRoOiAnZmlsdGVyQ29uZGl0aW9uQmVnaW5zV2l0aCcsXG4gICAgICAgIGVuZHNXaXRoOiAnZmlsdGVyQ29uZGl0aW9uRW5kc1dpdGgnLFxuICAgICAgICBsZXNzVGhhbjogJ2ZpbHRlckNvbmRpdGlvbkxlc3NUaGFuJyxcbiAgICAgICAgbGVzc1RoYW5PckVxdWFsVG86ICdmaWx0ZXJDb25kaXRpb25MZXNzVGhhbk9yRXF1YWxUbycsXG4gICAgICAgIGdyZWF0ZXJUaGFuOiAnZmlsdGVyQ29uZGl0aW9uR3JlYXRlclRoYW4nLFxuICAgICAgICBncmVhdGVyVGhhbk9yRXF1YWxUbzogJ2ZpbHRlckNvbmRpdGlvbkdyZWF0ZXJUaGFuT3JFcXVhbFRvJyxcbiAgICAgICAgYWZ0ZXI6ICdmaWx0ZXJDb25kaXRpb25BZnRlcicsXG4gICAgICAgIG9uT3JBZnRlcjogJ2ZpbHRlckNvbmRpdGlvbk9uT3JBZnRlcicsXG4gICAgICAgIGJlZm9yZTogJ2ZpbHRlckNvbmRpdGlvbkJlZm9yZScsXG4gICAgICAgIGJlZm9yZU9yT246ICdmaWx0ZXJDb25kaXRpb25CZWZvcmVPck9uJ1xuICAgIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1Ym1pdHRlZEZvcm1zOiBhbnlbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sYW5ndWFnZTogRmRMYW5ndWFnZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRpb25SZXNvbHZlciA9IG5ldyBUcmFuc2xhdGlvblJlc29sdmVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dSZWY6IERpYWxvZ1JlZjxTbWFydEZpbHRlckJhckNvbmRpdGlvbkJ1aWxkZXIsIFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW10+LFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIHJlYWRvbmx5IF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3NtYXJ0RmlsdGVyQmFyU2VydmljZTogU21hcnRGaWx0ZXJCYXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgYXN5bmMgX2luaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5fZGlhbG9nUmVmLmRhdGE7XG5cbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9sYW5ndWFnZSQpO1xuICAgICAgICB0aGlzLmNvbmRpdGlvbk9wZXJhdG9yT3B0aW9ucyA9IGF3YWl0IHRoaXMuX2dldEFwcGxpY2FibGVDb25kaXRpb25PcGVyYXRvcnMoKTtcblxuICAgICAgICB0aGlzLl9hZGRFeGlzdGluZ0NvbmRpdGlvbnMoZ2V0U2VsZWN0SXRlbVZhbHVlKHRoaXMuY29uZmlnLmNvbmRpdGlvbnMpKTtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcuY29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vIEFkZCBmaXJzdCBlbXB0eSBjb25kaXRpb25cbiAgICAgICAgICAgIHRoaXMuYWRkQ29uZGl0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBlbXB0eSBjb25kaXRpb24uXG4gICAgICovXG4gICAgYWRkQ29uZGl0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSXRlbXMucHVzaCh0aGlzLl9nZW5lcmF0ZUZvcm1HZW5lcmF0b3JJdGVtcygpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGNvbmRpdGlvbiBhdCBkZWZpbmVkIGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIHRoZSBjb25kaXRpb24gaW4gdGhlIGFycmF5LlxuICAgICAqL1xuICAgIHJlbW92ZUNvbmRpdGlvbihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1JdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIGlmICh0aGlzLl9mb3JtSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFkZENvbmRpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3VibWl0cyBhbGwgY29uZGl0aW9uIGZvcm1zLlxuICAgICAqL1xuICAgIGFwcGx5Q29uZGl0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkRm9ybXMgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JtR2VuZXJhdG9ycy50b0FycmF5KCkuZm9yRWFjaCgoZm9ybUdlbmVyYXRvcikgPT4gZm9ybUdlbmVyYXRvci5zdWJtaXQoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gZm9ybSBnZW5lcmF0b3IgZm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQuXG4gICAgICogV2lsbCBjbG9zZSBkaWFsb2cgaW4gY2FzZSBpZiBhbGwgZm9ybXMgYXJlIHZhbGlkLlxuICAgICAqIEBwYXJhbSBmb3JtIEZvcm0gZ2VuZXJhdG9yIGZvcm0gdmFsdWUuXG4gICAgICovXG4gICAgX29uRm9ybVN1Ym1pdHRlZChmb3JtOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJtaXR0ZWRGb3Jtcy5wdXNoKGZvcm0pO1xuXG4gICAgICAgIGlmICh0aGlzLl9zdWJtaXR0ZWRGb3Jtcy5sZW5ndGggIT09IHRoaXMuZm9ybUdlbmVyYXRvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3Jtc1Jlc3VsdCA9IHRoaXMuX3N1Ym1pdHRlZEZvcm1zLm1hcCgoZikgPT4ge1xuICAgICAgICAgICAgZi52YWx1ZSA9IGYudmFsdWUxICE9PSB1bmRlZmluZWQgPyBmLnZhbHVlMSA6IGYudmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gZjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKFxuICAgICAgICAgICAgZm9ybXNSZXN1bHQuZmlsdGVyKChjOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbikgPT4gYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGMudmFsdWUgIT09IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuZGlzbWlzcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZXR1cm5zIGFwcGxpY2FibGUgY29uZGl0aW9uIG9wdGlvbnMgb2YgdGhlIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBhcHBsaWNhYmxlIGNvbmRpdGlvbiBvcHRpb25zLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldEFwcGxpY2FibGVDb25kaXRpb25PcGVyYXRvcnMoKTogU2VsZWN0SXRlbVtdIHtcbiAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9zbWFydEZpbHRlckJhclNlcnZpY2UuZ2V0QXBwbGljYWJsZUZpbHRlckNvbmRpdGlvbnMoXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZGF0YVR5cGVcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBsYWJlbHNDb25maWcgPSB7IC4uLnRoaXMuX2NvbmRpdGlvbkxhYmVsS2V5cyB9O1xuICAgICAgICBmb3IgKGNvbnN0IHN0cmF0ZWd5SXRlbSBpbiBsYWJlbHNDb25maWcpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobGFiZWxzQ29uZmlnLCBzdHJhdGVneUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBsYWJlbHNDb25maWdbc3RyYXRlZ3lJdGVtXTtcbiAgICAgICAgICAgICAgICBsYWJlbHNDb25maWdbc3RyYXRlZ3lJdGVtXSA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLicgKyB0cmFuc2xhdGlvbktleVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RyYXRlZ3kubWFwKChzOiBGaWx0ZXJBbGxTdHJhdGVneSkgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBsYWJlbHNDb25maWchW3NdLFxuICAgICAgICAgICAgdmFsdWU6IHNcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZmlsdGVyIGNvbmRpdGlvbnMgaW50byBmb3JtIGdlbmVyYXRvciBmb3JtIGl0ZW1zIGFycmF5LlxuICAgICAqIEBwYXJhbSBjb25kaXRpb25zIGV4aXN0aW5nIHNtYXJ0IGZpbHRlciBiYXIgZmlsdGVyIGNvbmRpdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYWRkRXhpc3RpbmdDb25kaXRpb25zKGNvbmRpdGlvbnM6IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgY29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbkdyb3VwID0gdGhpcy5fZ2VuZXJhdGVGb3JtR2VuZXJhdG9ySXRlbXMoY29uZGl0aW9uKTtcblxuICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1zLnB1c2goY29uZGl0aW9uR3JvdXApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlRm9ybUdlbmVyYXRvckl0ZW1zKGNvbmRpdGlvbj86IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uKTogRHluYW1pY0Zvcm1JdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdvcGVyYXRvcicsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ29wZXJhdG9yJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbmRpdGlvbk9wZXJhdG9yT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSBjb25kaXRpb24ub3BlcmF0b3IpPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zWzBdLnZhbHVlLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAxLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogY29uZGl0aW9uPy52YWx1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlUGxhY2Vob2xkZXInXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb25maWcuY29udHJvbFR5cGUsXG4gICAgICAgICAgICAgICAgd2hlbjogKHZhbHVlKSA9PiB2YWx1ZS5vcGVyYXRvciAhPT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6ICh2YWx1ZSwgXywgY29udHJvbDogRHluYW1pY0Zvcm1Db250cm9sKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wucGFyZW50Py5nZXQoJ3ZhbHVlMScpPy5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDIsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IGNvbmRpdGlvbj8udmFsdWUsXG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5jb25maWcuZmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICBjaG9pY2VzOiB0aGlzLmNvbmZpZy5jaG9pY2VzLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLl90cmFuc2xhdGlvblJlc29sdmVyLnJlc29sdmUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1TbWFydEZpbHRlckJhci5maWx0ZXJDb25kaXRpb25WYWx1ZUZyb21QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlLm9wZXJhdG9yID09PSBGSUxURVJfU1RSQVRFR1kuQkVUV0VFTixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogKHZhbHVlLCBfLCBjb250cm9sOiBEeW5hbWljRm9ybUNvbnRyb2wpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5wYXJlbnQ/LmdldCgndmFsdWUnKT8uc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAyLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb24/LnZhbHVlMixcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlVG9QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlPy5vcGVyYXRvciA9PT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDMsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC1zbWFydC1maWx0ZXItYmFyX19jb25kaXRpb25zLWRpYWxvZ1wiPlxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8aDQgW2hlYWRlclNpemVdPVwiNFwiIGZkLXRpdGxlPnt7IGNvbmZpZy5oZWFkZXIgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIDxmb3JtICpuZ0lmPVwibG9hZGVkOyBlbHNlIGxvYWRpbmdUcGxcIj5cbiAgICAgICAgICAgIDxmZC1sYXlvdXQtZ3JpZCAqbmdGb3I9XCJsZXQgY29uZGl0aW9uIG9mIF9mb3JtSXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gd3JhcHBpbmcgXCJmb3JtU3VibWl0dGVkXCIgZXZlbnQgcGF5bG9hZCBhcyBhbnksIGJlY2F1c2UgaXQncyB0eXBlIGlzIG1vcmUgZ2VuZXJpYyB0aGFuIHdlJ3JlIGV4cGVjdGluZyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1nZW5lcmF0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybVN1Ym1pdHRlZCk9XCJfb25Gb3JtU3VibWl0dGVkKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtSXRlbXNdPVwiY29uZGl0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5pZmllZExheW91dF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uTGF5b3V0PVwiWEwzLUwzLU0zLVMzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9BZGRpdGlvbmFsQ29udGVudF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC1mb3JtLWdlbmVyYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtc21hcnQtZmlsdGVyLWJhcl9fYWN0aW9ucy1jb2x1bW5cIiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbmRpdGlvbihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zUmVtb3ZlQ29uZGl0aW9uQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNvbEdyb3cgZmRMYXlvdXRHcmlkQ29sPiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmRwLXNtYXJ0LWZpbHRlci1iYXJfX2FjdGlvbnMtY29sdW1uXCIgZmRMYXlvdXRHcmlkQ29sPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQ29uZGl0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zQWRkQ29uZGl0aW9uQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5Q29uZGl0aW9ucygpXCJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmRlZmluZUNvbmRpdGlvbnNTdWJtaXRCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1idXR0b24tYmFyPlxuXG4gICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAoY2xpY2spPVwiX2NhbmNlbCgpXCJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zQ2FuY2VsQnV0dG9uJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogMXJlbVwiPlxuICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwidHJ1ZVwiPjwvZmQtYnVzeS1pbmRpY2F0b3I+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBcUIsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBdUMsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRbEQsTUFBTSxPQUFP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QUUsS0FBSztvQkFDYixNQUFNLEVBQUUsQ0FBQztvQkFDVCxhQUFhLEVBQUUsSUFBSTtpQkFDdEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzhHQXhQUSx1Q0FBdUMsMkNBZ0RwQyxXQUFXO2tHQWhEZCx1Q0FBdUMsaUhBYWxDLHNCQUFzQixnREN4Q3hDLHloR0F1RUE7OzJGRDVDYSx1Q0FBdUM7a0JBTm5ELFNBQVM7K0JBQ0ksd0NBQXdDLGlCQUVuQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrRDFDLE1BQU07MkJBQUMsV0FBVztnSEFsQ3ZCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmlsdGVyQWxsU3RyYXRlZ3ksIEZJTFRFUl9TVFJBVEVHWSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db250cm9sLCBEeW5hbWljRm9ybUl0ZW0sIEZvcm1HZW5lcmF0b3JDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL2Zvcm0nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJDb25kaXRpb24sIFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFNlbGVjdEl0ZW1WYWx1ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RyYXRlZ3ktbGFiZWxzLnR5cGUnO1xuaW1wb3J0IHsgRmRMYW5ndWFnZSwgRkRfTEFOR1VBR0UsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJCYXJDb25kaXRpb25zRGlhbG9nQ29tcG9uZW50IHtcbiAgICAvKiogQ29uZGl0aW9uIGJ1aWxkZXIgY29uZmlnLiAqL1xuICAgIGNvbmZpZzogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25CdWlsZGVyO1xuXG4gICAgLyoqIEF2YWlsYWJsZSBjb25kaXRpb24gb3BlcmF0b3Igb3B0aW9ucy4gKi9cbiAgICBjb25kaXRpb25PcGVyYXRvck9wdGlvbnM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZm9ybUl0ZW1zOiBEeW5hbWljRm9ybUl0ZW1bXVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZWQgY29uZGl0aW9uIGZvcm1zLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oRm9ybUdlbmVyYXRvckNvbXBvbmVudClcbiAgICBmb3JtR2VuZXJhdG9ycyE6IFF1ZXJ5TGlzdDxGb3JtR2VuZXJhdG9yQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbG9hZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbmRpdGlvbkxhYmVsS2V5czogU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyA9IHtcbiAgICAgICAgY29udGFpbnM6ICdmaWx0ZXJDb25kaXRpb25Db250YWlucycsXG4gICAgICAgIGVxdWFsVG86ICdmaWx0ZXJDb25kaXRpb25FcXVhbFRvJyxcbiAgICAgICAgYmV0d2VlbjogJ2ZpbHRlckNvbmRpdGlvbkJldHdlZW4nLFxuICAgICAgICBiZWdpbnNXaXRoOiAnZmlsdGVyQ29uZGl0aW9uQmVnaW5zV2l0aCcsXG4gICAgICAgIGVuZHNXaXRoOiAnZmlsdGVyQ29uZGl0aW9uRW5kc1dpdGgnLFxuICAgICAgICBsZXNzVGhhbjogJ2ZpbHRlckNvbmRpdGlvbkxlc3NUaGFuJyxcbiAgICAgICAgbGVzc1RoYW5PckVxdWFsVG86ICdmaWx0ZXJDb25kaXRpb25MZXNzVGhhbk9yRXF1YWxUbycsXG4gICAgICAgIGdyZWF0ZXJUaGFuOiAnZmlsdGVyQ29uZGl0aW9uR3JlYXRlclRoYW4nLFxuICAgICAgICBncmVhdGVyVGhhbk9yRXF1YWxUbzogJ2ZpbHRlckNvbmRpdGlvbkdyZWF0ZXJUaGFuT3JFcXVhbFRvJyxcbiAgICAgICAgYWZ0ZXI6ICdmaWx0ZXJDb25kaXRpb25BZnRlcicsXG4gICAgICAgIG9uT3JBZnRlcjogJ2ZpbHRlckNvbmRpdGlvbk9uT3JBZnRlcicsXG4gICAgICAgIGJlZm9yZTogJ2ZpbHRlckNvbmRpdGlvbkJlZm9yZScsXG4gICAgICAgIGJlZm9yZU9yT246ICdmaWx0ZXJDb25kaXRpb25CZWZvcmVPck9uJ1xuICAgIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1Ym1pdHRlZEZvcm1zOiBhbnlbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sYW5ndWFnZTogRmRMYW5ndWFnZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRpb25SZXNvbHZlciA9IG5ldyBUcmFuc2xhdGlvblJlc29sdmVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dSZWY6IERpYWxvZ1JlZjxTbWFydEZpbHRlckJhckNvbmRpdGlvbkJ1aWxkZXIsIFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW10+LFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIHJlYWRvbmx5IF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3NtYXJ0RmlsdGVyQmFyU2VydmljZTogU21hcnRGaWx0ZXJCYXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgYXN5bmMgX2luaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5fZGlhbG9nUmVmLmRhdGE7XG5cbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9sYW5ndWFnZSQpO1xuICAgICAgICB0aGlzLmNvbmRpdGlvbk9wZXJhdG9yT3B0aW9ucyA9IGF3YWl0IHRoaXMuX2dldEFwcGxpY2FibGVDb25kaXRpb25PcGVyYXRvcnMoKTtcblxuICAgICAgICB0aGlzLl9hZGRFeGlzdGluZ0NvbmRpdGlvbnMoZ2V0U2VsZWN0SXRlbVZhbHVlKHRoaXMuY29uZmlnLmNvbmRpdGlvbnMpKTtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcuY29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vIEFkZCBmaXJzdCBlbXB0eSBjb25kaXRpb25cbiAgICAgICAgICAgIHRoaXMuYWRkQ29uZGl0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBlbXB0eSBjb25kaXRpb24uXG4gICAgICovXG4gICAgYWRkQ29uZGl0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSXRlbXMucHVzaCh0aGlzLl9nZW5lcmF0ZUZvcm1HZW5lcmF0b3JJdGVtcygpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGNvbmRpdGlvbiBhdCBkZWZpbmVkIGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIHRoZSBjb25kaXRpb24gaW4gdGhlIGFycmF5LlxuICAgICAqL1xuICAgIHJlbW92ZUNvbmRpdGlvbihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1JdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIGlmICh0aGlzLl9mb3JtSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFkZENvbmRpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3VibWl0cyBhbGwgY29uZGl0aW9uIGZvcm1zLlxuICAgICAqL1xuICAgIGFwcGx5Q29uZGl0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkRm9ybXMgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JtR2VuZXJhdG9ycy50b0FycmF5KCkuZm9yRWFjaCgoZm9ybUdlbmVyYXRvcikgPT4gZm9ybUdlbmVyYXRvci5zdWJtaXQoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gZm9ybSBnZW5lcmF0b3IgZm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQuXG4gICAgICogV2lsbCBjbG9zZSBkaWFsb2cgaW4gY2FzZSBpZiBhbGwgZm9ybXMgYXJlIHZhbGlkLlxuICAgICAqIEBwYXJhbSBmb3JtIEZvcm0gZ2VuZXJhdG9yIGZvcm0gdmFsdWUuXG4gICAgICovXG4gICAgX29uRm9ybVN1Ym1pdHRlZChmb3JtOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJtaXR0ZWRGb3Jtcy5wdXNoKGZvcm0pO1xuXG4gICAgICAgIGlmICh0aGlzLl9zdWJtaXR0ZWRGb3Jtcy5sZW5ndGggIT09IHRoaXMuZm9ybUdlbmVyYXRvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3Jtc1Jlc3VsdCA9IHRoaXMuX3N1Ym1pdHRlZEZvcm1zLm1hcCgoZikgPT4ge1xuICAgICAgICAgICAgZi52YWx1ZSA9IGYudmFsdWUxICE9PSB1bmRlZmluZWQgPyBmLnZhbHVlMSA6IGYudmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gZjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKFxuICAgICAgICAgICAgZm9ybXNSZXN1bHQuZmlsdGVyKChjOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbikgPT4gYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGMudmFsdWUgIT09IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuZGlzbWlzcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZXR1cm5zIGFwcGxpY2FibGUgY29uZGl0aW9uIG9wdGlvbnMgb2YgdGhlIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBhcHBsaWNhYmxlIGNvbmRpdGlvbiBvcHRpb25zLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldEFwcGxpY2FibGVDb25kaXRpb25PcGVyYXRvcnMoKTogU2VsZWN0SXRlbVtdIHtcbiAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9zbWFydEZpbHRlckJhclNlcnZpY2UuZ2V0QXBwbGljYWJsZUZpbHRlckNvbmRpdGlvbnMoXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZGF0YVR5cGVcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBsYWJlbHNDb25maWcgPSB7IC4uLnRoaXMuX2NvbmRpdGlvbkxhYmVsS2V5cyB9O1xuICAgICAgICBmb3IgKGNvbnN0IHN0cmF0ZWd5SXRlbSBpbiBsYWJlbHNDb25maWcpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobGFiZWxzQ29uZmlnLCBzdHJhdGVneUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBsYWJlbHNDb25maWdbc3RyYXRlZ3lJdGVtXTtcbiAgICAgICAgICAgICAgICBsYWJlbHNDb25maWdbc3RyYXRlZ3lJdGVtXSA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLicgKyB0cmFuc2xhdGlvbktleVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RyYXRlZ3kubWFwKChzOiBGaWx0ZXJBbGxTdHJhdGVneSkgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBsYWJlbHNDb25maWchW3NdLFxuICAgICAgICAgICAgdmFsdWU6IHNcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZmlsdGVyIGNvbmRpdGlvbnMgaW50byBmb3JtIGdlbmVyYXRvciBmb3JtIGl0ZW1zIGFycmF5LlxuICAgICAqIEBwYXJhbSBjb25kaXRpb25zIGV4aXN0aW5nIHNtYXJ0IGZpbHRlciBiYXIgZmlsdGVyIGNvbmRpdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYWRkRXhpc3RpbmdDb25kaXRpb25zKGNvbmRpdGlvbnM6IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgY29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbkdyb3VwID0gdGhpcy5fZ2VuZXJhdGVGb3JtR2VuZXJhdG9ySXRlbXMoY29uZGl0aW9uKTtcblxuICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1zLnB1c2goY29uZGl0aW9uR3JvdXApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlRm9ybUdlbmVyYXRvckl0ZW1zKGNvbmRpdGlvbj86IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uKTogRHluYW1pY0Zvcm1JdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdvcGVyYXRvcicsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ29wZXJhdG9yJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbmRpdGlvbk9wZXJhdG9yT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSBjb25kaXRpb24ub3BlcmF0b3IpPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zWzBdLnZhbHVlLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAxLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogY29uZGl0aW9uPy52YWx1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlUGxhY2Vob2xkZXInXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb25maWcuY29udHJvbFR5cGUsXG4gICAgICAgICAgICAgICAgd2hlbjogKHZhbHVlKSA9PiB2YWx1ZS5vcGVyYXRvciAhPT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6ICh2YWx1ZSwgXywgY29udHJvbDogRHluYW1pY0Zvcm1Db250cm9sKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wucGFyZW50Py5nZXQoJ3ZhbHVlMScpPy5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDIsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IGNvbmRpdGlvbj8udmFsdWUsXG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5jb25maWcuZmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICBjaG9pY2VzOiB0aGlzLmNvbmZpZy5jaG9pY2VzLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLl90cmFuc2xhdGlvblJlc29sdmVyLnJlc29sdmUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1TbWFydEZpbHRlckJhci5maWx0ZXJDb25kaXRpb25WYWx1ZUZyb21QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlLm9wZXJhdG9yID09PSBGSUxURVJfU1RSQVRFR1kuQkVUV0VFTixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogKHZhbHVlLCBfLCBjb250cm9sOiBEeW5hbWljRm9ybUNvbnRyb2wpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5wYXJlbnQ/LmdldCgndmFsdWUnKT8uc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAyLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb24/LnZhbHVlMixcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlVG9QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlPy5vcGVyYXRvciA9PT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDMsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC1zbWFydC1maWx0ZXItYmFyX19jb25kaXRpb25zLWRpYWxvZ1wiPlxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8aDQgW2hlYWRlclNpemVdPVwiNFwiIGZkLXRpdGxlPnt7IGNvbmZpZy5oZWFkZXIgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIDxmb3JtICpuZ0lmPVwibG9hZGVkOyBlbHNlIGxvYWRpbmdUcGxcIj5cbiAgICAgICAgICAgIDxmZC1sYXlvdXQtZ3JpZCAqbmdGb3I9XCJsZXQgY29uZGl0aW9uIG9mIF9mb3JtSXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gd3JhcHBpbmcgXCJmb3JtU3VibWl0dGVkXCIgZXZlbnQgcGF5bG9hZCBhcyBhbnksIGJlY2F1c2UgaXQncyB0eXBlIGlzIG1vcmUgZ2VuZXJpYyB0aGFuIHdlJ3JlIGV4cGVjdGluZyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1nZW5lcmF0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybVN1Ym1pdHRlZCk9XCJfb25Gb3JtU3VibWl0dGVkKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtSXRlbXNdPVwiY29uZGl0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5pZmllZExheW91dF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uTGF5b3V0PVwiWEwzLUwzLU0zLVMzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9BZGRpdGlvbmFsQ29udGVudF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC1mb3JtLWdlbmVyYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtc21hcnQtZmlsdGVyLWJhcl9fYWN0aW9ucy1jb2x1bW5cIiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbmRpdGlvbihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zUmVtb3ZlQ29uZGl0aW9uQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNvbEdyb3cgZmRMYXlvdXRHcmlkQ29sPiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmRwLXNtYXJ0LWZpbHRlci1iYXJfX2FjdGlvbnMtY29sdW1uXCIgZmRMYXlvdXRHcmlkQ29sPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQ29uZGl0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zQWRkQ29uZGl0aW9uQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5Q29uZGl0aW9ucygpXCJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmRlZmluZUNvbmRpdGlvbnNTdWJtaXRCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1idXR0b24tYmFyPlxuXG4gICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAoY2xpY2spPVwiX2NhbmNlbCgpXCJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zQ2FuY2VsQnV0dG9uJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICAgIDxkaXYgW3N0eWxlLnRleHQtYWxpZ25dPVwiJ2NlbnRlcidcIiBbc3R5bGUubWFyZ2luLnJlbV09XCIxXCI+XG4gICAgICAgIDxmZC1idXN5LWluZGljYXRvciBbbG9hZGluZ109XCJ0cnVlXCI+PC9mZC1idXN5LWluZGljYXRvcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=