@ng-nest/ui 14.0.2 → 14.0.3

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 (180) hide show
  1. package/auto-complete/auto-complete.component.d.ts +1 -1
  2. package/base-form/base-form.component.d.ts +6 -3
  3. package/button/button.property.d.ts +11 -1
  4. package/cascade/cascade.component.d.ts +1 -1
  5. package/color-picker/color-picker.component.d.ts +1 -1
  6. package/core/config/config.d.ts +3 -0
  7. package/date-picker/date-picker.component.d.ts +1 -1
  8. package/date-picker/date-range.component.d.ts +1 -1
  9. package/dialog/dialog.module.d.ts +2 -1
  10. package/dialog/dialog.property.d.ts +2 -0
  11. package/esm2020/auto-complete/auto-complete.component.mjs +1 -1
  12. package/esm2020/base-form/base-form.component.mjs +11 -3
  13. package/esm2020/button/button.component.mjs +3 -3
  14. package/esm2020/button/button.property.mjs +7 -2
  15. package/esm2020/cascade/cascade.component.mjs +4 -3
  16. package/esm2020/checkbox/checkbox.component.mjs +6 -4
  17. package/esm2020/color-picker/color-picker-portal.component.mjs +3 -3
  18. package/esm2020/color-picker/color-picker.component.mjs +4 -3
  19. package/esm2020/core/config/config.mjs +1 -1
  20. package/esm2020/date-picker/date-picker.component.mjs +4 -3
  21. package/esm2020/date-picker/date-range.component.mjs +1 -1
  22. package/esm2020/dialog/dialog.module.mjs +8 -4
  23. package/esm2020/dialog/dialog.property.mjs +1 -1
  24. package/esm2020/find/find.component.mjs +5 -3
  25. package/esm2020/form/control.component.mjs +37 -25
  26. package/esm2020/form/form.component.mjs +15 -3
  27. package/esm2020/form/form.module.mjs +6 -3
  28. package/esm2020/form/form.property.mjs +10 -3
  29. package/esm2020/i18n/i18n.property.mjs +1 -1
  30. package/esm2020/i18n/languages/en_US.mjs +6 -2
  31. package/esm2020/i18n/languages/zh_CN.mjs +6 -2
  32. package/esm2020/i18n/languages/zh_TW.mjs +6 -2
  33. package/esm2020/input/input.component.mjs +21 -9
  34. package/esm2020/input/input.property.mjs +24 -2
  35. package/esm2020/input-number/input-number.component.mjs +3 -3
  36. package/esm2020/list/list.component.mjs +13 -13
  37. package/esm2020/radio/radio.component.mjs +4 -3
  38. package/esm2020/rate/rate.component.mjs +8 -3
  39. package/esm2020/select/select-portal.component.mjs +6 -4
  40. package/esm2020/select/select.component.mjs +225 -31
  41. package/esm2020/select/select.module.mjs +35 -4
  42. package/esm2020/select/select.property.mjs +14 -3
  43. package/esm2020/slider-select/slider-select.component.mjs +6 -5
  44. package/esm2020/switch/switch.component.mjs +1 -1
  45. package/esm2020/table/table-body.component.mjs +9 -4
  46. package/esm2020/table/table-head.component.mjs +4 -4
  47. package/esm2020/table/table.component.mjs +23 -5
  48. package/esm2020/table/table.property.mjs +10 -3
  49. package/esm2020/tag/tag.component.mjs +5 -5
  50. package/esm2020/tag/tag.property.mjs +1 -1
  51. package/esm2020/textarea/textarea.component.mjs +3 -3
  52. package/esm2020/textarea/textarea.property.mjs +1 -6
  53. package/esm2020/theme/theme.component.mjs +1 -1
  54. package/esm2020/time-picker/time-picker.component.mjs +4 -3
  55. package/esm2020/transfer/transfer.component.mjs +1 -1
  56. package/esm2020/upload/upload.component.mjs +1 -1
  57. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  58. package/fesm2015/ng-nest-ui-base-form.mjs +10 -2
  59. package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
  60. package/fesm2015/ng-nest-ui-button.mjs +8 -3
  61. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  62. package/fesm2015/ng-nest-ui-cascade.mjs +3 -2
  63. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  64. package/fesm2015/ng-nest-ui-checkbox.mjs +5 -3
  65. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  66. package/fesm2015/ng-nest-ui-color-picker.mjs +5 -4
  67. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  68. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  69. package/fesm2015/ng-nest-ui-date-picker.mjs +3 -2
  70. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  71. package/fesm2015/ng-nest-ui-dialog.mjs +7 -3
  72. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  73. package/fesm2015/ng-nest-ui-find.mjs +4 -2
  74. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  75. package/fesm2015/ng-nest-ui-form.mjs +65 -30
  76. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  77. package/fesm2015/ng-nest-ui-i18n.mjs +15 -3
  78. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  79. package/fesm2015/ng-nest-ui-input-number.mjs +2 -2
  80. package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
  81. package/fesm2015/ng-nest-ui-input.mjs +43 -9
  82. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  83. package/fesm2015/ng-nest-ui-list.mjs +12 -12
  84. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  85. package/fesm2015/ng-nest-ui-radio.mjs +3 -2
  86. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  87. package/fesm2015/ng-nest-ui-rate.mjs +7 -2
  88. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  89. package/fesm2015/ng-nest-ui-select.mjs +278 -38
  90. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  91. package/fesm2015/ng-nest-ui-slider-select.mjs +5 -4
  92. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  93. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  94. package/fesm2015/ng-nest-ui-table.mjs +46 -15
  95. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  96. package/fesm2015/ng-nest-ui-tag.mjs +4 -4
  97. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  98. package/fesm2015/ng-nest-ui-textarea.mjs +2 -7
  99. package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
  100. package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
  101. package/fesm2015/ng-nest-ui-time-picker.mjs +3 -2
  102. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  103. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  104. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  105. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  106. package/fesm2020/ng-nest-ui-base-form.mjs +10 -2
  107. package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
  108. package/fesm2020/ng-nest-ui-button.mjs +8 -3
  109. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  110. package/fesm2020/ng-nest-ui-cascade.mjs +3 -2
  111. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  112. package/fesm2020/ng-nest-ui-checkbox.mjs +5 -3
  113. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  114. package/fesm2020/ng-nest-ui-color-picker.mjs +5 -4
  115. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  116. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  117. package/fesm2020/ng-nest-ui-date-picker.mjs +3 -2
  118. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  119. package/fesm2020/ng-nest-ui-dialog.mjs +7 -3
  120. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  121. package/fesm2020/ng-nest-ui-find.mjs +4 -2
  122. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  123. package/fesm2020/ng-nest-ui-form.mjs +64 -30
  124. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  125. package/fesm2020/ng-nest-ui-i18n.mjs +15 -3
  126. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  127. package/fesm2020/ng-nest-ui-input-number.mjs +2 -2
  128. package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
  129. package/fesm2020/ng-nest-ui-input.mjs +43 -9
  130. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  131. package/fesm2020/ng-nest-ui-list.mjs +12 -12
  132. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  133. package/fesm2020/ng-nest-ui-radio.mjs +3 -2
  134. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  135. package/fesm2020/ng-nest-ui-rate.mjs +7 -2
  136. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  137. package/fesm2020/ng-nest-ui-select.mjs +275 -38
  138. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  139. package/fesm2020/ng-nest-ui-slider-select.mjs +5 -4
  140. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  141. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  142. package/fesm2020/ng-nest-ui-table.mjs +42 -12
  143. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  144. package/fesm2020/ng-nest-ui-tag.mjs +4 -4
  145. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  146. package/fesm2020/ng-nest-ui-textarea.mjs +2 -7
  147. package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
  148. package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
  149. package/fesm2020/ng-nest-ui-time-picker.mjs +3 -2
  150. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  151. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  152. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  153. package/find/find.component.d.ts +1 -1
  154. package/form/control.component.d.ts +6 -3
  155. package/form/examples/en_US/default/form-vaild/README.md +8 -0
  156. package/form/examples/zh_CN/default/form-vaild/README.md +8 -0
  157. package/form/form.component.d.ts +3 -1
  158. package/form/form.module.d.ts +2 -1
  159. package/form/form.property.d.ts +7 -2
  160. package/i18n/i18n.property.d.ts +6 -0
  161. package/i18n/languages/en_US.d.ts +4 -0
  162. package/i18n/languages/zh_CN.d.ts +4 -0
  163. package/i18n/languages/zh_TW.d.ts +4 -0
  164. package/input/input.component.d.ts +3 -0
  165. package/input/input.property.d.ts +26 -1
  166. package/input-number/input-number.component.d.ts +1 -1
  167. package/package.json +1 -1
  168. package/rate/rate.component.d.ts +1 -0
  169. package/select/select.component.d.ts +25 -5
  170. package/select/select.module.d.ts +4 -2
  171. package/select/select.property.d.ts +13 -2
  172. package/slider-select/slider-select.component.d.ts +1 -1
  173. package/switch/switch.component.d.ts +1 -1
  174. package/table/examples/en_US/default/head/README.md +6 -0
  175. package/table/examples/zh_CN/default/head/README.md +6 -0
  176. package/table/table.component.d.ts +5 -2
  177. package/table/table.property.d.ts +17 -2
  178. package/tag/tag.component.d.ts +1 -1
  179. package/tag/tag.property.d.ts +1 -1
  180. package/time-picker/time-picker.component.d.ts +1 -1
@@ -79,7 +79,7 @@ export class XInputProperty extends XControlValueAccessor {
79
79
  }
80
80
  }
81
81
  /** @nocollapse */ XInputProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XInputProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
82
- /** @nocollapse */ XInputProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XInputProperty, selector: "ng-component", inputs: { type: "type", clearable: "clearable", icon: "icon", iconLayout: "iconLayout", iconSpin: "iconSpin", maxlength: "maxlength", size: "size", bordered: "bordered", inputStyle: "inputStyle", pointer: "pointer" }, outputs: { clearEmit: "clearEmit", xFocus: "xFocus", xBlur: "xBlur", xInput: "xInput", xKeydown: "xKeydown", xClick: "xClick", xMouseenter: "xMouseenter", xMouseleave: "xMouseleave", xComposition: "xComposition" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
82
+ /** @nocollapse */ XInputProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XInputProperty, selector: "ng-component", inputs: { type: "type", clearable: "clearable", icon: "icon", iconLayout: "iconLayout", iconSpin: "iconSpin", maxlength: "maxlength", width: "width", size: "size", bordered: "bordered", inputStyle: "inputStyle", pointer: "pointer", validator: "validator", inputPadding: "inputPadding", inputIconPadding: "inputIconPadding" }, outputs: { clearEmit: "clearEmit", xFocus: "xFocus", xBlur: "xBlur", xInput: "xInput", xKeydown: "xKeydown", xClick: "xClick", xMouseenter: "xMouseenter", xMouseleave: "xMouseleave", xComposition: "xComposition" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
83
83
  __decorate([
84
84
  XWithConfig(X_CONFIG_NAME, false),
85
85
  XInputBoolean()
@@ -93,6 +93,9 @@ __decorate([
93
93
  __decorate([
94
94
  XInputNumber()
95
95
  ], XInputProperty.prototype, "maxlength", void 0);
96
+ __decorate([
97
+ XInputNumber()
98
+ ], XInputProperty.prototype, "width", void 0);
96
99
  __decorate([
97
100
  XWithConfig(X_CONFIG_NAME, 'medium')
98
101
  ], XInputProperty.prototype, "size", void 0);
@@ -103,6 +106,17 @@ __decorate([
103
106
  __decorate([
104
107
  XInputBoolean()
105
108
  ], XInputProperty.prototype, "pointer", void 0);
109
+ __decorate([
110
+ XInputBoolean()
111
+ ], XInputProperty.prototype, "validator", void 0);
112
+ __decorate([
113
+ XInputNumber(),
114
+ XWithConfig(X_CONFIG_NAME, 0.4)
115
+ ], XInputProperty.prototype, "inputPadding", void 0);
116
+ __decorate([
117
+ XInputNumber(),
118
+ XWithConfig(X_CONFIG_NAME, 1.8)
119
+ ], XInputProperty.prototype, "inputIconPadding", void 0);
106
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XInputProperty, decorators: [{
107
121
  type: Component,
108
122
  args: [{ template: '' }]
@@ -118,6 +132,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
118
132
  type: Input
119
133
  }], maxlength: [{
120
134
  type: Input
135
+ }], width: [{
136
+ type: Input
121
137
  }], size: [{
122
138
  type: Input
123
139
  }], bordered: [{
@@ -126,6 +142,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
126
142
  type: Input
127
143
  }], pointer: [{
128
144
  type: Input
145
+ }], validator: [{
146
+ type: Input
147
+ }], inputPadding: [{
148
+ type: Input
149
+ }], inputIconPadding: [{
150
+ type: Input
129
151
  }], clearEmit: [{
130
152
  type: Output
131
153
  }], xFocus: [{
@@ -180,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
180
202
  }], compact: [{
181
203
  type: Input
182
204
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9pbnB1dC9pbnB1dC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixZQUFZLEVBSVosV0FBVyxFQUVYLFNBQVMsRUFFVixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQ3RDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQztBQUU5Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxjQUFlLFNBQVEscUJBQTBCO0lBRDlEOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBZ0IsTUFBTSxDQUFDO1FBV3BDOzs7V0FHRztRQUNpRSxlQUFVLEdBQXlCLE9BQU8sQ0FBQztRQUMvRzs7O1dBR0c7UUFDdUIsYUFBUSxHQUFhLEtBQUssQ0FBQztRQTBCckQ7OztXQUdHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUM7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0M7OztXQUdHO1FBQ08sVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUM7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0M7OztXQUdHO1FBQ08sYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDN0M7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0M7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hEOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoRDs7O1dBR0c7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FDbEQ7OzhIQWhHWSxjQUFjO2tIQUFkLGNBQWMsNGZBREosRUFBRTtBQVdnRDtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTtpREFBc0I7QUFVeEI7SUFBMUQsV0FBVyxDQUF1QixhQUFhLEVBQUUsT0FBTyxDQUFDO2tEQUE0QztBQUtyRjtJQUFoQixhQUFhLEVBQUU7Z0RBQTRCO0FBSzVCO0lBQWYsWUFBWSxFQUFFO2lEQUFxQjtBQUtTO0lBQTVDLFdBQVcsQ0FBUSxhQUFhLEVBQUUsUUFBUSxDQUFDOzRDQUF1QjtBQUtOO0lBQTVELGFBQWEsRUFBRTtJQUFFLFdBQVcsQ0FBVyxhQUFhLEVBQUUsSUFBSSxDQUFDO2dEQUFxQjtBQVVoRTtJQUFoQixhQUFhLEVBQUU7K0NBQTZCOzJGQWxEM0MsY0FBYztrQkFEMUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLaUUsU0FBUztzQkFBL0UsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSzhELFVBQVU7c0JBQTdFLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS21CLFNBQVM7c0JBQWpDLEtBQUs7Z0JBS3lELElBQUk7c0JBQWxFLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLNkIsT0FBTztzQkFBekMsS0FBSztnQkFLSSxTQUFTO3NCQUFsQixNQUFNO2dCQUtHLE1BQU07c0JBQWYsTUFBTTtnQkFLRyxLQUFLO3NCQUFkLE1BQU07Z0JBS0csTUFBTTtzQkFBZixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU07Z0JBS0csTUFBTTtzQkFBZixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxZQUFZO3NCQUFyQixNQUFNOztBQXVGVDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsZUFBZSxDQUFDO0FBQ2pELE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDO0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7O21JQUFyQyxtQkFBbUI7dUhBQW5CLG1CQUFtQiwrSUFEVCxFQUFFO0FBTTJCO0lBQXhDLFdBQVcsQ0FBUSxtQkFBbUIsQ0FBQztpREFBYztBQUtPO0lBQTVELGFBQWEsRUFBRTtJQUFFLFdBQVcsQ0FBVyxtQkFBbUIsQ0FBQztxREFBcUI7QUFLcEI7SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLG1CQUFtQixDQUFDO29EQUFvQjsyRkFmOUUsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNeUIsSUFBSTtzQkFBckQsS0FBSztnQkFLZ0UsUUFBUTtzQkFBN0UsS0FBSztnQkFLZ0UsT0FBTztzQkFBNUUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWFNpemUsXHJcbiAgWE51bWJlcixcclxuICBYQm9vbGVhbixcclxuICBYV2l0aENvbmZpZyxcclxuICBYUG9zaXRpb25MZWZ0UmlnaHQsXHJcbiAgWFByb3BlcnR5LFxyXG4gIFhUZW1wbGF0ZVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ29udHJvbFZhbHVlQWNjZXNzb3IsIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dFxyXG4gKiBAc2VsZWN0b3IgeC1pbnB1dFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhJbnB1dFByZWZpeCA9ICd4LWlucHV0JztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdpbnB1dCc7XHJcblxyXG4vKipcclxuICogSW5wdXQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhJbnB1dFByb3BlcnR5IGV4dGVuZHMgWENvbnRyb2xWYWx1ZUFjY2Vzc29yPGFueT4gaW1wbGVtZW50cyBYSW5wdXRPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXnsbvlnotcclxuICAgKiBAZW5fVVMgSW5wdXQgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHR5cGU/OiBYSW5wdXRUeXBlID0gJ3RleHQnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCHXHJcbiAgICogQGVuX1VTIEljb25cclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIfluIPlsYDmlrnlvI9cclxuICAgKiBAZW5fVVMgSWNvbiBsYXlvdXRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WElucHV0SWNvbkxheW91dFR5cGU+KFhfQ09ORklHX05BTUUsICdyaWdodCcpIGljb25MYXlvdXQ6IFhJbnB1dEljb25MYXlvdXRUeXBlID0gJ3JpZ2h0JztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCH5Yqo55S7XHJcbiAgICogQGVuX1VTIEljb24gYW5pbWF0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBpY29uU3BpbjogWEJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5pyA5aSn6ZW/5bqmXHJcbiAgICogQGVuX1VTIEVudGVyIHRoZSBtYXhpbXVtIGxlbmd0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBtYXhsZW5ndGghOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIG92ZXJyaWRlIHNpemUhOiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhuagt+W8j1xyXG4gICAqIEBlbl9VUyBJbnB1dCBTdHlsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGlucHV0U3R5bGUhOiB7IFtzdHlsZTogc3RyaW5nXTogYW55IH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhueCueWHu+agt+W8j1xyXG4gICAqIEBlbl9VUyBJbnB1dCBwb2ludGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBvdmVycmlkZSBwb2ludGVyITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4hemZpOaMiemSrueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBDbGVhciBidXR0b24gZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2xlYXJFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiOt+WPlueEpueCueeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBGb2N1cyBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB4Rm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSx5Y6754Sm54K555qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEJsdXIgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgeEJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gSW5wdXRcclxuICAgKiBAZW5fVVMgSW5wdXQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgeElucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIEtleWRvd25cclxuICAgKiBAZW5fVVMgS2V5ZG93biBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB4S2V5ZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBDbGlja1xyXG4gICAqIEBlbl9VUyBDbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB4Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gTW91c2VlbnRlclxyXG4gICAqIEBlbl9VUyBNb3VzZWVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHhNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIE1vdXNlbGVhdmVcclxuICAgKiBAZW5fVVMgTW91c2VsZWF2ZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB4TW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBDb21wb3NpdGlvblxyXG4gICAqIEBlbl9VUyBDb21wb3NpdGlvbiBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB4Q29tcG9zaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIElucHV0IE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dE9wdGlvbiBleHRlbmRzIFhGb3JtT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl57G75Z6LXHJcbiAgICogQGVuX1VTIElucHV0IHR5cGVcclxuICAgKi9cclxuICB0eXBlPzogWElucHV0VHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKuXHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvblxyXG4gICAqL1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj6ror7tcclxuICAgKiBAZW5fVVMgUmVhZCBvbmx5XHJcbiAgICovXHJcbiAgcmVhZG9ubHk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCHXHJcbiAgICogQGVuX1VTIEljb25cclxuICAgKi9cclxuICBpY29uPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIfluIPlsYDmlrnlvI9cclxuICAgKiBAZW5fVVMgSWNvbiBsYXlvdXRcclxuICAgKi9cclxuICBpY29uTGF5b3V0PzogWElucHV0SWNvbkxheW91dFR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh+WKqOeUu1xyXG4gICAqIEBlbl9VUyBJY29uIGFuaW1hdGlvblxyXG4gICAqL1xyXG4gIGljb25TcGluPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeacgOWkp+mVv+W6plxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgbWF4aW11bSBsZW5ndGhcclxuICAgKi9cclxuICBtYXhsZW5ndGg/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YmN572u5qCH562+XHJcbiAgICogQGVuX1VTIEJlZm9yZSBsYWJlbFxyXG4gICAqL1xyXG4gIGJlZm9yZT86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ZCO572u5qCH562+XHJcbiAgICogQGVuX1VTIEFmdGVyIGxhYmVsXHJcbiAgICovXHJcbiAgYWZ0ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4hemZpOaMiemSrueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBDbGVhciBidXR0b24gZXZlbnRcclxuICAgKi9cclxuICBjbGVhckNsaWNrPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6L6T5YWl5qGG57G75Z6LXHJcbiAqIEBlbl9VUyBJbnB1dCBib3ggdHlwZVxyXG4gKiBAdmFsdWUgXCJ0ZXh0XCIg5paH5pysXHJcbiAqIEB2YWx1ZSBcInBhc3N3b3JkXCIg5a+G56CBXHJcbiAqIEB2YWx1ZSBcIm51bWJlclwiIOaVsOWtl1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgWElucHV0VHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCcgfCAnbnVtYmVyJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Zu+5qCH5biD5bGA5pa55byP77yM5oyH5Zyo6L6T5YWl5qGG5Lit55qE5L2N572uXHJcbiAqIEBlbl9VUyBJY29uIGxheW91dCwgcmVmZXJzIHRvIHRoZSBwb3NpdGlvbiBpbiB0aGUgaW5wdXQgYm94XHJcbiAqIEB2YWx1ZSBcImxlZnRcIiDpnaDlt6ZcclxuICogQHZhbHVlIFwicmlnaHRcIiDpnaDlj7NcclxuICovXHJcbmV4cG9ydCB0eXBlIFhJbnB1dEljb25MYXlvdXRUeXBlID0gWFBvc2l0aW9uTGVmdFJpZ2h0O1xyXG5cclxuLyoqXHJcbiAqIElucHV0IEdyb3VwXHJcbiAqIEBzZWxlY3RvciB4LWlucHV0LWdyb3VwXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWElucHV0R3JvdXBQcmVmaXggPSAneC1pbnB1dC1ncm91cCc7XHJcbmNvbnN0IFhfQ09ORklHX0dST1VQX05BTUUgPSAnaW5wdXRHcm91cCc7XHJcblxyXG4vKipcclxuICogSW5wdXQgR3JvdXAgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhJbnB1dEdyb3VwUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfR1JPVVBfTkFNRSkgc2l6ZSE6IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfR1JPVVBfTkFNRSkgYm9yZGVyZWQhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5L2/55So57Sn5YeR5qih5byPXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gdXNlIGEgY29tcGFjdCBtb2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX0dST1VQX05BTUUpIGNvbXBhY3QhOiBYQm9vbGVhbjtcclxufVxyXG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9pbnB1dC9pbnB1dC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixZQUFZLEVBSVosV0FBVyxFQUVYLFNBQVMsRUFFVixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQ3RDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQztBQUU5Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxjQUFlLFNBQVEscUJBQTBCO0lBRDlEOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBZ0IsTUFBTSxDQUFDO1FBV3BDOzs7V0FHRztRQUNpRSxlQUFVLEdBQXlCLE9BQU8sQ0FBQztRQUMvRzs7O1dBR0c7UUFDdUIsYUFBUSxHQUFhLEtBQUssQ0FBQztRQThDckQ7OztXQUdHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUM7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0M7OztXQUdHO1FBQ08sVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUM7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0M7OztXQUdHO1FBQ08sYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDN0M7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0M7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hEOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoRDs7O1dBR0c7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FDbEQ7OzhIQXBIWSxjQUFjO2tIQUFkLGNBQWMsd21CQURKLEVBQUU7QUFXZ0Q7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7aURBQXNCO0FBVXhCO0lBQTFELFdBQVcsQ0FBdUIsYUFBYSxFQUFFLE9BQU8sQ0FBQztrREFBNEM7QUFLckY7SUFBaEIsYUFBYSxFQUFFO2dEQUE0QjtBQUs1QjtJQUFmLFlBQVksRUFBRTtpREFBcUI7QUFLcEI7SUFBZixZQUFZLEVBQUU7NkNBQWlCO0FBS2E7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7NENBQXVCO0FBS047SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7Z0RBQXFCO0FBVWhFO0lBQWhCLGFBQWEsRUFBRTsrQ0FBNkI7QUFLNUI7SUFBaEIsYUFBYSxFQUFFO2lEQUErQjtBQUtXO0lBQXpELFlBQVksRUFBRTtJQUFFLFdBQVcsQ0FBVSxhQUFhLEVBQUUsR0FBRyxDQUFDO29EQUF3QjtBQUt2QjtJQUF6RCxZQUFZLEVBQUU7SUFBRSxXQUFXLENBQVUsYUFBYSxFQUFFLEdBQUcsQ0FBQzt3REFBNEI7MkZBdEVuRixjQUFjO2tCQUQxQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtpRSxTQUFTO3NCQUEvRSxLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLOEQsVUFBVTtzQkFBN0UsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLbUIsU0FBUztzQkFBakMsS0FBSztnQkFLbUIsS0FBSztzQkFBN0IsS0FBSztnQkFLeUQsSUFBSTtzQkFBbEUsS0FBSztnQkFLZ0UsUUFBUTtzQkFBN0UsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUs2QixPQUFPO3NCQUF6QyxLQUFLO2dCQUs2QixTQUFTO3NCQUEzQyxLQUFLO2dCQUs2RCxZQUFZO3NCQUE5RSxLQUFLO2dCQUs2RCxnQkFBZ0I7c0JBQWxGLEtBQUs7Z0JBS0ksU0FBUztzQkFBbEIsTUFBTTtnQkFLRyxNQUFNO3NCQUFmLE1BQU07Z0JBS0csS0FBSztzQkFBZCxNQUFNO2dCQUtHLE1BQU07c0JBQWYsTUFBTTtnQkFLRyxRQUFRO3NCQUFqQixNQUFNO2dCQUtHLE1BQU07c0JBQWYsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csWUFBWTtzQkFBckIsTUFBTTs7QUE0RlQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztBQUNqRCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQztBQUV6Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUFTOzttSUFBckMsbUJBQW1CO3VIQUFuQixtQkFBbUIsK0lBRFQsRUFBRTtBQU0yQjtJQUF4QyxXQUFXLENBQVEsbUJBQW1CLENBQUM7aURBQWM7QUFLTztJQUE1RCxhQUFhLEVBQUU7SUFBRSxXQUFXLENBQVcsbUJBQW1CLENBQUM7cURBQXFCO0FBS3BCO0lBQTVELGFBQWEsRUFBRTtJQUFFLFdBQVcsQ0FBVyxtQkFBbUIsQ0FBQztvREFBb0I7MkZBZjlFLG1CQUFtQjtrQkFEL0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTXlCLElBQUk7c0JBQXJELEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBS2dFLE9BQU87c0JBQTVFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhTaXplLFxyXG4gIFhOdW1iZXIsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFBvc2l0aW9uTGVmdFJpZ2h0LFxyXG4gIFhQcm9wZXJ0eSxcclxuICBYVGVtcGxhdGVcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBYRm9ybU9wdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcblxyXG4vKipcclxuICogSW5wdXRcclxuICogQHNlbGVjdG9yIHgtaW5wdXRcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYSW5wdXRQcmVmaXggPSAneC1pbnB1dCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnaW5wdXQnO1xyXG5cclxuLyoqXHJcbiAqIElucHV0IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYSW5wdXRQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3Nvcjxhbnk+IGltcGxlbWVudHMgWElucHV0T3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl57G75Z6LXHJcbiAgICogQGVuX1VTIElucHV0IHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlPzogWElucHV0VHlwZSA9ICd0ZXh0JztcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKuXHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh1xyXG4gICAqIEBlbl9VUyBJY29uXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWNvbj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCH5biD5bGA5pa55byPXHJcbiAgICogQGVuX1VTIEljb24gbGF5b3V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhJbnB1dEljb25MYXlvdXRUeXBlPihYX0NPTkZJR19OQU1FLCAncmlnaHQnKSBpY29uTGF5b3V0OiBYSW5wdXRJY29uTGF5b3V0VHlwZSA9ICdyaWdodCc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh+WKqOeUu1xyXG4gICAqIEBlbl9VUyBJY29uIGFuaW1hdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgaWNvblNwaW46IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeacgOWkp+mVv+W6plxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgbWF4aW11bSBsZW5ndGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgbWF4bGVuZ3RoITogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIHdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHdpZHRoITogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBvdmVycmlkZSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBib3JkZXJlZCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgU3R5bGVcclxuICAgKi9cclxuICBASW5wdXQoKSBpbnB1dFN0eWxlITogeyBbc3R5bGU6IHN0cmluZ106IGFueSB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgb3ZlcnJpZGUgcG9pbnRlciE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgb3ZlcnJpZGUgdmFsaWRhdG9yITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhuWGhei+uei3ne+8jHJlbeOAguS4u+imgeaMh+i+k+WFpeahhuS4reeahOW3puWPs+WGhei+uei3nVxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgYm9yZGVyIG9mIHRoZSBpbnB1dCBib3gsIHJlbS5cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIDAuNCkgaW5wdXRQYWRkaW5nITogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5qGG5YaF6L656LedKOWMheWQq+WbvuaghynvvIxyZW3jgILkuLvopoHmjIfovpPlhaXmoYbkuK3nmoTmnInlm77moIfnmoTml7blgJnlt6blj7PlhoXovrnot51cclxuICAgKiBAZW5fVVMgRW50ZXIgdGhlIGJvcmRlciBiZXR3ZWVuIHRoZSBpbnB1dCBib3ggKGluY2x1ZGluZyBpY29uKSwgcmVtLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgMS44KSBpbnB1dEljb25QYWRkaW5nITogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKu55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvbiBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjbGVhckVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6I635Y+W54Sm54K555qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEZvY3VzIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHhGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpLHljrvnhKbngrnnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgQmx1ciBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB4Qmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBJbnB1dFxyXG4gICAqIEBlbl9VUyBJbnB1dCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB4SW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gS2V5ZG93blxyXG4gICAqIEBlbl9VUyBLZXlkb3duIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHhLZXlkb3duID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIENsaWNrXHJcbiAgICogQGVuX1VTIENsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHhDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBNb3VzZWVudGVyXHJcbiAgICogQGVuX1VTIE1vdXNlZW50ZXIgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgeE1vdXNlZW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gTW91c2VsZWF2ZVxyXG4gICAqIEBlbl9VUyBNb3VzZWxlYXZlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHhNb3VzZWxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIENvbXBvc2l0aW9uXHJcbiAgICogQGVuX1VTIENvbXBvc2l0aW9uIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHhDb21wb3NpdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG59XHJcblxyXG4vKipcclxuICogSW5wdXQgT3B0aW9uXHJcbiAqIEB1bmRvY3VtZW50IHRydWVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0T3B0aW9uIGV4dGVuZHMgWEZvcm1PcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXnsbvlnotcclxuICAgKiBAZW5fVVMgSW5wdXQgdHlwZVxyXG4gICAqL1xyXG4gIHR5cGU/OiBYSW5wdXRUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkIG9ubHlcclxuICAgKi9cclxuICByZWFkb25seT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh+W4g+WxgOaWueW8j1xyXG4gICAqIEBlbl9VUyBJY29uIGxheW91dFxyXG4gICAqL1xyXG4gIGljb25MYXlvdXQ/OiBYSW5wdXRJY29uTGF5b3V0VHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCH5Yqo55S7XHJcbiAgICogQGVuX1VTIEljb24gYW5pbWF0aW9uXHJcbiAgICovXHJcbiAgaWNvblNwaW4/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5pyA5aSn6ZW/5bqmXHJcbiAgICogQGVuX1VTIEVudGVyIHRoZSBtYXhpbXVtIGxlbmd0aFxyXG4gICAqL1xyXG4gIG1heGxlbmd0aD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWuveW6plxyXG4gICAqIEBlbl9VUyB3aWR0aFxyXG4gICAqL1xyXG4gIHdpZHRoPzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBzaXplPzogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWJjee9ruagh+etvlxyXG4gICAqIEBlbl9VUyBCZWZvcmUgbGFiZWxcclxuICAgKi9cclxuICBiZWZvcmU/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjue9ruagh+etvlxyXG4gICAqIEBlbl9VUyBBZnRlciBsYWJlbFxyXG4gICAqL1xyXG4gIGFmdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq7nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uIGV2ZW50XHJcbiAgICovXHJcbiAgY2xlYXJDbGljaz86ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOi+k+WFpeahhuexu+Wei1xyXG4gKiBAZW5fVVMgSW5wdXQgYm94IHR5cGVcclxuICogQHZhbHVlIFwidGV4dFwiIOaWh+acrFxyXG4gKiBAdmFsdWUgXCJwYXNzd29yZFwiIOWvhueggVxyXG4gKiBAdmFsdWUgXCJudW1iZXJcIiDmlbDlrZdcclxuICovXHJcbmV4cG9ydCB0eXBlIFhJbnB1dFR5cGUgPSAndGV4dCcgfCAncGFzc3dvcmQnIHwgJ251bWJlcic7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWbvuagh+W4g+WxgOaWueW8j++8jOaMh+WcqOi+k+WFpeahhuS4reeahOS9jee9rlxyXG4gKiBAZW5fVVMgSWNvbiBsYXlvdXQsIHJlZmVycyB0byB0aGUgcG9zaXRpb24gaW4gdGhlIGlucHV0IGJveFxyXG4gKiBAdmFsdWUgXCJsZWZ0XCIg6Z2g5bemXHJcbiAqIEB2YWx1ZSBcInJpZ2h0XCIg6Z2g5Y+zXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYSW5wdXRJY29uTGF5b3V0VHlwZSA9IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBHcm91cFxyXG4gKiBAc2VsZWN0b3IgeC1pbnB1dC1ncm91cFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhJbnB1dEdyb3VwUHJlZml4ID0gJ3gtaW5wdXQtZ3JvdXAnO1xyXG5jb25zdCBYX0NPTkZJR19HUk9VUF9OQU1FID0gJ2lucHV0R3JvdXAnO1xyXG5cclxuLyoqXHJcbiAqIElucHV0IEdyb3VwIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYSW5wdXRHcm91cFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX0dST1VQX05BTUUpIHNpemUhOiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX0dST1VQX05BTUUpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuS9v+eUqOe0p+WHkeaooeW8j1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIHVzZSBhIGNvbXBhY3QgbW9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19HUk9VUF9OQU1FKSBjb21wYWN0ITogWEJvb2xlYW47XHJcbn1cclxuIl19
@@ -103,10 +103,10 @@ export class XInputNumberComponent extends XInputNumberProperty {
103
103
  }
104
104
  }
105
105
  /** @nocollapse */ XInputNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XInputNumberComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
106
- /** @nocollapse */ XInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XInputNumberComponent, selector: "x-input-number", host: { listeners: { "document:mouseup": "onMouseup($event)" } }, providers: [XValueAccessor(XInputNumberComponent)], viewQueries: [{ propertyName: "inputNumber", first: true, predicate: ["inputNumber"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false)\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step)\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.XInputComponent, selector: "x-input" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
+ /** @nocollapse */ XInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XInputNumberComponent, selector: "x-input-number", host: { listeners: { "document:mouseup": "onMouseup($event)" } }, providers: [XValueAccessor(XInputNumberComponent)], viewQueries: [{ propertyName: "inputNumber", first: true, predicate: ["inputNumber"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.XInputComponent, selector: "x-input" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
107
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XInputNumberComponent, decorators: [{
108
108
  type: Component,
109
- args: [{ selector: `${XInputNumberPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputNumberComponent)], template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false)\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step)\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"] }]
109
+ args: [{ selector: `${XInputNumberPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputNumberComponent)], template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"] }]
110
110
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { inputNumber: [{
111
111
  type: ViewChild,
112
112
  args: ['inputNumber', { static: true }]
@@ -114,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
114
114
  type: HostListener,
115
115
  args: ['document:mouseup', ['$event']]
116
116
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFXLFdBQVcsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFVdkQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjtJQXNCN0QsWUFBbUIsUUFBbUIsRUFBVSxHQUFzQixFQUFTLGFBQTZCO1FBQzFHLEtBQUssRUFBRSxDQUFDO1FBRFMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBYjVHLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRzdCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBUWxCLENBQUM7SUFyQlEsVUFBVSxDQUFDLEtBQVU7UUFD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LENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztxSUE5RlUscUJBQXFCO3lIQUFyQixxQkFBcUIsMkdBRnJCLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsMktDdEJwRCx3b0VBNkRBOzJGRHJDYSxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UsR0FBRyxrQkFBa0IsRUFBRSxpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsdUJBQXVCLENBQUM7NkpBR04sV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWlCSSxTQUFTO3NCQUF0RCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWE51bWJlciwgWENsZWFyQ2xhc3MsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhJbnB1dE51bWJlclByZWZpeCwgWElucHV0TnVtYmVyUHJvcGVydHkgfSBmcm9tICcuL2lucHV0LW51bWJlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYSW5wdXROdW1iZXJQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS9pbmRleC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYSW5wdXROdW1iZXJDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWElucHV0TnVtYmVyQ29tcG9uZW50IGV4dGVuZHMgWElucHV0TnVtYmVyUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0TnVtYmVyJywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXROdW1iZXIhOiBFbGVtZW50UmVmO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5VmFsdWU6IGFueSA9ICcnO1xyXG4gIG1pbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbWF4RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtb3VzZWRvd24kITogU3Vic2NyaXB0aW9uO1xyXG4gIHRpbWVyOiBhbnk7XHJcbiAgaWNvbjogc3RyaW5nID0gJyc7XHJcbiAgaWNvblNwaW4gPSBmYWxzZTtcclxuICBjbGVhcmFibGUgPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pIG9uTW91c2V1cChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMudXAoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5pbnB1dE51bWJlci5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5VmFsdWUoKSB7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMudmFsdWUpKSB0aGlzLmRpc3BsYXlWYWx1ZSA9IE51bWJlcih0aGlzLnZhbHVlKS50b0ZpeGVkKE51bWJlcih0aGlzLnByZWNpc2lvbikpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmVyaWZ5KHZhbHVlKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZG93bihldmVudDogRXZlbnQsIGxpbWl0OiBYTnVtYmVyLCBpbmNyZWFzZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMubW91c2Vkb3duJCA9IGludGVydmFsKE51bWJlcih0aGlzLmRlYm91bmNlKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnBsdXMoZXZlbnQsIGxpbWl0LCBpbmNyZWFzZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSwgMTUwKTtcclxuICB9XHJcblxyXG4gIHVwKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh0aGlzLm1vdXNlZG93biQpIHRoaXMubW91c2Vkb3duJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcGx1cyhldmVudDogRXZlbnQsIGxpbWl0OiBYTnVtYmVyLCBpbmNyZWFzZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBsaW1pdCA9IE51bWJlcihsaW1pdCk7XHJcbiAgICBpZiAoIWluY3JlYXNlKSBsaW1pdCA9IC1saW1pdDtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh0aGlzLnRpbWVyKSBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XHJcbiAgICBpZiAoTnVtYmVyLmlzTmFOKCt0aGlzLnZhbHVlKSkgdGhpcy52YWx1ZSA9IDA7XHJcbiAgICBsZXQgdmFsdWUgPSBOdW1iZXIodGhpcy52YWx1ZSkgKyBsaW1pdDtcclxuICAgIHRoaXMudmVyaWZ5KHZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgdmVyaWZ5KHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IG9sZFZhbHVlOiBudW1iZXIgPSB0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgaWYgKE51bWJlci5pc05hTigrdGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG9sZFZhbHVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm1heERpc2FibGVkID0gdmFsdWUgPj0gdGhpcy5tYXg7XHJcbiAgICB0aGlzLm1pbkRpc2FibGVkID0gdmFsdWUgPD0gdGhpcy5taW47XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhEaXNhYmxlZCA/IHRoaXMubWF4IDogdGhpcy5taW5EaXNhYmxlZCA/IHRoaXMubWluIDogdmFsdWU7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNpbnB1dE51bWJlciBjbGFzcz1cIngtaW5wdXQtbnVtYmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtaW5wdXQtbnVtYmVyLXJvd1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNiZWZvcmVCdXR0b25UcGw+XHJcbiAgICAgIDx4LWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwieC1pbnB1dC1udW1iZXItcmVkdWNlXCJcclxuICAgICAgICBpY29uPVwiZnRvLW1pbnVzXCJcclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBbb25seUljb25dPVwiIWJvcmRlcmVkXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbWluRGlzYWJsZWRcIlxyXG4gICAgICAgIChjbGljayk9XCIhbWluRGlzYWJsZWQgJiYgcGx1cygkZXZlbnQsIHN0ZXAsIGZhbHNlKVwiXHJcbiAgICAgICAgKG1vdXNlZG93bik9XCIhbWluRGlzYWJsZWQgJiYgZG93bigkZXZlbnQsIHN0ZXAsIGZhbHNlKVwiXHJcbiAgICAgICAgKG1vdXNldXApPVwidXAoJGV2ZW50KVwiXHJcbiAgICAgID48L3gtYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDx4LWlucHV0XHJcbiAgICAgICNpbnB1dEVsZVJlZlxyXG4gICAgICBjbGFzcz1cIngtaW5wdXQtbnVtYmVyLWlucHV0XCJcclxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgW2xhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXHJcbiAgICAgIFtsYWJlbEFsaWduXT1cImxhYmVsQWxpZ25cIlxyXG4gICAgICBbanVzdGlmeV09XCJqdXN0aWZ5XCJcclxuICAgICAgW2FsaWduXT1cImFsaWduXCJcclxuICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICBbaWNvbl09XCJpY29uXCJcclxuICAgICAgW2ljb25TcGluXT1cImljb25TcGluXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImRpc3BsYXlWYWx1ZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgW3ZhbHVlVHBsXT1cInZhbHVlVHBsXCJcclxuICAgICAgW3ZhbHVlVHBsQ29udGV4dF09XCJ2YWx1ZVRwbENvbnRleHRcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgW2JvcmRlcmVkXT1cImJvcmRlcmVkXCJcclxuICAgICAgW2JlZm9yZV09XCJiZWZvcmVCdXR0b25UcGxcIlxyXG4gICAgICBbYWZ0ZXJdPVwiYWZ0ZXJCdXR0b25UcGxcIlxyXG4gICAgICBbcGF0dGVybl09XCJwYXR0ZXJuXCJcclxuICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXHJcbiAgICA+PC94LWlucHV0PlxyXG4gICAgPG5nLXRlbXBsYXRlICNhZnRlckJ1dHRvblRwbD5cclxuICAgICAgPHgtYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJ4LWlucHV0LW51bWJlci1wbHVzXCJcclxuICAgICAgICBpY29uPVwiZnRvLXBsdXNcIlxyXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICAgIFtvbmx5SWNvbl09XCIhYm9yZGVyZWRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBtYXhEaXNhYmxlZFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiFtYXhEaXNhYmxlZCAmJiBwbHVzKCRldmVudCwgc3RlcClcIlxyXG4gICAgICAgIChtb3VzZWRvd24pPVwiIW1heERpc2FibGVkICYmIGRvd24oJGV2ZW50LCBzdGVwKVwiXHJcbiAgICAgICAgKG1vdXNldXApPVwidXAoJGV2ZW50KVwiXHJcbiAgICAgID48L3gtYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnZhbGlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LXRvcC1sZWZ0XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LXRvcC1yaWdodFwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC1ib3R0b20tbGVmdFwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC1ib3R0b20tcmlnaHRcIj48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFXLFdBQVcsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFVdkQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjtJQXNCN0QsWUFBbUIsUUFBbUIsRUFBa0IsR0FBc0IsRUFBUyxhQUE2QjtRQUNsSCxLQUFLLEVBQUUsQ0FBQztRQURTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBa0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFicEgsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFRbEIsQ0FBQztJQXJCUSxVQUFVLENBQUMsS0FBVTtR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QUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3FJQTlGVSxxQkFBcUI7eUhBQXJCLHFCQUFxQiwyR0FGckIsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQywyS0N0QnBELHMwRUFpRUE7MkZEekNhLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxHQUFHLGtCQUFrQixFQUFFLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyx1QkFBdUIsQ0FBQzs2SkFHTixXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBaUJJLFNBQVM7c0JBQXRELFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb24sIGludGVydmFsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYTnVtYmVyLCBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWElucHV0TnVtYmVyUHJlZml4LCBYSW5wdXROdW1iZXJQcm9wZXJ0eSB9IGZyb20gJy4vaW5wdXQtbnVtYmVyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hJbnB1dE51bWJlclByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0eWxlL2luZGV4LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhJbnB1dE51bWJlckNvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSW5wdXROdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBYSW5wdXROdW1iZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXROdW1iZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dE51bWJlciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlWYWx1ZTogYW55ID0gJyc7XHJcbiAgbWluRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtYXhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vdXNlZG93biQhOiBTdWJzY3JpcHRpb247XHJcbiAgdGltZXI6IGFueTtcclxuICBpY29uOiBzdHJpbmcgPSAnJztcclxuICBpY29uU3BpbiA9IGZhbHNlO1xyXG4gIGNsZWFyYWJsZSA9IGZhbHNlO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSkgb25Nb3VzZXVwKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy51cChldmVudCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMuaW5wdXROdW1iZXIubmF0aXZlRWxlbWVudCwgdGhpcy5yZW5kZXJlciwgdGhpcy5qdXN0aWZ5LCB0aGlzLmFsaWduLCB0aGlzLmRpcmVjdGlvbik7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMubGFiZWxNYXApO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheVZhbHVlKCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKSkgdGhpcy5kaXNwbGF5VmFsdWUgPSBOdW1iZXIodGhpcy52YWx1ZSkudG9GaXhlZChOdW1iZXIodGhpcy5wcmVjaXNpb24pKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZlcmlmeSh2YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRvd24oZXZlbnQ6IEV2ZW50LCBsaW1pdDogWE51bWJlciwgaW5jcmVhc2U6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm1vdXNlZG93biQgPSBpbnRlcnZhbChOdW1iZXIodGhpcy5kZWJvdW5jZSkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wbHVzKGV2ZW50LCBsaW1pdCwgaW5jcmVhc2UpO1xyXG4gICAgICB9KTtcclxuICAgIH0sIDE1MCk7XHJcbiAgfVxyXG5cclxuICB1cChldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5tb3VzZWRvd24kKSB0aGlzLm1vdXNlZG93biQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHBsdXMoZXZlbnQ6IEV2ZW50LCBsaW1pdDogWE51bWJlciwgaW5jcmVhc2U6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgbGltaXQgPSBOdW1iZXIobGltaXQpO1xyXG4gICAgaWYgKCFpbmNyZWFzZSkgbGltaXQgPSAtbGltaXQ7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy50aW1lcikgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xyXG4gICAgaWYgKE51bWJlci5pc05hTigrdGhpcy52YWx1ZSkpIHRoaXMudmFsdWUgPSAwO1xyXG4gICAgbGV0IHZhbHVlID0gTnVtYmVyKHRoaXMudmFsdWUpICsgbGltaXQ7XHJcbiAgICB0aGlzLnZlcmlmeSh2YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHZlcmlmeSh2YWx1ZTogYW55KSB7XHJcbiAgICBjb25zdCBvbGRWYWx1ZTogbnVtYmVyID0gdGhpcy52YWx1ZTtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIGlmIChOdW1iZXIuaXNOYU4oK3RoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBvbGRWYWx1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tYXhEaXNhYmxlZCA9IHZhbHVlID49IHRoaXMubWF4O1xyXG4gICAgdGhpcy5taW5EaXNhYmxlZCA9IHZhbHVlIDw9IHRoaXMubWluO1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubWF4RGlzYWJsZWQgPyB0aGlzLm1heCA6IHRoaXMubWluRGlzYWJsZWQgPyB0aGlzLm1pbiA6IHZhbHVlO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjaW5wdXROdW1iZXIgY2xhc3M9XCJ4LWlucHV0LW51bWJlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWlucHV0LW51bWJlci1yb3dcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYmVmb3JlQnV0dG9uVHBsPlxyXG4gICAgICA8eC1idXR0b25cclxuICAgICAgICBjbGFzcz1cIngtaW5wdXQtbnVtYmVyLXJlZHVjZVwiXHJcbiAgICAgICAgaWNvbj1cImZ0by1taW51c1wiXHJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgW29ubHlJY29uXT1cIiFib3JkZXJlZFwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IG1pbkRpc2FibGVkXCJcclxuICAgICAgICAoY2xpY2spPVwiIW1pbkRpc2FibGVkICYmIHBsdXMoJGV2ZW50LCBzdGVwLCBmYWxzZSk7IGZvcm1Db250cm9sVmFsaWRhdG9yKClcIlxyXG4gICAgICAgIGF0dHJUeXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAobW91c2Vkb3duKT1cIiFtaW5EaXNhYmxlZCAmJiBkb3duKCRldmVudCwgc3RlcCwgZmFsc2UpXCJcclxuICAgICAgICAobW91c2V1cCk9XCJ1cCgkZXZlbnQpXCJcclxuICAgICAgPjwveC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPHgtaW5wdXRcclxuICAgICAgI2lucHV0RWxlUmVmXHJcbiAgICAgIGNsYXNzPVwieC1pbnB1dC1udW1iZXItaW5wdXRcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbbGFiZWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcclxuICAgICAgW2xhYmVsQWxpZ25dPVwibGFiZWxBbGlnblwiXHJcbiAgICAgIFtqdXN0aWZ5XT1cImp1c3RpZnlcIlxyXG4gICAgICBbYWxpZ25dPVwiYWxpZ25cIlxyXG4gICAgICBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgIFt2YWxpZGF0b3JdPVwidmFsaWRhdG9yXCJcclxuICAgICAgW2ljb25dPVwiaWNvblwiXHJcbiAgICAgIFtpY29uU3Bpbl09XCJpY29uU3BpblwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJkaXNwbGF5VmFsdWVcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFt2YWx1ZVRwbF09XCJ2YWx1ZVRwbFwiXHJcbiAgICAgIFt2YWx1ZVRwbENvbnRleHRdPVwidmFsdWVUcGxDb250ZXh0XCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgICAgIFtiZWZvcmVdPVwiYmVmb3JlQnV0dG9uVHBsXCJcclxuICAgICAgW2FmdGVyXT1cImFmdGVyQnV0dG9uVHBsXCJcclxuICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICAoeElucHV0KT1cImZvcm1Db250cm9sVmFsaWRhdG9yKClcIlxyXG4gICAgPjwveC1pbnB1dD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWZ0ZXJCdXR0b25UcGw+XHJcbiAgICAgIDx4LWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwieC1pbnB1dC1udW1iZXItcGx1c1wiXHJcbiAgICAgICAgaWNvbj1cImZ0by1wbHVzXCJcclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBbb25seUljb25dPVwiIWJvcmRlcmVkXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbWF4RGlzYWJsZWRcIlxyXG4gICAgICAgIChjbGljayk9XCIhbWF4RGlzYWJsZWQgJiYgcGx1cygkZXZlbnQsIHN0ZXApOyBmb3JtQ29udHJvbFZhbGlkYXRvcigpXCJcclxuICAgICAgICBhdHRyVHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKG1vdXNlZG93bik9XCIhbWF4RGlzYWJsZWQgJiYgZG93bigkZXZlbnQsIHN0ZXApXCJcclxuICAgICAgICAobW91c2V1cCk9XCJ1cCgkZXZlbnQpXCJcclxuICAgICAgPjwveC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImludmFsaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtYm9yZGVyLWVycm9yIHgtdG9wLWxlZnRcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtYm9yZGVyLWVycm9yIHgtdG9wLXJpZ2h0XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LWJvdHRvbS1sZWZ0XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LWJvdHRvbS1yaWdodFwiPjwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -123,22 +123,22 @@ export class XListComponent extends XListProperty {
123
123
  else {
124
124
  valArry = [this.value];
125
125
  }
126
+ let ids = [];
127
+ let selectedNodes = [];
126
128
  if (this.objectArray) {
127
- this.selectedNodes = this.nodes
128
- .filter((x) => !XIsEmpty(valArry.find((y) => !XIsUndefined(y) && !XIsNull(y) && y.id === x.id)))
129
- .map((x) => {
130
- x.selected = true;
131
- return x;
132
- });
129
+ ids = valArry.filter((x) => !XIsUndefined(x) && !XIsNull(x)).map((x) => x.id);
133
130
  }
134
131
  else {
135
- this.selectedNodes = this.nodes
136
- .filter((x) => valArry.indexOf(x.id) > -1)
137
- .map((x) => {
138
- x.selected = true;
139
- return x;
140
- });
132
+ ids = valArry;
141
133
  }
134
+ for (let id of ids) {
135
+ let node = this.nodes.find((x) => x.id === id);
136
+ if (node) {
137
+ node.selected = true;
138
+ selectedNodes.push(node);
139
+ }
140
+ }
141
+ this.selectedNodes = selectedNodes;
142
142
  }
143
143
  }
144
144
  setKeyManager() {
@@ -280,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
280
280
  type: HostListener,
281
281
  args: ['keydown', ['$event']]
282
282
  }] } });
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBT3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFrQixRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hHLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVd2RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUF1Qy9DLFlBQ1MsUUFBbUIsRUFDbkIsR0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsYUFBNkIsRUFDNUIsSUFBa0I7UUFFMUIsS0FBSyxFQUFFLENBQUM7UUFORCxhQUFRLEdBQVIs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QyxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYyxFQUFFLElBQWU7UUFDekMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQzs7OEhBeFFVLGNBQWM7a0hBQWQsY0FBYyxvS0FGZCxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQywrSUFNN0Isb0JBQW9CLDRGQ3ZDcEMsZzdDQXVDQTsyRkRKYSxjQUFjO2tCQVIxQixTQUFTOytCQUNFLEdBQUcsV0FBVyxFQUFFLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGdCQUFnQixDQUFDO2lOQUtuQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRXRCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxvQkFBb0I7Z0JBTVIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNNLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFUyxPQUFPO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBRdWVyeUxpc3QsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdFByZWZpeCwgWExpc3ROb2RlLCBYTGlzdFByb3BlcnR5IH0gZnJvbSAnLi9saXN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UsIFhJc0VtcHR5LCBYSXNVbmRlZmluZWQsIFhJc051bGwgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBYTGlzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5MaXN0LCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYTGlzdFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYTGlzdENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdENvbXBvbmVudCBleHRlbmRzIFhMaXN0UHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgbm9kZXM6IFhMaXN0Tm9kZVtdID0gW107XHJcbiAgc2VsZWN0ZWROb2RlczogWExpc3ROb2RlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdsaXN0SXRlbXMnKSBsaXN0SXRlbXMhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGRyZW4oWExpc3RPcHRpb25Db21wb25lbnQpXHJcbiAgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxYTGlzdE9wdGlvbkNvbXBvbmVudD47XHJcbiAga2V5TWFuYWdlciE6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFhMaXN0T3B0aW9uQ29tcG9uZW50PjtcclxuICBpc1NlbGVjdEFsbCA9IGZhbHNlO1xyXG4gIGxvY2FsZTogWEkxOG5MaXN0ID0ge307XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0Ym94JztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9IC0xO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkga2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oJGV2ZW50KTtcclxuICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXI7XHJcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IEVOVEVSICYmICFYSXNVbmRlZmluZWQoYWN0aXZlSW5kZXgpKSB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUoYWN0aXZlSW5kZXgpO1xyXG4gICAgICB0aGlzLm9uTm9kZUNsaWNrKCRldmVudCwgdGhpcy5ub2Rlc1thY3RpdmVJbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRW1wdHkoKSB7XHJcbiAgICByZXR1cm4gWElzRW1wdHkodGhpcy5ub2Rlcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0U2VsZWN0QWxsVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdEFsbFRleHQgfHwgdGhpcy5sb2NhbGUuc2VsZWN0QWxsVGV4dDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgdGhpcy5zZXRLZXlNYW5hZ2VyKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5saXN0IGFzIFhJMThuTGlzdCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEtleU1hbmFnZXIoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WExpc3ROb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICAgIHRoaXMuc2V0S2V5TWFuYWdlcigpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEtleU1hbmFnZXIoKSB7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+KHRoaXMub3B0aW9ucykud2l0aFdyYXAoKTtcclxuXHJcbiAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXIpO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJUYWJPdXQuZW1pdCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKG51bTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2NvcmxsVG9wKG51bSk7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFNjb3JsbFRvcChfbnVtOiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxFbGVtZW50KSByZXR1cm47XHJcbiAgICBsZXQgZWxlID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0hLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGxldCBsaXN0ID0gdGhpcy5zY3JvbGxFbGVtZW50O1xyXG4gICAgbGV0IG1pbiA9IGxpc3Quc2Nyb2xsVG9wO1xyXG4gICAgbGV0IG1heCA9IGxpc3Quc2Nyb2xsVG9wICsgbGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAoZWxlLm9mZnNldFRvcCArIGVsZS5jbGllbnRIZWlnaHQgPiBtYXgpIHtcclxuICAgICAgbGV0IHNjcm9sbFRvcCA9IGVsZS5vZmZzZXRUb3AgKyBlbGUuY2xpZW50SGVpZ2h0IC0gbGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIGxpc3Quc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xyXG4gICAgfVxyXG4gICAgaWYgKGVsZS5vZmZzZXRUb3AgPCBtaW4pIHtcclxuICAgICAgbGlzdC5zY3JvbGxUb3AgPSBlbGUub2Zmc2V0VG9wO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWQoKSB7XHJcbiAgICBpZiAodGhpcy5ub2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubm9kZXNcclxuICAgICAgICAuZmlsdGVyKCh4KSA9PiB4LnNlbGVjdGVkKVxyXG4gICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgIHguc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICB2YWxBcnJ5ID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAodmFsQXJyeS5sZW5ndGggPT09IHRoaXMubm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFsQXJyeSA9IFt0aGlzLnZhbHVlXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMub2JqZWN0QXJyYXkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLm5vZGVzXHJcbiAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhWElzRW1wdHkodmFsQXJyeS5maW5kKCh5KSA9PiAhWElzVW5kZWZpbmVkKHkpICYmICFYSXNOdWxsKHkpICYmIHkuaWQgPT09IHguaWQpKSlcclxuICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgeC5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5ub2Rlc1xyXG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4gdmFsQXJyeS5pbmRleE9mKHguaWQpID4gLTEpXHJcbiAgICAgICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHguc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRLZXlNYW5hZ2VyKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmtleU1hbmFnZXIpIHx8IFhJc1VuZGVmaW5lZCh0aGlzLm5vZGVzKSB8fCB0aGlzLm5vZGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGFjdGl2ZUluZGV4ID0gMDtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShhY3RpdmVJbmRleCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCB2YWxBcnJ5OiBhbnlbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICB2YWxBcnJ5ID0gdGhpcy52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhbEFycnkgPSBbdGhpcy52YWx1ZV07XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaXJzdCA9IHZhbEFycnlbMF07XHJcbiAgICBpZiAodGhpcy5vYmplY3RBcnJheSkge1xyXG4gICAgICBhY3RpdmVJbmRleCA9IHRoaXMubm9kZXMuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBmaXJzdC5pZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhY3RpdmVJbmRleCA9IHRoaXMubm9kZXMuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBmaXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShhY3RpdmVJbmRleCk7XHJcbiAgICB0aGlzLnNldFNjb3JsbFRvcChhY3RpdmVJbmRleCk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVDbGljayhldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZChub2RlKSB8fCBub2RlLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCB8fCAobm9kZS5zZWxlY3RlZCAmJiB0aGlzLm11bHRpcGxlID09PSAxKSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSAhbm9kZS5zZWxlY3RlZDtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA8IHRoaXMubXVsdGlwbGUgfHwgdGhpcy5tdWx0aXBsZSA9PT0gMCkge1xyXG4gICAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbLi4udGhpcy5zZWxlY3RlZE5vZGVzLCBub2RlXTtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gdGhpcy5ub2Rlcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tdWx0aXBsZSA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlc1swXS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlc1swXSA9IG5vZGU7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMuc3BsaWNlKFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT0gbm9kZS5pZCksXHJcbiAgICAgICAgMVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmlzU2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzWzBdIDogdGhpcy5zZWxlY3RlZE5vZGVzWzBdLmlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXMgOiB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uTW91c2VlbnRlcihldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZU1vdXNlZW50ZXIuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uTW91c2VsZWF2ZShldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZU1vdXNlbGVhdmUuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIGRyb3BDZGsoZXZlbnQ6IENka0RyYWdEcm9wPFhMaXN0Tm9kZVtdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubm9kZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbE5vZGVzKCkge1xyXG4gICAgdGhpcy5pc1NlbGVjdEFsbCA9ICF0aGlzLmlzU2VsZWN0QWxsO1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5ub2Rlcy5tYXAoKHgpID0+IHtcclxuICAgICAgICB4LnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4geDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFsuLi50aGlzLm5vZGVzXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm9kZXMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgeC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB4O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2RlcyA6IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm9uU2VsZWN0QWxsLmVtaXQodGhpcy5pc1NlbGVjdEFsbCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWExpc3ROb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIHNldFVuQWN0aXZlKG51bTogbnVtYmVyKSB7XHJcbiAgICBpZiAobnVtID4gLTEpIHRoaXMubm9kZXNbbnVtXS5hY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtbGlzdFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWxpc3QtaGVhZGVyXCIgKnhPdXRsZXQ9XCJoZWFkZXJcIj57eyBoZWFkZXIgfX08L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0QWxsICYmIG11bHRpcGxlID09PSAwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1saXN0LXNlbGVjdC1hbGxcIj5cclxuICAgICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBbbGFiZWxdPVwiZ2V0U2VsZWN0QWxsVGV4dFwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0QWxsXCJcclxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RBbGxOb2RlcygpXCJcclxuICAgICAgPjwveC1saXN0LW9wdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWxpc3QtY29udGVudFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcENkaygkZXZlbnQpXCIgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWdcIiBbaGlkZGVuXT1cImlzRW1wdHlcIj5cclxuICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgIGNka0RyYWdcclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCJcclxuICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgICBbbm9kZVRwbF09XCJub2RlVHBsXCJcclxuICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgIFtsYWJlbF09XCJub2RlLmxhYmVsXCJcclxuICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZWVudGVyKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlbGVhdmUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWVtcHR5ICpuZ0lmPVwiaXNFbXB0eVwiPjwveC1lbXB0eT5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1saXN0LWZvb3RlclwiICp4T3V0bGV0PVwiZm9vdGVyXCI+e3sgZm9vdGVyIH19PC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBT3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFrQixRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hHLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVd2RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUF1Qy9DLFlBQ1MsUUFBbUIsRUFDVixHQUFzQixFQUMvQixVQUFzQixFQUN0QixhQUE2QixFQUM1QixJQUFrQjtRQUUxQixLQUFLLEVBQUUsQ0FBQztRQU5ELGFBQVEsR0FBUixR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QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBZTtRQUN6QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUMvQyxDQUFDOzs4SEF4UVUsY0FBYztrSEFBZCxjQUFjLG9LQUZkLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLCtJQU03QixvQkFBb0IsNEZDdkNwQyxnN0NBdUNBOzJGREphLGNBQWM7a0JBUjFCLFNBQVM7K0JBQ0UsR0FBRyxXQUFXLEVBQUUsaUJBR1gsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsZ0JBQWdCLENBQUM7aU5BS25CLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFFdEIsT0FBTztzQkFETixZQUFZO3VCQUFDLG9CQUFvQjtnQkFNUixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQ00sUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQUVTLE9BQU87c0JBQTNDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgVmlld0NoaWxkcmVuXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhMaXN0UHJlZml4LCBYTGlzdE5vZGUsIFhMaXN0UHJvcGVydHkgfSBmcm9tICcuL2xpc3QucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNDaGFuZ2UsIFhTZXREYXRhLCBYQ29uZmlnU2VydmljZSwgWElzRW1wdHksIFhJc1VuZGVmaW5lZCwgWElzTnVsbCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSTE4bkxpc3QsIFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0UHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhMaXN0Q29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhMaXN0Q29tcG9uZW50IGV4dGVuZHMgWExpc3RQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBub2RlczogWExpc3ROb2RlW10gPSBbXTtcclxuICBzZWxlY3RlZE5vZGVzOiBYTGlzdE5vZGVbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ2xpc3RJdGVtcycpIGxpc3RJdGVtcyE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZHJlbihYTGlzdE9wdGlvbkNvbXBvbmVudClcclxuICBvcHRpb25zITogUXVlcnlMaXN0PFhMaXN0T3B0aW9uQ29tcG9uZW50PjtcclxuICBrZXlNYW5hZ2VyITogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+O1xyXG4gIGlzU2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgbG9jYWxlOiBYSTE4bkxpc3QgPSB7fTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2xpc3Rib3gnO1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4ID0gLTE7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBrZXlkb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bigkZXZlbnQpO1xyXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IGFzIG51bWJlcjtcclxuICAgIGlmICgkZXZlbnQua2V5Q29kZSA9PT0gRU5URVIgJiYgIVhJc1VuZGVmaW5lZChhY3RpdmVJbmRleCkpIHtcclxuICAgICAgdGhpcy5zZXRVbkFjdGl2ZShhY3RpdmVJbmRleCk7XHJcbiAgICAgIHRoaXMub25Ob2RlQ2xpY2soJGV2ZW50LCB0aGlzLm5vZGVzW2FjdGl2ZUluZGV4XSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaXNFbXB0eSgpIHtcclxuICAgIHJldHVybiBYSXNFbXB0eSh0aGlzLm5vZGVzKTtcclxuICB9XHJcblxyXG4gIGdldCBnZXRTZWxlY3RBbGxUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0QWxsVGV4dCB8fCB0aGlzLmxvY2FsZS5zZWxlY3RBbGxUZXh0O1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICB0aGlzLnNldEtleU1hbmFnZXIoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4Lmxpc3QgYXMgWEkxOG5MaXN0KSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5pbml0S2V5TWFuYWdlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBYU2V0RGF0YTxYTGlzdE5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWQoKTtcclxuICAgICAgdGhpcy5zZXRLZXlNYW5hZ2VyKCk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0S2V5TWFuYWdlcigpIHtcclxuICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxYTGlzdE9wdGlvbkNvbXBvbmVudD4odGhpcy5vcHRpb25zKS53aXRoV3JhcCgpO1xyXG5cclxuICAgIHRoaXMua2V5TWFuYWdlci50YWJPdXQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRVbkFjdGl2ZSh0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IGFzIG51bWJlcik7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlclRhYk91dC5lbWl0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmtleU1hbmFnZXIuY2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgobnVtOiBudW1iZXIpID0+IHtcclxuICAgICAgdGhpcy5zZXRTY29ybGxUb3AobnVtKTtcclxuICAgICAgdGhpcy5rZXlNYW5hZ2VyQ2hhbmdlLmVtaXQobnVtKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2NvcmxsVG9wKF9udW06IG51bWJlcikge1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbEVsZW1lbnQpIHJldHVybjtcclxuICAgIGxldCBlbGUgPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSEuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgbGV0IGxpc3QgPSB0aGlzLnNjcm9sbEVsZW1lbnQ7XHJcbiAgICBsZXQgbWluID0gbGlzdC5zY3JvbGxUb3A7XHJcbiAgICBsZXQgbWF4ID0gbGlzdC5zY3JvbGxUb3AgKyBsaXN0LmNsaWVudEhlaWdodDtcclxuICAgIGlmIChlbGUub2Zmc2V0VG9wICsgZWxlLmNsaWVudEhlaWdodCA+IG1heCkge1xyXG4gICAgICBsZXQgc2Nyb2xsVG9wID0gZWxlLm9mZnNldFRvcCArIGVsZS5jbGllbnRIZWlnaHQgLSBsaXN0LmNsaWVudEhlaWdodDtcclxuICAgICAgbGlzdC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XHJcbiAgICB9XHJcbiAgICBpZiAoZWxlLm9mZnNldFRvcCA8IG1pbikge1xyXG4gICAgICBsaXN0LnNjcm9sbFRvcCA9IGVsZS5vZmZzZXRUb3A7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub2Rlc1xyXG4gICAgICAgIC5maWx0ZXIoKHgpID0+IHguc2VsZWN0ZWQpXHJcbiAgICAgICAgLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgICAgeC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBsZXQgdmFsQXJyeTogYW55W10gPSBbXTtcclxuICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgIHZhbEFycnkgPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWxBcnJ5Lmxlbmd0aCA9PT0gdGhpcy5ub2Rlcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB2YWxBcnJ5ID0gW3RoaXMudmFsdWVdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgaWRzID0gW107XHJcbiAgICAgIGxldCBzZWxlY3RlZE5vZGVzID0gW107XHJcbiAgICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeS5maWx0ZXIoKHgpID0+ICFYSXNVbmRlZmluZWQoeCkgJiYgIVhJc051bGwoeCkpLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGxldCBpZCBvZiBpZHMpIHtcclxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMubm9kZXMuZmluZCgoeCkgPT4geC5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChub2RlKSB7XHJcbiAgICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgIHNlbGVjdGVkTm9kZXMucHVzaChub2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gc2VsZWN0ZWROb2RlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEtleU1hbmFnZXIoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMua2V5TWFuYWdlcikgfHwgWElzVW5kZWZpbmVkKHRoaXMubm9kZXMpIHx8IHRoaXMubm9kZXMubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICBsZXQgYWN0aXZlSW5kZXggPSAwO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgIHZhbEFycnkgPSB0aGlzLnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFsQXJyeSA9IFt0aGlzLnZhbHVlXTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0ID0gdmFsQXJyeVswXTtcclxuICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGZpcnN0LmlkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcclxuICAgIHRoaXMuc2V0U2NvcmxsVG9wKGFjdGl2ZUluZGV4KTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKG5vZGUpIHx8IG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChub2RlLmRpc2FibGVkIHx8IChub2RlLnNlbGVjdGVkICYmIHRoaXMubXVsdGlwbGUgPT09IDEpKSByZXR1cm47XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9ICFub2RlLnNlbGVjdGVkO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoIDwgdGhpcy5tdWx0aXBsZSB8fCB0aGlzLm11bHRpcGxlID09PSAwKSB7XHJcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFsuLi50aGlzLnNlbGVjdGVkTm9kZXMsIG5vZGVdO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSB0aGlzLm5vZGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5pc1NlbGVjdEFsbCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlID09PSAxICYmIHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzWzBdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzWzBdID0gbm9kZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5zcGxpY2UoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PSBub2RlLmlkKSxcclxuICAgICAgICAxXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSAxICYmIHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXNbMF0gOiB0aGlzLnNlbGVjdGVkTm9kZXNbMF0uaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2RlcyA6IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWVudGVyKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VlbnRlci5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWxlYXZlKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VsZWF2ZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcENkayhldmVudDogQ2RrRHJhZ0Ryb3A8WExpc3ROb2RlW10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5ub2RlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsTm9kZXMoKSB7XHJcbiAgICB0aGlzLmlzU2VsZWN0QWxsID0gIXRoaXMuaXNTZWxlY3RBbGw7XHJcbiAgICBpZiAodGhpcy5pc1NlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLm5vZGVzLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgIHguc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiB4O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gWy4uLnRoaXMubm9kZXNdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ub2Rlcy5tYXAoKHgpID0+IHtcclxuICAgICAgICB4LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzIDogdGhpcy5zZWxlY3RlZE5vZGVzLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMub25TZWxlY3RBbGwuZW1pdCh0aGlzLmlzU2VsZWN0QWxsKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlOb2RlKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYTGlzdE5vZGUpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgc2V0VW5BY3RpdmUobnVtOiBudW1iZXIpIHtcclxuICAgIGlmIChudW0gPiAtMSkgdGhpcy5ub2Rlc1tudW1dLmFjdGl2ZSA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1saXN0XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtbGlzdC1oZWFkZXJcIiAqeE91dGxldD1cImhlYWRlclwiPnt7IGhlYWRlciB9fTwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RBbGwgJiYgbXVsdGlwbGUgPT09IDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWxpc3Qtc2VsZWN0LWFsbFwiPlxyXG4gICAgICA8eC1saXN0LW9wdGlvblxyXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICAgIFtsYWJlbF09XCJnZXRTZWxlY3RBbGxUZXh0XCJcclxuICAgICAgICBbY2hlY2tlZF09XCJ0cnVlXCJcclxuICAgICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RBbGxcIlxyXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbE5vZGVzKClcIlxyXG4gICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cIngtbGlzdC1jb250ZW50XCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wQ2RrKCRldmVudClcIiBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZHJhZ1wiIFtoaWRkZW5dPVwiaXNFbXB0eVwiPlxyXG4gICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgY2RrRHJhZ1xyXG4gICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBub2RlczsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIlxyXG4gICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAgIFtub2RlVHBsXT1cIm5vZGVUcGxcIlxyXG4gICAgICBbc2VsZWN0ZWRdPVwibm9kZS5zZWxlY3RlZFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgWyhhY3RpdmUpXT1cIm5vZGUuYWN0aXZlXCJcclxuICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgW2xhYmVsXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICBbbGVhZl09XCJub2RlLmxlYWZcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlZW50ZXIoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgID48L3gtbGlzdC1vcHRpb24+XHJcbiAgPC9kaXY+XHJcbiAgPHgtZW1wdHkgKm5nSWY9XCJpc0VtcHR5XCI+PC94LWVtcHR5PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb290ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWxpc3QtZm9vdGVyXCIgKnhPdXRsZXQ9XCJmb290ZXJcIj57eyBmb290ZXIgfX08L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -41,6 +41,7 @@ export class XRadioComponent extends XRadioProperty {
41
41
  event.preventDefault();
42
42
  if (this.disabled || node.disabled || node.id === this.value)
43
43
  return;
44
+ this.formControlValidator();
44
45
  this.value = node.id;
45
46
  this.cdr.detectChanges();
46
47
  if (this.onChange)
@@ -62,12 +63,12 @@ export class XRadioComponent extends XRadioProperty {
62
63
  }
63
64
  }
64
65
  /** @nocollapse */ XRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XRadioComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
65
- /** @nocollapse */ XRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XRadioComponent, selector: "x-radio", providers: [XValueAccessor(XRadioComponent)], viewQueries: [{ propertyName: "radio", first: true, predicate: ["radio"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div class=\"x-radio-row\">\r\n <div\r\n class=\"x-radio-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;align-items:center;position:relative;line-height:calc(var(--x-font-size) + .875rem)}.x-radio-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-item:hover{color:var(--x-primary)}.x-radio-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-item:last-child{margin-right:0}.x-radio-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XButtonComponent, selector: "x-button" }, { kind: "component", type: i3.XButtonsComponent, selector: "x-buttons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
+ /** @nocollapse */ XRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XRadioComponent, selector: "x-radio", providers: [XValueAccessor(XRadioComponent)], viewQueries: [{ propertyName: "radio", first: true, predicate: ["radio"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div class=\"x-radio-row\">\r\n <div\r\n class=\"x-radio-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;align-items:center;position:relative;line-height:calc(var(--x-font-size) + .875rem)}.x-radio-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-item:hover{color:var(--x-primary)}.x-radio-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-item:last-child{margin-right:0}.x-radio-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XButtonComponent, selector: "x-button" }, { kind: "component", type: i3.XButtonsComponent, selector: "x-buttons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XRadioComponent, decorators: [{
67
68
  type: Component,
68
- args: [{ selector: `${XRadioPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XRadioComponent)], template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div class=\"x-radio-row\">\r\n <div\r\n class=\"x-radio-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;align-items:center;position:relative;line-height:calc(var(--x-font-size) + .875rem)}.x-radio-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-item:hover{color:var(--x-primary)}.x-radio-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-item:last-child{margin-right:0}.x-radio-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"] }]
69
+ args: [{ selector: `${XRadioPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XRadioComponent)], template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div class=\"x-radio-row\">\r\n <div\r\n class=\"x-radio-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;align-items:center;position:relative;line-height:calc(var(--x-font-size) + .875rem)}.x-radio-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-item:hover{color:var(--x-primary)}.x-radio-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-item:last-child{margin-right:0}.x-radio-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"] }]
69
70
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { radio: [{
70
71
  type: ViewChild,
71
72
  args: ['radio', { static: true }]
72
73
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFjLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFVdkQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUtqRCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVB0QyxVQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRVEsVUFBVSxDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZLEVBQUUsSUFBZ0I7UUFDdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sT0FBTztRQUNiLFFBQVEsQ0FBYSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWMsRUFBRSxJQUFnQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsrSEE5RFUsZUFBZTttSEFBZixlQUFlLGtDQUZmLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLG9MQ3RCOUMsZ3dDQXVDQTsyRkRmYSxlQUFlO2tCQVIzQixTQUFTOytCQUNFLEdBQUcsWUFBWSxFQUFFLGlCQUdaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGlCQUFpQixDQUFDO3NMQUdOLEtBQUs7c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYUmFkaW9QcmVmaXgsIFhSYWRpb05vZGUsIFhSYWRpb1Byb3BlcnR5IH0gZnJvbSAnLi9yYWRpby5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYU2V0RGF0YSwgWENsZWFyQ2xhc3MsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYUmFkaW9QcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYUmFkaW9Db21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFJhZGlvQ29tcG9uZW50IGV4dGVuZHMgWFJhZGlvUHJvcGVydHkgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBWaWV3Q2hpbGQoJ3JhZGlvJywgeyBzdGF0aWM6IHRydWUgfSkgcmFkaW8hOiBFbGVtZW50UmVmO1xyXG4gIG5vZGVzOiBYUmFkaW9Ob2RlW10gPSBbXTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMucmFkaW8ubmF0aXZlRWxlbWVudCwgdGhpcy5yZW5kZXJlciwgdGhpcy5qdXN0aWZ5LCB0aGlzLmFsaWduLCB0aGlzLmRpcmVjdGlvbik7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJhZGlvQ2xpY2soZXZlbnQ6IEV2ZW50LCBub2RlOiBYUmFkaW9Ob2RlKSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgbm9kZS5kaXNhYmxlZCB8fCBub2RlLmlkID09PSB0aGlzLnZhbHVlKSByZXR1cm47XHJcbiAgICB0aGlzLnZhbHVlID0gbm9kZS5pZDtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WFJhZGlvTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFJhZGlvTm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnNldERhdGEoKTtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNyYWRpb1xyXG4gIGNsYXNzPVwieC1yYWRpb1wiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5IHx8IGFsaWduIHx8IGRpcmVjdGlvblwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LXJlcXVpcmVkXT1cInJlcXVpcmVkSXNFbXB0eVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkXCJcclxuPlxyXG4gIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW3N0eWxlLndpZHRoXT1cImxhYmVsV2lkdGhcIiBbbmdDbGFzc109XCJsYWJlbE1hcFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYnV0dG9uIHx8IGljb247IGVsc2UgZGVmYXVsdFwiPlxyXG4gICAgPHgtYnV0dG9ucz5cclxuICAgICAgPHgtYnV0dG9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcclxuICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxyXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgIFthY3RpdmF0ZWRdPVwiaXRlbS5pZCA9PT0gdmFsdWVcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkXCJcclxuICAgICAgICAoY2xpY2spPVwicmFkaW9DbGljaygkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgICA+e3sgaXRlbS5sYWJlbCB9fTwveC1idXR0b25cclxuICAgICAgPlxyXG4gICAgPC94LWJ1dHRvbnM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXJhZGlvLXJvd1wiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cIngtcmFkaW8taXRlbVwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiXHJcbiAgICAgIFtjbGFzcy54LWNoZWNrZWRdPVwiaXRlbS5pZCA9PT0gdmFsdWVcIlxyXG4gICAgICBbY2xhc3MueC1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cInJhZGlvQ2xpY2soJGV2ZW50LCBpdGVtKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwieC1yYWRpby1ib3hcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwieC1yYWRpby1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFjLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFVdkQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUtqRCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ2IsR0FBc0IsRUFDL0IsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDYixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFQdEMsVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFTekMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVRLFVBQVUsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWSxFQUFFLElBQWdCO1FBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNyRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLE9BQU87UUFDYixRQUFRLENBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBZ0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7K0hBL0RVLGVBQWU7bUhBQWYsZUFBZSxrQ0FGZixDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxvTEN0QjlDLDIwQ0F3Q0E7MkZEaEJhLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsR0FBRyxZQUFZLEVBQUUsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsaUJBQWlCLENBQUM7c0xBR04sS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhSYWRpb1ByZWZpeCwgWFJhZGlvTm9kZSwgWFJhZGlvUHJvcGVydHkgfSBmcm9tICcuL3JhZGlvLnByb3BlcnR5JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBYSXNDaGFuZ2UsIFhTZXREYXRhLCBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hSYWRpb1ByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhSYWRpb0NvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBYUmFkaW9Qcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgncmFkaW8nLCB7IHN0YXRpYzogdHJ1ZSB9KSByYWRpbyE6IEVsZW1lbnRSZWY7XHJcbiAgbm9kZXM6IFhSYWRpb05vZGVbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5yYWRpby5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMubGFiZWxNYXApO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmFkaW9DbGljayhldmVudDogRXZlbnQsIG5vZGU6IFhSYWRpb05vZGUpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBub2RlLmRpc2FibGVkIHx8IG5vZGUuaWQgPT09IHRoaXMudmFsdWUpIHJldHVybjtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xWYWxpZGF0b3IoKTtcclxuICAgIHRoaXMudmFsdWUgPSBub2RlLmlkO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBYU2V0RGF0YTxYUmFkaW9Ob2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYUmFkaW9Ob2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgI3JhZGlvXHJcbiAgY2xhc3M9XCJ4LXJhZGlvXCJcclxuICBbY2xhc3MueC1mbGV4XT1cImp1c3RpZnkgfHwgYWxpZ24gfHwgZGlyZWN0aW9uXCJcclxuICBbY2xhc3MueC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2NsYXNzLngtcmVxdWlyZWRdPVwicmVxdWlyZWRJc0VtcHR5XCJcclxuICBbY2xhc3MueC1pbnZhbGlkXT1cImludmFsaWRcIlxyXG4+XHJcbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBbY2xhc3MueC1yYWRpby1sYWJlbC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtzdHlsZS53aWR0aF09XCJsYWJlbFdpZHRoXCIgW25nQ2xhc3NdPVwibGFiZWxNYXBcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ1dHRvbiB8fCBpY29uOyBlbHNlIGRlZmF1bHRcIj5cclxuICAgIDx4LWJ1dHRvbnM+XHJcbiAgICAgIDx4LWJ1dHRvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiXHJcbiAgICAgICAgW2ljb25dPVwiaXRlbS5pY29uXCJcclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICBbYWN0aXZhdGVkXT1cIml0ZW0uaWQgPT09IHZhbHVlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZFwiXHJcbiAgICAgICAgYXR0clR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJyYWRpb0NsaWNrKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgID57eyBpdGVtLmxhYmVsIH19PC94LWJ1dHRvblxyXG4gICAgICA+XHJcbiAgICA8L3gtYnV0dG9ucz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHQ+XHJcbiAgPGRpdiBjbGFzcz1cIngtcmFkaW8tcm93XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwieC1yYWRpby1pdGVtXCJcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcclxuICAgICAgW2NsYXNzLngtY2hlY2tlZF09XCJpdGVtLmlkID09PSB2YWx1ZVwiXHJcbiAgICAgIFtjbGFzcy54LWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxyXG4gICAgICAoY2xpY2spPVwicmFkaW9DbGljaygkZXZlbnQsIGl0ZW0pXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ4LXJhZGlvLWJveFwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ4LXJhZGlvLWxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=