@taiga-ui/kit 3.10.0 → 3.12.0

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 (271) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +3 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-avatar.umd.js +9 -2
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +3 -1
  10. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +3 -1
  17. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-input-date.umd.js +3 -1
  19. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-input-files.umd.js +246 -69
  21. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +16 -2
  24. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-month.umd.js +17 -3
  26. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +20 -2
  29. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-input-phone.umd.js +6 -2
  31. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-push.umd.js +3 -1
  40. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-range.umd.js +4 -2
  43. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-slider.umd.js +3 -1
  46. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-stepper.umd.js +20 -13
  48. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-tiles.umd.js +645 -0
  51. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -0
  52. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  53. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +3 -1
  55. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  56. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +3 -1
  57. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  64. package/components/accordion/accordion.component.d.ts +1 -1
  65. package/components/arrow/arrow-options.d.ts +2 -2
  66. package/components/avatar/avatar-options.d.ts +1 -1
  67. package/components/avatar/avatar.component.d.ts +5 -3
  68. package/components/badge/badge.component.d.ts +1 -1
  69. package/components/badged-content/badged-content.component.d.ts +1 -1
  70. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  71. package/components/calendar-range/calendar-range.component.d.ts +3 -3
  72. package/components/checkbox-block/checkbox-block.component.d.ts +1 -1
  73. package/components/combo-box/combo-box.component.d.ts +1 -1
  74. package/components/data-list-wrapper/data-list-wrapper.d.ts +3 -3
  75. package/components/filter/filter.component.d.ts +1 -1
  76. package/components/index.d.ts +1 -0
  77. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  78. package/components/input-files/index.d.ts +2 -0
  79. package/components/input-files/input-files.component.d.ts +20 -6
  80. package/components/input-files/input-files.directive.d.ts +20 -0
  81. package/components/input-files/input-files.module.d.ts +8 -7
  82. package/components/input-files/input-files.options.d.ts +17 -0
  83. package/components/input-inline/input-inline.component.d.ts +1 -1
  84. package/components/input-month/input-month.component.d.ts +4 -2
  85. package/components/input-month-range/input-month-range.component.d.ts +4 -2
  86. package/components/input-password/input-password-options.d.ts +2 -2
  87. package/components/input-password/input-password.component.d.ts +3 -3
  88. package/components/input-phone/input-phone.component.d.ts +1 -1
  89. package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
  90. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -1
  91. package/components/input-range/input-range.component.d.ts +1 -1
  92. package/components/input-tag/input-tag-options.d.ts +1 -1
  93. package/components/input-tag/input-tag.component.d.ts +4 -4
  94. package/components/input-time/input-time-options.d.ts +2 -2
  95. package/components/island/island.component.d.ts +1 -1
  96. package/components/marker-icon/marker-icon.component.d.ts +1 -1
  97. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  98. package/components/multi-select/multi-select.component.d.ts +2 -2
  99. package/components/pdf-viewer/pdf-viewer.service.d.ts +1 -1
  100. package/components/push/push-alert.directive.d.ts +1 -1
  101. package/components/radio-block/radio-block.component.d.ts +1 -1
  102. package/components/range/range-change.directive.d.ts +2 -2
  103. package/components/range/range.component.d.ts +1 -1
  104. package/components/select/select.component.d.ts +1 -1
  105. package/components/slider/helpers/slider-readonly.directive.d.ts +2 -2
  106. package/components/stepper/step/step.component.d.ts +1 -1
  107. package/components/stepper/stepper.component.d.ts +3 -2
  108. package/components/tag/tag-options.d.ts +1 -1
  109. package/components/tag/tag.component.d.ts +2 -2
  110. package/components/tiles/index.d.ts +4 -0
  111. package/components/tiles/package.json +10 -0
  112. package/components/tiles/taiga-ui-kit-components-tiles.d.ts +5 -0
  113. package/components/tiles/tile-handle.directive.d.ts +13 -0
  114. package/components/tiles/tile.component.d.ts +30 -0
  115. package/components/tiles/tiles.component.d.ts +19 -0
  116. package/components/tiles/tiles.module.d.ts +10 -0
  117. package/directives/lazy-loading/lazy-loading.directive.d.ts +3 -2
  118. package/directives/lazy-loading/lazy-loading.service.d.ts +4 -3
  119. package/esm2015/components/accordion/accordion.component.js +5 -3
  120. package/esm2015/components/arrow/arrow-options.js +1 -1
  121. package/esm2015/components/avatar/avatar-options.js +1 -1
  122. package/esm2015/components/avatar/avatar.component.js +6 -3
  123. package/esm2015/components/badge/badge.component.js +1 -1
  124. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  125. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  126. package/esm2015/components/calendar-range/calendar-range.component.js +5 -3
  127. package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
  128. package/esm2015/components/combo-box/combo-box.component.js +1 -1
  129. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +1 -1
  130. package/esm2015/components/filter/filter.component.js +1 -1
  131. package/esm2015/components/index.js +2 -1
  132. package/esm2015/components/input-date/input-date.component.js +5 -3
  133. package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
  134. package/esm2015/components/input-date-time/input-date-time.component.js +5 -3
  135. package/esm2015/components/input-files/index.js +3 -1
  136. package/esm2015/components/input-files/input-files.component.js +75 -26
  137. package/esm2015/components/input-files/input-files.directive.js +77 -0
  138. package/esm2015/components/input-files/input-files.module.js +12 -3
  139. package/esm2015/components/input-files/input-files.options.js +16 -0
  140. package/esm2015/components/input-inline/input-inline.component.js +1 -1
  141. package/esm2015/components/input-month/input-month.component.js +15 -5
  142. package/esm2015/components/input-month-range/input-month-range.component.js +14 -4
  143. package/esm2015/components/input-password/input-password-options.js +1 -1
  144. package/esm2015/components/input-password/input-password.component.js +1 -1
  145. package/esm2015/components/input-phone/input-phone.component.js +7 -3
  146. package/esm2015/components/input-phone-international/input-phone-international.component.js +13 -2
  147. package/esm2015/components/input-phone-international/tokens/countries-masks.js +9 -2
  148. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +1 -1
  149. package/esm2015/components/input-range/input-range.component.js +1 -1
  150. package/esm2015/components/input-tag/input-tag-options.js +1 -1
  151. package/esm2015/components/input-tag/input-tag.component.js +1 -1
  152. package/esm2015/components/input-time/input-time-options.js +1 -1
  153. package/esm2015/components/island/island.component.js +1 -1
  154. package/esm2015/components/marker-icon/marker-icon.component.js +1 -1
  155. package/esm2015/components/multi-select/hide-selected.pipe.js +1 -1
  156. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  157. package/esm2015/components/multi-select/multi-select.component.js +1 -1
  158. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +1 -1
  159. package/esm2015/components/push/push-alert.directive.js +5 -3
  160. package/esm2015/components/radio-block/radio-block.component.js +1 -1
  161. package/esm2015/components/range/range-change.directive.js +5 -3
  162. package/esm2015/components/range/range.component.js +2 -2
  163. package/esm2015/components/select/select.component.js +1 -1
  164. package/esm2015/components/slider/helpers/slider-readonly.directive.js +5 -3
  165. package/esm2015/components/stepper/step/step.component.js +2 -2
  166. package/esm2015/components/stepper/stepper.component.js +12 -9
  167. package/esm2015/components/tag/tag-options.js +1 -1
  168. package/esm2015/components/tag/tag.component.js +1 -1
  169. package/esm2015/components/tiles/index.js +5 -0
  170. package/esm2015/components/tiles/taiga-ui-kit-components-tiles.js +5 -0
  171. package/esm2015/components/tiles/tile-handle.directive.js +53 -0
  172. package/esm2015/components/tiles/tile.component.js +102 -0
  173. package/esm2015/components/tiles/tiles.component.js +99 -0
  174. package/esm2015/components/tiles/tiles.module.js +20 -0
  175. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +1 -1
  176. package/esm2015/directives/lazy-loading/lazy-loading.service.js +5 -3
  177. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +5 -3
  178. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  179. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +1 -1
  180. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
  181. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +1 -1
  182. package/esm2015/pipes/stringify/stringify.pipe.js +1 -1
  183. package/esm2015/tokens/input-date-options.js +1 -1
  184. package/esm2015/tokens/validation-errors.js +1 -1
  185. package/esm2015/types/dropdown-position.js +1 -1
  186. package/esm2015/types/file-state.js +1 -1
  187. package/esm2015/types/marker-icon-mode.js +1 -1
  188. package/esm2015/types/status.js +1 -1
  189. package/esm2015/types/step-state.js +1 -1
  190. package/esm2015/types/time-format-parts.js +1 -1
  191. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
  192. package/esm2015/utils/mask/create-time-mask.js +1 -1
  193. package/esm2015/utils/miscellaneous/is-flat.js +1 -1
  194. package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +1 -1
  195. package/fesm2015/taiga-ui-kit-components-accordion.js +3 -1
  196. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  197. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  198. package/fesm2015/taiga-ui-kit-components-avatar.js +5 -2
  199. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  200. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  201. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  202. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  203. package/fesm2015/taiga-ui-kit-components-calendar-range.js +4 -2
  204. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  205. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  206. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  207. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  208. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  209. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  210. package/fesm2015/taiga-ui-kit-components-input-date-time.js +4 -2
  211. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  212. package/fesm2015/taiga-ui-kit-components-input-date.js +4 -2
  213. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  214. package/fesm2015/taiga-ui-kit-components-input-files.js +167 -29
  215. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  216. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  217. package/fesm2015/taiga-ui-kit-components-input-month-range.js +13 -3
  218. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  219. package/fesm2015/taiga-ui-kit-components-input-month.js +14 -4
  220. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  221. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  222. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +20 -2
  223. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  224. package/fesm2015/taiga-ui-kit-components-input-phone.js +6 -2
  225. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  226. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  227. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  228. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  229. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  230. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  231. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  232. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  233. package/fesm2015/taiga-ui-kit-components-push.js +4 -2
  234. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  235. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  236. package/fesm2015/taiga-ui-kit-components-range.js +4 -2
  237. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  238. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  239. package/fesm2015/taiga-ui-kit-components-slider.js +3 -1
  240. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  241. package/fesm2015/taiga-ui-kit-components-stepper.js +12 -9
  242. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  243. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  244. package/fesm2015/taiga-ui-kit-components-tiles.js +262 -0
  245. package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -0
  246. package/fesm2015/taiga-ui-kit-components.js +1 -0
  247. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  248. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +4 -2
  249. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  250. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +4 -2
  251. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  252. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  253. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  254. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  255. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  256. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  257. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  258. package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +1 -1
  259. package/package.json +8 -8
  260. package/pipes/field-error/field-error-pipe.d.ts +1 -1
  261. package/pipes/filter-by-input/filter-by-input.base.d.ts +1 -1
  262. package/pipes/stringify/stringify.pipe.d.ts +1 -1
  263. package/tokens/input-date-options.d.ts +1 -1
  264. package/types/dropdown-position.d.ts +1 -1
  265. package/types/file-state.d.ts +1 -1
  266. package/types/marker-icon-mode.d.ts +1 -1
  267. package/types/status.d.ts +1 -1
  268. package/types/step-state.d.ts +1 -1
  269. package/types/time-format-parts.d.ts +1 -1
  270. package/utils/miscellaneous/is-flat.d.ts +1 -1
  271. package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +1 -1
@@ -41,7 +41,7 @@ export declare class TuiInputRangeComponent extends AbstractTuiControl<[number,
41
41
  onInputRight(value: number | null): void;
42
42
  onRangeValue(value: [number, number]): void;
43
43
  focusToTextInput(): void;
44
- onActiveThumbChange(activeThumb: 'right' | 'left'): void;
44
+ onActiveThumbChange(activeThumb: 'left' | 'right'): void;
45
45
  protected getFallbackValue(): [number, number];
46
46
  private safelyUpdateValue;
47
47
  private valueGuard;
@@ -1,7 +1,7 @@
1
1
  import { InjectionToken, ValueProvider } from '@angular/core';
2
2
  import { TuiStatus } from '@taiga-ui/kit/types';
3
3
  export interface TuiInputTagOptions {
4
- readonly separator: string | RegExp;
4
+ readonly separator: RegExp | string;
5
5
  readonly uniqueTags: boolean;
6
6
  readonly tagStatus: TuiStatus;
7
7
  }
@@ -26,7 +26,7 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
26
26
  private readonly scrollBar?;
27
27
  private readonly scrollToStart$;
28
28
  private readonly scrollToEnd$;
29
- separator: string | RegExp;
29
+ separator: RegExp | string;
30
30
  search: string;
31
31
  editable: boolean;
32
32
  tagValidator: TuiBooleanHandler<string>;
@@ -35,7 +35,7 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
35
35
  uniqueTags: boolean;
36
36
  maxLength: number | null;
37
37
  placeholder: string;
38
- disabledItemHandler: TuiBooleanHandler<string | TuiStringifiableItem<any>>;
38
+ disabledItemHandler: TuiBooleanHandler<TuiStringifiableItem<any> | string>;
39
39
  set pseudoFocusedSetter(value: boolean | null);
40
40
  readonly searchChange: EventEmitter<string>;
41
41
  readonly datalist?: TemplateRef<TuiContextWithImplicit<TuiActiveZoneDirective>>;
@@ -48,8 +48,8 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
48
48
  get focused(): boolean;
49
49
  get size(): TuiSizeL | TuiSizeS;
50
50
  get labelOutside(): boolean;
51
- get icon(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>>;
52
- get iconLeft(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>>;
51
+ get icon(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
52
+ get iconLeft(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
53
53
  get hasCleaner(): boolean;
54
54
  get hasNativeValue(): boolean;
55
55
  get hasValue(): boolean;
@@ -4,11 +4,11 @@ import { TuiSizeL, TuiSizeS } from '@taiga-ui/core';
4
4
  import { TuiTimeFormatParts } from '@taiga-ui/kit/types';
5
5
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
6
6
  export interface TuiInputTimeOptions {
7
- readonly icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>>;
7
+ readonly icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
8
8
  readonly mode: TuiTimeMode;
9
9
  readonly postfix: string;
10
10
  readonly maxValues: Record<TuiTimeFormatParts, number>;
11
- readonly itemSize: TuiSizeS | TuiSizeL;
11
+ readonly itemSize: TuiSizeL | TuiSizeS;
12
12
  }
13
13
  export declare const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions;
14
14
  export declare const TUI_INPUT_TIME_OPTIONS: InjectionToken<TuiInputTimeOptions>;
@@ -2,7 +2,7 @@ import { TuiSizeL, TuiSizeS } from '@taiga-ui/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiIslandComponent {
4
4
  size: TuiSizeL | TuiSizeS;
5
- textAlign: 'left' | 'right' | 'center';
5
+ textAlign: 'center' | 'left' | 'right';
6
6
  hoverable: boolean;
7
7
  transparent: boolean;
8
8
  get sizeS(): boolean;
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TuiMarkerIconComponent {
6
6
  readonly mode$: Observable<TuiBrightness | null>;
7
7
  mode: TuiMarkerIconMode | null;
8
- size: TuiSizeXXS | TuiSizeXXL;
8
+ size: TuiSizeXXL | TuiSizeXXS;
9
9
  src: string;
10
10
  constructor(mode$: Observable<TuiBrightness | null>);
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiMarkerIconComponent, never>;
@@ -11,7 +11,7 @@ export declare class TuiMultiSelectGroupComponent<T> {
11
11
  private readonly options;
12
12
  label: string;
13
13
  constructor(multiSelectTexts$: TuiInjectionTokenType<typeof TUI_MULTI_SELECT_TEXTS>, host: TuiDataListHost<T>, control: NgControl);
14
- get size(): TuiSizeXS | TuiSizeL;
14
+ get size(): TuiSizeL | TuiSizeXS;
15
15
  get empty$(): Observable<boolean>;
16
16
  get disabled$(): Observable<boolean>;
17
17
  get value$(): Observable<boolean | null>;
@@ -30,7 +30,7 @@ export declare class TuiMultiSelectComponent<T> extends AbstractTuiMultipleContr
30
30
  open: boolean;
31
31
  constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, arrowMode: TuiArrowMode, itemsHandlers: TuiItemsHandlers<T>, options: TuiMultiSelectOptions<T>, controller: TuiTextfieldController);
32
32
  get size(): TuiSizeL | TuiSizeS;
33
- get arrow(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>>;
33
+ get arrow(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>>;
34
34
  get nativeFocusableElement(): HTMLInputElement | null;
35
35
  get focused(): boolean;
36
36
  get computedValue(): readonly T[];
@@ -39,7 +39,7 @@ export declare class TuiMultiSelectComponent<T> extends AbstractTuiMultipleContr
39
39
  get computedGroup(): boolean;
40
40
  getStringifier(stringify: TuiStringHandler<T>): TuiStringHandler<TuiContextWithImplicit<T>>;
41
41
  readonly valueMapper: TuiMapper<readonly T[], ReadonlyArray<TuiStringifiableItem<T>>>;
42
- readonly disabledItemHandlerWrapper: TuiMapper<TuiBooleanHandler<T>, TuiBooleanHandler<string | TuiStringifiableItem<T>>>;
42
+ readonly disabledItemHandlerWrapper: TuiMapper<TuiBooleanHandler<T>, TuiBooleanHandler<TuiStringifiableItem<T> | string>>;
43
43
  onSpace(event: Event): void;
44
44
  handleOption(option: T): void;
45
45
  onEnter(event: Event): void;
@@ -9,7 +9,7 @@ declare type Content<G> = PolymorpheusContent<TuiBaseDialogContext<G> & TuiPdfVi
9
9
  export declare class TuiPdfViewerService extends AbstractTuiDialogService<TuiPdfViewerOptions<unknown>> {
10
10
  protected readonly component: PolymorpheusComponent<TuiPdfViewerComponent<unknown, unknown>, unknown>;
11
11
  protected readonly defaultOptions: TuiPdfViewerOptions<unknown>;
12
- open<G>(content: SafeResourceUrl | Content<G>, options?: Partial<TuiPdfViewerOptions<any>>): Observable<G>;
12
+ open<G>(content: Content<G> | SafeResourceUrl, options?: Partial<TuiPdfViewerOptions<any>>): Observable<G>;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewerService, never>;
14
14
  static ɵprov: i0.ɵɵInjectableDeclaration<TuiPdfViewerService>;
15
15
  }
@@ -7,6 +7,6 @@ export declare class TuiPushAlertDirective extends PolymorpheusTemplate<any> {
7
7
  private readonly show$;
8
8
  set tuiPush(show: boolean);
9
9
  constructor(template: TemplateRef<any>, changeDetectorRef: ChangeDetectorRef, destroy$: Observable<unknown>, push: TuiPushService);
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushAlertDirective, never>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushAlertDirective, [null, null, { self: true; }, null]>;
11
11
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPushAlertDirective, "[tuiPush]", never, { "tuiPush": "tuiPush"; }, {}, never>;
12
12
  }
@@ -9,7 +9,7 @@ export declare class TuiRadioBlockComponent<T> extends AbstractTuiNullableContro
9
9
  item?: T;
10
10
  identityMatcher: TuiIdentityMatcher<T>;
11
11
  contentAlign: TuiHorizontalDirection;
12
- size: TuiSizeS | TuiSizeL;
12
+ size: TuiSizeL | TuiSizeS;
13
13
  hideRadio: boolean;
14
14
  pseudoDisabled: boolean;
15
15
  constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, modeDirective: TuiModeDirective | null);
@@ -13,11 +13,11 @@ export declare class TuiRangeChangeDirective {
13
13
  private readonly pointerDown$;
14
14
  private readonly pointerMove$;
15
15
  private readonly pointerUp$;
16
- activeThumbChange: EventEmitter<"right" | "left">;
16
+ activeThumbChange: EventEmitter<"left" | "right">;
17
17
  constructor(documentRef: Document, elementRef: ElementRef<HTMLElement>, range: TuiRangeComponent, destroy$: Observable<unknown>);
18
18
  private getFractionFromEvents;
19
19
  private detectActiveThumb;
20
20
  private findNearestActiveThumb;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiRangeChangeDirective, never>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiRangeChangeDirective, [null, null, null, { self: true; }]>;
22
22
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiRangeChangeDirective, "tui-range", never, {}, { "activeThumbChange": "activeThumbChange"; }, never>;
23
23
  }
@@ -13,7 +13,7 @@ export declare class TuiRangeComponent extends AbstractTuiControl<[number, numbe
13
13
  segments: number;
14
14
  keySteps: TuiKeySteps | null;
15
15
  slidersRefs: QueryList<ElementRef<HTMLInputElement>>;
16
- lastActiveThumb: 'right' | 'left';
16
+ lastActiveThumb: 'left' | 'right';
17
17
  constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>);
18
18
  get nativeFocusableElement(): TuiNativeFocusableElement | null;
19
19
  get focused(): boolean;
@@ -21,7 +21,7 @@ export declare class TuiSelectComponent<T> extends AbstractTuiNullableControl<T>
21
21
  valueContent: TuiSelectOptions<T>['valueContent'];
22
22
  readonly datalist: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>>;
23
23
  constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, textfieldCleaner: TuiTextfieldCleanerDirective, arrowMode: TuiArrowMode, itemsHandlers: TuiItemsHandlers<T>, options: TuiSelectOptions<T>, isMobile: boolean);
24
- get arrow(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>>;
24
+ get arrow(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>>;
25
25
  get nativeFocusableElement(): HTMLInputElement | null;
26
26
  get focused(): boolean;
27
27
  get nativeDropdownMode(): boolean;
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
6
6
  * This directive imitates this native behaviour.
7
7
  */
8
8
  export declare class TuiSliderReadonlyDirective {
9
- readonly: string | boolean;
9
+ readonly: boolean | string;
10
10
  constructor(elementRef: ElementRef<HTMLInputElement>, documentRef: Document, destroy$: Observable<unknown>);
11
11
  preventEvent(event: Event): void;
12
12
  preventKeyboardInteraction(event: KeyboardEvent): void;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderReadonlyDirective, never>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderReadonlyDirective, [null, null, { self: true; }]>;
14
14
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderReadonlyDirective, "input[tuiSlider][readonly]", never, { "readonly": "readonly"; }, {}, never>;
15
15
  }
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export declare class TuiStepComponent {
7
7
  private readonly stepper;
8
8
  private readonly elementRef;
9
- stepState: 'normal' | 'pass' | 'error';
9
+ stepState: 'error' | 'normal' | 'pass';
10
10
  icon: string;
11
11
  focusVisible: boolean;
12
12
  constructor(focusVisible$: TuiFocusVisibleService, routerLinkActive$: Observable<boolean>, stepper: TuiStepperComponent, elementRef: ElementRef<HTMLElement>);
@@ -5,8 +5,9 @@ import * as i0 from "@angular/core";
5
5
  export declare class TuiStepperComponent {
6
6
  private readonly steps;
7
7
  orientation: TuiOrientation;
8
- activeItemIndex: number;
8
+ set activeIndex(index: number);
9
9
  readonly activeItemIndexChange: EventEmitter<number>;
10
+ activeItemIndex: number;
10
11
  get changes$(): Observable<unknown>;
11
12
  onHorizontal(event: Event, step: number): void;
12
13
  onVertical(event: Event, step: number): void;
@@ -17,5 +18,5 @@ export declare class TuiStepperComponent {
17
18
  private moveFocus;
18
19
  private scrollIntoView;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiStepperComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiStepperComponent, "tui-stepper, nav[tuiStepper]", never, { "orientation": "orientation"; "activeItemIndex": "activeItemIndex"; }, { "activeItemIndexChange": "activeItemIndexChange"; }, ["steps"], ["*"]>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiStepperComponent, "tui-stepper, nav[tuiStepper]", never, { "orientation": "orientation"; "activeIndex": "activeItemIndex"; }, { "activeItemIndexChange": "activeItemIndexChange"; }, ["steps"], ["*"]>;
21
22
  }
@@ -2,7 +2,7 @@ import { InjectionToken, ValueProvider } from '@angular/core';
2
2
  import { TuiSizeL, TuiSizeS } from '@taiga-ui/core';
3
3
  import { TuiStatus } from '@taiga-ui/kit/types';
4
4
  export interface TuiTagOptions {
5
- readonly size: TuiSizeS | TuiSizeL;
5
+ readonly size: TuiSizeL | TuiSizeS;
6
6
  readonly status: TuiStatus;
7
7
  readonly autoColor: boolean;
8
8
  }
@@ -11,9 +11,9 @@ export declare class TuiTagComponent {
11
11
  private readonly options;
12
12
  value: string;
13
13
  editable: boolean;
14
- separator: string | RegExp;
14
+ separator: RegExp | string;
15
15
  maxLength: number | null;
16
- size: TuiSizeS | TuiSizeL;
16
+ size: TuiSizeL | TuiSizeS;
17
17
  showLoader: boolean;
18
18
  status: TuiStatus;
19
19
  hoverable: boolean;
@@ -0,0 +1,4 @@
1
+ export * from './tile.component';
2
+ export * from './tile-handle.directive';
3
+ export * from './tiles.component';
4
+ export * from './tiles.module';
@@ -0,0 +1,10 @@
1
+ {
2
+ "main": "../../bundles/taiga-ui-kit-components-tiles.umd.js",
3
+ "module": "../../fesm2015/taiga-ui-kit-components-tiles.js",
4
+ "es2015": "../../fesm2015/taiga-ui-kit-components-tiles.js",
5
+ "esm2015": "../../esm2015/components/tiles/taiga-ui-kit-components-tiles.js",
6
+ "fesm2015": "../../fesm2015/taiga-ui-kit-components-tiles.js",
7
+ "typings": "taiga-ui-kit-components-tiles.d.ts",
8
+ "sideEffects": false,
9
+ "name": "@taiga-ui/kit/components/tiles"
10
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@taiga-ui/kit/components/tiles" />
5
+ export * from './index';
@@ -0,0 +1,13 @@
1
+ import { TuiTileComponent } from './tile.component';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiTileHandleDirective {
4
+ private readonly tile;
5
+ private x;
6
+ private y;
7
+ constructor(tile: TuiTileComponent);
8
+ onStart({ x, y, pointerId, target }: PointerEvent): void;
9
+ onPointer(x?: number, y?: number): void;
10
+ onMove(x: number, y: number): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTileHandleDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTileHandleDirective, "[tuiTileHandle]", never, {}, {}, never>;
13
+ }
@@ -0,0 +1,30 @@
1
+ import { ElementRef, NgZone } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { TuiTilesComponent } from './tiles.component';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TuiTileComponent {
6
+ private readonly ngZone;
7
+ private readonly elementRef;
8
+ private readonly tiles;
9
+ private readonly resize$;
10
+ private readonly mutation$;
11
+ width: number;
12
+ height: number;
13
+ dragged: boolean;
14
+ readonly offset$: BehaviorSubject<[number, number]>;
15
+ readonly position$: Observable<{
16
+ top: number;
17
+ left: number;
18
+ width: number;
19
+ height: number;
20
+ }>;
21
+ constructor(ngZone: NgZone, elementRef: ElementRef<HTMLElement>, tiles: TuiTilesComponent, resize$: Observable<unknown>, mutation$: Observable<unknown>);
22
+ get column(): string;
23
+ get row(): string;
24
+ get element(): HTMLElement;
25
+ onEnter(): void;
26
+ onDrag(dragged: boolean): void;
27
+ onTransitionEnd(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTileComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTileComponent, "tui-tile", never, { "width": "width"; "height": "height"; }, {}, never, ["*"]>;
30
+ }
@@ -0,0 +1,19 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TuiTilesComponent {
5
+ private readonly elementRef;
6
+ private readonly element$;
7
+ debounce: number;
8
+ set order(map: Map<number, number>);
9
+ get order(): Map<number, number>;
10
+ readonly orderChange: import("rxjs").Observable<Map<number, number>>;
11
+ element: Element | null;
12
+ readonly order$: BehaviorSubject<Map<number, number>>;
13
+ constructor(elementRef: ElementRef<Element>);
14
+ rearrange(element?: Element): void;
15
+ private filter;
16
+ private reorder;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTilesComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTilesComponent, "tui-tiles", never, { "debounce": "debounce"; "order": "order"; }, { "orderChange": "orderChange"; }, never, ["*"]>;
19
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./tiles.component";
3
+ import * as i2 from "./tile.component";
4
+ import * as i3 from "./tile-handle.directive";
5
+ import * as i4 from "@angular/common";
6
+ export declare class TuiTilesModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTilesModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTilesModule, [typeof i1.TuiTilesComponent, typeof i2.TuiTileComponent, typeof i3.TuiTileHandleDirective], [typeof i4.CommonModule], [typeof i1.TuiTilesComponent, typeof i2.TuiTileComponent, typeof i3.TuiTileHandleDirective]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiTilesModule>;
10
+ }
@@ -1,13 +1,14 @@
1
1
  import { ElementRef } from '@angular/core';
2
+ import { SafeResourceUrl } from '@angular/platform-browser';
2
3
  import { TuiLazyLoadingService } from './lazy-loading.service';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class TuiLazyLoadingDirective {
5
6
  private readonly src$;
6
7
  private readonly elementRef;
7
- set srcSetter(src: string);
8
+ set srcSetter(src: SafeResourceUrl | string);
8
9
  animation: string;
9
10
  background: string;
10
- src: string | null;
11
+ src: SafeResourceUrl | string | null;
11
12
  constructor(src$: TuiLazyLoadingService, elementRef: ElementRef<HTMLImageElement>);
12
13
  private get supported();
13
14
  onLoad(): void;
@@ -1,10 +1,11 @@
1
1
  import { ChangeDetectorRef } from '@angular/core';
2
+ import { SafeResourceUrl } from '@angular/platform-browser';
2
3
  import { Observable } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
- export declare class TuiLazyLoadingService extends Observable<string> {
5
+ export declare class TuiLazyLoadingService extends Observable<SafeResourceUrl | string> {
5
6
  private readonly src$;
6
7
  constructor(changeDetectorRef: ChangeDetectorRef, destroy$: Observable<void>, intersections$: Observable<IntersectionObserverEntry[]>);
7
- next(src: string): void;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiLazyLoadingService, never>;
8
+ next(src: SafeResourceUrl | string): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiLazyLoadingService, [null, { self: true; }, null]>;
9
10
  static ɵprov: i0.ɵɵInjectableDeclaration<TuiLazyLoadingService>;
10
11
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, Self, } from '@angular/core';
3
3
  import { EMPTY_QUERY, tuiDefaultProp, TuiDestroyService, tuiIsPresent, tuiItemsQueryListObservable, } from '@taiga-ui/cdk';
4
4
  import { identity, merge } from 'rxjs';
5
5
  import { filter, map, mapTo, pairwise, switchMap, takeUntil } from 'rxjs/operators';
@@ -28,7 +28,7 @@ export class TuiAccordionComponent {
28
28
  });
29
29
  }
30
30
  }
31
- TuiAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAccordionComponent, deps: [{ token: TuiDestroyService }], target: i0.ɵɵFactoryTarget.Component });
31
+ TuiAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAccordionComponent, deps: [{ token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Component });
32
32
  TuiAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAccordionComponent, selector: "tui-accordion", inputs: { closeOthers: "closeOthers", rounded: "rounded" }, providers: [TuiDestroyService], queries: [{ propertyName: "accordionItems", predicate: TuiAccordionItemComponent }], ngImport: i0, template: "<!--TODO: Unnecessary nesting, probably accordion can be a directive-->\n<div\n tuiGroup\n automation-id=\"tui-accordion__group\"\n orientation=\"vertical\"\n size=\"l\"\n class=\"t-group\"\n [collapsed]=\"true\"\n [rounded]=\"rounded\"\n>\n <ng-content select=\"tui-accordion-item\"></ng-content>\n</div>\n", styles: [":host{display:block}.t-group{display:flex}\n"], directives: [{ type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
33
  __decorate([
34
34
  tuiDefaultProp()
@@ -46,6 +46,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
46
46
  providers: [TuiDestroyService],
47
47
  }]
48
48
  }], ctorParameters: function () { return [{ type: i2.TuiDestroyService, decorators: [{
49
+ type: Self
50
+ }, {
49
51
  type: Inject,
50
52
  args: [TuiDestroyService]
51
53
  }] }]; }, propDecorators: { closeOthers: [{
@@ -56,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
56
58
  type: ContentChildren,
57
59
  args: [TuiAccordionItemComponent]
58
60
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssR0FFUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLDJCQUEyQixHQUM5QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQVNwRixNQUFNLE9BQU8scUJBQXFCO0lBWTlCLFlBRXFCLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBWGhELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSW5CLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHTixtQkFBYyxHQUF5QyxXQUFXLENBQUM7SUFLekUsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLE1BQU0sRUFBQyxjQUFjLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxLQUFLLEdBQUcsMkJBQTJCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDMUIsUUFBUSxFQUFFLEVBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDOUQsRUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQ3ZCLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQ25CLEtBQUssQ0FBQyxJQUFJLENBQ04sU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2IsS0FBSyxDQUNELEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNkLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDcEQsQ0FDSixDQUNKLENBQ0osRUFDRCxXQUFXLENBQ2QsQ0FBQyxJQUFJLENBQ0YsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDM0IsQ0FBQztRQUVGLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0IsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekIsSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFO29CQUNwQixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2Y7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBbERRLHFCQUFxQixrQkFhbEIsaUJBQWlCO3VHQWJwQixxQkFBcUIsb0dBRm5CLENBQUMsaUJBQWlCLENBQUMseURBV2IseUJBQXlCLDZCQ3JDOUMsNlVBWUE7QURtQkk7SUFEQyxjQUFjLEVBQUU7MERBQ0U7QUFJbkI7SUFEQyxjQUFjLEVBQUU7c0RBQ0Y7NEZBUE4scUJBQXFCO2tCQVBqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs7MEJBY1EsTUFBTTsyQkFBQyxpQkFBaUI7NENBVjdCLFdBQVc7c0JBRlYsS0FBSztnQkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBS0csY0FBYztzQkFEdEIsZUFBZTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge2lkZW50aXR5LCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtYXBUbywgcGFpcndpc2UsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudH0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1hY2NvcmRpb25gLFxuICAgIHN0eWxlVXJsczogW2AuL2FjY29yZGlvbi5zdHlsZS5sZXNzYF0sXG4gICAgdGVtcGxhdGVVcmw6IGBhY2NvcmRpb24udGVtcGxhdGUuaHRtbGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2xvc2VPdGhlcnMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvdW5kZWQgPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGFjY29yZGlvbkl0ZW1zOiBRdWVyeUxpc3Q8VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHthY2NvcmRpb25JdGVtc30gPSB0aGlzO1xuICAgICAgICBjb25zdCByb3dzJCA9IHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZShhY2NvcmRpb25JdGVtcyk7XG4gICAgICAgIGNvbnN0IG5ld09wZW5Sb3ckID0gcm93cyQucGlwZShcbiAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICBtYXAoKFtwcmV2aW91cywgY3VycmVudF0pID0+XG4gICAgICAgICAgICAgICAgY3VycmVudC5maW5kKGl0ZW0gPT4gIXByZXZpb3VzLmluY2x1ZGVzKGl0ZW0pICYmIGl0ZW0ub3BlbiksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJvd3NPcGVuJCA9IG1lcmdlKFxuICAgICAgICAgICAgcm93cyQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocm93cyA9PlxuICAgICAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJvd3MubWFwKHJvdyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5vcGVuQ2hhbmdlLnBpcGUoZmlsdGVyKGlkZW50aXR5KSwgbWFwVG8ocm93KSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbmV3T3BlblJvdyQsXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmNsb3NlT3RoZXJzKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgKTtcblxuICAgICAgICByb3dzT3BlbiQuc3Vic2NyaWJlKGN1cnJlbnRSb3cgPT4ge1xuICAgICAgICAgICAgYWNjb3JkaW9uSXRlbXMuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Um93ICE9PSByb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgcm93LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjwhLS1UT0RPOiBVbm5lY2Vzc2FyeSBuZXN0aW5nLCBwcm9iYWJseSBhY2NvcmRpb24gY2FuIGJlIGEgZGlyZWN0aXZlLS0+XG48ZGl2XG4gICAgdHVpR3JvdXBcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9fZ3JvdXBcIlxuICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgIHNpemU9XCJsXCJcbiAgICBjbGFzcz1cInQtZ3JvdXBcIlxuICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4gICAgW3JvdW5kZWRdPVwicm91bmRlZFwiXG4+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLWFjY29yZGlvbi1pdGVtXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFFTCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWiwyQkFBMkIsR0FDOUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7Ozs7QUFTcEYsTUFBTSxPQUFPLHFCQUFxQjtJQVk5QixZQUdxQixRQUEyQjtRQUEzQixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQVpoRCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUluQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR04sbUJBQWMsR0FBeUMsV0FBVyxDQUFDO0lBTXpFLENBQUM7SUFFSixrQkFBa0I7UUFDZCxNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLDJCQUEyQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzFCLFFBQVEsRUFBRSxFQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQzlELEVBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUN2QixDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUNuQixLQUFLLENBQUMsSUFBSSxDQUNOLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNiLEtBQUssQ0FDRCxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDZCxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3BELENBQ0osQ0FDSixDQUNKLEVBQ0QsV0FBVyxDQUNkLENBQUMsSUFBSSxDQUNGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzNCLENBQUM7UUFFRixTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzdCLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksVUFBVSxLQUFLLEdBQUcsRUFBRTtvQkFDcEIsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNmO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQW5EUSxxQkFBcUIsa0JBY2xCLGlCQUFpQjt1R0FkcEIscUJBQXFCLG9HQUZuQixDQUFDLGlCQUFpQixDQUFDLHlEQVdiLHlCQUF5Qiw2QkN0QzlDLDZVQVlBO0FEb0JJO0lBREMsY0FBYyxFQUFFOzBEQUNFO0FBSW5CO0lBREMsY0FBYyxFQUFFO3NEQUNGOzRGQVBOLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3JDLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDakM7OzBCQWNRLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsaUJBQWlCOzRDQVg3QixXQUFXO3NCQUZWLEtBQUs7Z0JBTU4sT0FBTztzQkFGTixLQUFLO2dCQUtHLGNBQWM7c0JBRHRCLGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge2lkZW50aXR5LCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtYXBUbywgcGFpcndpc2UsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudH0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1hY2NvcmRpb25gLFxuICAgIHN0eWxlVXJsczogW2AuL2FjY29yZGlvbi5zdHlsZS5sZXNzYF0sXG4gICAgdGVtcGxhdGVVcmw6IGBhY2NvcmRpb24udGVtcGxhdGUuaHRtbGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2xvc2VPdGhlcnMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvdW5kZWQgPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGFjY29yZGlvbkl0ZW1zOiBRdWVyeUxpc3Q8VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2FjY29yZGlvbkl0ZW1zfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHJvd3MkID0gdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKGFjY29yZGlvbkl0ZW1zKTtcbiAgICAgICAgY29uc3QgbmV3T3BlblJvdyQgPSByb3dzJC5waXBlKFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIG1hcCgoW3ByZXZpb3VzLCBjdXJyZW50XSkgPT5cbiAgICAgICAgICAgICAgICBjdXJyZW50LmZpbmQoaXRlbSA9PiAhcHJldmlvdXMuaW5jbHVkZXMoaXRlbSkgJiYgaXRlbS5vcGVuKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgcm93c09wZW4kID0gbWVyZ2UoXG4gICAgICAgICAgICByb3dzJC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyb3dzID0+XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucm93cy5tYXAocm93ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93Lm9wZW5DaGFuZ2UucGlwZShmaWx0ZXIoaWRlbnRpdHkpLCBtYXBUbyhyb3cpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBuZXdPcGVuUm93JCxcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuY2xvc2VPdGhlcnMpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICApO1xuXG4gICAgICAgIHJvd3NPcGVuJC5zdWJzY3JpYmUoY3VycmVudFJvdyA9PiB7XG4gICAgICAgICAgICBhY2NvcmRpb25JdGVtcy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IHJvdykge1xuICAgICAgICAgICAgICAgICAgICByb3cuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPCEtLVRPRE86IFVubmVjZXNzYXJ5IG5lc3RpbmcsIHByb2JhYmx5IGFjY29yZGlvbiBjYW4gYmUgYSBkaXJlY3RpdmUtLT5cbjxkaXZcbiAgICB0dWlHcm91cFxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19ncm91cFwiXG4gICAgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXG4gICAgc2l6ZT1cImxcIlxuICAgIGNsYXNzPVwidC1ncm91cFwiXG4gICAgW2NvbGxhcHNlZF09XCJ0cnVlXCJcbiAgICBbcm91bmRlZF09XCJyb3VuZGVkXCJcbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWktYWNjb3JkaW9uLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -24,4 +24,4 @@ export const tuiArrowModeProvider = (options) => ({
24
24
  provide: TUI_ARROW_MODE,
25
25
  useValue: Object.assign({ interactive: TUI_ARROW, disabled: TUI_ARROW }, options),
26
26
  });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2Fycm93L2Fycm93LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFLNUQsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFPNUMsdUNBQXVDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvQjtJQUN0RCxTQUFTLEVBQUUsb0JBQW9CO0lBQy9CLFNBQVMsRUFBRSx5QkFBeUI7Q0FDdkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyw2REFBNkQsRUFDN0Q7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCO0NBQzNDLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUVmLENBQUMsT0FBaUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsa0NBQU0seUJBQXlCLEdBQUssT0FBTyxDQUFDO0NBQ3ZELENBQUMsQ0FBQztBQVdILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBaUMsSUFBSSxjQUFjLENBQzFFLDZFQUE2RSxFQUM3RTtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osV0FBVyxFQUFFLFNBQVM7UUFDdEIsUUFBUSxFQUFFLFNBQVM7S0FDdEIsQ0FBQztDQUNMLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFzRCxDQUNuRixPQUE4QixFQUNoQyxFQUFFLENBQUMsQ0FBQztJQUNGLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFFBQVEsa0JBQ0osV0FBVyxFQUFFLFNBQVMsRUFDdEIsUUFBUSxFQUFFLFNBQVMsSUFDaEIsT0FBTyxDQUNiO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplTCwgVHVpU2l6ZU0sIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1RVSV9BUlJPV30gZnJvbSAnLi9hcnJvdy5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFycm93T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvblNtYWxsOiBQb2x5bW9ycGhldXNDb250ZW50O1xuICAgIHJlYWRvbmx5IGljb25MYXJnZTogUG9seW1vcnBoZXVzQ29udGVudDtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciBhcnJvdyBvcHRpb25zICovXG5leHBvcnQgY29uc3QgVFVJX0FSUk9XX0RFRkFVTFRfT1BUSU9OUzogVHVpQXJyb3dPcHRpb25zID0ge1xuICAgIGljb25TbWFsbDogYHR1aUljb25DaGV2cm9uRG93bmAsXG4gICAgaWNvbkxhcmdlOiBgdHVpSWNvbkNoZXZyb25Eb3duTGFyZ2VgLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9BUlJPV19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUFycm93T3B0aW9ucz4oXG4gICAgYFtUVUlfQVJST1dfT1BUSU9OU106IERlZmF1bHQgcGFyYW1ldGVycyBmb3IgYXJyb3cgY29tcG9uZW50YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9BUlJPV19ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlBcnJvd09wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpQXJyb3dPcHRpb25zPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aUFycm93T3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0FSUk9XX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfQVJST1dfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFycm93TW9kZSB7XG4gICAgcmVhZG9ubHkgaW50ZXJhY3RpdmU6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZVMgfCBUdWlTaXplTSB8IFR1aVNpemVMPlxuICAgID47XG4gICAgcmVhZG9ubHkgZGlzYWJsZWQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZVMgfCBUdWlTaXplTSB8IFR1aVNpemVMPlxuICAgID47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfQVJST1dfTU9ERTogSW5qZWN0aW9uVG9rZW48VHVpQXJyb3dNb2RlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBgW1RVSV9BUlJPV19NT0RFXTogVHlwZSBvZiBpY29uIGluIGRyb3Bkb3ducyBmb3IgaW50ZXJhY3RpdmUgb3IgZGlzYWJsZSBtb2RlYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgICAgICBpbnRlcmFjdGl2ZTogVFVJX0FSUk9XLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IFRVSV9BUlJPVyxcbiAgICAgICAgfSksXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlBcnJvd01vZGVQcm92aWRlcjogKG9wdGlvbnM6IFBhcnRpYWw8VHVpQXJyb3dNb2RlPikgPT4gVmFsdWVQcm92aWRlciA9IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUFycm93TW9kZT4sXG4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0FSUk9XX01PREUsXG4gICAgdXNlVmFsdWU6IHtcbiAgICAgICAgaW50ZXJhY3RpdmU6IFRVSV9BUlJPVyxcbiAgICAgICAgZGlzYWJsZWQ6IFRVSV9BUlJPVyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICB9LFxufSk7XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2Fycm93L2Fycm93LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFLNUQsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFPNUMsdUNBQXVDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvQjtJQUN0RCxTQUFTLEVBQUUsb0JBQW9CO0lBQy9CLFNBQVMsRUFBRSx5QkFBeUI7Q0FDdkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyw2REFBNkQsRUFDN0Q7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCO0NBQzNDLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUVmLENBQUMsT0FBaUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsa0NBQU0seUJBQXlCLEdBQUssT0FBTyxDQUFDO0NBQ3ZELENBQUMsQ0FBQztBQVdILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBaUMsSUFBSSxjQUFjLENBQzFFLDZFQUE2RSxFQUM3RTtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osV0FBVyxFQUFFLFNBQVM7UUFDdEIsUUFBUSxFQUFFLFNBQVM7S0FDdEIsQ0FBQztDQUNMLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFzRCxDQUNuRixPQUE4QixFQUNoQyxFQUFFLENBQUMsQ0FBQztJQUNGLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFFBQVEsa0JBQ0osV0FBVyxFQUFFLFNBQVMsRUFDdEIsUUFBUSxFQUFFLFNBQVMsSUFDaEIsT0FBTyxDQUNiO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplTCwgVHVpU2l6ZU0sIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1RVSV9BUlJPV30gZnJvbSAnLi9hcnJvdy5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFycm93T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvblNtYWxsOiBQb2x5bW9ycGhldXNDb250ZW50O1xuICAgIHJlYWRvbmx5IGljb25MYXJnZTogUG9seW1vcnBoZXVzQ29udGVudDtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciBhcnJvdyBvcHRpb25zICovXG5leHBvcnQgY29uc3QgVFVJX0FSUk9XX0RFRkFVTFRfT1BUSU9OUzogVHVpQXJyb3dPcHRpb25zID0ge1xuICAgIGljb25TbWFsbDogYHR1aUljb25DaGV2cm9uRG93bmAsXG4gICAgaWNvbkxhcmdlOiBgdHVpSWNvbkNoZXZyb25Eb3duTGFyZ2VgLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9BUlJPV19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUFycm93T3B0aW9ucz4oXG4gICAgYFtUVUlfQVJST1dfT1BUSU9OU106IERlZmF1bHQgcGFyYW1ldGVycyBmb3IgYXJyb3cgY29tcG9uZW50YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9BUlJPV19ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlBcnJvd09wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpQXJyb3dPcHRpb25zPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aUFycm93T3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0FSUk9XX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfQVJST1dfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFycm93TW9kZSB7XG4gICAgcmVhZG9ubHkgaW50ZXJhY3RpdmU6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTPlxuICAgID47XG4gICAgcmVhZG9ubHkgZGlzYWJsZWQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTPlxuICAgID47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfQVJST1dfTU9ERTogSW5qZWN0aW9uVG9rZW48VHVpQXJyb3dNb2RlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBgW1RVSV9BUlJPV19NT0RFXTogVHlwZSBvZiBpY29uIGluIGRyb3Bkb3ducyBmb3IgaW50ZXJhY3RpdmUgb3IgZGlzYWJsZSBtb2RlYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgICAgICBpbnRlcmFjdGl2ZTogVFVJX0FSUk9XLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IFRVSV9BUlJPVyxcbiAgICAgICAgfSksXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlBcnJvd01vZGVQcm92aWRlcjogKG9wdGlvbnM6IFBhcnRpYWw8VHVpQXJyb3dNb2RlPikgPT4gVmFsdWVQcm92aWRlciA9IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUFycm93TW9kZT4sXG4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0FSUk9XX01PREUsXG4gICAgdXNlVmFsdWU6IHtcbiAgICAgICAgaW50ZXJhY3RpdmU6IFRVSV9BUlJPVyxcbiAgICAgICAgZGlzYWJsZWQ6IFRVSV9BUlJPVyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICB9LFxufSk7XG4iXX0=
@@ -12,4 +12,4 @@ export const tuiAvatarOptionsProvider = (options) => ({
12
12
  provide: TUI_AVATAR_OPTIONS,
13
13
  useValue: Object.assign(Object.assign({}, TUI_AVATAR_DEFAULT_OPTIONS), options),
14
14
  });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFTNUQsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFxQjtJQUN4RCxJQUFJLEVBQUUsR0FBRztJQUNULFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE9BQU8sRUFBRSxLQUFLO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsK0RBQStELEVBQy9EO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLDBCQUEwQjtDQUM1QyxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FFaEIsQ0FBQyxPQUFrQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFELE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsUUFBUSxrQ0FBTSwwQkFBMEIsR0FBSyxPQUFPLENBQUM7Q0FDeEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVNpemVYWEwsIFR1aVNpemVYWFN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlBdmF0YXJPcHRpb25zIHtcbiAgICByZWFkb25seSBzaXplOiBUdWlTaXplWFhTIHwgVHVpU2l6ZVhYTDtcbiAgICByZWFkb25seSBhdXRvQ29sb3I6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgcm91bmRlZDogYm9vbGVhbjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciB0aGUgYXZhdGFyIG9wdGlvbnMuICovXG5leHBvcnQgY29uc3QgVFVJX0FWQVRBUl9ERUZBVUxUX09QVElPTlM6IFR1aUF2YXRhck9wdGlvbnMgPSB7XG4gICAgc2l6ZTogYG1gLFxuICAgIGF1dG9Db2xvcjogZmFsc2UsXG4gICAgcm91bmRlZDogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0FWQVRBUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUF2YXRhck9wdGlvbnM+KFxuICAgIGBbVFVJX0FWQVRBUl9PUFRJT05TXTogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBhdmF0YXIgY29tcG9uZW50YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9BVkFUQVJfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpQXZhdGFyT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlBdmF0YXJPcHRpb25zPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aUF2YXRhck9wdGlvbnM+KSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9BVkFUQVJfT1BUSU9OUyxcbiAgICB1c2VWYWx1ZTogey4uLlRVSV9BVkFUQVJfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFTNUQsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFxQjtJQUN4RCxJQUFJLEVBQUUsR0FBRztJQUNULFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE9BQU8sRUFBRSxLQUFLO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsK0RBQStELEVBQy9EO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLDBCQUEwQjtDQUM1QyxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FFaEIsQ0FBQyxPQUFrQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFELE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsUUFBUSxrQ0FBTSwwQkFBMEIsR0FBSyxPQUFPLENBQUM7Q0FDeEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVNpemVYWEwsIFR1aVNpemVYWFN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlBdmF0YXJPcHRpb25zIHtcbiAgICByZWFkb25seSBzaXplOiBUdWlTaXplWFhMIHwgVHVpU2l6ZVhYUztcbiAgICByZWFkb25seSBhdXRvQ29sb3I6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgcm91bmRlZDogYm9vbGVhbjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciB0aGUgYXZhdGFyIG9wdGlvbnMuICovXG5leHBvcnQgY29uc3QgVFVJX0FWQVRBUl9ERUZBVUxUX09QVElPTlM6IFR1aUF2YXRhck9wdGlvbnMgPSB7XG4gICAgc2l6ZTogYG1gLFxuICAgIGF1dG9Db2xvcjogZmFsc2UsXG4gICAgcm91bmRlZDogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0FWQVRBUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUF2YXRhck9wdGlvbnM+KFxuICAgIGBbVFVJX0FWQVRBUl9PUFRJT05TXTogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBhdmF0YXIgY29tcG9uZW50YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9BVkFUQVJfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpQXZhdGFyT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlBdmF0YXJPcHRpb25zPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aUF2YXRhck9wdGlvbnM+KSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9BVkFUQVJfT1BUSU9OUyxcbiAgICB1c2VWYWx1ZTogey4uLlRVSV9BVkFUQVJfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
@@ -30,7 +30,7 @@ export class TuiAvatarComponent {
30
30
  }
31
31
  get iconAvatar() {
32
32
  var _a;
33
- return !!((_a = this.avatarUrl) === null || _a === void 0 ? void 0 : _a.startsWith(`tuiIcon`));
33
+ return (typeof this.avatarUrl === `string` && !!((_a = this.avatarUrl) === null || _a === void 0 ? void 0 : _a.startsWith(`tuiIcon`)));
34
34
  }
35
35
  get computedText() {
36
36
  if (this.hasAvatar || this.iconAvatar || this.text === ``) {
@@ -41,12 +41,15 @@ export class TuiAvatarComponent {
41
41
  ? words[0].slice(0, 1) + words[1].slice(0, 1)
42
42
  : words[0].slice(0, 1);
43
43
  }
44
+ get stringAvatar() {
45
+ return this.iconAvatar ? String(this.avatarUrl) : ``;
46
+ }
44
47
  onError() {
45
48
  this.isUrlValid = false;
46
49
  }
47
50
  }
48
51
  TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
49
- TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"iconAvatar\"\n class=\"t-icon\"\n [src]=\"avatarUrl || ''\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:-moz-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:-moz-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
53
  __decorate([
51
54
  tuiDefaultProp()
52
55
  ], TuiAvatarComponent.prototype, "size", void 0);
@@ -97,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
97
100
  type: HostBinding,
98
101
  args: [`class._has-avatar`]
99
102
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBUXRFLE1BQU0sT0FBTyxrQkFBa0I7SUE4QjNCLFlBQXlELE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBMUJsRixTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFXekIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUlWLGNBQVMsR0FBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUs1QyxZQUFPLEdBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFFeEMsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFFaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUVrRSxDQUFDO0lBdEJ0RixJQUFJLGVBQWUsQ0FBQyxTQUF3QjtRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFxQkQsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFVBQVU7O1FBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUN2RCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7O2dIQTVEUSxrQkFBa0Isa0JBOEJQLGtCQUFrQjtvR0E5QjdCLGtCQUFrQiwrVkNuQi9CLDhUQWNBO0FEU0k7SUFEQyxjQUFjLEVBQUU7Z0RBQ1E7QUFJekI7SUFEQyxpQkFBaUIsRUFBRTt5REFJbkI7QUFJRDtJQURDLGNBQWMsRUFBRTtnREFDUDtBQUlWO0lBREMsY0FBYyxFQUFFO3FEQUMyQjtBQUs1QztJQURDLGNBQWMsRUFBRTttREFDdUI7NEZBeEIvQixrQkFBa0I7a0JBTjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQStCZ0IsTUFBTTsyQkFBQyxrQkFBa0I7NENBMUJ0QyxJQUFJO3NCQUhILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixlQUFlO3NCQUZsQixLQUFLO3VCQUFDLFdBQVc7Z0JBU2xCLElBQUk7c0JBRkgsS0FBSztnQkFNTixTQUFTO3NCQUZSLEtBQUs7Z0JBT04sT0FBTztzQkFITixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFXekIsT0FBTztzQkFEVixXQUFXO3VCQUFDLGtCQUFrQjtnQkFNM0IsU0FBUztzQkFEWixXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCB0dWlSZXF1aXJlZFNldHRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aVNpemVCaWdnZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7dHVpU3RyaW5nSGFzaFRvSHNsfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2Zvcm1hdCc7XG5cbmltcG9ydCB7VFVJX0FWQVRBUl9PUFRJT05TLCBUdWlBdmF0YXJPcHRpb25zfSBmcm9tICcuL2F2YXRhci1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktYXZhdGFyYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vYXZhdGFyLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2F2YXRhci5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF2YXRhckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemUgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dChgYXZhdGFyVXJsYClcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBhdmF0YXJVcmxTZXR0ZXIoYXZhdGFyVXJsOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuYXZhdGFyVXJsID0gYXZhdGFyVXJsO1xuICAgICAgICB0aGlzLmlzVXJsVmFsaWQgPSAhIWF2YXRhclVybCAmJiAhdGhpcy5pY29uQXZhdGFyO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0ZXh0ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYXV0b0NvbG9yOiBib29sZWFuID0gdGhpcy5vcHRpb25zLmF1dG9Db2xvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fcm91bmRlZGApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByb3VuZGVkOiBib29sZWFuID0gdGhpcy5vcHRpb25zLnJvdW5kZWQ7XG5cbiAgICBhdmF0YXJVcmw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgaXNVcmxWYWxpZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChUVUlfQVZBVEFSX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpQXZhdGFyT3B0aW9ucykge31cblxuICAgIEBIb3N0QmluZGluZyhgc3R5bGUuYmFja2dyb3VuZGApXG4gICAgZ2V0IGJnQ29sb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b0NvbG9yID8gdHVpU3RyaW5nSGFzaFRvSHNsKHRoaXMudGV4dCkgOiBgYDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9oYXMtYXZhdGFyYClcbiAgICBnZXQgaGFzQXZhdGFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdmF0YXJVcmwgIT09IG51bGwgJiYgdGhpcy5pc1VybFZhbGlkO1xuICAgIH1cblxuICAgIGdldCBpY29uQXZhdGFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmF2YXRhclVybD8uc3RhcnRzV2l0aChgdHVpSWNvbmApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzQXZhdGFyIHx8IHRoaXMuaWNvbkF2YXRhciB8fCB0aGlzLnRleHQgPT09IGBgKSB7XG4gICAgICAgICAgICByZXR1cm4gYGA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3b3JkcyA9IHRoaXMudGV4dC5zcGxpdChgIGApO1xuXG4gICAgICAgIHJldHVybiB3b3Jkcy5sZW5ndGggPiAxICYmIHR1aVNpemVCaWdnZXIodGhpcy5zaXplKVxuICAgICAgICAgICAgPyB3b3Jkc1swXS5zbGljZSgwLCAxKSArIHdvcmRzWzFdLnNsaWNlKDAsIDEpXG4gICAgICAgICAgICA6IHdvcmRzWzBdLnNsaWNlKDAsIDEpO1xuICAgIH1cblxuICAgIG9uRXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNVcmxWYWxpZCA9IGZhbHNlO1xuICAgIH1cbn1cbiIsIjxpbWdcbiAgICAqbmdJZj1cImlzVXJsVmFsaWRcIlxuICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICBjbGFzcz1cInQtaW1hZ2VcIlxuICAgIFthdHRyLmFsdF09XCJ0ZXh0XCJcbiAgICBbc3JjXT1cImF2YXRhclVybCB8fCAnJ1wiXG4gICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4vPlxuPHR1aS1zdmdcbiAgICAqbmdJZj1cImljb25BdmF0YXJcIlxuICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICBbc3JjXT1cImF2YXRhclVybCB8fCAnJ1wiXG4+PC90dWktc3ZnPlxuPHNwYW4gY2xhc3M9XCJ0LXRleHRcIj57eyBjb21wdXRlZFRleHQgfX08L3NwYW4+XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBUXRFLE1BQU0sT0FBTyxrQkFBa0I7SUE4QjNCLFlBQXlELE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBMUJsRixTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFXekIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUlWLGNBQVMsR0FBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUs1QyxZQUFPLEdBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFFeEMsY0FBUyxHQUFvQyxJQUFJLENBQUM7UUFFbEQsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUVrRSxDQUFDO0lBdEJ0RixJQUFJLGVBQWUsQ0FBQyxTQUEwQztRQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFxQkQsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFVBQVU7O1FBQ1YsT0FBTyxDQUNILE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUEsQ0FDaEYsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUN2RCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDOztnSEFsRVEsa0JBQWtCLGtCQThCUCxrQkFBa0I7b0dBOUI3QixrQkFBa0IsK1ZDcEIvQiw2VEFjQTtBRFVJO0lBREMsY0FBYyxFQUFFO2dEQUNRO0FBSXpCO0lBREMsaUJBQWlCLEVBQUU7eURBSW5CO0FBSUQ7SUFEQyxjQUFjLEVBQUU7Z0RBQ1A7QUFJVjtJQURDLGNBQWMsRUFBRTtxREFDMkI7QUFLNUM7SUFEQyxjQUFjLEVBQUU7bURBQ3VCOzRGQXhCL0Isa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkErQmdCLE1BQU07MkJBQUMsa0JBQWtCOzRDQTFCdEMsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsZUFBZTtzQkFGbEIsS0FBSzt1QkFBQyxXQUFXO2dCQVNsQixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sU0FBUztzQkFGUixLQUFLO2dCQU9OLE9BQU87c0JBSE4sS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBV3pCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHt0dWlTaXplQmlnZ2VyfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge3R1aVN0cmluZ0hhc2hUb0hzbH0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9mb3JtYXQnO1xuXG5pbXBvcnQge1RVSV9BVkFUQVJfT1BUSU9OUywgVHVpQXZhdGFyT3B0aW9uc30gZnJvbSAnLi9hdmF0YXItb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWF2YXRhcmAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2F2YXRhci50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9hdmF0YXIuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBdmF0YXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtc2l6ZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoYGF2YXRhclVybGApXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgYXZhdGFyVXJsU2V0dGVyKGF2YXRhclVybDogU2FmZVJlc291cmNlVXJsIHwgc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmF2YXRhclVybCA9IGF2YXRhclVybDtcbiAgICAgICAgdGhpcy5pc1VybFZhbGlkID0gISFhdmF0YXJVcmwgJiYgIXRoaXMuaWNvbkF2YXRhcjtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGV4dCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGF1dG9Db2xvcjogYm9vbGVhbiA9IHRoaXMub3B0aW9ucy5hdXRvQ29sb3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX3JvdW5kZWRgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcm91bmRlZDogYm9vbGVhbiA9IHRoaXMub3B0aW9ucy5yb3VuZGVkO1xuXG4gICAgYXZhdGFyVXJsOiBTYWZlUmVzb3VyY2VVcmwgfCBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIGlzVXJsVmFsaWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVFVJX0FWQVRBUl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUF2YXRhck9wdGlvbnMpIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoYHN0eWxlLmJhY2tncm91bmRgKVxuICAgIGdldCBiZ0NvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9Db2xvciA/IHR1aVN0cmluZ0hhc2hUb0hzbCh0aGlzLnRleHQpIDogYGA7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGFzLWF2YXRhcmApXG4gICAgZ2V0IGhhc0F2YXRhcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXZhdGFyVXJsICE9PSBudWxsICYmIHRoaXMuaXNVcmxWYWxpZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkF2YXRhcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLmF2YXRhclVybCA9PT0gYHN0cmluZ2AgJiYgISF0aGlzLmF2YXRhclVybD8uc3RhcnRzV2l0aChgdHVpSWNvbmApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5oYXNBdmF0YXIgfHwgdGhpcy5pY29uQXZhdGFyIHx8IHRoaXMudGV4dCA9PT0gYGApIHtcbiAgICAgICAgICAgIHJldHVybiBgYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdvcmRzID0gdGhpcy50ZXh0LnNwbGl0KGAgYCk7XG5cbiAgICAgICAgcmV0dXJuIHdvcmRzLmxlbmd0aCA+IDEgJiYgdHVpU2l6ZUJpZ2dlcih0aGlzLnNpemUpXG4gICAgICAgICAgICA/IHdvcmRzWzBdLnNsaWNlKDAsIDEpICsgd29yZHNbMV0uc2xpY2UoMCwgMSlcbiAgICAgICAgICAgIDogd29yZHNbMF0uc2xpY2UoMCwgMSk7XG4gICAgfVxuXG4gICAgZ2V0IHN0cmluZ0F2YXRhcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uQXZhdGFyID8gU3RyaW5nKHRoaXMuYXZhdGFyVXJsKSA6IGBgO1xuICAgIH1cblxuICAgIG9uRXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNVcmxWYWxpZCA9IGZhbHNlO1xuICAgIH1cbn1cbiIsIjxpbWdcbiAgICAqbmdJZj1cImlzVXJsVmFsaWRcIlxuICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICBjbGFzcz1cInQtaW1hZ2VcIlxuICAgIFthdHRyLmFsdF09XCJ0ZXh0XCJcbiAgICBbc3JjXT1cImF2YXRhclVybCB8fCAnJ1wiXG4gICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4vPlxuPHR1aS1zdmdcbiAgICAqbmdJZj1cInN0cmluZ0F2YXRhclwiXG4gICAgY2xhc3M9XCJ0LWljb25cIlxuICAgIFtzcmNdPVwic3RyaW5nQXZhdGFyXCJcbj48L3R1aS1zdmc+XG48c3BhbiBjbGFzcz1cInQtdGV4dFwiPnt7IGNvbXB1dGVkVGV4dCB9fTwvc3Bhbj5cbiJdfQ==
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
88
88
  type: HostBinding,
89
89
  args: [`class._empty-value`]
90
90
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEdBSVgsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWV4QixNQUFNLE9BQU8saUJBQWlCO0lBb0IxQixZQUF1QyxLQUF1QztRQUF2QyxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQWpCOUUsVUFBSyxHQUF3QixFQUFFLENBQUM7UUFLaEMsU0FBSSxHQUF5QixHQUFHLENBQUM7UUFLakMsV0FBTSxHQUFjLFNBQVMsQ0FBQztRQUs5QixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRStELENBQUM7SUFFbEYsSUFDSSxPQUFPOztRQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxXQUFXLENBQUMsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxXQUFXOztRQUNYLE1BQU0sS0FBSyxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsT0FBTyxFQUFFLENBQUM7UUFFcEMsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtZQUNsQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBYztRQUM3QyxPQUFPLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3RCxDQUFDOzsrR0FoRFEsaUJBQWlCLGtCQW9CTixRQUFRO21HQXBCbkIsaUJBQWlCLG1ZQUxmLENBQUMsYUFBYSxDQUFDLDBCQ3hCOUIsd01BU0E7QUR1Qkk7SUFEQyxjQUFjLEVBQUU7Z0RBQ2U7QUFLaEM7SUFEQyxjQUFjLEVBQUU7K0NBQ2dCO0FBS2pDO0lBREMsY0FBYyxFQUFFO2lEQUNhO0FBSzlCO0lBREMsY0FBYyxFQUFFO29EQUNDOzRGQWxCVCxpQkFBaUI7a0JBVjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDakMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUMxQixJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztxQkFDaEM7aUJBQ0o7OzBCQXFCZ0IsTUFBTTsyQkFBQyxRQUFROzRDQWpCNUIsS0FBSztzQkFGSixLQUFLO2dCQU9OLElBQUk7c0JBSEgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTzdCLE1BQU07c0JBSEwsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQywyQkFBMkI7Z0JBT3hDLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTzNCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBb0JyQyxPQUFPO3NCQURWLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3AsIHR1aUlzTnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVYUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlTdGF0dXN9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktYmFkZ2VgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9iYWRnZS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9iYWRnZS5zdHlsZS5sZXNzYF0sXG4gICAgcHJvdmlkZXJzOiBbTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogYG1vZGUkYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlCYWRnZUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhTIHwgVHVpU2l6ZUwgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXR1aS1ob3N0LXN0YXR1c2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGF0dXM6IFR1aVN0YXR1cyA9IGBkZWZhdWx0YDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faG92ZXJhYmxlYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhvdmVyYWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+KSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtdHVpLWhvc3QtcGFkZGluZ2ApXG4gICAgZ2V0IHBhZGRpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSkge1xuICAgICAgICAgICAgcmV0dXJuIGBub25lYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0dWlJc051bWJlcih0aGlzLnZhbHVlPy52YWx1ZU9mKCkpID8gYG1gIDogYGxgO1xuICAgIH1cblxuICAgIGdldCBvdXRwdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU/LnZhbHVlT2YoKTtcblxuICAgICAgICBpZiAodHVpSXNOdW1iZXIodmFsdWUpICYmIHZhbHVlID4gOTkpIHtcbiAgICAgICAgICAgIHJldHVybiBgOTkrYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fZW1wdHktdmFsdWVgKVxuICAgIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gYGA7XG4gICAgfVxuXG4gICAgdGl0bGVUZXh0KHtvZmZzZXRXaWR0aCwgc2Nyb2xsV2lkdGh9OiBIVE1MRWxlbWVudCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBvZmZzZXRXaWR0aCA8IHNjcm9sbFdpZHRoID8gdGhpcy5vdXRwdXRWYWx1ZSA6IGBgO1xuICAgIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwidC1sZWZ0LWNvbnRlbnRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuPHNwYW5cbiAgICAjdGV4dFxuICAgIGNsYXNzPVwidC10ZXh0XCJcbiAgICBbdGl0bGVdPVwidGl0bGVUZXh0KHRleHQpXCJcbiAgICAodHVpUmVzaXplKT1cIigwKVwiXG4+XG4gICAge3sgb3V0cHV0VmFsdWUgfX1cbjwvc3Bhbj5cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEdBSVgsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWV4QixNQUFNLE9BQU8saUJBQWlCO0lBb0IxQixZQUF1QyxLQUF1QztRQUF2QyxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQWpCOUUsVUFBSyxHQUF3QixFQUFFLENBQUM7UUFLaEMsU0FBSSxHQUF5QixHQUFHLENBQUM7UUFLakMsV0FBTSxHQUFjLFNBQVMsQ0FBQztRQUs5QixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRStELENBQUM7SUFFbEYsSUFDSSxPQUFPOztRQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxXQUFXLENBQUMsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxXQUFXOztRQUNYLE1BQU0sS0FBSyxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsT0FBTyxFQUFFLENBQUM7UUFFcEMsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtZQUNsQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBYztRQUM3QyxPQUFPLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3RCxDQUFDOzsrR0FoRFEsaUJBQWlCLGtCQW9CTixRQUFRO21HQXBCbkIsaUJBQWlCLG1ZQUxmLENBQUMsYUFBYSxDQUFDLDBCQ3hCOUIsd01BU0E7QUR1Qkk7SUFEQyxjQUFjLEVBQUU7Z0RBQ2U7QUFLaEM7SUFEQyxjQUFjLEVBQUU7K0NBQ2dCO0FBS2pDO0lBREMsY0FBYyxFQUFFO2lEQUNhO0FBSzlCO0lBREMsY0FBYyxFQUFFO29EQUNDOzRGQWxCVCxpQkFBaUI7a0JBVjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDakMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUMxQixJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztxQkFDaEM7aUJBQ0o7OzBCQXFCZ0IsTUFBTTsyQkFBQyxRQUFROzRDQWpCNUIsS0FBSztzQkFGSixLQUFLO2dCQU9OLElBQUk7c0JBSEgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTzdCLE1BQU07c0JBSEwsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQywyQkFBMkI7Z0JBT3hDLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTzNCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBb0JyQyxPQUFPO3NCQURWLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3AsIHR1aUlzTnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVYUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlTdGF0dXN9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktYmFkZ2VgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9iYWRnZS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9iYWRnZS5zdHlsZS5sZXNzYF0sXG4gICAgcHJvdmlkZXJzOiBbTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogYG1vZGUkYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlCYWRnZUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplWFMgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXR1aS1ob3N0LXN0YXR1c2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGF0dXM6IFR1aVN0YXR1cyA9IGBkZWZhdWx0YDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faG92ZXJhYmxlYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhvdmVyYWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+KSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtdHVpLWhvc3QtcGFkZGluZ2ApXG4gICAgZ2V0IHBhZGRpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSkge1xuICAgICAgICAgICAgcmV0dXJuIGBub25lYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0dWlJc051bWJlcih0aGlzLnZhbHVlPy52YWx1ZU9mKCkpID8gYG1gIDogYGxgO1xuICAgIH1cblxuICAgIGdldCBvdXRwdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU/LnZhbHVlT2YoKTtcblxuICAgICAgICBpZiAodHVpSXNOdW1iZXIodmFsdWUpICYmIHZhbHVlID4gOTkpIHtcbiAgICAgICAgICAgIHJldHVybiBgOTkrYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fZW1wdHktdmFsdWVgKVxuICAgIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gYGA7XG4gICAgfVxuXG4gICAgdGl0bGVUZXh0KHtvZmZzZXRXaWR0aCwgc2Nyb2xsV2lkdGh9OiBIVE1MRWxlbWVudCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBvZmZzZXRXaWR0aCA8IHNjcm9sbFdpZHRoID8gdGhpcy5vdXRwdXRWYWx1ZSA6IGBgO1xuICAgIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwidC1sZWZ0LWNvbnRlbnRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuPHNwYW5cbiAgICAjdGV4dFxuICAgIGNsYXNzPVwidC10ZXh0XCJcbiAgICBbdGl0bGVdPVwidGl0bGVUZXh0KHRleHQpXCJcbiAgICAodHVpUmVzaXplKT1cIigwKVwiXG4+XG4gICAge3sgb3V0cHV0VmFsdWUgfX1cbjwvc3Bhbj5cbiJdfQ==