@ptsecurity/mosaic 13.1.0 → 13.3.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 (423) hide show
  1. package/_theming.scss +466 -168
  2. package/_visual.scss +419 -239
  3. package/button/button.component.d.ts +1 -1
  4. package/core/option/option.d.ts +1 -0
  5. package/core/pop-up/pop-up.d.ts +1 -0
  6. package/core/validation/validation.d.ts +3 -3
  7. package/design-tokens/legacy-2017/tokens.d.ts +155 -56
  8. package/design-tokens/pt-2022/tokens.d.ts +151 -52
  9. package/dl/README.md +0 -0
  10. package/dl/dl.component.d.ts +26 -0
  11. package/dl/dl.module.d.ts +10 -0
  12. package/dl/index.d.ts +1 -0
  13. package/dl/package.json +10 -0
  14. package/dl/ptsecurity-mosaic-dl.d.ts +5 -0
  15. package/dl/public-api.d.ts +2 -0
  16. package/esm2020/autocomplete/autocomplete-origin.directive.mjs +3 -3
  17. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +3 -3
  18. package/esm2020/autocomplete/autocomplete.component.mjs +5 -5
  19. package/esm2020/autocomplete/autocomplete.module.mjs +4 -4
  20. package/esm2020/button/button.component.mjs +29 -21
  21. package/esm2020/button/button.module.mjs +4 -4
  22. package/esm2020/button-toggle/button-toggle.component.mjs +8 -8
  23. package/esm2020/button-toggle/button-toggle.module.mjs +4 -4
  24. package/esm2020/card/card.component.mjs +4 -4
  25. package/esm2020/card/card.module.mjs +4 -4
  26. package/esm2020/checkbox/checkbox-module.mjs +4 -4
  27. package/esm2020/checkbox/checkbox-required-validator.mjs +3 -3
  28. package/esm2020/checkbox/checkbox.mjs +4 -4
  29. package/esm2020/core/common-behaviors/common-module.mjs +4 -4
  30. package/esm2020/core/error/error-options.mjs +6 -6
  31. package/esm2020/core/formatters/date/formatter.mjs +3 -3
  32. package/esm2020/core/formatters/index.mjs +4 -4
  33. package/esm2020/core/formatters/number/formatter.mjs +4 -4
  34. package/esm2020/core/forms/forms-module.mjs +4 -4
  35. package/esm2020/core/forms/forms.directive.mjs +6 -6
  36. package/esm2020/core/highlight/highlight.pipe.mjs +3 -3
  37. package/esm2020/core/highlight/index.mjs +4 -4
  38. package/esm2020/core/line/line.mjs +7 -7
  39. package/esm2020/core/option/action.mjs +3 -3
  40. package/esm2020/core/option/optgroup.mjs +4 -4
  41. package/esm2020/core/option/option-module.mjs +4 -4
  42. package/esm2020/core/option/option.mjs +10 -7
  43. package/esm2020/core/pop-up/pop-up-trigger.mjs +7 -12
  44. package/esm2020/core/pop-up/pop-up.mjs +7 -4
  45. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  46. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  47. package/esm2020/core/services/measure-scrollbar.service.mjs +3 -3
  48. package/esm2020/core/validation/validation.mjs +10 -5
  49. package/esm2020/datepicker/calendar-body.component.mjs +4 -4
  50. package/esm2020/datepicker/calendar.component.mjs +7 -7
  51. package/esm2020/datepicker/datepicker-input.directive.mjs +3 -3
  52. package/esm2020/datepicker/datepicker-intl.mjs +3 -3
  53. package/esm2020/datepicker/datepicker-module.mjs +4 -4
  54. package/esm2020/datepicker/datepicker-toggle.component.mjs +7 -7
  55. package/esm2020/datepicker/datepicker.component.mjs +8 -8
  56. package/esm2020/datepicker/month-view.component.mjs +3 -3
  57. package/esm2020/datepicker/multi-year-view.component.mjs +3 -3
  58. package/esm2020/datepicker/year-view.component.mjs +3 -3
  59. package/esm2020/design-tokens/legacy-2017/tokens.mjs +156 -57
  60. package/esm2020/design-tokens/pt-2022/tokens.mjs +152 -53
  61. package/esm2020/divider/divider.component.mjs +4 -4
  62. package/esm2020/divider/divider.module.mjs +4 -4
  63. package/esm2020/dl/dl.component.mjs +78 -0
  64. package/esm2020/dl/dl.module.mjs +42 -0
  65. package/esm2020/dl/index.mjs +2 -0
  66. package/esm2020/dl/ptsecurity-mosaic-dl.mjs +5 -0
  67. package/esm2020/dl/public-api.mjs +3 -0
  68. package/esm2020/dropdown/dropdown-content.directive.mjs +3 -3
  69. package/esm2020/dropdown/dropdown-item.component.mjs +5 -5
  70. package/esm2020/dropdown/dropdown-trigger.directive.mjs +3 -3
  71. package/esm2020/dropdown/dropdown.component.mjs +6 -6
  72. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  73. package/esm2020/form-field/cleaner.mjs +3 -3
  74. package/esm2020/form-field/form-field.mjs +48 -28
  75. package/esm2020/form-field/form-field.module.mjs +10 -5
  76. package/esm2020/form-field/hint.mjs +6 -6
  77. package/esm2020/form-field/password-hint.mjs +134 -0
  78. package/esm2020/form-field/prefix.mjs +3 -3
  79. package/esm2020/form-field/public-api.mjs +2 -1
  80. package/esm2020/form-field/stepper.mjs +3 -3
  81. package/esm2020/form-field/suffix.mjs +3 -3
  82. package/esm2020/icon/icon.component.mjs +6 -6
  83. package/esm2020/icon/icon.module.mjs +4 -4
  84. package/esm2020/input/input-number-validators.mjs +6 -6
  85. package/esm2020/input/input-number.mjs +3 -3
  86. package/esm2020/input/input-password.mjs +368 -0
  87. package/esm2020/input/input.mjs +12 -11
  88. package/esm2020/input/input.module.mjs +50 -8
  89. package/esm2020/input/public-api.mjs +2 -1
  90. package/esm2020/link/link.component.mjs +3 -3
  91. package/esm2020/link/link.module.mjs +4 -4
  92. package/esm2020/list/list-selection.component.mjs +11 -11
  93. package/esm2020/list/list.component.mjs +7 -7
  94. package/esm2020/list/list.module.mjs +4 -4
  95. package/esm2020/modal/css-unit.pipe.mjs +3 -3
  96. package/esm2020/modal/modal-control.service.mjs +3 -3
  97. package/esm2020/modal/modal.component.mjs +4 -4
  98. package/esm2020/modal/modal.directive.mjs +12 -12
  99. package/esm2020/modal/modal.module.mjs +4 -4
  100. package/esm2020/modal/modal.service.mjs +3 -3
  101. package/esm2020/navbar/navbar-item.component.mjs +86 -79
  102. package/esm2020/navbar/navbar.component.mjs +10 -10
  103. package/esm2020/navbar/navbar.module.mjs +4 -4
  104. package/esm2020/navbar/vertical-navbar.component.mjs +6 -6
  105. package/esm2020/popover/popover-confirm.component.mjs +8 -8
  106. package/esm2020/popover/popover.component.mjs +8 -8
  107. package/esm2020/popover/popover.module.mjs +4 -4
  108. package/esm2020/progress-bar/progress-bar.component.mjs +4 -4
  109. package/esm2020/progress-bar/progress-bar.module.mjs +4 -4
  110. package/esm2020/progress-spinner/progress-spinner.component.mjs +4 -4
  111. package/esm2020/progress-spinner/progress-spinner.module.mjs +4 -4
  112. package/esm2020/radio/radio.component.mjs +7 -7
  113. package/esm2020/radio/radio.module.mjs +4 -4
  114. package/esm2020/select/public-api.mjs +2 -1
  115. package/esm2020/select/select-option.directive.mjs +65 -0
  116. package/esm2020/select/select.component.mjs +16 -16
  117. package/esm2020/select/select.module.mjs +19 -10
  118. package/esm2020/sidebar/sidebar.component.mjs +9 -9
  119. package/esm2020/sidebar/sidebar.module.mjs +4 -4
  120. package/esm2020/sidepanel/sidepanel-container.component.mjs +5 -5
  121. package/esm2020/sidepanel/sidepanel-directives.mjs +18 -18
  122. package/esm2020/sidepanel/sidepanel.module.mjs +4 -4
  123. package/esm2020/sidepanel/sidepanel.service.mjs +3 -3
  124. package/esm2020/splitter/splitter.component.mjs +22 -20
  125. package/esm2020/splitter/splitter.module.mjs +4 -4
  126. package/esm2020/table/table.component.mjs +3 -3
  127. package/esm2020/table/table.module.mjs +4 -4
  128. package/esm2020/tabs/paginated-tab-header.mjs +3 -3
  129. package/esm2020/tabs/tab-body.component.mjs +6 -6
  130. package/esm2020/tabs/tab-content.directive.mjs +3 -3
  131. package/esm2020/tabs/tab-group.component.mjs +20 -20
  132. package/esm2020/tabs/tab-header.component.mjs +4 -4
  133. package/esm2020/tabs/tab-label-wrapper.directive.mjs +3 -3
  134. package/esm2020/tabs/tab-label.directive.mjs +3 -3
  135. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +9 -9
  136. package/esm2020/tabs/tab.component.mjs +3 -3
  137. package/esm2020/tabs/tabs.module.mjs +4 -4
  138. package/esm2020/tags/tag-input.mjs +3 -3
  139. package/esm2020/tags/tag-list.component.mjs +6 -6
  140. package/esm2020/tags/tag.component.mjs +60 -60
  141. package/esm2020/tags/tag.module.mjs +4 -4
  142. package/esm2020/textarea/textarea.component.mjs +9 -8
  143. package/esm2020/textarea/textarea.module.mjs +4 -4
  144. package/esm2020/timepicker/timepicker.directive.mjs +3 -3
  145. package/esm2020/timepicker/timepicker.module.mjs +4 -4
  146. package/esm2020/toggle/toggle.component.mjs +6 -6
  147. package/esm2020/toggle/toggle.module.mjs +4 -4
  148. package/esm2020/tooltip/tooltip.component.mjs +18 -14
  149. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  150. package/esm2020/tree/node.mjs +3 -3
  151. package/esm2020/tree/outlet.mjs +3 -3
  152. package/esm2020/tree/padding.directive.mjs +12 -9
  153. package/esm2020/tree/toggle.mjs +10 -10
  154. package/esm2020/tree/tree-base.mjs +6 -6
  155. package/esm2020/tree/tree-option.component.mjs +9 -9
  156. package/esm2020/tree/tree-selection.component.mjs +8 -6
  157. package/esm2020/tree/tree.mjs +3 -3
  158. package/esm2020/tree/tree.module.mjs +4 -4
  159. package/esm2020/tree-select/tree-select.component.mjs +14 -14
  160. package/esm2020/tree-select/tree-select.module.mjs +4 -4
  161. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +15 -15
  162. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  163. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +12 -12
  164. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  165. package/fesm2015/ptsecurity-mosaic-button.mjs +32 -24
  166. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  167. package/fesm2015/ptsecurity-mosaic-card.mjs +8 -8
  168. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
  169. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +11 -11
  170. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  171. package/fesm2015/ptsecurity-mosaic-core.mjs +97 -91
  172. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  173. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +44 -44
  174. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  175. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +443 -146
  176. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  177. package/fesm2015/ptsecurity-mosaic-divider.mjs +8 -8
  178. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
  179. package/fesm2015/ptsecurity-mosaic-dl.mjs +124 -0
  180. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -0
  181. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +19 -19
  182. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  183. package/fesm2015/ptsecurity-mosaic-form-field.mjs +214 -50
  184. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  185. package/fesm2015/ptsecurity-mosaic-icon.mjs +10 -10
  186. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
  187. package/fesm2015/ptsecurity-mosaic-input.mjs +434 -31
  188. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
  189. package/fesm2015/ptsecurity-mosaic-link.mjs +7 -7
  190. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
  191. package/fesm2015/ptsecurity-mosaic-list.mjs +21 -21
  192. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  193. package/fesm2015/ptsecurity-mosaic-modal.mjs +29 -29
  194. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  195. package/fesm2015/ptsecurity-mosaic-navbar.mjs +103 -96
  196. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  197. package/fesm2015/ptsecurity-mosaic-popover.mjs +18 -18
  198. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  199. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +8 -8
  200. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  201. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +8 -8
  202. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  203. package/fesm2015/ptsecurity-mosaic-radio.mjs +11 -11
  204. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  205. package/fesm2015/ptsecurity-mosaic-select.mjs +99 -33
  206. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  207. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +13 -13
  208. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  209. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +28 -28
  210. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  211. package/fesm2015/ptsecurity-mosaic-splitter.mjs +25 -23
  212. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
  213. package/fesm2015/ptsecurity-mosaic-table.mjs +7 -7
  214. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
  215. package/fesm2015/ptsecurity-mosaic-tabs.mjs +56 -56
  216. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  217. package/fesm2015/ptsecurity-mosaic-tags.mjs +74 -74
  218. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  219. package/fesm2015/ptsecurity-mosaic-textarea.mjs +11 -10
  220. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
  221. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +7 -7
  222. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  223. package/fesm2015/ptsecurity-mosaic-toggle.mjs +9 -9
  224. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  225. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +21 -17
  226. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  227. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +17 -17
  228. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  229. package/fesm2015/ptsecurity-mosaic-tree.mjs +158 -155
  230. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  231. package/fesm2015/ptsecurity-mosaic.mjs.map +1 -1
  232. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +15 -15
  233. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  234. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +12 -12
  235. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  236. package/fesm2020/ptsecurity-mosaic-button.mjs +32 -24
  237. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  238. package/fesm2020/ptsecurity-mosaic-card.mjs +8 -8
  239. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
  240. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +11 -11
  241. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  242. package/fesm2020/ptsecurity-mosaic-core.mjs +97 -91
  243. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  244. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +44 -44
  245. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  246. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +443 -146
  247. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  248. package/fesm2020/ptsecurity-mosaic-divider.mjs +8 -8
  249. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
  250. package/fesm2020/ptsecurity-mosaic-dl.mjs +124 -0
  251. package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -0
  252. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +19 -19
  253. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  254. package/fesm2020/ptsecurity-mosaic-form-field.mjs +200 -50
  255. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  256. package/fesm2020/ptsecurity-mosaic-icon.mjs +10 -10
  257. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
  258. package/fesm2020/ptsecurity-mosaic-input.mjs +427 -31
  259. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
  260. package/fesm2020/ptsecurity-mosaic-link.mjs +7 -7
  261. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
  262. package/fesm2020/ptsecurity-mosaic-list.mjs +21 -21
  263. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  264. package/fesm2020/ptsecurity-mosaic-modal.mjs +29 -29
  265. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  266. package/fesm2020/ptsecurity-mosaic-navbar.mjs +103 -96
  267. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  268. package/fesm2020/ptsecurity-mosaic-popover.mjs +18 -18
  269. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  270. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +8 -8
  271. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  272. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +8 -8
  273. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  274. package/fesm2020/ptsecurity-mosaic-radio.mjs +11 -11
  275. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  276. package/fesm2020/ptsecurity-mosaic-select.mjs +96 -32
  277. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  278. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +13 -13
  279. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  280. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +28 -28
  281. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  282. package/fesm2020/ptsecurity-mosaic-splitter.mjs +25 -23
  283. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
  284. package/fesm2020/ptsecurity-mosaic-table.mjs +7 -7
  285. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
  286. package/fesm2020/ptsecurity-mosaic-tabs.mjs +56 -56
  287. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  288. package/fesm2020/ptsecurity-mosaic-tags.mjs +72 -72
  289. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  290. package/fesm2020/ptsecurity-mosaic-textarea.mjs +11 -10
  291. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
  292. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +7 -7
  293. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  294. package/fesm2020/ptsecurity-mosaic-toggle.mjs +9 -9
  295. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  296. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +21 -17
  297. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  298. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +17 -17
  299. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  300. package/fesm2020/ptsecurity-mosaic-tree.mjs +155 -152
  301. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  302. package/fesm2020/ptsecurity-mosaic.mjs.map +1 -1
  303. package/form-field/form-field.d.ts +9 -2
  304. package/form-field/form-field.module.d.ts +8 -7
  305. package/form-field/password-hint.d.ts +40 -0
  306. package/form-field/public-api.d.ts +1 -0
  307. package/input/input-password.d.ts +121 -0
  308. package/input/input.d.ts +4 -3
  309. package/input/input.module.d.ts +7 -6
  310. package/input/public-api.d.ts +1 -0
  311. package/list/list-selection.component.d.ts +1 -1
  312. package/navbar/navbar-item.component.d.ts +19 -18
  313. package/package.json +12 -4
  314. package/prebuilt-themes/dark-theme.css +1 -1
  315. package/prebuilt-themes/default-theme.css +1 -1
  316. package/prebuilt-visual/default-visual.css +1 -1
  317. package/select/public-api.d.ts +1 -0
  318. package/select/select-option.directive.d.ts +20 -0
  319. package/select/select.module.d.ts +9 -7
  320. package/tags/tag.component.d.ts +20 -20
  321. package/textarea/textarea.component.d.ts +4 -3
  322. package/toggle/README.md +0 -0
  323. package/tree/padding.directive.d.ts +7 -5
  324. package/tree/tree-option.component.d.ts +2 -2
  325. package/design-tokens/legacy-2017/tokens/components/alert.json5 +0 -83
  326. package/design-tokens/legacy-2017/tokens/components/autocomplete.json5 +0 -11
  327. package/design-tokens/legacy-2017/tokens/components/badge.json5 +0 -184
  328. package/design-tokens/legacy-2017/tokens/components/button-toggle.json5 +0 -10
  329. package/design-tokens/legacy-2017/tokens/components/button.json5 +0 -143
  330. package/design-tokens/legacy-2017/tokens/components/card.json5 +0 -51
  331. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +0 -39
  332. package/design-tokens/legacy-2017/tokens/components/datepicker.json5 +0 -64
  333. package/design-tokens/legacy-2017/tokens/components/divider.json5 +0 -8
  334. package/design-tokens/legacy-2017/tokens/components/dropdown.json5 +0 -47
  335. package/design-tokens/legacy-2017/tokens/components/form-field.json5 +0 -52
  336. package/design-tokens/legacy-2017/tokens/components/forms.json5 +0 -52
  337. package/design-tokens/legacy-2017/tokens/components/input.json5 +0 -13
  338. package/design-tokens/legacy-2017/tokens/components/link.json5 +0 -56
  339. package/design-tokens/legacy-2017/tokens/components/list.json5 +0 -15
  340. package/design-tokens/legacy-2017/tokens/components/modal.json5 +0 -79
  341. package/design-tokens/legacy-2017/tokens/components/navbar.json5 +0 -69
  342. package/design-tokens/legacy-2017/tokens/components/optgroup.json5 +0 -10
  343. package/design-tokens/legacy-2017/tokens/components/option.json5 +0 -12
  344. package/design-tokens/legacy-2017/tokens/components/popover.json5 +0 -68
  345. package/design-tokens/legacy-2017/tokens/components/popup.json5 +0 -18
  346. package/design-tokens/legacy-2017/tokens/components/progress-bar.json5 +0 -13
  347. package/design-tokens/legacy-2017/tokens/components/progress-spinner.json5 +0 -7
  348. package/design-tokens/legacy-2017/tokens/components/radio.json5 +0 -44
  349. package/design-tokens/legacy-2017/tokens/components/select.json5 +0 -25
  350. package/design-tokens/legacy-2017/tokens/components/sidepanel.json5 +0 -30
  351. package/design-tokens/legacy-2017/tokens/components/table.json5 +0 -15
  352. package/design-tokens/legacy-2017/tokens/components/tabs.json5 +0 -25
  353. package/design-tokens/legacy-2017/tokens/components/tags.json5 +0 -132
  354. package/design-tokens/legacy-2017/tokens/components/textarea.json5 +0 -12
  355. package/design-tokens/legacy-2017/tokens/components/timepicker.json5 +0 -7
  356. package/design-tokens/legacy-2017/tokens/components/toggle.json5 +0 -79
  357. package/design-tokens/legacy-2017/tokens/components/tooltip.json5 +0 -83
  358. package/design-tokens/legacy-2017/tokens/components/tree.json5 +0 -12
  359. package/design-tokens/legacy-2017/tokens/properties/aliases.json5 +0 -3
  360. package/design-tokens/legacy-2017/tokens/properties/colors.json5 +0 -110
  361. package/design-tokens/legacy-2017/tokens/properties/font.json5 +0 -12
  362. package/design-tokens/legacy-2017/tokens/properties/globals.json5 +0 -30
  363. package/design-tokens/legacy-2017/tokens/properties/padding.json5 +0 -3
  364. package/design-tokens/legacy-2017/tokens/properties/palette.json5 +0 -163
  365. package/design-tokens/legacy-2017/tokens/properties/typography.json5 +0 -140
  366. package/design-tokens/pt-2022/tokens/components/alert.json5 +0 -83
  367. package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +0 -11
  368. package/design-tokens/pt-2022/tokens/components/badge.json5 +0 -184
  369. package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +0 -10
  370. package/design-tokens/pt-2022/tokens/components/button.json5 +0 -143
  371. package/design-tokens/pt-2022/tokens/components/card.json5 +0 -51
  372. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +0 -39
  373. package/design-tokens/pt-2022/tokens/components/datepicker.json5 +0 -64
  374. package/design-tokens/pt-2022/tokens/components/divider.json5 +0 -8
  375. package/design-tokens/pt-2022/tokens/components/dropdown.json5 +0 -47
  376. package/design-tokens/pt-2022/tokens/components/form-field.json5 +0 -52
  377. package/design-tokens/pt-2022/tokens/components/forms.json5 +0 -52
  378. package/design-tokens/pt-2022/tokens/components/input.json5 +0 -13
  379. package/design-tokens/pt-2022/tokens/components/link.json5 +0 -56
  380. package/design-tokens/pt-2022/tokens/components/list.json5 +0 -15
  381. package/design-tokens/pt-2022/tokens/components/modal.json5 +0 -79
  382. package/design-tokens/pt-2022/tokens/components/navbar.json5 +0 -69
  383. package/design-tokens/pt-2022/tokens/components/optgroup.json5 +0 -10
  384. package/design-tokens/pt-2022/tokens/components/option.json5 +0 -12
  385. package/design-tokens/pt-2022/tokens/components/popover.json5 +0 -68
  386. package/design-tokens/pt-2022/tokens/components/popup.json5 +0 -18
  387. package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +0 -13
  388. package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +0 -7
  389. package/design-tokens/pt-2022/tokens/components/radio.json5 +0 -44
  390. package/design-tokens/pt-2022/tokens/components/select.json5 +0 -25
  391. package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +0 -30
  392. package/design-tokens/pt-2022/tokens/components/table.json5 +0 -15
  393. package/design-tokens/pt-2022/tokens/components/tabs.json5 +0 -25
  394. package/design-tokens/pt-2022/tokens/components/tags.json5 +0 -132
  395. package/design-tokens/pt-2022/tokens/components/textarea.json5 +0 -12
  396. package/design-tokens/pt-2022/tokens/components/timepicker.json5 +0 -7
  397. package/design-tokens/pt-2022/tokens/components/toggle.json5 +0 -79
  398. package/design-tokens/pt-2022/tokens/components/tooltip.json5 +0 -83
  399. package/design-tokens/pt-2022/tokens/components/tree.json5 +0 -12
  400. package/design-tokens/pt-2022/tokens/properties/aliases.json5 +0 -3
  401. package/design-tokens/pt-2022/tokens/properties/colors.json5 +0 -112
  402. package/design-tokens/pt-2022/tokens/properties/font.json5 +0 -15
  403. package/design-tokens/pt-2022/tokens/properties/globals.json5 +0 -30
  404. package/design-tokens/pt-2022/tokens/properties/padding.json5 +0 -3
  405. package/design-tokens/pt-2022/tokens/properties/palette.json5 +0 -226
  406. package/design-tokens/pt-2022/tokens/properties/typography.json5 +0 -140
  407. package/design-tokens/style-dictionary/build.js +0 -62
  408. package/design-tokens/style-dictionary/configs/css.js +0 -13
  409. package/design-tokens/style-dictionary/configs/index.js +0 -48
  410. package/design-tokens/style-dictionary/configs/js.js +0 -9
  411. package/design-tokens/style-dictionary/configs/scss.js +0 -23
  412. package/design-tokens/style-dictionary/filters/color.js +0 -7
  413. package/design-tokens/style-dictionary/filters/palette.js +0 -7
  414. package/design-tokens/style-dictionary/filters/size.js +0 -7
  415. package/design-tokens/style-dictionary/filters/typography.js +0 -7
  416. package/design-tokens/style-dictionary/formats/palette.js +0 -25
  417. package/design-tokens/style-dictionary/formats/typography.js +0 -52
  418. package/design-tokens/style-dictionary/transformGroups/css.js +0 -13
  419. package/design-tokens/style-dictionary/transformGroups/scss.js +0 -12
  420. package/design-tokens/style-dictionary/transforms/attribute/palette.js +0 -9
  421. package/design-tokens/style-dictionary/transforms/attribute/prefix.js +0 -11
  422. package/design-tokens/style-dictionary/transforms/attribute/size.js +0 -8
  423. package/design-tokens/style-dictionary/transforms/attribute/typography.js +0 -9
@@ -1,5 +1,6 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
1
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, Directive, ElementRef, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { ESCAPE } from '@ptsecurity/cdk/keycodes';
3
+ import { ESCAPE, F8 } from '@ptsecurity/cdk/keycodes';
3
4
  import { mixinColor } from '@ptsecurity/mosaic/core';
4
5
  import { EMPTY, merge, Subject } from 'rxjs';
5
6
  import { startWith, takeUntil } from 'rxjs/operators';
@@ -7,11 +8,13 @@ import { McCleaner } from './cleaner';
7
8
  import { McFormFieldControl } from './form-field-control';
8
9
  import { getMcFormFieldMissingControlError, getMcFormFieldYouCanNotUseCleanerInNumberInputError } from './form-field-errors';
9
10
  import { McHint } from './hint';
11
+ import { McPasswordHint } from './password-hint';
10
12
  import { McPrefix } from './prefix';
11
13
  import { McStepper } from './stepper';
12
14
  import { McSuffix } from './suffix';
13
15
  import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/common";
16
+ import * as i1 from "@angular/cdk/a11y";
17
+ import * as i2 from "@angular/common";
15
18
  let nextUniqueId = 0;
16
19
  export class McFormFieldBase {
17
20
  // tslint:disable-next-line:naming-convention
@@ -22,25 +25,31 @@ export class McFormFieldBase {
22
25
  // tslint:disable-next-line:naming-convention
23
26
  export const McFormFieldMixinBase = mixinColor(McFormFieldBase);
24
27
  export class McFormField extends McFormFieldMixinBase {
28
+ constructor(
25
29
  // tslint:disable-next-line:naming-convention
26
- constructor(_elementRef, _changeDetectorRef) {
30
+ _elementRef, _changeDetectorRef, focusMonitor) {
27
31
  super(_elementRef);
28
32
  this._elementRef = _elementRef;
29
33
  this._changeDetectorRef = _changeDetectorRef;
34
+ this.focusMonitor = focusMonitor;
30
35
  // Unique id for the internal form field label.
31
36
  this.labelId = `mc-form-field-label-${nextUniqueId++}`;
32
37
  this.hovered = false;
33
38
  this.canCleanerClearByEsc = true;
34
39
  this.$unsubscribe = new Subject();
40
+ this.runFocusMonitor();
35
41
  }
36
42
  get hasHint() {
37
- return this.hint && this.hint.length > 0;
43
+ return this.hint?.length > 0;
44
+ }
45
+ get hasPasswordStrengthError() {
46
+ return this.passwordHints?.some((hint) => hint.hasError);
38
47
  }
39
48
  get hasSuffix() {
40
- return this.suffix && this.suffix.length > 0;
49
+ return this.suffix?.length > 0;
41
50
  }
42
51
  get hasPrefix() {
43
- return this.prefix && this.prefix.length > 0;
52
+ return this.prefix?.length > 0;
44
53
  }
45
54
  get hasCleaner() {
46
55
  return !!this.cleaner;
@@ -50,13 +59,12 @@ export class McFormField extends McFormFieldMixinBase {
50
59
  }
51
60
  get canShowCleaner() {
52
61
  return this.hasCleaner &&
53
- this.control &&
54
- this.control.ngControl
62
+ this.control?.ngControl
55
63
  ? this.control.ngControl.value && !this.control.disabled
56
64
  : false;
57
65
  }
58
66
  get disabled() {
59
- return this.control && this.control.disabled;
67
+ return this.control?.disabled;
60
68
  }
61
69
  get canShowStepper() {
62
70
  return this.hasStepper &&
@@ -75,14 +83,17 @@ export class McFormField extends McFormFieldMixinBase {
75
83
  // Subscribe to changes in the child control state in order to update the form field UI.
76
84
  this.control.stateChanges
77
85
  .pipe(startWith())
78
- .subscribe(() => {
86
+ .subscribe((state) => {
87
+ if (!state?.focused && this.hasPasswordStrengthError) {
88
+ this.control.ngControl?.control?.setErrors({ passwordStrength: true });
89
+ }
79
90
  this._changeDetectorRef.markForCheck();
80
91
  });
81
92
  if (this.hasStepper) {
82
93
  this.stepper.connectTo(this.control.numberInput);
83
94
  }
84
95
  // Run change detection if the value changes.
85
- const valueChanges = this.control.ngControl && this.control.ngControl.valueChanges || EMPTY;
96
+ const valueChanges = this.control.ngControl?.valueChanges || EMPTY;
86
97
  merge(valueChanges)
87
98
  .pipe(takeUntil(this.$unsubscribe))
88
99
  .subscribe(() => this._changeDetectorRef.markForCheck());
@@ -96,10 +107,8 @@ export class McFormField extends McFormFieldMixinBase {
96
107
  }
97
108
  clearValue($event) {
98
109
  $event.stopPropagation();
99
- if (this.control && this.control.ngControl) {
100
- this.control.ngControl.reset();
101
- this.control.focus();
102
- }
110
+ this.control?.ngControl?.reset();
111
+ this.control?.focus();
103
112
  }
104
113
  onContainerClick($event) {
105
114
  if (this.control.onContainerClick) {
@@ -107,11 +116,13 @@ export class McFormField extends McFormFieldMixinBase {
107
116
  }
108
117
  }
109
118
  onKeyDown(event) {
119
+ // tslint:disable-next-line:deprecation
120
+ if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {
121
+ this.control.toggleType();
122
+ }
110
123
  // tslint:disable-next-line:deprecation
111
124
  if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {
112
- if (this.control && this.control.ngControl) {
113
- this.control.ngControl.reset();
114
- }
125
+ this.control?.ngControl?.reset();
115
126
  event.preventDefault();
116
127
  }
117
128
  }
@@ -136,6 +147,7 @@ export class McFormField extends McFormFieldMixinBase {
136
147
  ngOnDestroy() {
137
148
  this.$unsubscribe.next();
138
149
  this.$unsubscribe.complete();
150
+ this.stopFocusMonitor();
139
151
  }
140
152
  /** Throws an error if the form field's control is missing. */
141
153
  validateControlChild() {
@@ -143,10 +155,16 @@ export class McFormField extends McFormFieldMixinBase {
143
155
  throw getMcFormFieldMissingControlError();
144
156
  }
145
157
  }
158
+ runFocusMonitor() {
159
+ this.focusMonitor.monitor(this._elementRef.nativeElement, true);
160
+ }
161
+ stopFocusMonitor() {
162
+ this.focusMonitor.stopMonitoring(this._elementRef.nativeElement);
163
+ }
146
164
  }
147
- /** @nocollapse */ /** @nocollapse */ McFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormField, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
148
- /** @nocollapse */ /** @nocollapse */ McFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: McFormField, selector: "mc-form-field", inputs: { color: "color" }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.mc-form-field_invalid": "control.errorState", "class.mc-form-field_has-prefix": "hasPrefix", "class.mc-form-field_has-suffix": "hasSuffix", "class.mc-form-field_has-cleaner": "canShowCleaner", "class.mc-form-field_has-stepper": "canShowStepper", "class.mc-disabled": "control.disabled", "class.mc-focused": "control.focused", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "mc-form-field" }, queries: [{ propertyName: "control", first: true, predicate: McFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: McStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: McCleaner, descendants: true }, { propertyName: "hint", predicate: McHint }, { propertyName: "suffix", predicate: McSuffix }, { propertyName: "prefix", predicate: McPrefix }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["mcFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:3px;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-hint{display:block}.mc-form-field__hint>.mc-hint{margin-top:4px;margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:1px;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:3px;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:32px;padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:32px;padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:32px;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:32px;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:32px;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;margin:0;border:none;outline:none;box-sizing:border-box;padding:5px 16px;padding:var(--mc-input-size-padding, 5px 16px);width:100%;width:var(--mc-input-size-width, 100%);min-height:30px;min-height:var(--mc-input-size-min-height, 30px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}\n", ".mc-timepicker{padding-right:15px;padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:130px;width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:5px 16px;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:50px;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormField, decorators: [{
165
+ /** @nocollapse */ /** @nocollapse */ McFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormField, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
166
+ /** @nocollapse */ /** @nocollapse */ McFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McFormField, selector: "mc-form-field", inputs: { color: "color" }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.mc-form-field_invalid": "control.errorState", "class.mc-form-field_has-prefix": "hasPrefix", "class.mc-form-field_has-suffix": "hasSuffix", "class.mc-form-field_has-cleaner": "canShowCleaner", "class.mc-form-field_has-stepper": "canShowStepper", "class.mc-disabled": "control.disabled", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "mc-form-field" }, queries: [{ propertyName: "control", first: true, predicate: McFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: McStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: McCleaner, descendants: true }, { propertyName: "hint", predicate: McHint }, { propertyName: "passwordHints", predicate: McPasswordHint }, { propertyName: "suffix", predicate: McSuffix }, { propertyName: "prefix", predicate: McPrefix }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["mcFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 16px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 3px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormField, decorators: [{
150
168
  type: Component,
151
169
  args: [{ selector: 'mc-form-field', exportAs: 'mcFormField', host: {
152
170
  class: 'mc-form-field',
@@ -156,7 +174,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
156
174
  '[class.mc-form-field_has-cleaner]': 'canShowCleaner',
157
175
  '[class.mc-form-field_has-stepper]': 'canShowStepper',
158
176
  '[class.mc-disabled]': 'control.disabled',
159
- '[class.mc-focused]': 'control.focused',
160
177
  '[class.ng-untouched]': 'shouldForward("untouched")',
161
178
  '[class.ng-touched]': 'shouldForward("touched")',
162
179
  '[class.ng-pristine]': 'shouldForward("pristine")',
@@ -167,8 +184,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
167
184
  '(keydown)': 'onKeyDown($event)',
168
185
  '(mouseenter)': 'onHoverChanged(true)',
169
186
  '(mouseleave)': 'onHoverChanged(false)'
170
- }, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:3px;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-hint{display:block}.mc-form-field__hint>.mc-hint{margin-top:4px;margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:1px;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:3px;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:32px;padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:32px;padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:32px;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:32px;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:32px;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;margin:0;border:none;outline:none;box-sizing:border-box;padding:5px 16px;padding:var(--mc-input-size-padding, 5px 16px);width:100%;width:var(--mc-input-size-width, 100%);min-height:30px;min-height:var(--mc-input-size-min-height, 30px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}\n", ".mc-timepicker{padding-right:15px;padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:130px;width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:5px 16px;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:50px;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"] }]
171
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { control: [{
187
+ }, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 16px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 3px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"] }]
188
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { control: [{
172
189
  type: ContentChild,
173
190
  args: [McFormFieldControl, { static: false }]
174
191
  }], stepper: [{
@@ -180,6 +197,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
180
197
  }], hint: [{
181
198
  type: ContentChildren,
182
199
  args: [McHint]
200
+ }], passwordHints: [{
201
+ type: ContentChildren,
202
+ args: [McPasswordHint]
183
203
  }], suffix: [{
184
204
  type: ContentChildren,
185
205
  args: [McSuffix]
@@ -192,9 +212,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
192
212
  }] } });
193
213
  export class McFormFieldWithoutBorders {
194
214
  }
195
- /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormFieldWithoutBorders, deps: [], target: i0.ɵɵFactoryTarget.Directive });
196
- /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: McFormFieldWithoutBorders, selector: "mc-form-field[mcFormFieldWithoutBorders]", host: { classAttribute: "mc-form-field_without-borders" }, exportAs: ["mcFormFieldWithoutBorders"], ngImport: i0 });
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormFieldWithoutBorders, decorators: [{
215
+ /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldWithoutBorders, deps: [], target: i0.ɵɵFactoryTarget.Directive });
216
+ /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McFormFieldWithoutBorders, selector: "mc-form-field[mcFormFieldWithoutBorders]", host: { classAttribute: "mc-form-field_without-borders" }, exportAs: ["mcFormFieldWithoutBorders"], ngImport: i0 });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldWithoutBorders, decorators: [{
198
218
  type: Directive,
199
219
  args: [{
200
220
  selector: 'mc-form-field[mcFormFieldWithoutBorders]',
@@ -202,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
202
222
  host: { class: 'mc-form-field_without-borders' }
203
223
  }]
204
224
  }] });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFFVixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFDSCxpQ0FBaUMsRUFDakMsbURBQW1ELEVBQ3RELE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBR3BDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQUVyQixNQUFNLE9BQU8sZUFBZTtJQUN4Qiw2Q0FBNkM7SUFDN0MsWUFBbUIsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFBRyxDQUFDO0NBQ2pEO0FBRUQsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUEwQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7QUF3Q3ZHLE1BQU0sT0FBTyxXQUFZLFNBQVEsb0JBQW9CO0lBNERqRCw2Q0FBNkM7SUFDN0MsWUFBbUIsV0FBdUIsRUFBVSxrQkFBcUM7UUFDckYsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBREosZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBaER6RiwrQ0FBK0M7UUFDL0MsWUFBTyxHQUFHLHVCQUF1QixZQUFZLEVBQUUsRUFBRSxDQUFDO1FBRWxELFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIseUJBQW9CLEdBQVksSUFBSSxDQUFDO1FBRTdCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQTJDM0MsQ0FBQztJQXpDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVO1lBQ3RCLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDeEQsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVO1lBQ2xCLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDZCxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBT0Qsa0JBQWtCO1FBQ2QsSUFBSyxJQUFJLENBQUMsT0FBZSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sbURBQW1ELEVBQUUsQ0FBQztTQUMvRDtRQUVELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQ2xHO1FBRUQsd0ZBQXdGO1FBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTthQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDakIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsNkNBQTZDO1FBQzdDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUM7UUFFNUYsS0FBSyxDQUFDLFlBQVksQ0FBQzthQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxlQUFlO1FBQ1gsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQU07UUFDYixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBTTtRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDMUIsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEcsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO2dCQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNsQztZQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBa0I7UUFDN0IsSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztZQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gseUJBQXlCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDM0QsQ0FBQztJQUVELDZGQUE2RjtJQUM3RixhQUFhLENBQUMsSUFBcUI7UUFDL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUUvRCxPQUFPLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELDhEQUE4RDtJQUNwRCxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixNQUFNLGlDQUFpQyxFQUFFLENBQUM7U0FDN0M7SUFDTCxDQUFDOzs4SUFuS1EsV0FBVztrSUFBWCxXQUFXLHM5QkFHTixrQkFBa0IsMEVBQ2xCLFNBQVMsMEVBQ1QsU0FBUywwREFFTixNQUFNLHlDQUNOLFFBQVEseUNBQ1IsUUFBUSw0TkMzRjdCLDh6QkEwQkE7MkZEd0RhLFdBQVc7a0JBdEN2QixTQUFTOytCQUNJLGVBQWUsWUFDZixhQUFhLFFBWWpCO3dCQUNGLEtBQUssRUFBRSxlQUFlO3dCQUN0QiwrQkFBK0IsRUFBRSxvQkFBb0I7d0JBQ3JELGtDQUFrQyxFQUFFLFdBQVc7d0JBQy9DLGtDQUFrQyxFQUFFLFdBQVc7d0JBQy9DLG1DQUFtQyxFQUFFLGdCQUFnQjt3QkFDckQsbUNBQW1DLEVBQUUsZ0JBQWdCO3dCQUNyRCxxQkFBcUIsRUFBRSxrQkFBa0I7d0JBQ3pDLG9CQUFvQixFQUFFLGlCQUFpQjt3QkFDdkMsc0JBQXNCLEVBQUUsNEJBQTRCO3dCQUNwRCxvQkFBb0IsRUFBRSwwQkFBMEI7d0JBQ2hELHFCQUFxQixFQUFFLDJCQUEyQjt3QkFDbEQsa0JBQWtCLEVBQUUsd0JBQXdCO3dCQUM1QyxrQkFBa0IsRUFBRSx3QkFBd0I7d0JBQzVDLG9CQUFvQixFQUFFLDBCQUEwQjt3QkFDaEQsb0JBQW9CLEVBQUUsMEJBQTBCO3dCQUNoRCxXQUFXLEVBQUUsbUJBQW1CO3dCQUNoQyxjQUFjLEVBQUUsc0JBQXNCO3dCQUN0QyxjQUFjLEVBQUUsdUJBQXVCO3FCQUMxQyxVQUNPLENBQUMsT0FBTyxDQUFDLGlCQUNGLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07aUlBS00sT0FBTztzQkFBM0QsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1AsT0FBTztzQkFBbEQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNFLE9BQU87c0JBQWxELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFakIsSUFBSTtzQkFBNUIsZUFBZTt1QkFBQyxNQUFNO2dCQUNJLE1BQU07c0JBQWhDLGVBQWU7dUJBQUMsUUFBUTtnQkFDRSxNQUFNO3NCQUFoQyxlQUFlO3VCQUFDLFFBQVE7Z0JBRTJCLHNCQUFzQjtzQkFBekUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBZ0t0RCxNQUFNLE9BQU8seUJBQXlCOzs0SkFBekIseUJBQXlCO2dKQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsK0JBQStCLEVBQUU7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0BwdHNlY3VyaXR5L2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDYW5Db2xvciwgQ2FuQ29sb3JDdG9yLCBtaXhpbkNvbG9yIH0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2NvcmUnO1xuaW1wb3J0IHsgRU1QVFksIG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWNDbGVhbmVyIH0gZnJvbSAnLi9jbGVhbmVyJztcbmltcG9ydCB7IE1jRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4vZm9ybS1maWVsZC1jb250cm9sJztcbmltcG9ydCB7XG4gICAgZ2V0TWNGb3JtRmllbGRNaXNzaW5nQ29udHJvbEVycm9yLFxuICAgIGdldE1jRm9ybUZpZWxkWW91Q2FuTm90VXNlQ2xlYW5lckluTnVtYmVySW5wdXRFcnJvclxufSBmcm9tICcuL2Zvcm0tZmllbGQtZXJyb3JzJztcbmltcG9ydCB7IE1jSGludCB9IGZyb20gJy4vaGludCc7XG5pbXBvcnQgeyBNY1ByZWZpeCB9IGZyb20gJy4vcHJlZml4JztcbmltcG9ydCB7IE1jU3RlcHBlciB9IGZyb20gJy4vc3RlcHBlcic7XG5pbXBvcnQgeyBNY1N1ZmZpeCB9IGZyb20gJy4vc3VmZml4JztcblxuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuZXhwb3J0IGNsYXNzIE1jRm9ybUZpZWxkQmFzZSB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG4gICAgY29uc3RydWN0b3IocHVibGljIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBNY0Zvcm1GaWVsZE1peGluQmFzZTogQ2FuQ29sb3JDdG9yICYgdHlwZW9mIE1jRm9ybUZpZWxkQmFzZSA9IG1peGluQ29sb3IoTWNGb3JtRmllbGRCYXNlKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy1mb3JtLWZpZWxkJyxcbiAgICBleHBvcnRBczogJ21jRm9ybUZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Zvcm0tZmllbGQuaHRtbCcsXG4gICAgLy8gTWNJbnB1dCBpcyBhIGRpcmVjdGl2ZSBhbmQgY2FuJ3QgaGF2ZSBzdHlsZXMsIHNvIHdlIG5lZWQgdG8gaW5jbHVkZSBpdHMgc3R5bGVzIGhlcmUuXG4gICAgLy8gVGhlIE1jSW5wdXQgc3R5bGVzIGFyZSBmYWlybHkgbWluaW1hbCBzbyBpdCBzaG91bGRuJ3QgYmUgYSBiaWcgZGVhbCBmb3IgcGVvcGxlIHdob1xuICAgIC8vIGFyZW4ndCB1c2luZyBNY0lucHV0LlxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnZm9ybS1maWVsZC5zY3NzJyxcbiAgICAgICAgJy4uL2lucHV0L2lucHV0LnNjc3MnLFxuICAgICAgICAnLi4vdGltZXBpY2tlci90aW1lcGlja2VyLnNjc3MnLFxuICAgICAgICAnLi4vZGF0ZXBpY2tlci9kYXRlcGlja2VyLWlucHV0LnNjc3MnLFxuICAgICAgICAnLi4vdGV4dGFyZWEvdGV4dGFyZWEuc2NzcydcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtYy1mb3JtLWZpZWxkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1mb3JtLWZpZWxkX2ludmFsaWRdJzogJ2NvbnRyb2wuZXJyb3JTdGF0ZScsXG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1maWVsZF9oYXMtcHJlZml4XSc6ICdoYXNQcmVmaXgnLFxuICAgICAgICAnW2NsYXNzLm1jLWZvcm0tZmllbGRfaGFzLXN1ZmZpeF0nOiAnaGFzU3VmZml4JyxcbiAgICAgICAgJ1tjbGFzcy5tYy1mb3JtLWZpZWxkX2hhcy1jbGVhbmVyXSc6ICdjYW5TaG93Q2xlYW5lcicsXG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1maWVsZF9oYXMtc3RlcHBlcl0nOiAnY2FuU2hvd1N0ZXBwZXInLFxuICAgICAgICAnW2NsYXNzLm1jLWRpc2FibGVkXSc6ICdjb250cm9sLmRpc2FibGVkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1mb2N1c2VkXSc6ICdjb250cm9sLmZvY3VzZWQnLFxuICAgICAgICAnW2NsYXNzLm5nLXVudG91Y2hlZF0nOiAnc2hvdWxkRm9yd2FyZChcInVudG91Y2hlZFwiKScsXG4gICAgICAgICdbY2xhc3MubmctdG91Y2hlZF0nOiAnc2hvdWxkRm9yd2FyZChcInRvdWNoZWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXByaXN0aW5lXSc6ICdzaG91bGRGb3J3YXJkKFwicHJpc3RpbmVcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLWRpcnR5XSc6ICdzaG91bGRGb3J3YXJkKFwiZGlydHlcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXZhbGlkXSc6ICdzaG91bGRGb3J3YXJkKFwidmFsaWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLWludmFsaWRdJzogJ3Nob3VsZEZvcndhcmQoXCJpbnZhbGlkXCIpJyxcbiAgICAgICAgJ1tjbGFzcy5uZy1wZW5kaW5nXSc6ICdzaG91bGRGb3J3YXJkKFwicGVuZGluZ1wiKScsXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknLFxuICAgICAgICAnKG1vdXNlZW50ZXIpJzogJ29uSG92ZXJDaGFuZ2VkKHRydWUpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdvbkhvdmVyQ2hhbmdlZChmYWxzZSknXG4gICAgfSxcbiAgICBpbnB1dHM6IFsnY29sb3InXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1jRm9ybUZpZWxkIGV4dGVuZHMgTWNGb3JtRmllbGRNaXhpbkJhc2UgaW1wbGVtZW50c1xuICAgIEFmdGVyQ29udGVudEluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0luaXQsIENhbkNvbG9yLCBPbkRlc3Ryb3kge1xuXG4gICAgQENvbnRlbnRDaGlsZChNY0Zvcm1GaWVsZENvbnRyb2wsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250cm9sOiBNY0Zvcm1GaWVsZENvbnRyb2w8YW55PjtcbiAgICBAQ29udGVudENoaWxkKE1jU3RlcHBlciwgeyBzdGF0aWM6IGZhbHNlIH0pIHN0ZXBwZXI6IE1jU3RlcHBlcjtcbiAgICBAQ29udGVudENoaWxkKE1jQ2xlYW5lciwgeyBzdGF0aWM6IGZhbHNlIH0pIGNsZWFuZXI6IE1jQ2xlYW5lciB8IG51bGw7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKE1jSGludCkgaGludDogUXVlcnlMaXN0PE1jSGludD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihNY1N1ZmZpeCkgc3VmZml4OiBRdWVyeUxpc3Q8TWNTdWZmaXg+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNQcmVmaXgpIHByZWZpeDogUXVlcnlMaXN0PE1jUHJlZml4PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2Nvbm5lY3Rpb25Db250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb25uZWN0aW9uQ29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xuXG4gICAgLy8gVW5pcXVlIGlkIGZvciB0aGUgaW50ZXJuYWwgZm9ybSBmaWVsZCBsYWJlbC5cbiAgICBsYWJlbElkID0gYG1jLWZvcm0tZmllbGQtbGFiZWwtJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgaG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY2FuQ2xlYW5lckNsZWFyQnlFc2M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSAkdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGhhc0hpbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnQgJiYgdGhpcy5oaW50Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1N1ZmZpeCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VmZml4ICYmIHRoaXMuc3VmZml4Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ByZWZpeCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlZml4ICYmIHRoaXMucHJlZml4Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2xlYW5lcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzU3RlcHBlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zdGVwcGVyO1xuICAgIH1cblxuICAgIGdldCBjYW5TaG93Q2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2xlYW5lciAmJlxuICAgICAgICB0aGlzLmNvbnRyb2wgJiZcbiAgICAgICAgdGhpcy5jb250cm9sLm5nQ29udHJvbFxuICAgICAgICAgICAgPyB0aGlzLmNvbnRyb2wubmdDb250cm9sLnZhbHVlICYmICF0aGlzLmNvbnRyb2wuZGlzYWJsZWRcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sICYmIHRoaXMuY29udHJvbC5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgY2FuU2hvd1N0ZXBwZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1N0ZXBwZXIgJiZcbiAgICAgICAgICAgICF0aGlzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAodGhpcy5jb250cm9sPy5mb2N1c2VkIHx8IHRoaXMuaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG4gICAgY29uc3RydWN0b3IocHVibGljIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKCh0aGlzLmNvbnRyb2wgYXMgYW55KS5udW1iZXJJbnB1dCAmJiB0aGlzLmhhc0NsZWFuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYW5lciA9IG51bGw7XG4gICAgICAgICAgICB0aHJvdyBnZXRNY0Zvcm1GaWVsZFlvdUNhbk5vdFVzZUNsZWFuZXJJbk51bWJlcklucHV0RXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsaWRhdGVDb250cm9sQ2hpbGQoKTtcblxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmNvbnRyb2xUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbWMtZm9ybS1maWVsZC10eXBlLSR7dGhpcy5jb250cm9sLmNvbnRyb2xUeXBlfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gdGhlIGNoaWxkIGNvbnRyb2wgc3RhdGUgaW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBmb3JtIGZpZWxkIFVJLlxuICAgICAgICB0aGlzLmNvbnRyb2wuc3RhdGVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzU3RlcHBlcikge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyLmNvbm5lY3RUbygodGhpcy5jb250cm9sIGFzIGFueSkubnVtYmVySW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUnVuIGNoYW5nZSBkZXRlY3Rpb24gaWYgdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAgICAgIGNvbnN0IHZhbHVlQ2hhbmdlcyA9IHRoaXMuY29udHJvbC5uZ0NvbnRyb2wgJiYgdGhpcy5jb250cm9sLm5nQ29udHJvbC52YWx1ZUNoYW5nZXMgfHwgRU1QVFk7XG5cbiAgICAgICAgbWVyZ2UodmFsdWVDaGFuZ2VzKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuJHVuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbnRyb2xDaGlsZCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgLy8gQXZvaWQgYW5pbWF0aW9ucyBvbiBsb2FkLlxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgY2xlYXJWYWx1ZSgkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLm5nQ29udHJvbC5yZXNldCgpO1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNvbnRhaW5lckNsaWNrKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm9uQ29udGFpbmVyQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5vbkNvbnRhaW5lckNsaWNrKCRldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRlcHJlY2F0aW9uXG4gICAgICAgIGlmICh0aGlzLmNhbkNsZWFuZXJDbGVhckJ5RXNjICYmIGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSAmJiB0aGlzLmNvbnRyb2wuZm9jdXNlZCAmJiB0aGlzLmhhc0NsZWFuZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5uZ0NvbnRyb2wucmVzZXQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSG92ZXJDaGFuZ2VkKGlzSG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoaXNIb3ZlcmVkICE9PSB0aGlzLmhvdmVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IGlzSG92ZXJlZDtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbiBFbGVtZW50UmVmIGZvciB0aGUgZWxlbWVudCB0aGF0IGEgb3ZlcmxheSBhdHRhY2hlZCB0byB0aGUgZm9ybS1maWVsZCBzaG91bGQgYmVcbiAgICAgKiBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvLlxuICAgICAqL1xuICAgIGdldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25Db250YWluZXJSZWYgfHwgdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgY2xhc3MgZnJvbSB0aGUgTmdDb250cm9sIHNob3VsZCBiZSBmb3J3YXJkZWQgdG8gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzaG91bGRGb3J3YXJkKHByb3A6IGtleW9mIE5nQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuZ0NvbnRyb2wgPSB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wubmdDb250cm9sIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gbmdDb250cm9sICYmIG5nQ29udHJvbFtwcm9wXTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy4kdW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLiR1bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGZvcm0gZmllbGQncyBjb250cm9sIGlzIG1pc3NpbmcuICovXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlQ29udHJvbENoaWxkKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhyb3cgZ2V0TWNGb3JtRmllbGRNaXNzaW5nQ29udHJvbEVycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWMtZm9ybS1maWVsZFttY0Zvcm1GaWVsZFdpdGhvdXRCb3JkZXJzXScsXG4gICAgZXhwb3J0QXM6ICdtY0Zvcm1GaWVsZFdpdGhvdXRCb3JkZXJzJyxcbiAgICBob3N0OiB7IGNsYXNzOiAnbWMtZm9ybS1maWVsZF93aXRob3V0LWJvcmRlcnMnIH1cbn0pXG5leHBvcnQgY2xhc3MgTWNGb3JtRmllbGRXaXRob3V0Qm9yZGVycyB7fVxuIiwiPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX2NvbnRhaW5lclwiIChjbGljayk9XCJvbkNvbnRhaW5lckNsaWNrKCRldmVudClcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYy1mb3JtLWZpZWxkX19wcmVmaXhcIiAqbmdJZj1cImhhc1ByZWZpeFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWNQcmVmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX2luZml4XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYy1mb3JtLWZpZWxkX19zdWZmaXhcIiAqbmdJZj1cImhhc1N1ZmZpeFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWNTdWZmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX2NsZWFuZXJcIlxuICAgICAgICAgKm5nSWY9XCJjYW5TaG93Q2xlYW5lciAmJiAhaGFzU3VmZml4XCJcbiAgICAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWMtY2xlYW5lclwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiY2FuU2hvd1N0ZXBwZXJcIiBzZWxlY3Q9XCJtYy1zdGVwcGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtYy1mb3JtLWZpZWxkX19oaW50XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWMtaGludFwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFJSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBRVYsU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUNILGlDQUFpQyxFQUNqQyxtREFBbUQsRUFDdEQsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENB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QUUsMENBQTBDO29CQUNwRCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsK0JBQStCLEVBQUU7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVTQ0FQRSwgRjggfSBmcm9tICdAcHRzZWN1cml0eS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ2FuQ29sb3IsIENhbkNvbG9yQ3RvciwgbWl4aW5Db2xvciB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9jb3JlJztcbmltcG9ydCB7IEVNUFRZLCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1jQ2xlYW5lciB9IGZyb20gJy4vY2xlYW5lcic7XG5pbXBvcnQgeyBNY0Zvcm1GaWVsZENvbnRyb2wgfSBmcm9tICcuL2Zvcm0tZmllbGQtY29udHJvbCc7XG5pbXBvcnQge1xuICAgIGdldE1jRm9ybUZpZWxkTWlzc2luZ0NvbnRyb2xFcnJvcixcbiAgICBnZXRNY0Zvcm1GaWVsZFlvdUNhbk5vdFVzZUNsZWFuZXJJbk51bWJlcklucHV0RXJyb3Jcbn0gZnJvbSAnLi9mb3JtLWZpZWxkLWVycm9ycyc7XG5pbXBvcnQgeyBNY0hpbnQgfSBmcm9tICcuL2hpbnQnO1xuaW1wb3J0IHsgTWNQYXNzd29yZEhpbnQgfSBmcm9tICcuL3Bhc3N3b3JkLWhpbnQnO1xuaW1wb3J0IHsgTWNQcmVmaXggfSBmcm9tICcuL3ByZWZpeCc7XG5pbXBvcnQgeyBNY1N0ZXBwZXIgfSBmcm9tICcuL3N0ZXBwZXInO1xuaW1wb3J0IHsgTWNTdWZmaXggfSBmcm9tICcuL3N1ZmZpeCc7XG5cblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbmV4cG9ydCBjbGFzcyBNY0Zvcm1GaWVsZEJhc2Uge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgTWNGb3JtRmllbGRNaXhpbkJhc2U6IENhbkNvbG9yQ3RvciAmIHR5cGVvZiBNY0Zvcm1GaWVsZEJhc2UgPSBtaXhpbkNvbG9yKE1jRm9ybUZpZWxkQmFzZSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWMtZm9ybS1maWVsZCcsXG4gICAgZXhwb3J0QXM6ICdtY0Zvcm1GaWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICdmb3JtLWZpZWxkLmh0bWwnLFxuICAgIC8vIE1jSW5wdXQgaXMgYSBkaXJlY3RpdmUgYW5kIGNhbid0IGhhdmUgc3R5bGVzLCBzbyB3ZSBuZWVkIHRvIGluY2x1ZGUgaXRzIHN0eWxlcyBoZXJlLlxuICAgIC8vIFRoZSBNY0lucHV0IHN0eWxlcyBhcmUgZmFpcmx5IG1pbmltYWwgc28gaXQgc2hvdWxkbid0IGJlIGEgYmlnIGRlYWwgZm9yIHBlb3BsZSB3aG9cbiAgICAvLyBhcmVuJ3QgdXNpbmcgTWNJbnB1dC5cbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJ2Zvcm0tZmllbGQuc2NzcycsXG4gICAgICAgICcuLi9pbnB1dC9pbnB1dC5zY3NzJyxcbiAgICAgICAgJy4uL3RpbWVwaWNrZXIvdGltZXBpY2tlci5zY3NzJyxcbiAgICAgICAgJy4uL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1pbnB1dC5zY3NzJyxcbiAgICAgICAgJy4uL3RleHRhcmVhL3RleHRhcmVhLnNjc3MnXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbWMtZm9ybS1maWVsZCcsXG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1maWVsZF9pbnZhbGlkXSc6ICdjb250cm9sLmVycm9yU3RhdGUnLFxuICAgICAgICAnW2NsYXNzLm1jLWZvcm0tZmllbGRfaGFzLXByZWZpeF0nOiAnaGFzUHJlZml4JyxcbiAgICAgICAgJ1tjbGFzcy5tYy1mb3JtLWZpZWxkX2hhcy1zdWZmaXhdJzogJ2hhc1N1ZmZpeCcsXG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1maWVsZF9oYXMtY2xlYW5lcl0nOiAnY2FuU2hvd0NsZWFuZXInLFxuICAgICAgICAnW2NsYXNzLm1jLWZvcm0tZmllbGRfaGFzLXN0ZXBwZXJdJzogJ2NhblNob3dTdGVwcGVyJyxcblxuICAgICAgICAnW2NsYXNzLm1jLWRpc2FibGVkXSc6ICdjb250cm9sLmRpc2FibGVkJyxcblxuICAgICAgICAnW2NsYXNzLm5nLXVudG91Y2hlZF0nOiAnc2hvdWxkRm9yd2FyZChcInVudG91Y2hlZFwiKScsXG4gICAgICAgICdbY2xhc3MubmctdG91Y2hlZF0nOiAnc2hvdWxkRm9yd2FyZChcInRvdWNoZWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXByaXN0aW5lXSc6ICdzaG91bGRGb3J3YXJkKFwicHJpc3RpbmVcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLWRpcnR5XSc6ICdzaG91bGRGb3J3YXJkKFwiZGlydHlcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXZhbGlkXSc6ICdzaG91bGRGb3J3YXJkKFwidmFsaWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLWludmFsaWRdJzogJ3Nob3VsZEZvcndhcmQoXCJpbnZhbGlkXCIpJyxcbiAgICAgICAgJ1tjbGFzcy5uZy1wZW5kaW5nXSc6ICdzaG91bGRGb3J3YXJkKFwicGVuZGluZ1wiKScsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG4gICAgICAgICcobW91c2VlbnRlciknOiAnb25Ib3ZlckNoYW5nZWQodHJ1ZSknLFxuICAgICAgICAnKG1vdXNlbGVhdmUpJzogJ29uSG92ZXJDaGFuZ2VkKGZhbHNlKSdcbiAgICB9LFxuICAgIGlucHV0czogWydjb2xvciddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTWNGb3JtRmllbGQgZXh0ZW5kcyBNY0Zvcm1GaWVsZE1peGluQmFzZSBpbXBsZW1lbnRzXG4gICAgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ2FuQ29sb3IsIE9uRGVzdHJveSB7XG5cbiAgICBAQ29udGVudENoaWxkKE1jRm9ybUZpZWxkQ29udHJvbCwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRyb2w6IE1jRm9ybUZpZWxkQ29udHJvbDxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoTWNTdGVwcGVyLCB7IHN0YXRpYzogZmFsc2UgfSkgc3RlcHBlcjogTWNTdGVwcGVyO1xuICAgIEBDb250ZW50Q2hpbGQoTWNDbGVhbmVyLCB7IHN0YXRpYzogZmFsc2UgfSkgY2xlYW5lcjogTWNDbGVhbmVyIHwgbnVsbDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNIaW50KSBoaW50OiBRdWVyeUxpc3Q8TWNIaW50PjtcbiAgICBAQ29udGVudENoaWxkcmVuKE1jUGFzc3dvcmRIaW50KSBwYXNzd29yZEhpbnRzOiBRdWVyeUxpc3Q8TWNQYXNzd29yZEhpbnQ+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNTdWZmaXgpIHN1ZmZpeDogUXVlcnlMaXN0PE1jU3VmZml4PjtcbiAgICBAQ29udGVudENoaWxkcmVuKE1jUHJlZml4KSBwcmVmaXg6IFF1ZXJ5TGlzdDxNY1ByZWZpeD47XG5cbiAgICBAVmlld0NoaWxkKCdjb25uZWN0aW9uQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgY29ubmVjdGlvbkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcblxuICAgIC8vIFVuaXF1ZSBpZCBmb3IgdGhlIGludGVybmFsIGZvcm0gZmllbGQgbGFiZWwuXG4gICAgbGFiZWxJZCA9IGBtYy1mb3JtLWZpZWxkLWxhYmVsLSR7bmV4dFVuaXF1ZUlkKyt9YDtcblxuICAgIGhvdmVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNhbkNsZWFuZXJDbGVhckJ5RXNjOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgJHVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGdldCBoYXNIaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Py5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGdldCBoYXNQYXNzd29yZFN0cmVuZ3RoRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhc3N3b3JkSGludHM/LnNvbWUoKGhpbnQpID0+IGhpbnQuaGFzRXJyb3IpO1xuICAgIH1cblxuICAgIGdldCBoYXNTdWZmaXgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1ZmZpeD8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBnZXQgaGFzUHJlZml4KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVmaXg/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2xlYW5lcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzU3RlcHBlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zdGVwcGVyO1xuICAgIH1cblxuICAgIGdldCBjYW5TaG93Q2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2xlYW5lciAmJlxuICAgICAgICB0aGlzLmNvbnRyb2w/Lm5nQ29udHJvbFxuICAgICAgICAgICAgPyB0aGlzLmNvbnRyb2wubmdDb250cm9sLnZhbHVlICYmICF0aGlzLmNvbnRyb2wuZGlzYWJsZWRcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgY2FuU2hvd1N0ZXBwZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1N0ZXBwZXIgJiZcbiAgICAgICAgICAgICF0aGlzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAodGhpcy5jb250cm9sPy5mb2N1c2VkIHx8IHRoaXMuaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvblxuICAgICAgICBwdWJsaWMgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZik7XG5cbiAgICAgICAgdGhpcy5ydW5Gb2N1c01vbml0b3IoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGlmICgodGhpcy5jb250cm9sIGFzIGFueSkubnVtYmVySW5wdXQgJiYgdGhpcy5oYXNDbGVhbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFuZXIgPSBudWxsO1xuICAgICAgICAgICAgdGhyb3cgZ2V0TWNGb3JtRmllbGRZb3VDYW5Ob3RVc2VDbGVhbmVySW5OdW1iZXJJbnB1dEVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbGlkYXRlQ29udHJvbENoaWxkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5jb250cm9sVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG1jLWZvcm0tZmllbGQtdHlwZS0ke3RoaXMuY29udHJvbC5jb250cm9sVHlwZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGluIHRoZSBjaGlsZCBjb250cm9sIHN0YXRlIGluIG9yZGVyIHRvIHVwZGF0ZSB0aGUgZm9ybSBmaWVsZCBVSS5cbiAgICAgICAgdGhpcy5jb250cm9sLnN0YXRlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0ZT8uZm9jdXNlZCAmJiB0aGlzLmhhc1Bhc3N3b3JkU3RyZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubmdDb250cm9sPy5jb250cm9sPy5zZXRFcnJvcnMoeyBwYXNzd29yZFN0cmVuZ3RoOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzU3RlcHBlcikge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyLmNvbm5lY3RUbygodGhpcy5jb250cm9sIGFzIGFueSkubnVtYmVySW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUnVuIGNoYW5nZSBkZXRlY3Rpb24gaWYgdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAgICAgIGNvbnN0IHZhbHVlQ2hhbmdlcyA9IHRoaXMuY29udHJvbC5uZ0NvbnRyb2w/LnZhbHVlQ2hhbmdlcyB8fCBFTVBUWTtcblxuICAgICAgICBtZXJnZSh2YWx1ZUNoYW5nZXMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4kdW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29udHJvbENoaWxkKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvLyBBdm9pZCBhbmltYXRpb25zIG9uIGxvYWQuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBjbGVhclZhbHVlKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sPy5uZ0NvbnRyb2w/LnJlc2V0KCk7XG4gICAgICAgIHRoaXMuY29udHJvbD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkNvbnRhaW5lckNsaWNrKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm9uQ29udGFpbmVyQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5vbkNvbnRhaW5lckNsaWNrKCRldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRlcHJlY2F0aW9uXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbFR5cGUgPT09ICdpbnB1dC1wYXNzd29yZCcgJiYgZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IEY4KSB7XG4gICAgICAgICAgICAodGhpcy5jb250cm9sIGFzIHVua25vd24gYXMgeyB0b2dnbGVUeXBlKCk6IHZvaWQgfSkudG9nZ2xlVHlwZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkZXByZWNhdGlvblxuICAgICAgICBpZiAodGhpcy5jYW5DbGVhbmVyQ2xlYXJCeUVzYyAmJiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy5jb250cm9sLmZvY3VzZWQgJiYgdGhpcy5oYXNDbGVhbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/Lm5nQ29udHJvbD8ucmVzZXQoKTtcblxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSG92ZXJDaGFuZ2VkKGlzSG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoaXNIb3ZlcmVkICE9PSB0aGlzLmhvdmVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IGlzSG92ZXJlZDtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbiBFbGVtZW50UmVmIGZvciB0aGUgZWxlbWVudCB0aGF0IGEgb3ZlcmxheSBhdHRhY2hlZCB0byB0aGUgZm9ybS1maWVsZCBzaG91bGQgYmVcbiAgICAgKiBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvLlxuICAgICAqL1xuICAgIGdldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25Db250YWluZXJSZWYgfHwgdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgY2xhc3MgZnJvbSB0aGUgTmdDb250cm9sIHNob3VsZCBiZSBmb3J3YXJkZWQgdG8gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzaG91bGRGb3J3YXJkKHByb3A6IGtleW9mIE5nQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuZ0NvbnRyb2wgPSB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wubmdDb250cm9sIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gbmdDb250cm9sICYmIG5nQ29udHJvbFtwcm9wXTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy4kdW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLiR1bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgICAgIHRoaXMuc3RvcEZvY3VzTW9uaXRvcigpO1xuICAgIH1cblxuICAgIC8qKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGZvcm0gZmllbGQncyBjb250cm9sIGlzIG1pc3NpbmcuICovXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlQ29udHJvbENoaWxkKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhyb3cgZ2V0TWNGb3JtRmllbGRNaXNzaW5nQ29udHJvbEVycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJ1bkZvY3VzTW9uaXRvcigpIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RvcEZvY3VzTW9uaXRvcigpIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWMtZm9ybS1maWVsZFttY0Zvcm1GaWVsZFdpdGhvdXRCb3JkZXJzXScsXG4gICAgZXhwb3J0QXM6ICdtY0Zvcm1GaWVsZFdpdGhvdXRCb3JkZXJzJyxcbiAgICBob3N0OiB7IGNsYXNzOiAnbWMtZm9ybS1maWVsZF93aXRob3V0LWJvcmRlcnMnIH1cbn0pXG5leHBvcnQgY2xhc3MgTWNGb3JtRmllbGRXaXRob3V0Qm9yZGVycyB7fVxuIiwiPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX2NvbnRhaW5lclwiIChjbGljayk9XCJvbkNvbnRhaW5lckNsaWNrKCRldmVudClcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYy1mb3JtLWZpZWxkX19wcmVmaXhcIiAqbmdJZj1cImhhc1ByZWZpeFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWNQcmVmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX2luZml4XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYy1mb3JtLWZpZWxkX19zdWZmaXhcIiAqbmdJZj1cImhhc1N1ZmZpeFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWNTdWZmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX2NsZWFuZXJcIlxuICAgICAgICAgKm5nSWY9XCJjYW5TaG93Q2xlYW5lciAmJiAhaGFzU3VmZml4XCJcbiAgICAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWMtY2xlYW5lclwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1jLXBhc3N3b3JkLXRvZ2dsZVwiPjwvbmctY29udGVudD5cblxuICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiY2FuU2hvd1N0ZXBwZXJcIiBzZWxlY3Q9XCJtYy1zdGVwcGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtYy1mb3JtLWZpZWxkX19oaW50XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWMtaGludCwgbWMtcGFzc3dvcmQtaGludFwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -4,34 +4,38 @@ import { McIconModule } from '@ptsecurity/mosaic/icon';
4
4
  import { McCleaner } from './cleaner';
5
5
  import { McFormField, McFormFieldWithoutBorders } from './form-field';
6
6
  import { McHint } from './hint';
7
+ import { McPasswordHint } from './password-hint';
7
8
  import { McPrefix } from './prefix';
8
9
  import { McStepper } from './stepper';
9
10
  import { McSuffix } from './suffix';
10
11
  import * as i0 from "@angular/core";
11
12
  export class McFormFieldModule {
12
13
  }
13
- /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormFieldModule, declarations: [McFormField,
14
+ /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, declarations: [McFormField,
15
16
  McFormFieldWithoutBorders,
16
17
  McHint,
18
+ McPasswordHint,
17
19
  McPrefix,
18
20
  McSuffix,
19
21
  McCleaner,
20
22
  McStepper], imports: [CommonModule, McIconModule], exports: [McFormField,
21
23
  McFormFieldWithoutBorders,
22
24
  McHint,
25
+ McPasswordHint,
23
26
  McPrefix,
24
27
  McSuffix,
25
28
  McCleaner,
26
29
  McStepper] });
27
- /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormFieldModule, imports: [[CommonModule, McIconModule]] });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McFormFieldModule, decorators: [{
30
+ /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, imports: [[CommonModule, McIconModule]] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, decorators: [{
29
32
  type: NgModule,
30
33
  args: [{
31
34
  declarations: [
32
35
  McFormField,
33
36
  McFormFieldWithoutBorders,
34
37
  McHint,
38
+ McPasswordHint,
35
39
  McPrefix,
36
40
  McSuffix,
37
41
  McCleaner,
@@ -42,6 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
42
46
  McFormField,
43
47
  McFormFieldWithoutBorders,
44
48
  McHint,
49
+ McPasswordHint,
45
50
  McPrefix,
46
51
  McSuffix,
47
52
  McCleaner,
@@ -49,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
49
54
  ]
50
55
  }]
51
56
  }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBd0JwQyxNQUFNLE9BQU8saUJBQWlCOztvSkFBakIsaUJBQWlCO3FKQUFqQixpQkFBaUIsaUJBbkJ0QixXQUFXO1FBQ1gseUJBQXlCO1FBQ3pCLE1BQU07UUFDTixRQUFRO1FBQ1IsUUFBUTtRQUNSLFNBQVM7UUFDVCxTQUFTLGFBRUgsWUFBWSxFQUFFLFlBQVksYUFFaEMsV0FBVztRQUNYLHlCQUF5QjtRQUN6QixNQUFNO1FBQ04sUUFBUTtRQUNSLFFBQVE7UUFDUixTQUFTO1FBQ1QsU0FBUztxSkFHSixpQkFBaUIsWUFYakIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDOzJGQVc1QixpQkFBaUI7a0JBckI3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixXQUFXO3dCQUNYLHlCQUF5Qjt3QkFDekIsTUFBTTt3QkFDTixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxTQUFTO3FCQUNaO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDTCxXQUFXO3dCQUNYLHlCQUF5Qjt3QkFDekIsTUFBTTt3QkFDTixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxTQUFTO3FCQUNaO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNY0ljb25Nb2R1bGUgfSBmcm9tICdAcHRzZWN1cml0eS9tb3NhaWMvaWNvbic7XG5cbmltcG9ydCB7IE1jQ2xlYW5lciB9IGZyb20gJy4vY2xlYW5lcic7XG5pbXBvcnQgeyBNY0Zvcm1GaWVsZCwgTWNGb3JtRmllbGRXaXRob3V0Qm9yZGVycyB9IGZyb20gJy4vZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNY0hpbnQgfSBmcm9tICcuL2hpbnQnO1xuaW1wb3J0IHsgTWNQcmVmaXggfSBmcm9tICcuL3ByZWZpeCc7XG5pbXBvcnQgeyBNY1N0ZXBwZXIgfSBmcm9tICcuL3N0ZXBwZXInO1xuaW1wb3J0IHsgTWNTdWZmaXggfSBmcm9tICcuL3N1ZmZpeCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTWNGb3JtRmllbGQsXG4gICAgICAgIE1jRm9ybUZpZWxkV2l0aG91dEJvcmRlcnMsXG4gICAgICAgIE1jSGludCxcbiAgICAgICAgTWNQcmVmaXgsXG4gICAgICAgIE1jU3VmZml4LFxuICAgICAgICBNY0NsZWFuZXIsXG4gICAgICAgIE1jU3RlcHBlclxuICAgIF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWNJY29uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE1jRm9ybUZpZWxkLFxuICAgICAgICBNY0Zvcm1GaWVsZFdpdGhvdXRCb3JkZXJzLFxuICAgICAgICBNY0hpbnQsXG4gICAgICAgIE1jUHJlZml4LFxuICAgICAgICBNY1N1ZmZpeCxcbiAgICAgICAgTWNDbGVhbmVyLFxuICAgICAgICBNY1N0ZXBwZXJcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE1jRm9ybUZpZWxkTW9kdWxlIHtcbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQTBCcEMsTUFBTSxPQUFPLGlCQUFpQjs7b0pBQWpCLGlCQUFpQjtxSkFBakIsaUJBQWlCLGlCQXJCdEIsV0FBVztRQUNYLHlCQUF5QjtRQUN6QixNQUFNO1FBQ04sY0FBYztRQUNkLFFBQVE7UUFDUixRQUFRO1FBQ1IsU0FBUztRQUNULFNBQVMsYUFFSCxZQUFZLEVBQUUsWUFBWSxhQUVoQyxXQUFXO1FBQ1gseUJBQXlCO1FBQ3pCLE1BQU07UUFDTixjQUFjO1FBQ2QsUUFBUTtRQUNSLFFBQVE7UUFDUixTQUFTO1FBQ1QsU0FBUztxSkFHSixpQkFBaUIsWUFaakIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDOzJGQVk1QixpQkFBaUI7a0JBdkI3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixXQUFXO3dCQUNYLHlCQUF5Qjt3QkFDekIsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixTQUFTO3dCQUNULFNBQVM7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDckMsT0FBTyxFQUFFO3dCQUNMLFdBQVc7d0JBQ1gseUJBQXlCO3dCQUN6QixNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsUUFBUTt3QkFDUixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsU0FBUztxQkFDWjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWNJY29uTW9kdWxlIH0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2ljb24nO1xuXG5pbXBvcnQgeyBNY0NsZWFuZXIgfSBmcm9tICcuL2NsZWFuZXInO1xuaW1wb3J0IHsgTWNGb3JtRmllbGQsIE1jRm9ybUZpZWxkV2l0aG91dEJvcmRlcnMgfSBmcm9tICcuL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWNIaW50IH0gZnJvbSAnLi9oaW50JztcbmltcG9ydCB7IE1jUGFzc3dvcmRIaW50IH0gZnJvbSAnLi9wYXNzd29yZC1oaW50JztcbmltcG9ydCB7IE1jUHJlZml4IH0gZnJvbSAnLi9wcmVmaXgnO1xuaW1wb3J0IHsgTWNTdGVwcGVyIH0gZnJvbSAnLi9zdGVwcGVyJztcbmltcG9ydCB7IE1jU3VmZml4IH0gZnJvbSAnLi9zdWZmaXgnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE1jRm9ybUZpZWxkLFxuICAgICAgICBNY0Zvcm1GaWVsZFdpdGhvdXRCb3JkZXJzLFxuICAgICAgICBNY0hpbnQsXG4gICAgICAgIE1jUGFzc3dvcmRIaW50LFxuICAgICAgICBNY1ByZWZpeCxcbiAgICAgICAgTWNTdWZmaXgsXG4gICAgICAgIE1jQ2xlYW5lcixcbiAgICAgICAgTWNTdGVwcGVyXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNY0ljb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTWNGb3JtRmllbGQsXG4gICAgICAgIE1jRm9ybUZpZWxkV2l0aG91dEJvcmRlcnMsXG4gICAgICAgIE1jSGludCxcbiAgICAgICAgTWNQYXNzd29yZEhpbnQsXG4gICAgICAgIE1jUHJlZml4LFxuICAgICAgICBNY1N1ZmZpeCxcbiAgICAgICAgTWNDbGVhbmVyLFxuICAgICAgICBNY1N0ZXBwZXJcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE1jRm9ybUZpZWxkTW9kdWxlIHt9XG4iXX0=
@@ -1,14 +1,14 @@
1
1
  import { Directive, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- let nextUniqueId = 0;
3
+ let nextHintUniqueId = 0;
4
4
  export class McHint {
5
5
  constructor() {
6
- this.id = `mc-hint-${nextUniqueId++}`;
6
+ this.id = `mc-hint-${nextHintUniqueId++}`;
7
7
  }
8
8
  }
9
- /** @nocollapse */ /** @nocollapse */ McHint.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McHint, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
- /** @nocollapse */ /** @nocollapse */ McHint.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: McHint, selector: "mc-hint", inputs: { id: "id" }, host: { properties: { "attr.id": "id" }, classAttribute: "mc-hint" }, ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McHint, decorators: [{
9
+ /** @nocollapse */ /** @nocollapse */ McHint.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McHint, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ /** @nocollapse */ /** @nocollapse */ McHint.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McHint, selector: "mc-hint", inputs: { id: "id" }, host: { properties: { "attr.id": "id" }, classAttribute: "mc-hint" }, ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McHint, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'mc-hint',
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
20
20
  }], propDecorators: { id: [{
21
21
  type: Input
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL2hpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR2pELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQVNyQixNQUFNLE9BQU8sTUFBTTtJQVBuQjtRQVFhLE9BQUUsR0FBVyxXQUFXLFlBQVksRUFBRSxFQUFFLENBQUM7S0FDckQ7O3lJQUZZLE1BQU07NkhBQU4sTUFBTTsyRkFBTixNQUFNO2tCQVBsQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLFdBQVcsRUFBRSxJQUFJO3FCQUNwQjtpQkFDSjs4QkFFWSxFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWMtaGludCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ21jLWhpbnQnLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTWNIaW50IHtcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gYG1jLWhpbnQtJHtuZXh0VW5pcXVlSWQrK31gO1xufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL2hpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR2pELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBU3pCLE1BQU0sT0FBTyxNQUFNO0lBUG5CO1FBUWEsT0FBRSxHQUFXLFdBQVcsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO0tBQ3pEOzt5SUFGWSxNQUFNOzZIQUFOLE1BQU07MkZBQU4sTUFBTTtrQkFQbEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxTQUFTO3dCQUNoQixXQUFXLEVBQUUsSUFBSTtxQkFDcEI7aUJBQ0o7OEJBRVksRUFBRTtzQkFBVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmxldCBuZXh0SGludFVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdtYy1oaW50JyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbWMtaGludCcsXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0hpbnQge1xuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSBgbWMtaGludC0ke25leHRIaW50VW5pcXVlSWQrK31gO1xufVxuIl19
@@ -0,0 +1,134 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Inject, Input } from '@angular/core';
2
+ import { McFormField } from './form-field';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ptsecurity/mosaic/icon";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "./form-field";
7
+ let nextPasswordHintUniqueId = 0;
8
+ export var PasswordRules;
9
+ (function (PasswordRules) {
10
+ PasswordRules[PasswordRules["Length"] = 0] = "Length";
11
+ PasswordRules[PasswordRules["UpperLatin"] = 1] = "UpperLatin";
12
+ PasswordRules[PasswordRules["LowerLatin"] = 2] = "LowerLatin";
13
+ PasswordRules[PasswordRules["Digit"] = 3] = "Digit";
14
+ PasswordRules[PasswordRules["LatinAndSpecialSymbols"] = 4] = "LatinAndSpecialSymbols";
15
+ PasswordRules[PasswordRules["Custom"] = 5] = "Custom";
16
+ })(PasswordRules || (PasswordRules = {}));
17
+ export const regExpPasswordValidator = {
18
+ [PasswordRules.LowerLatin]: RegExp(/^(?=.*?[a-z])/),
19
+ [PasswordRules.UpperLatin]: RegExp(/^(?=.*?[A-Z])/),
20
+ [PasswordRules.Digit]: RegExp(/^(?=.*?[0-9])/),
21
+ [PasswordRules.LatinAndSpecialSymbols]: RegExp(/[^ !`"'#№$%&()*+,-./:;<=>?@[\]^_{|}~A-Za-z0-9]/)
22
+ };
23
+ export class McPasswordHint {
24
+ constructor(changeDetectorRef, formField) {
25
+ this.changeDetectorRef = changeDetectorRef;
26
+ this.formField = formField;
27
+ this.id = `mc-hint-${nextPasswordHintUniqueId++}`;
28
+ this.hasError = false;
29
+ this.checked = false;
30
+ this.checkValue = () => {
31
+ if (this.control.focused && this.isValueChanged()) {
32
+ this.hasError = false;
33
+ this.checked = this.checkRule(this.control.value);
34
+ }
35
+ else if (!this.control.focused && !this.isValueChanged()) {
36
+ this.hasError = !this.checkRule(this.control.value);
37
+ }
38
+ if (!this.control.required && !this.control.value) {
39
+ this.checked = this.hasError = false;
40
+ }
41
+ this.lastControlValue = this.control.value;
42
+ this.changeDetectorRef.markForCheck();
43
+ };
44
+ }
45
+ get control() {
46
+ return this.formField.control;
47
+ }
48
+ ngAfterContentInit() {
49
+ if (this.rule === null) {
50
+ throw Error('You should set [rule] name');
51
+ }
52
+ if (this.rule === PasswordRules.Custom && this.regex === undefined) {
53
+ throw Error('You should set [regex] for PasswordRules.Custom');
54
+ }
55
+ if (this.rule === PasswordRules.Length && (this.min || this.max) === null) {
56
+ throw Error('For [rule] "Length" need set [min] and [max]');
57
+ }
58
+ if (this.rule === PasswordRules.Length) {
59
+ this.checkRule = this.checkLengthRule;
60
+ }
61
+ else if ([PasswordRules.UpperLatin, PasswordRules.LowerLatin, PasswordRules.Digit].includes(this.rule)) {
62
+ this.regex = regExpPasswordValidator[this.rule];
63
+ this.checkRule = this.checkRegexRule;
64
+ }
65
+ else if (this.rule === PasswordRules.LatinAndSpecialSymbols) {
66
+ this.regex = regExpPasswordValidator[this.rule];
67
+ this.checkRule = this.checkSpecialSymbolsRegexRule;
68
+ }
69
+ else if (this.rule === PasswordRules.Custom) {
70
+ this.checkRule = this.checkRegexRule;
71
+ }
72
+ else {
73
+ throw Error(`Unknown [rule]=${this.rule}`);
74
+ }
75
+ this.formField.control.stateChanges
76
+ .subscribe(this.checkValue);
77
+ }
78
+ checkLengthRule(value) {
79
+ return value.length >= this.min && value.length <= this.max;
80
+ }
81
+ checkRegexRule(value) {
82
+ return !!this.regex?.test(value);
83
+ }
84
+ checkSpecialSymbolsRegexRule(value) {
85
+ return !!value && !this.regex?.test(value);
86
+ }
87
+ isValueChanged() {
88
+ return this.lastControlValue !== this.formField.control.value;
89
+ }
90
+ }
91
+ /** @nocollapse */ /** @nocollapse */ McPasswordHint.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPasswordHint, deps: [{ token: i0.ChangeDetectorRef }, { token: forwardRef(() => McFormField) }], target: i0.ɵɵFactoryTarget.Component });
92
+ /** @nocollapse */ /** @nocollapse */ McPasswordHint.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McPasswordHint, selector: "mc-password-hint", inputs: { id: "id", rule: "rule", min: "min", max: "max", regex: "regex" }, host: { properties: { "class.mc-password-hint_valid": "checked", "class.mc-password-hint_invalid": "hasError", "attr.id": "id" }, classAttribute: "mc-password-hint" }, ngImport: i0, template: `
93
+ <i *ngIf="!checked" class="mc-password-hint__icon" mc-icon="mc-close-M_16"></i>
94
+ <i *ngIf="checked" class="mc-password-hint__icon" mc-icon="mc-check_16"></i>
95
+
96
+ <span class="mc-password-hint__text">
97
+ <ng-content></ng-content>
98
+ </span>
99
+ `, isInline: true, components: [{ type: i1.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPasswordHint, decorators: [{
101
+ type: Component,
102
+ args: [{
103
+ selector: 'mc-password-hint',
104
+ template: `
105
+ <i *ngIf="!checked" class="mc-password-hint__icon" mc-icon="mc-close-M_16"></i>
106
+ <i *ngIf="checked" class="mc-password-hint__icon" mc-icon="mc-check_16"></i>
107
+
108
+ <span class="mc-password-hint__text">
109
+ <ng-content></ng-content>
110
+ </span>
111
+ `,
112
+ host: {
113
+ class: 'mc-password-hint',
114
+ '[class.mc-password-hint_valid]': 'checked',
115
+ '[class.mc-password-hint_invalid]': 'hasError',
116
+ '[attr.id]': 'id'
117
+ },
118
+ changeDetection: ChangeDetectionStrategy.OnPush
119
+ }]
120
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i3.McFormField, decorators: [{
121
+ type: Inject,
122
+ args: [forwardRef(() => McFormField)]
123
+ }] }]; }, propDecorators: { id: [{
124
+ type: Input
125
+ }], rule: [{
126
+ type: Input
127
+ }], min: [{
128
+ type: Input
129
+ }], max: [{
130
+ type: Input
131
+ }], regex: [{
132
+ type: Input
133
+ }] } });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL3Bhc3N3b3JkLWhpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBRzNDLElBQUksd0JBQXdCLEdBQUcsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDckIscURBQU0sQ0FBQTtJQUNOLDZEQUFVLENBQUE7SUFDViw2REFBVSxDQUFBO0lBQ1YsbURBQUssQ0FBQTtJQUNMLHFGQUFzQixDQUFBO0lBQ3RCLHFEQUFNLENBQUE7QUFDVixDQUFDLEVBUFcsYUFBYSxLQUFiLGFBQWEsUUFPeEI7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJQUNuQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQ25ELENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUM7SUFDbkQsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUM5QyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxnREFBZ0QsQ0FBQztDQUNuRyxDQUFDO0FBcUJGLE1BQU0sT0FBTyxjQUFjO0lBb0J2QixZQUNZLGlCQUFvQyxFQUNHLFNBQXNCO1FBRDdELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDRyxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBckJoRSxPQUFFLEdBQVcsV0FBVyx3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QUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzs0Q0FyQmhDLEVBQUU7c0JBQVYsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNY0Zvcm1GaWVsZCB9IGZyb20gJy4vZm9ybS1maWVsZCc7XG5cblxubGV0IG5leHRQYXNzd29yZEhpbnRVbmlxdWVJZCA9IDA7XG5cbmV4cG9ydCBlbnVtIFBhc3N3b3JkUnVsZXMge1xuICAgIExlbmd0aCxcbiAgICBVcHBlckxhdGluLFxuICAgIExvd2VyTGF0aW4sXG4gICAgRGlnaXQsXG4gICAgTGF0aW5BbmRTcGVjaWFsU3ltYm9scyxcbiAgICBDdXN0b21cbn1cblxuZXhwb3J0IGNvbnN0IHJlZ0V4cFBhc3N3b3JkVmFsaWRhdG9yID0ge1xuICAgIFtQYXNzd29yZFJ1bGVzLkxvd2VyTGF0aW5dOiBSZWdFeHAoL14oPz0uKj9bYS16XSkvKSxcbiAgICBbUGFzc3dvcmRSdWxlcy5VcHBlckxhdGluXTogUmVnRXhwKC9eKD89Lio/W0EtWl0pLyksXG4gICAgW1Bhc3N3b3JkUnVsZXMuRGlnaXRdOiBSZWdFeHAoL14oPz0uKj9bMC05XSkvKSxcbiAgICBbUGFzc3dvcmRSdWxlcy5MYXRpbkFuZFNwZWNpYWxTeW1ib2xzXTogUmVnRXhwKC9bXiAhYFwiJyPihJYkJSYoKSorLC0uLzo7PD0+P0BbXFxdXl97fH1+QS1aYS16MC05XS8pXG59O1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWMtcGFzc3dvcmQtaGludCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGkgKm5nSWY9XCIhY2hlY2tlZFwiIGNsYXNzPVwibWMtcGFzc3dvcmQtaGludF9faWNvblwiIG1jLWljb249XCJtYy1jbG9zZS1NXzE2XCI+PC9pPlxuICAgICAgICA8aSAqbmdJZj1cImNoZWNrZWRcIiBjbGFzcz1cIm1jLXBhc3N3b3JkLWhpbnRfX2ljb25cIiBtYy1pY29uPVwibWMtY2hlY2tfMTZcIj48L2k+XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1wYXNzd29yZC1oaW50X190ZXh0XCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3Bhbj5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtYy1wYXNzd29yZC1oaW50JyxcbiAgICAgICAgJ1tjbGFzcy5tYy1wYXNzd29yZC1oaW50X3ZhbGlkXSc6ICdjaGVja2VkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1wYXNzd29yZC1oaW50X2ludmFsaWRdJzogJ2hhc0Vycm9yJyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1jUGFzc3dvcmRIaW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGBtYy1oaW50LSR7bmV4dFBhc3N3b3JkSGludFVuaXF1ZUlkKyt9YDtcblxuICAgIEBJbnB1dCgpIHJ1bGU6IFBhc3N3b3JkUnVsZXMgfCBhbnk7XG5cbiAgICBASW5wdXQoKSBtaW46IG51bWJlcjtcbiAgICBASW5wdXQoKSBtYXg6IG51bWJlcjtcbiAgICBASW5wdXQoKSByZWdleDogUmVnRXhwIHwgbnVsbDtcblxuICAgIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gICAgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBjaGVja1J1bGU6ICh2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkLmNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsYXN0Q29udHJvbFZhbHVlOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNY0Zvcm1GaWVsZCkpIHByaXZhdGUgZm9ybUZpZWxkOiBNY0Zvcm1GaWVsZFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucnVsZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1lvdSBzaG91bGQgc2V0IFtydWxlXSBuYW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ydWxlID09PSBQYXNzd29yZFJ1bGVzLkN1c3RvbSAmJiB0aGlzLnJlZ2V4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdZb3Ugc2hvdWxkIHNldCBbcmVnZXhdIGZvciBQYXNzd29yZFJ1bGVzLkN1c3RvbScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucnVsZSA9PT0gUGFzc3dvcmRSdWxlcy5MZW5ndGggJiYgKHRoaXMubWluIHx8IHRoaXMubWF4KSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0ZvciBbcnVsZV0gXCJMZW5ndGhcIiBuZWVkIHNldCBbbWluXSBhbmQgW21heF0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJ1bGUgPT09IFBhc3N3b3JkUnVsZXMuTGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrUnVsZSA9IHRoaXMuY2hlY2tMZW5ndGhSdWxlO1xuICAgICAgICB9IGVsc2UgaWYgKFtQYXNzd29yZFJ1bGVzLlVwcGVyTGF0aW4sIFBhc3N3b3JkUnVsZXMuTG93ZXJMYXRpbiwgUGFzc3dvcmRSdWxlcy5EaWdpdF0uaW5jbHVkZXModGhpcy5ydWxlKSkge1xuICAgICAgICAgICAgdGhpcy5yZWdleCA9IHJlZ0V4cFBhc3N3b3JkVmFsaWRhdG9yW3RoaXMucnVsZV07XG4gICAgICAgICAgICB0aGlzLmNoZWNrUnVsZSA9IHRoaXMuY2hlY2tSZWdleFJ1bGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5ydWxlID09PSBQYXNzd29yZFJ1bGVzLkxhdGluQW5kU3BlY2lhbFN5bWJvbHMpIHtcbiAgICAgICAgICAgIHRoaXMucmVnZXggPSByZWdFeHBQYXNzd29yZFZhbGlkYXRvclt0aGlzLnJ1bGVdO1xuICAgICAgICAgICAgdGhpcy5jaGVja1J1bGUgPSB0aGlzLmNoZWNrU3BlY2lhbFN5bWJvbHNSZWdleFJ1bGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5ydWxlID09PSBQYXNzd29yZFJ1bGVzLkN1c3RvbSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1J1bGUgPSB0aGlzLmNoZWNrUmVnZXhSdWxlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFVua25vd24gW3J1bGVdPSR7dGhpcy5ydWxlfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtRmllbGQuY29udHJvbC5zdGF0ZUNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5jaGVja1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrVmFsdWUgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZm9jdXNlZCAmJiB0aGlzLmlzVmFsdWVDaGFuZ2VkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcblxuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5jaGVja1J1bGUodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5jb250cm9sLmZvY3VzZWQgJiYgIXRoaXMuaXNWYWx1ZUNoYW5nZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5oYXNFcnJvciA9ICF0aGlzLmNoZWNrUnVsZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wucmVxdWlyZWQgJiYgIXRoaXMuY29udHJvbC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0Q29udHJvbFZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tMZW5ndGhSdWxlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pbiAmJiB2YWx1ZS5sZW5ndGggPD0gdGhpcy5tYXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1JlZ2V4UnVsZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucmVnZXg/LnRlc3QodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tTcGVjaWFsU3ltYm9sc1JlZ2V4UnVsZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXZhbHVlICYmICF0aGlzLnJlZ2V4Py50ZXN0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsdWVDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0Q29udHJvbFZhbHVlICE9PSB0aGlzLmZvcm1GaWVsZC5jb250cm9sLnZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
@@ -2,9 +2,9 @@ import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class McPrefix {
4
4
  }
5
- /** @nocollapse */ /** @nocollapse */ McPrefix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McPrefix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- /** @nocollapse */ /** @nocollapse */ McPrefix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: McPrefix, selector: "[mcPrefix]", ngImport: i0 });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McPrefix, decorators: [{
5
+ /** @nocollapse */ /** @nocollapse */ McPrefix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPrefix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ /** @nocollapse */ /** @nocollapse */ McPrefix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McPrefix, selector: "[mcPrefix]", ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPrefix, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[mcPrefix]'