@fundamental-ngx/core 0.37.2-rc.0 → 0.37.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1412) hide show
  1. package/action-bar/action-bar-actions/action-bar-actions.directive.d.ts +1 -1
  2. package/action-bar/action-bar-back/action-bar-back.directive.d.ts +1 -1
  3. package/action-bar/action-bar-description/action-bar-description.directive.d.ts +1 -1
  4. package/action-bar/action-bar-header/action-bar-header.directive.d.ts +1 -1
  5. package/action-bar/action-bar-mobile/action-bar-mobile.directive.d.ts +1 -1
  6. package/action-bar/action-bar-title/action-bar-title.component.d.ts +1 -1
  7. package/action-bar/action-bar.component.d.ts +1 -1
  8. package/action-sheet/action-sheet-body/action-sheet-body.component.d.ts +1 -1
  9. package/action-sheet/action-sheet-control/action-sheet-control.component.d.ts +1 -1
  10. package/action-sheet/action-sheet-item/action-sheet-item.component.d.ts +1 -1
  11. package/action-sheet/action-sheet-mobile/action-sheet-mobile.component.d.ts +1 -1
  12. package/action-sheet/action-sheet.component.d.ts +1 -1
  13. package/action-sheet/deprecated-action-sheet-compact.directive.d.ts +1 -1
  14. package/alert/alert-utils/alert-container.component.d.ts +1 -1
  15. package/alert/alert.component.d.ts +1 -1
  16. package/avatar/avatar.component.d.ts +1 -1
  17. package/avatar-group/avatar-group.component.d.ts +1 -1
  18. package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +1 -1
  19. package/avatar-group/directives/avatar-group-item.directive.d.ts +1 -1
  20. package/avatar-group/directives/avatar-group-overflow-body.directive.d.ts +1 -1
  21. package/avatar-group/directives/avatar-group-overflow-button-text.directive.d.ts +1 -1
  22. package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +1 -1
  23. package/avatar-group/directives/avatar-group-overflow-item.directive.d.ts +1 -1
  24. package/avatar-group/directives/avatar-group-popover-control.directive.d.ts +1 -1
  25. package/bar/bar.component.d.ts +1 -1
  26. package/bar/button-bar/button-bar.component.d.ts +1 -1
  27. package/bar/deprecated-bar-button-content-density.directive.d.ts +1 -1
  28. package/bar/deprecated-bar-content-density.directive.d.ts +1 -1
  29. package/bar/directives/bar-element.directive.d.ts +1 -1
  30. package/bar/directives/bar-left.directive.d.ts +1 -1
  31. package/bar/directives/bar-middle.directive.d.ts +1 -1
  32. package/bar/directives/bar-right.directive.d.ts +1 -1
  33. package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  34. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  35. package/breadcrumb/deprecated-breadcrumbs-compact.directive.d.ts +1 -1
  36. package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +1 -1
  37. package/busy-indicator/busy-indicator.component.d.ts +1 -1
  38. package/button/base-button.d.ts +1 -1
  39. package/button/button.component.d.ts +1 -1
  40. package/button/deprecated-button-content-density.directive.d.ts +1 -1
  41. package/calendar/calendar-directives.d.ts +1 -1
  42. package/calendar/calendar-header/calendar-header.component.d.ts +1 -1
  43. package/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.d.ts +1 -1
  44. package/calendar/calendar-views/calendar-day-view/calendar-day-view.component.d.ts +1 -1
  45. package/calendar/calendar-views/calendar-month-view/calendar-month-view.component.d.ts +1 -1
  46. package/calendar/calendar-views/calendar-year-view/calendar-year-view.component.d.ts +1 -1
  47. package/calendar/calendar.component.d.ts +1 -1
  48. package/calendar/deprecated-calendar-content-density.directive.d.ts +1 -1
  49. package/card/card-content.component.d.ts +1 -1
  50. package/card/card-counter.directive.d.ts +1 -1
  51. package/card/card-footer-action-item.directive.d.ts +1 -1
  52. package/card/card-footer.component.d.ts +1 -1
  53. package/card/card-header.component.d.ts +1 -1
  54. package/card/card-loader.component.d.ts +1 -1
  55. package/card/card-second-subtitle.directive.d.ts +1 -1
  56. package/card/card-subtitle.directive.d.ts +1 -1
  57. package/card/card-title.directive.d.ts +1 -1
  58. package/card/card.component.d.ts +1 -1
  59. package/card/deprecated-card-content-density.directive.d.ts +1 -1
  60. package/card/kpi/card-kpi-analytics-content.directive.d.ts +1 -1
  61. package/card/kpi/card-kpi-analytics-label.directive.d.ts +1 -1
  62. package/card/kpi/card-kpi-analytics.directive.d.ts +1 -1
  63. package/card/kpi/card-kpi-header.component.d.ts +1 -1
  64. package/card/kpi/card-kpi-scale-icon.directive.d.ts +1 -1
  65. package/card/kpi/card-kpi-scale-text.directive.d.ts +1 -1
  66. package/card/kpi/card-kpi-value.directive.d.ts +1 -1
  67. package/carousel/carousel-item/carousel-item.component.d.ts +1 -1
  68. package/carousel/carousel-item.directive.d.ts +1 -1
  69. package/carousel/carousel.component.d.ts +1 -1
  70. package/carousel/carousel.directive.d.ts +1 -1
  71. package/checkbox/checkbox/checkbox.component.d.ts +1 -1
  72. package/checkbox/deprecated-checkbox-content-density.directive.d.ts +1 -1
  73. package/combobox/combobox-mobile/combobox-mobile.component.d.ts +1 -1
  74. package/combobox/combobox.component.d.ts +1 -1
  75. package/combobox/deprecated-combobox-content-density.directive.d.ts +1 -1
  76. package/content-density/classes/deprecated-compact.directive.d.ts +1 -1
  77. package/content-density/classes/deprecated-condensed.directive.d.ts +1 -1
  78. package/content-density/classes/deprecated-content-density.directive.d.ts +1 -1
  79. package/content-density/classes/deprecated-cozy.directive.d.ts +1 -1
  80. package/content-density/directives/content-density.directive.d.ts +1 -1
  81. package/date-picker/date-picker.component.d.ts +1 -1
  82. package/date-picker/deprecated-date-picker-compact.directive.d.ts +1 -1
  83. package/datetime-picker/datetime-picker.component.d.ts +1 -1
  84. package/datetime-picker/deprecated-date-time-picker-content-density.directive.d.ts +1 -1
  85. package/dialog/base/dialog-base.class.d.ts +1 -1
  86. package/dialog/base/dialog-footer-base.class.d.ts +1 -1
  87. package/dialog/base/dialog-header-base.class.d.ts +1 -1
  88. package/dialog/dialog-body/dialog-body.component.d.ts +1 -1
  89. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -1
  90. package/dialog/dialog-container/dialog-container.component.d.ts +1 -1
  91. package/dialog/dialog-default/dialog-default.component.d.ts +1 -1
  92. package/dialog/dialog-footer/dialog-footer.component.d.ts +1 -1
  93. package/dialog/dialog-footer-button/dialog-footer-button.component.d.ts +1 -1
  94. package/dialog/dialog-header/dialog-header.component.d.ts +1 -1
  95. package/dialog/dialog.component.d.ts +1 -1
  96. package/dialog/directives/dialog-decisive-button.directive.d.ts +1 -1
  97. package/dialog/directives/dialog-title.directive.d.ts +1 -1
  98. package/dynamic-page/deprecated-dynamic-page-compact.directive.d.ts +1 -1
  99. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +1 -1
  100. package/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.d.ts +1 -1
  101. package/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.d.ts +1 -1
  102. package/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.d.ts +1 -1
  103. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +1 -1
  104. package/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.d.ts +1 -1
  105. package/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.d.ts +1 -1
  106. package/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.d.ts +1 -1
  107. package/dynamic-page/dynamic-page-wrapper.directive.d.ts +1 -1
  108. package/dynamic-page/dynamic-page.component.d.ts +1 -1
  109. package/dynamic-side-content/dynamic-side-content-main.component.d.ts +1 -1
  110. package/dynamic-side-content/dynamic-side-content-side.component.d.ts +1 -1
  111. package/dynamic-side-content/dynamic-side-content.component.d.ts +1 -1
  112. package/esm2020/action-bar/action-bar-actions/action-bar-actions.directive.mjs +3 -3
  113. package/esm2020/action-bar/action-bar-back/action-bar-back.directive.mjs +3 -3
  114. package/esm2020/action-bar/action-bar-description/action-bar-description.directive.mjs +3 -3
  115. package/esm2020/action-bar/action-bar-header/action-bar-header.directive.mjs +3 -3
  116. package/esm2020/action-bar/action-bar-mobile/action-bar-mobile.directive.mjs +3 -3
  117. package/esm2020/action-bar/action-bar-title/action-bar-title.component.mjs +3 -3
  118. package/esm2020/action-bar/action-bar.component.mjs +4 -4
  119. package/esm2020/action-bar/action-bar.module.mjs +4 -4
  120. package/esm2020/action-sheet/action-sheet-body/action-sheet-body.component.mjs +3 -3
  121. package/esm2020/action-sheet/action-sheet-control/action-sheet-control.component.mjs +3 -3
  122. package/esm2020/action-sheet/action-sheet-item/action-sheet-item.component.mjs +3 -3
  123. package/esm2020/action-sheet/action-sheet-mobile/action-sheet-mobile.component.mjs +3 -3
  124. package/esm2020/action-sheet/action-sheet-mobile/action-sheet-mobile.module.mjs +4 -4
  125. package/esm2020/action-sheet/action-sheet.component.mjs +4 -4
  126. package/esm2020/action-sheet/action-sheet.module.mjs +4 -4
  127. package/esm2020/action-sheet/deprecated-action-sheet-compact.directive.mjs +3 -3
  128. package/esm2020/alert/alert-service/alert.service.mjs +3 -3
  129. package/esm2020/alert/alert-utils/alert-container.component.mjs +3 -3
  130. package/esm2020/alert/alert.component.mjs +5 -5
  131. package/esm2020/alert/alert.module.mjs +4 -4
  132. package/esm2020/avatar/avatar.component.mjs +5 -5
  133. package/esm2020/avatar/avatar.module.mjs +4 -4
  134. package/esm2020/avatar-group/avatar-group.component.mjs +5 -5
  135. package/esm2020/avatar-group/avatar-group.module.mjs +4 -4
  136. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +3 -3
  137. package/esm2020/avatar-group/directives/avatar-group-item.directive.mjs +3 -3
  138. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +3 -3
  139. package/esm2020/avatar-group/directives/avatar-group-overflow-button-text.directive.mjs +3 -3
  140. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +4 -4
  141. package/esm2020/avatar-group/directives/avatar-group-overflow-item.directive.mjs +3 -3
  142. package/esm2020/avatar-group/directives/avatar-group-popover-control.directive.mjs +3 -3
  143. package/esm2020/bar/bar.component.mjs +6 -6
  144. package/esm2020/bar/bar.module.mjs +4 -4
  145. package/esm2020/bar/button-bar/button-bar.component.mjs +3 -3
  146. package/esm2020/bar/deprecated-bar-button-content-density.directive.mjs +3 -3
  147. package/esm2020/bar/deprecated-bar-content-density.directive.mjs +3 -3
  148. package/esm2020/bar/directives/bar-element.directive.mjs +3 -3
  149. package/esm2020/bar/directives/bar-left.directive.mjs +3 -3
  150. package/esm2020/bar/directives/bar-middle.directive.mjs +3 -3
  151. package/esm2020/bar/directives/bar-right.directive.mjs +3 -3
  152. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +3 -3
  153. package/esm2020/breadcrumb/breadcrumb.component.mjs +4 -4
  154. package/esm2020/breadcrumb/breadcrumb.module.mjs +4 -4
  155. package/esm2020/breadcrumb/deprecated-breadcrumbs-compact.directive.mjs +3 -3
  156. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +3 -3
  157. package/esm2020/busy-indicator/busy-indicator.component.mjs +4 -4
  158. package/esm2020/busy-indicator/busy-indicator.module.mjs +4 -4
  159. package/esm2020/button/base-button.mjs +3 -3
  160. package/esm2020/button/button.component.mjs +6 -6
  161. package/esm2020/button/button.module.mjs +4 -4
  162. package/esm2020/button/deprecated-button-content-density.directive.mjs +3 -3
  163. package/esm2020/calendar/calendar-directives.mjs +3 -3
  164. package/esm2020/calendar/calendar-header/calendar-header.component.mjs +3 -3
  165. package/esm2020/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.mjs +3 -3
  166. package/esm2020/calendar/calendar-views/calendar-day-view/calendar-day-view.component.mjs +3 -3
  167. package/esm2020/calendar/calendar-views/calendar-month-view/calendar-month-view.component.mjs +3 -3
  168. package/esm2020/calendar/calendar-views/calendar-year-view/calendar-year-view.component.mjs +3 -3
  169. package/esm2020/calendar/calendar.component.mjs +5 -5
  170. package/esm2020/calendar/calendar.module.mjs +4 -4
  171. package/esm2020/calendar/calendar.service.mjs +3 -3
  172. package/esm2020/calendar/deprecated-calendar-content-density.directive.mjs +3 -3
  173. package/esm2020/calendar/i18n/calendar-i18n-labels.mjs +3 -3
  174. package/esm2020/card/card-content.component.mjs +4 -4
  175. package/esm2020/card/card-counter.directive.mjs +4 -4
  176. package/esm2020/card/card-footer-action-item.directive.mjs +3 -3
  177. package/esm2020/card/card-footer.component.mjs +3 -3
  178. package/esm2020/card/card-header.component.mjs +4 -4
  179. package/esm2020/card/card-loader.component.mjs +4 -4
  180. package/esm2020/card/card-second-subtitle.directive.mjs +4 -4
  181. package/esm2020/card/card-subtitle.directive.mjs +4 -4
  182. package/esm2020/card/card-title.directive.mjs +4 -4
  183. package/esm2020/card/card.component.mjs +6 -6
  184. package/esm2020/card/card.module.mjs +4 -4
  185. package/esm2020/card/deprecated-card-content-density.directive.mjs +3 -3
  186. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +4 -4
  187. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +4 -4
  188. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +4 -4
  189. package/esm2020/card/kpi/card-kpi-header.component.mjs +4 -4
  190. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +4 -4
  191. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +4 -4
  192. package/esm2020/card/kpi/card-kpi-value.directive.mjs +4 -4
  193. package/esm2020/carousel/carousel-item/carousel-item.component.mjs +3 -3
  194. package/esm2020/carousel/carousel-item.directive.mjs +3 -3
  195. package/esm2020/carousel/carousel.component.mjs +4 -4
  196. package/esm2020/carousel/carousel.directive.mjs +3 -3
  197. package/esm2020/carousel/carousel.module.mjs +4 -4
  198. package/esm2020/carousel/carousel.service.mjs +4 -4
  199. package/esm2020/checkbox/checkbox/checkbox.component.mjs +5 -5
  200. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  201. package/esm2020/checkbox/deprecated-checkbox-content-density.directive.mjs +3 -3
  202. package/esm2020/combobox/combobox-mobile/combobox-mobile.component.mjs +3 -3
  203. package/esm2020/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  204. package/esm2020/combobox/combobox.component.mjs +3 -3
  205. package/esm2020/combobox/combobox.module.mjs +4 -4
  206. package/esm2020/combobox/deprecated-combobox-content-density.directive.mjs +3 -3
  207. package/esm2020/combobox/list-group.pipe.mjs +3 -3
  208. package/esm2020/content-density/classes/deprecated-compact.directive.mjs +3 -3
  209. package/esm2020/content-density/classes/deprecated-condensed.directive.mjs +3 -3
  210. package/esm2020/content-density/classes/deprecated-content-density.directive.mjs +3 -3
  211. package/esm2020/content-density/classes/deprecated-cozy.directive.mjs +3 -3
  212. package/esm2020/content-density/content-density.module.mjs +4 -4
  213. package/esm2020/content-density/directives/content-density.directive.mjs +3 -3
  214. package/esm2020/content-density/providers/local-content-density-storage.mjs +3 -3
  215. package/esm2020/content-density/providers/memory-content-density-storage.mjs +3 -3
  216. package/esm2020/content-density/providers/url-content-density-storage.mjs +3 -3
  217. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  218. package/esm2020/content-density/services/deprecated-content-density.service.mjs +3 -3
  219. package/esm2020/content-density/services/global-content-density.service.mjs +3 -3
  220. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  221. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  222. package/esm2020/date-picker/deprecated-date-picker-compact.directive.mjs +3 -3
  223. package/esm2020/datetime/datetime-format.pipes.mjs +9 -9
  224. package/esm2020/datetime/fd-datetime-adapter.mjs +3 -3
  225. package/esm2020/datetime/fd-datetime-pipes.module.mjs +4 -4
  226. package/esm2020/datetime/fd-datetime.module.mjs +8 -8
  227. package/esm2020/datetime-picker/datetime-picker.component.mjs +3 -3
  228. package/esm2020/datetime-picker/datetime-picker.module.mjs +4 -4
  229. package/esm2020/datetime-picker/deprecated-date-time-picker-content-density.directive.mjs +3 -3
  230. package/esm2020/dialog/base/dialog-base.class.mjs +3 -3
  231. package/esm2020/dialog/base/dialog-footer-base.class.mjs +3 -3
  232. package/esm2020/dialog/base/dialog-header-base.class.mjs +3 -3
  233. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -3
  234. package/esm2020/dialog/dialog-close-button/dialog-close-button.component.mjs +3 -3
  235. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +4 -4
  236. package/esm2020/dialog/dialog-default/dialog-default.component.mjs +3 -3
  237. package/esm2020/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  238. package/esm2020/dialog/dialog-footer-button/dialog-footer-button.component.mjs +3 -3
  239. package/esm2020/dialog/dialog-header/dialog-header.component.mjs +3 -3
  240. package/esm2020/dialog/dialog-service/dialog.service.mjs +3 -3
  241. package/esm2020/dialog/dialog.component.mjs +5 -5
  242. package/esm2020/dialog/dialog.module.mjs +4 -4
  243. package/esm2020/dialog/directives/dialog-decisive-button.directive.mjs +3 -3
  244. package/esm2020/dialog/directives/dialog-title.directive.mjs +3 -3
  245. package/esm2020/dialog/utils/dialog-config.class.mjs +3 -3
  246. package/esm2020/dialog/utils/dialog-ref.class.mjs +3 -3
  247. package/esm2020/dynamic-page/deprecated-dynamic-page-compact.directive.mjs +3 -3
  248. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
  249. package/esm2020/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  250. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.mjs +3 -3
  251. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.mjs +3 -3
  252. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +3 -3
  253. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.mjs +3 -3
  254. package/esm2020/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
  255. package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
  256. package/esm2020/dynamic-page/dynamic-page-wrapper.directive.mjs +3 -3
  257. package/esm2020/dynamic-page/dynamic-page.component.mjs +4 -4
  258. package/esm2020/dynamic-page/dynamic-page.config.mjs +3 -3
  259. package/esm2020/dynamic-page/dynamic-page.module.mjs +4 -4
  260. package/esm2020/dynamic-page/dynamic-page.service.mjs +3 -3
  261. package/esm2020/dynamic-side-content/dynamic-side-content-main.component.mjs +3 -3
  262. package/esm2020/dynamic-side-content/dynamic-side-content-side.component.mjs +3 -3
  263. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +5 -5
  264. package/esm2020/dynamic-side-content/dynamic-side-content.module.mjs +4 -4
  265. package/esm2020/facets/content/facet-content.component.mjs +3 -3
  266. package/esm2020/facets/facet/facet.component.mjs +4 -4
  267. package/esm2020/facets/facet-group.component.mjs +3 -3
  268. package/esm2020/facets/facet.module.mjs +4 -4
  269. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +4 -4
  270. package/esm2020/feed-input/directives/feed-input-button.directive.mjs +3 -3
  271. package/esm2020/feed-input/directives/feed-input-textarea.directive.mjs +3 -3
  272. package/esm2020/feed-input/feed-input.component.mjs +4 -4
  273. package/esm2020/feed-input/feed-input.module.mjs +4 -4
  274. package/esm2020/feed-list-item/components/feed-list-action/feed-list-action.component.mjs +3 -3
  275. package/esm2020/feed-list-item/components/feed-list-avatar/feed-list-avatar.component.mjs +3 -3
  276. package/esm2020/feed-list-item/components/feed-list-footer/feed-list-footer.component.mjs +3 -3
  277. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +4 -4
  278. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +5 -5
  279. package/esm2020/feed-list-item/directives/byline.directive.mjs +3 -3
  280. package/esm2020/feed-list-item/feed-list-item.module.mjs +4 -4
  281. package/esm2020/file-uploader/deprecated-file-uploader-content-density.directive.mjs +3 -3
  282. package/esm2020/file-uploader/directives/file-uploader-dragndrop.directive.mjs +3 -3
  283. package/esm2020/file-uploader/directives/file-uploader-select.directive.mjs +3 -3
  284. package/esm2020/file-uploader/file-uploader.component.mjs +5 -5
  285. package/esm2020/file-uploader/file-uploader.module.mjs +4 -4
  286. package/esm2020/file-uploader/file-uploader.service.mjs +3 -3
  287. package/esm2020/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.mjs +3 -3
  288. package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +7 -7
  289. package/esm2020/fixed-card-layout/fixed-card-layout.module.mjs +4 -4
  290. package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +4 -4
  291. package/esm2020/flexible-column-layout/flexible-column-layout.module.mjs +4 -4
  292. package/esm2020/form/fieldset/fieldset.component.mjs +4 -4
  293. package/esm2020/form/fieldset/fieldset.module.mjs +4 -4
  294. package/esm2020/form/form-control/deprecated-form-control-content-density.directive.mjs +3 -3
  295. package/esm2020/form/form-control/form-control.component.mjs +5 -5
  296. package/esm2020/form/form-control/form-control.module.mjs +4 -4
  297. package/esm2020/form/form-control/input-form-control.directive.mjs +3 -3
  298. package/esm2020/form/form-control/textarea-form-control.directive.mjs +3 -3
  299. package/esm2020/form/form-group/form-group.component.mjs +5 -5
  300. package/esm2020/form/form-group/form-group.module.mjs +4 -4
  301. package/esm2020/form/form-header/form-header.component.mjs +4 -4
  302. package/esm2020/form/form-header/form-header.module.mjs +4 -4
  303. package/esm2020/form/form-input-message-group/form-input-message-group.component.mjs +3 -3
  304. package/esm2020/form/form-input-message-group/form-input-message-group.module.mjs +4 -4
  305. package/esm2020/form/form-item/form-item.component.mjs +4 -4
  306. package/esm2020/form/form-item/form-item.module.mjs +4 -4
  307. package/esm2020/form/form-label/form-label.component.mjs +4 -4
  308. package/esm2020/form/form-label/form-label.module.mjs +4 -4
  309. package/esm2020/form/form-legend/form-legend.directive.mjs +3 -3
  310. package/esm2020/form/form-legend/form-legend.module.mjs +4 -4
  311. package/esm2020/form/form-message/form-message.component.mjs +5 -5
  312. package/esm2020/form/form-message/form-message.module.mjs +4 -4
  313. package/esm2020/form/form-message/popover-form-message.service.mjs +3 -3
  314. package/esm2020/form/form.module.mjs +4 -4
  315. package/esm2020/formatted-text/formatted-text.component.mjs +3 -3
  316. package/esm2020/formatted-text/formatted-text.module.mjs +4 -4
  317. package/esm2020/fundamental-ngx.module.mjs +4 -4
  318. package/esm2020/grid-list/components/grid-list/grid-list-base.component.mjs +3 -3
  319. package/esm2020/grid-list/components/grid-list/grid-list.component.mjs +4 -4
  320. package/esm2020/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +3 -3
  321. package/esm2020/grid-list/components/grid-list-footer/grid-list-footer.component.mjs +3 -3
  322. package/esm2020/grid-list/components/grid-list-group-header/grid-list-group-header.component.mjs +3 -3
  323. package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
  324. package/esm2020/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.mjs +3 -3
  325. package/esm2020/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.mjs +3 -3
  326. package/esm2020/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.mjs +3 -3
  327. package/esm2020/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.mjs +3 -3
  328. package/esm2020/grid-list/components/grid-list-title-bar/grid-list-title-bar.directive.mjs +3 -3
  329. package/esm2020/grid-list/components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component.mjs +3 -3
  330. package/esm2020/grid-list/directives/grid-list-item-body.directive.mjs +3 -3
  331. package/esm2020/grid-list/directives/grid-list-item-image.directive.mjs +3 -3
  332. package/esm2020/grid-list/grid-list.module.mjs +4 -4
  333. package/esm2020/icon/icon.component.mjs +5 -5
  334. package/esm2020/icon/icon.module.mjs +4 -4
  335. package/esm2020/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.mjs +3 -3
  336. package/esm2020/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.mjs +3 -3
  337. package/esm2020/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.mjs +3 -3
  338. package/esm2020/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.mjs +3 -3
  339. package/esm2020/illustrated-message/illustrated-message.component.mjs +6 -6
  340. package/esm2020/illustrated-message/illustrated-message.module.mjs +4 -4
  341. package/esm2020/infinite-scroll/infinite-scroll.directive.mjs +3 -3
  342. package/esm2020/infinite-scroll/infinite-scroll.module.mjs +4 -4
  343. package/esm2020/info-label/info-label.component.mjs +5 -5
  344. package/esm2020/info-label/info-label.module.mjs +4 -4
  345. package/esm2020/inline-help/inline-help.directive.mjs +3 -3
  346. package/esm2020/inline-help/inline-help.module.mjs +4 -4
  347. package/esm2020/input-group/deprecated-input-group-compact.directive.mjs +3 -3
  348. package/esm2020/input-group/input-group-directives.mjs +10 -10
  349. package/esm2020/input-group/input-group.component.mjs +5 -5
  350. package/esm2020/input-group/input-group.module.mjs +4 -4
  351. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +4 -4
  352. package/esm2020/layout-grid/directives/layout-grid-row.directive.mjs +3 -3
  353. package/esm2020/layout-grid/layout-grid.component.mjs +5 -5
  354. package/esm2020/layout-grid/layout-grid.module.mjs +4 -4
  355. package/esm2020/layout-panel/layout-panel-actions/layout-panel-actions.component.mjs +3 -3
  356. package/esm2020/layout-panel/layout-panel-body/layout-panel-body.component.mjs +3 -3
  357. package/esm2020/layout-panel/layout-panel-description/layout-panel-description.component.mjs +3 -3
  358. package/esm2020/layout-panel/layout-panel-filters/layout-panel-filters.component.mjs +3 -3
  359. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -3
  360. package/esm2020/layout-panel/layout-panel-head/layout-panel-head.component.mjs +3 -3
  361. package/esm2020/layout-panel/layout-panel-header/layout-panel-header.component.mjs +3 -3
  362. package/esm2020/layout-panel/layout-panel-title/layout-panel-title.directive.mjs +3 -3
  363. package/esm2020/layout-panel/layout-panel.component.mjs +4 -4
  364. package/esm2020/layout-panel/layout-panel.module.mjs +4 -4
  365. package/esm2020/link/link.component.mjs +16 -14
  366. package/esm2020/link/link.module.mjs +4 -4
  367. package/esm2020/list/deprecated-list-content-density,directive.mjs +3 -3
  368. package/esm2020/list/directives/byline/list-byline-left.directive.mjs +3 -3
  369. package/esm2020/list/directives/byline/list-byline-right.directive.mjs +3 -3
  370. package/esm2020/list/directives/byline/list-byline.directive.mjs +3 -3
  371. package/esm2020/list/directives/byline/list-content.directive.mjs +3 -3
  372. package/esm2020/list/directives/byline/list-thumbnail.directive.mjs +3 -3
  373. package/esm2020/list/directives/list-footer.directive.mjs +3 -3
  374. package/esm2020/list/directives/list-group-header.directive.mjs +3 -3
  375. package/esm2020/list/directives/list-icon.directive.mjs +4 -4
  376. package/esm2020/list/directives/list-link.directive.mjs +3 -3
  377. package/esm2020/list/directives/list-navigation-item-arrow.directive.mjs +3 -3
  378. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -3
  379. package/esm2020/list/directives/list-secondary.directive.mjs +3 -3
  380. package/esm2020/list/directives/list-title-text.directive.mjs +3 -3
  381. package/esm2020/list/directives/list-title.directive.mjs +3 -3
  382. package/esm2020/list/list-focus-item.model.mjs +3 -3
  383. package/esm2020/list/list-item/list-item.component.mjs +3 -3
  384. package/esm2020/list/list-message.directive.mjs +4 -4
  385. package/esm2020/list/list-navigation-item/list-navigation-item.component.mjs +3 -3
  386. package/esm2020/list/list.component.mjs +5 -5
  387. package/esm2020/list/list.module.mjs +4 -4
  388. package/esm2020/menu/directives/deprecated-menu-compact.directive.mjs +3 -3
  389. package/esm2020/menu/directives/menu-addon.directive.mjs +3 -3
  390. package/esm2020/menu/directives/menu-interactive.directive.mjs +3 -3
  391. package/esm2020/menu/directives/menu-shortcut.directive.mjs +3 -3
  392. package/esm2020/menu/directives/menu-title.directive.mjs +3 -3
  393. package/esm2020/menu/directives/menu-trigger.directive.mjs +3 -3
  394. package/esm2020/menu/menu-item/menu-item.component.mjs +6 -6
  395. package/esm2020/menu/menu-keyboard.service.mjs +3 -3
  396. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +3 -3
  397. package/esm2020/menu/menu-mobile/menu-mobile.module.mjs +4 -4
  398. package/esm2020/menu/menu-separator/menu-separator.component.mjs +3 -3
  399. package/esm2020/menu/menu.component.mjs +4 -4
  400. package/esm2020/menu/menu.module.mjs +4 -4
  401. package/esm2020/menu/services/menu.service.mjs +3 -3
  402. package/esm2020/message-box/directives/message-box-decisive-button.directive.mjs +3 -3
  403. package/esm2020/message-box/message-box-body/message-box-body.component.mjs +3 -3
  404. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +4 -4
  405. package/esm2020/message-box/message-box-default/message-box-default.component.mjs +3 -3
  406. package/esm2020/message-box/message-box-footer/message-box-footer.component.mjs +3 -3
  407. package/esm2020/message-box/message-box-footer-button/message-box-footer-button.component.mjs +3 -3
  408. package/esm2020/message-box/message-box-header/message-box-header.component.mjs +3 -3
  409. package/esm2020/message-box/message-box-semantic-icon/message-box-semantic-icon.component.mjs +3 -3
  410. package/esm2020/message-box/message-box.component.mjs +5 -5
  411. package/esm2020/message-box/message-box.module.mjs +4 -4
  412. package/esm2020/message-box/services/message-box.service.mjs +3 -3
  413. package/esm2020/message-box/utils/message-box-config.class.mjs +3 -3
  414. package/esm2020/message-box/utils/message-box-ref.class.mjs +3 -3
  415. package/esm2020/message-page/message-page-actions/message-page-actions.component.mjs +3 -3
  416. package/esm2020/message-page/message-page-more/message-page-more.component.mjs +3 -3
  417. package/esm2020/message-page/message-page-subtitle/message-page-subtitle.component.mjs +3 -3
  418. package/esm2020/message-page/message-page-title/message-page-title.component.mjs +3 -3
  419. package/esm2020/message-page/message-page.component.mjs +5 -5
  420. package/esm2020/message-page/message-page.module.mjs +4 -4
  421. package/esm2020/message-strip/message-strip.component.mjs +5 -5
  422. package/esm2020/message-strip/message-strip.module.mjs +4 -4
  423. package/esm2020/message-toast/message-toast-service/message-toast.service.mjs +3 -3
  424. package/esm2020/message-toast/message-toast-utils/message-toast-container.component.mjs +3 -3
  425. package/esm2020/message-toast/message-toast.component.mjs +4 -4
  426. package/esm2020/message-toast/message-toast.module.mjs +4 -4
  427. package/esm2020/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.mjs +3 -3
  428. package/esm2020/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +3 -3
  429. package/esm2020/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.mjs +3 -3
  430. package/esm2020/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.mjs +3 -3
  431. package/esm2020/micro-process-flow/micro-process-flow-focusable-item.directive.mjs +3 -3
  432. package/esm2020/micro-process-flow/micro-process-flow-intermediary-item.directive.mjs +3 -3
  433. package/esm2020/micro-process-flow/micro-process-flow.module.mjs +4 -4
  434. package/esm2020/multi-input/deprecated-multi-input-compact.directive.mjs +3 -3
  435. package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
  436. package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  437. package/esm2020/multi-input/multi-input.component.mjs +4 -4
  438. package/esm2020/multi-input/multi-input.module.mjs +4 -4
  439. package/esm2020/nested-list/deprecated-nested-list-compact.directive.mjs +3 -3
  440. package/esm2020/nested-list/nested-content/nested-list-content.directive.mjs +3 -3
  441. package/esm2020/nested-list/nested-item/nested-item.directive.mjs +3 -3
  442. package/esm2020/nested-list/nested-link/nested-link.directive.mjs +3 -3
  443. package/esm2020/nested-list/nested-list/nested-list.directive.mjs +3 -3
  444. package/esm2020/nested-list/nested-list-directives.mjs +13 -13
  445. package/esm2020/nested-list/nested-list-keyboard.service.mjs +3 -3
  446. package/esm2020/nested-list/nested-list-popover/nested-list-popover.component.mjs +3 -3
  447. package/esm2020/nested-list/nested-list-state.service.mjs +3 -3
  448. package/esm2020/nested-list/nested-list.module.mjs +4 -4
  449. package/esm2020/nested-list/prepared-nested-list/prepared-nested-list.component.mjs +4 -4
  450. package/esm2020/notification/directives/notification-footer-content.directive.mjs +3 -3
  451. package/esm2020/notification/directives/notification-indicator.directive.mjs +4 -4
  452. package/esm2020/notification/directives/notification-limit-description.directive.mjs +3 -3
  453. package/esm2020/notification/directives/notification-limit-title.directive.mjs +3 -3
  454. package/esm2020/notification/directives/notification-paragraph.directive.mjs +3 -3
  455. package/esm2020/notification/directives/notification-separator.directive.mjs +3 -3
  456. package/esm2020/notification/directives/notification-title.directive.mjs +3 -3
  457. package/esm2020/notification/notification/notification.component.mjs +5 -5
  458. package/esm2020/notification/notification-actions/notification-actions.component.mjs +3 -3
  459. package/esm2020/notification/notification-body/notification-body.component.mjs +3 -3
  460. package/esm2020/notification/notification-content/notification-content.component.mjs +3 -3
  461. package/esm2020/notification/notification-footer/notification-footer.component.mjs +3 -3
  462. package/esm2020/notification/notification-group/notification-group.component.mjs +4 -4
  463. package/esm2020/notification/notification-group-header/notification-group-header.component.mjs +3 -3
  464. package/esm2020/notification/notification-group-list/notification-group-list.component.mjs +3 -3
  465. package/esm2020/notification/notification-header/notification-header.component.mjs +3 -3
  466. package/esm2020/notification/notification-limit/notification-limit.component.mjs +3 -3
  467. package/esm2020/notification/notification-service/notification.service.mjs +4 -4
  468. package/esm2020/notification/notification-utils/notification-container.mjs +3 -3
  469. package/esm2020/notification/notification-utils/notification-group-base.mjs +3 -3
  470. package/esm2020/notification/notification.module.mjs +4 -4
  471. package/esm2020/object-identifier/object-identifier.component.mjs +5 -5
  472. package/esm2020/object-identifier/object-identifier.module.mjs +4 -4
  473. package/esm2020/object-marker/object-marker.component.mjs +6 -6
  474. package/esm2020/object-marker/object-marker.module.mjs +4 -4
  475. package/esm2020/object-number/object-number.component.mjs +5 -5
  476. package/esm2020/object-number/object-number.module.mjs +4 -4
  477. package/esm2020/object-status/object-status.component.mjs +6 -6
  478. package/esm2020/object-status/object-status.module.mjs +4 -4
  479. package/esm2020/overflow-layout/directives/overflow-expand.directive.mjs +3 -3
  480. package/esm2020/overflow-layout/directives/overflow-item-container-ref.directive.mjs +3 -3
  481. package/esm2020/overflow-layout/directives/overflow-item-ref.directive.mjs +3 -3
  482. package/esm2020/overflow-layout/directives/overflow-layout-focusable-item.directive.mjs +3 -3
  483. package/esm2020/overflow-layout/directives/overflow-layout-item-container.directive.mjs +3 -3
  484. package/esm2020/overflow-layout/directives/overflow-layout-item.directive.mjs +3 -3
  485. package/esm2020/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +3 -3
  486. package/esm2020/overflow-layout/overflow-layout.component.mjs +3 -3
  487. package/esm2020/overflow-layout/overflow-layout.module.mjs +4 -4
  488. package/esm2020/overflow-layout/overflow-layout.service.mjs +3 -3
  489. package/esm2020/pagination/deprecated-pagination-compact.directive.mjs +3 -3
  490. package/esm2020/pagination/pagination.component.mjs +4 -4
  491. package/esm2020/pagination/pagination.module.mjs +4 -4
  492. package/esm2020/pagination/pagination.service.mjs +3 -3
  493. package/esm2020/panel/deprecated-panel-compact.directive.mjs +3 -3
  494. package/esm2020/panel/panel-content/panel-content.directive.mjs +3 -3
  495. package/esm2020/panel/panel-title/panel-title.directive.mjs +3 -3
  496. package/esm2020/panel/panel.component.mjs +4 -4
  497. package/esm2020/panel/panel.module.mjs +4 -4
  498. package/esm2020/popover/base/base-popover.class.mjs +3 -3
  499. package/esm2020/popover/popover-body/popover-body-directives/popover-body-footer.directive.mjs +3 -3
  500. package/esm2020/popover/popover-body/popover-body-directives/popover-body-header.directive.mjs +3 -3
  501. package/esm2020/popover/popover-body/popover-body.component.mjs +4 -4
  502. package/esm2020/popover/popover-container/popover-container.directive.mjs +3 -3
  503. package/esm2020/popover/popover-control/popover-control.component.mjs +3 -3
  504. package/esm2020/popover/popover-mobile/popover-mobile.component.mjs +3 -3
  505. package/esm2020/popover/popover-mobile/popover-mobile.module.mjs +4 -4
  506. package/esm2020/popover/popover-service/popover.service.mjs +3 -3
  507. package/esm2020/popover/popover-trigger.directive.mjs +3 -3
  508. package/esm2020/popover/popover.component.mjs +3 -3
  509. package/esm2020/popover/popover.module.mjs +4 -4
  510. package/esm2020/product-switch/product-switch/product-switch.component.mjs +3 -3
  511. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +4 -4
  512. package/esm2020/product-switch/product-switch.module.mjs +4 -4
  513. package/esm2020/progress-indicator/progress-indicator.component.mjs +4 -4
  514. package/esm2020/progress-indicator/progress-indicator.module.mjs +4 -4
  515. package/esm2020/quick-view/quick-view/quick-view.component.mjs +4 -4
  516. package/esm2020/quick-view/quick-view-group/quick-view-group.component.mjs +3 -3
  517. package/esm2020/quick-view/quick-view-group-item/quick-view-group-item.component.mjs +3 -3
  518. package/esm2020/quick-view/quick-view-group-item-content/quick-view-group-item-content-element.directive.mjs +3 -3
  519. package/esm2020/quick-view/quick-view-group-item-content/quick-view-group-item-content.component.mjs +3 -3
  520. package/esm2020/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +3 -3
  521. package/esm2020/quick-view/quick-view-group-title/quick-view-group-title.component.mjs +3 -3
  522. package/esm2020/quick-view/quick-view-subheader/quick-view-subheader.component.mjs +3 -3
  523. package/esm2020/quick-view/quick-view-subheader-subtitle/quick-view-subheader-subtitle.component.mjs +3 -3
  524. package/esm2020/quick-view/quick-view-subheader-title/quick-view-subheader-title.component.mjs +3 -3
  525. package/esm2020/quick-view/quick-view-title/quick-view-title.component.mjs +3 -3
  526. package/esm2020/quick-view/quick-view.module.mjs +4 -4
  527. package/esm2020/radio/deprecated-radio-button-compact.directive.mjs +3 -3
  528. package/esm2020/radio/radio-button/radio-button.component.mjs +6 -6
  529. package/esm2020/radio/radio.module.mjs +4 -4
  530. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +6 -6
  531. package/esm2020/rating-indicator/pipes/rating-star-label.pipe.mjs +3 -3
  532. package/esm2020/rating-indicator/rating-indicator.module.mjs +4 -4
  533. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -4
  534. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +4 -4
  535. package/esm2020/resizable-card-layout/resizable-card-layout.module.mjs +4 -4
  536. package/esm2020/scroll-spy/scroll-spy.directive.mjs +3 -3
  537. package/esm2020/scroll-spy/scroll-spy.module.mjs +4 -4
  538. package/esm2020/scrollbar/scrollbar.component.mjs +4 -4
  539. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  540. package/esm2020/segmented-button/segmented-button.component.mjs +5 -5
  541. package/esm2020/segmented-button/segmented-button.module.mjs +4 -4
  542. package/esm2020/select/deprecated-select-compact.directive.mjs +3 -3
  543. package/esm2020/select/option/option.component.mjs +3 -3
  544. package/esm2020/select/select-key-manager.service.mjs +3 -3
  545. package/esm2020/select/select-mobile/select-mobile.component.mjs +3 -3
  546. package/esm2020/select/select-mobile/select-mobile.module.mjs +4 -4
  547. package/esm2020/select/select.component.mjs +8 -8
  548. package/esm2020/select/select.module.mjs +4 -4
  549. package/esm2020/shared/services/value-state-message.service.mjs +3 -3
  550. package/esm2020/shellbar/deprecated-shellbar-compact.directive.mjs +3 -3
  551. package/esm2020/shellbar/product-menu/product-menu.component.mjs +3 -3
  552. package/esm2020/shellbar/shellbar-action/shellbar-action.component.mjs +3 -3
  553. package/esm2020/shellbar/shellbar-actions/shellbar-actions.component.mjs +3 -3
  554. package/esm2020/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +3 -3
  555. package/esm2020/shellbar/shellbar-logo/shellbar-logo.component.mjs +3 -3
  556. package/esm2020/shellbar/shellbar-sidenav.directive.mjs +3 -3
  557. package/esm2020/shellbar/shellbar-subtitle/shellbar-subtitle.component.mjs +3 -3
  558. package/esm2020/shellbar/shellbar-title/shellbar-title.component.mjs +3 -3
  559. package/esm2020/shellbar/shellbar.component.mjs +4 -4
  560. package/esm2020/shellbar/shellbar.module.mjs +4 -4
  561. package/esm2020/shellbar/user-menu/shellbar-user-menu.component.mjs +5 -5
  562. package/esm2020/side-navigation/side-navigation-main.directive.mjs +3 -3
  563. package/esm2020/side-navigation/side-navigation-utility.directive.mjs +3 -3
  564. package/esm2020/side-navigation/side-navigation.component.mjs +4 -4
  565. package/esm2020/side-navigation/side-navigation.module.mjs +4 -4
  566. package/esm2020/slider/deprecated-slider-cozy.directive.mjs +3 -3
  567. package/esm2020/slider/slider-position.directive.mjs +3 -3
  568. package/esm2020/slider/slider.component.mjs +6 -6
  569. package/esm2020/slider/slider.module.mjs +4 -4
  570. package/esm2020/split-button/deprecated-split-button-compact.directive.mjs +3 -3
  571. package/esm2020/split-button/split-button-utils/split-button.directives.mjs +3 -3
  572. package/esm2020/split-button/split-button.component.mjs +4 -4
  573. package/esm2020/split-button/split-button.module.mjs +4 -4
  574. package/esm2020/splitter/splitter-pagination/splitter-pagination.component.mjs +3 -3
  575. package/esm2020/splitter/splitter-pane-container/splitter-pane-container.component.mjs +7 -7
  576. package/esm2020/splitter/splitter-resizer/splitter-resizer.component.mjs +4 -4
  577. package/esm2020/splitter/splitter-split-pane/splitter-split-pane.component.mjs +4 -4
  578. package/esm2020/splitter/splitter.component.mjs +4 -4
  579. package/esm2020/splitter/splitter.module.mjs +4 -4
  580. package/esm2020/status-indicator/status-indicator.component.mjs +5 -5
  581. package/esm2020/status-indicator/status-indicator.module.mjs +4 -4
  582. package/esm2020/step-input/deprecated-step-input-compact.directive.mjs +3 -3
  583. package/esm2020/step-input/step-input.component.mjs +5 -5
  584. package/esm2020/step-input/step-input.module.mjs +4 -4
  585. package/esm2020/switch/deprecated-switch-compact.directive.mjs +3 -3
  586. package/esm2020/switch/switch.component.mjs +5 -5
  587. package/esm2020/switch/switch.module.mjs +4 -4
  588. package/esm2020/table/deprecated-table-compact.directive.mjs +3 -3
  589. package/esm2020/table/deprecated-table-condensed.directive.mjs +3 -3
  590. package/esm2020/table/directives/table-body.directive.mjs +3 -3
  591. package/esm2020/table/directives/table-cell.directive.mjs +3 -3
  592. package/esm2020/table/directives/table-footer.directive.mjs +3 -3
  593. package/esm2020/table/directives/table-header.directive.mjs +3 -3
  594. package/esm2020/table/directives/table-icon.directive.mjs +4 -4
  595. package/esm2020/table/directives/table-inner.directive.mjs +3 -3
  596. package/esm2020/table/directives/table-popover.directive.mjs +3 -3
  597. package/esm2020/table/directives/table-responsive-wrapper.directive.mjs +3 -3
  598. package/esm2020/table/directives/table-row.directive.mjs +3 -3
  599. package/esm2020/table/directives/table-status-indicator.directive.mjs +3 -3
  600. package/esm2020/table/directives/table-text.directive.mjs +3 -3
  601. package/esm2020/table/table-wrapper.component.mjs +4 -4
  602. package/esm2020/table/table.component.mjs +5 -5
  603. package/esm2020/table/table.module.mjs +4 -4
  604. package/esm2020/tabs/deprecated-tabs-compact.directive.mjs +3 -3
  605. package/esm2020/tabs/tab-item/tab-item.directive.mjs +4 -4
  606. package/esm2020/tabs/tab-item-expand/tab-item-expand.component.mjs +3 -3
  607. package/esm2020/tabs/tab-link/tab-link.directive.mjs +3 -3
  608. package/esm2020/tabs/tab-list.component.mjs +10 -6
  609. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +5 -5
  610. package/esm2020/tabs/tab-panel/tab-panel.component.mjs +3 -3
  611. package/esm2020/tabs/tab-utils/tab-directives.mjs +31 -31
  612. package/esm2020/tabs/tabs.module.mjs +4 -4
  613. package/esm2020/text/text.component.mjs +4 -4
  614. package/esm2020/text/text.module.mjs +4 -4
  615. package/esm2020/theming/theming.module.mjs +4 -4
  616. package/esm2020/theming/theming.service.mjs +4 -4
  617. package/esm2020/tile/directives/numeric-content.directives.mjs +28 -28
  618. package/esm2020/tile/directives/tile.directives.mjs +70 -70
  619. package/esm2020/tile/tile.component.mjs +5 -5
  620. package/esm2020/tile/tile.module.mjs +4 -4
  621. package/esm2020/time/deprecated-time-content-density.directive.mjs +3 -3
  622. package/esm2020/time/i18n/time-i18n.mjs +3 -3
  623. package/esm2020/time/time-column/time-column.component.mjs +3 -3
  624. package/esm2020/time/time.component.mjs +5 -5
  625. package/esm2020/time/time.module.mjs +4 -4
  626. package/esm2020/time-picker/deprecated-timepicker-compact.directive.mjs +3 -3
  627. package/esm2020/time-picker/time-picker.component.mjs +3 -3
  628. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  629. package/esm2020/timeline/components/timeline-node/timeline-node.component.mjs +3 -3
  630. package/esm2020/timeline/components/timeline-node-body/timeline-node-body.component.mjs +3 -3
  631. package/esm2020/timeline/components/timeline-node-footer/timeline-node-footer.component.mjs +3 -3
  632. package/esm2020/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component.mjs +3 -3
  633. package/esm2020/timeline/components/timeline-node-header/timeline-node-header.component.mjs +3 -3
  634. package/esm2020/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.mjs +3 -3
  635. package/esm2020/timeline/directives/class-bindings/timeline-node-header-info-text.directive.mjs +3 -3
  636. package/esm2020/timeline/directives/class-bindings/timeline-node-header-info-title.directive.mjs +3 -3
  637. package/esm2020/timeline/directives/timeline-first-list-outlet.directive.mjs +3 -3
  638. package/esm2020/timeline/directives/timeline-node-def.directive.mjs +3 -3
  639. package/esm2020/timeline/directives/timeline-second-list-outlet.directive.mjs +3 -3
  640. package/esm2020/timeline/services/timeline-position-control.service.mjs +3 -3
  641. package/esm2020/timeline/timeline.component.mjs +3 -3
  642. package/esm2020/timeline/timeline.module.mjs +4 -4
  643. package/esm2020/title/title.component.mjs +4 -4
  644. package/esm2020/title/title.module.mjs +4 -4
  645. package/esm2020/token/deprecated-tokenizer-content-density.directive.mjs +3 -3
  646. package/esm2020/token/token-input.directive.mjs +4 -4
  647. package/esm2020/token/token.component.mjs +4 -4
  648. package/esm2020/token/token.module.mjs +4 -4
  649. package/esm2020/token/tokenizer.component.mjs +5 -5
  650. package/esm2020/toolbar/deprecated-toolbar-size.directive.mjs +3 -3
  651. package/esm2020/toolbar/toolbar-form-label.directive.mjs +3 -3
  652. package/esm2020/toolbar/toolbar-item.directive.mjs +3 -3
  653. package/esm2020/toolbar/toolbar-label.directive.mjs +3 -3
  654. package/esm2020/toolbar/toolbar-overflow-button-menu.directive.mjs +3 -3
  655. package/esm2020/toolbar/toolbar-overflow-button.directive.mjs +3 -3
  656. package/esm2020/toolbar/toolbar-overflow-group.directive.mjs +3 -3
  657. package/esm2020/toolbar/toolbar-overflow-priority.directive.mjs +3 -3
  658. package/esm2020/toolbar/toolbar-separator.component.mjs +3 -3
  659. package/esm2020/toolbar/toolbar-spacer.component.mjs +3 -3
  660. package/esm2020/toolbar/toolbar.component.mjs +6 -6
  661. package/esm2020/toolbar/toolbar.module.mjs +4 -4
  662. package/esm2020/tree/tree-child.component.mjs +3 -3
  663. package/esm2020/tree/tree.component.mjs +4 -4
  664. package/esm2020/tree/tree.module.mjs +4 -4
  665. package/esm2020/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +3 -3
  666. package/esm2020/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +3 -3
  667. package/esm2020/upload-collection/upload-collection-item.directive.mjs +3 -3
  668. package/esm2020/upload-collection/upload-collection-simple.directives.mjs +21 -21
  669. package/esm2020/upload-collection/upload-collection.component.mjs +5 -5
  670. package/esm2020/upload-collection/upload-collection.module.mjs +4 -4
  671. package/esm2020/utils/abstract-fd-ngx-class.mjs +3 -3
  672. package/esm2020/utils/directives/auto-complete/auto-complete.directive.mjs +3 -3
  673. package/esm2020/utils/directives/auto-complete/auto-complete.module.mjs +4 -4
  674. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +4 -4
  675. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +3 -3
  676. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +3 -3
  677. package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +4 -4
  678. package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +4 -4
  679. package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +3 -3
  680. package/esm2020/utils/directives/initial-focus/initial-focus.module.mjs +4 -4
  681. package/esm2020/utils/directives/line-clamp/line-clamp.directive.mjs +6 -6
  682. package/esm2020/utils/directives/line-clamp/line-clamp.module.mjs +4 -4
  683. package/esm2020/utils/directives/only-digits/only-digits.directive.mjs +3 -3
  684. package/esm2020/utils/directives/only-digits/only-digits.module.mjs +4 -4
  685. package/esm2020/utils/directives/overflow-list/overflow-list-item.directive.mjs +3 -3
  686. package/esm2020/utils/directives/overflow-list/overflow-list.directive.mjs +3 -3
  687. package/esm2020/utils/directives/overflow-list/overflow-list.module.mjs +4 -4
  688. package/esm2020/utils/directives/resize/resize-handle.directive.mjs +3 -3
  689. package/esm2020/utils/directives/resize/resize.directive.mjs +3 -3
  690. package/esm2020/utils/directives/resize/resize.module.mjs +4 -4
  691. package/esm2020/utils/directives/template/template.directive.mjs +3 -3
  692. package/esm2020/utils/directives/template/template.module.mjs +4 -4
  693. package/esm2020/utils/directives/truncate/truncate.directive.mjs +3 -3
  694. package/esm2020/utils/directives/truncate/truncate.module.mjs +4 -4
  695. package/esm2020/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +3 -3
  696. package/esm2020/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +3 -3
  697. package/esm2020/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +3 -3
  698. package/esm2020/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +3 -3
  699. package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +4 -4
  700. package/esm2020/utils/dynamic-component/dynamic-component-injector.mjs +1 -1
  701. package/esm2020/utils/dynamic-component/dynamic-component.service.mjs +3 -3
  702. package/esm2020/utils/pipes/displayFn.pipe.mjs +3 -3
  703. package/esm2020/utils/pipes/is-compact.pipe.mjs +3 -3
  704. package/esm2020/utils/pipes/pipe.module.mjs +4 -4
  705. package/esm2020/utils/pipes/safe.pipe.mjs +3 -3
  706. package/esm2020/utils/pipes/search-highlight.pipe.mjs +3 -3
  707. package/esm2020/utils/pipes/truncate.pipe.mjs +3 -3
  708. package/esm2020/utils/pipes/two-digits.pipe.mjs +3 -3
  709. package/esm2020/utils/pipes/value-by-path.pipe.mjs +3 -3
  710. package/esm2020/utils/services/content-density.service.mjs +3 -3
  711. package/esm2020/utils/services/destroyed.service.mjs +3 -3
  712. package/esm2020/utils/services/focus-trap.service.mjs +3 -3
  713. package/esm2020/utils/services/local-storage.service.mjs +3 -3
  714. package/esm2020/utils/services/resize-observer.service.mjs +7 -7
  715. package/esm2020/utils/services/rtl.service.mjs +3 -3
  716. package/esm2020/utils/services/tabbable-element.service.mjs +4 -4
  717. package/esm2020/utils/services/themes.service.mjs +3 -3
  718. package/esm2020/utils/utils.module.mjs +4 -4
  719. package/esm2020/vertical-navigation/vertical-navigation-group-header.directive.mjs +3 -3
  720. package/esm2020/vertical-navigation/vertical-navigation-main-navigation.component.mjs +4 -4
  721. package/esm2020/vertical-navigation/vertical-navigation.component.mjs +4 -4
  722. package/esm2020/vertical-navigation/vertical-navigation.module.mjs +4 -4
  723. package/esm2020/wizard/deprecated-wizard-compact.directive.mjs +3 -3
  724. package/esm2020/wizard/wizard-content/wizard-content.component.mjs +3 -3
  725. package/esm2020/wizard/wizard-navigation/wizard-navigation.component.mjs +3 -3
  726. package/esm2020/wizard/wizard-next-step/wizard-next-step.component.mjs +3 -3
  727. package/esm2020/wizard/wizard-progress-bar/wizard-progress-bar.directive.mjs +3 -3
  728. package/esm2020/wizard/wizard-step/wizard-step.component.mjs +3 -3
  729. package/esm2020/wizard/wizard-step-indicator/wizard-step-indicator.component.mjs +3 -3
  730. package/esm2020/wizard/wizard.component.mjs +5 -5
  731. package/esm2020/wizard/wizard.module.mjs +4 -4
  732. package/esm2020/wizard/wizard.service.mjs +3 -3
  733. package/facets/content/facet-content.component.d.ts +1 -1
  734. package/facets/facet/facet.component.d.ts +1 -1
  735. package/facets/facet-group.component.d.ts +1 -1
  736. package/feed-input/directives/feed-input-avatar.directive.d.ts +1 -1
  737. package/feed-input/directives/feed-input-button.directive.d.ts +1 -1
  738. package/feed-input/directives/feed-input-textarea.directive.d.ts +1 -1
  739. package/feed-input/feed-input.component.d.ts +1 -1
  740. package/feed-list-item/components/feed-list-action/feed-list-action.component.d.ts +1 -1
  741. package/feed-list-item/components/feed-list-avatar/feed-list-avatar.component.d.ts +1 -1
  742. package/feed-list-item/components/feed-list-footer/feed-list-footer.component.d.ts +1 -1
  743. package/feed-list-item/components/item/feed-list-item.component.d.ts +1 -1
  744. package/feed-list-item/components/list/feed-list.component.d.ts +1 -1
  745. package/feed-list-item/directives/byline.directive.d.ts +1 -1
  746. package/fesm2015/fundamental-ngx-core-action-bar.mjs +26 -26
  747. package/fesm2015/fundamental-ngx-core-action-bar.mjs.map +1 -1
  748. package/fesm2015/fundamental-ngx-core-action-sheet.mjs +27 -27
  749. package/fesm2015/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  750. package/fesm2015/fundamental-ngx-core-alert.mjs +14 -14
  751. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  752. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +30 -30
  753. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  754. package/fesm2015/fundamental-ngx-core-avatar.mjs +8 -8
  755. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  756. package/fesm2015/fundamental-ngx-core-bar.mjs +30 -30
  757. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  758. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +14 -14
  759. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  760. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +11 -11
  761. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  762. package/fesm2015/fundamental-ngx-core-button.mjs +15 -15
  763. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  764. package/fesm2015/fundamental-ngx-core-calendar.mjs +36 -36
  765. package/fesm2015/fundamental-ngx-core-calendar.mjs.map +1 -1
  766. package/fesm2015/fundamental-ngx-core-card.mjs +60 -60
  767. package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
  768. package/fesm2015/fundamental-ngx-core-carousel.mjs +20 -20
  769. package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
  770. package/fesm2015/fundamental-ngx-core-checkbox.mjs +12 -12
  771. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  772. package/fesm2015/fundamental-ngx-core-combobox.mjs +20 -20
  773. package/fesm2015/fundamental-ngx-core-content-density.mjs +37 -37
  774. package/fesm2015/fundamental-ngx-core-date-picker.mjs +10 -10
  775. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +10 -10
  776. package/fesm2015/fundamental-ngx-core-datetime.mjs +24 -24
  777. package/fesm2015/fundamental-ngx-core-dialog.mjs +53 -53
  778. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  779. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +44 -44
  780. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  781. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +14 -14
  782. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  783. package/fesm2015/fundamental-ngx-core-facets.mjs +14 -14
  784. package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
  785. package/fesm2015/fundamental-ngx-core-feed-input.mjs +17 -17
  786. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  787. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +23 -23
  788. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  789. package/fesm2015/fundamental-ngx-core-file-uploader.mjs +21 -21
  790. package/fesm2015/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  791. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +14 -14
  792. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  793. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +8 -8
  794. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  795. package/fesm2015/fundamental-ngx-core-form.mjs +86 -86
  796. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  797. package/fesm2015/fundamental-ngx-core-formatted-text.mjs +7 -7
  798. package/fesm2015/fundamental-ngx-core-grid-list.mjs +47 -47
  799. package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  800. package/fesm2015/fundamental-ngx-core-icon.mjs +8 -8
  801. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  802. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +21 -21
  803. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  804. package/fesm2015/fundamental-ngx-core-infinite-scroll.mjs +7 -7
  805. package/fesm2015/fundamental-ngx-core-info-label.mjs +8 -8
  806. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  807. package/fesm2015/fundamental-ngx-core-inline-help.mjs +7 -7
  808. package/fesm2015/fundamental-ngx-core-input-group.mjs +21 -21
  809. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  810. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +14 -14
  811. package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  812. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +32 -32
  813. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  814. package/fesm2015/fundamental-ngx-core-link.mjs +18 -17
  815. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  816. package/fesm2015/fundamental-ngx-core-list.mjs +66 -66
  817. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  818. package/fesm2015/fundamental-ngx-core-menu.mjs +48 -48
  819. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  820. package/fesm2015/fundamental-ngx-core-message-box.mjs +41 -41
  821. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  822. package/fesm2015/fundamental-ngx-core-message-page.mjs +20 -20
  823. package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
  824. package/fesm2015/fundamental-ngx-core-message-strip.mjs +8 -8
  825. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  826. package/fesm2015/fundamental-ngx-core-message-toast.mjs +14 -14
  827. package/fesm2015/fundamental-ngx-core-message-toast.mjs.map +1 -1
  828. package/fesm2015/fundamental-ngx-core-micro-process-flow.mjs +22 -22
  829. package/fesm2015/fundamental-ngx-core-multi-input.mjs +17 -17
  830. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  831. package/fesm2015/fundamental-ngx-core-nested-list.mjs +43 -43
  832. package/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
  833. package/fesm2015/fundamental-ngx-core-notification.mjs +66 -66
  834. package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
  835. package/fesm2015/fundamental-ngx-core-object-identifier.mjs +9 -9
  836. package/fesm2015/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  837. package/fesm2015/fundamental-ngx-core-object-marker.mjs +9 -9
  838. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  839. package/fesm2015/fundamental-ngx-core-object-number.mjs +8 -8
  840. package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
  841. package/fesm2015/fundamental-ngx-core-object-status.mjs +9 -9
  842. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  843. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +31 -31
  844. package/fesm2015/fundamental-ngx-core-pagination.mjs +14 -14
  845. package/fesm2015/fundamental-ngx-core-pagination.mjs.map +1 -1
  846. package/fesm2015/fundamental-ngx-core-panel.mjs +17 -17
  847. package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
  848. package/fesm2015/fundamental-ngx-core-popover.mjs +39 -39
  849. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  850. package/fesm2015/fundamental-ngx-core-product-switch.mjs +11 -11
  851. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  852. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs +8 -8
  853. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  854. package/fesm2015/fundamental-ngx-core-quick-view.mjs +38 -38
  855. package/fesm2015/fundamental-ngx-core-quick-view.mjs.map +1 -1
  856. package/fesm2015/fundamental-ngx-core-radio.mjs +12 -12
  857. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  858. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +12 -12
  859. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  860. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +12 -12
  861. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  862. package/fesm2015/fundamental-ngx-core-scroll-spy.mjs +7 -7
  863. package/fesm2015/fundamental-ngx-core-scrollbar.mjs +8 -8
  864. package/fesm2015/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  865. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +9 -9
  866. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  867. package/fesm2015/fundamental-ngx-core-select.mjs +27 -27
  868. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  869. package/fesm2015/fundamental-ngx-core-shared.mjs +3 -3
  870. package/fesm2015/fundamental-ngx-core-shellbar.mjs +39 -39
  871. package/fesm2015/fundamental-ngx-core-shellbar.mjs.map +1 -1
  872. package/fesm2015/fundamental-ngx-core-side-navigation.mjs +14 -14
  873. package/fesm2015/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  874. package/fesm2015/fundamental-ngx-core-slider.mjs +15 -15
  875. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  876. package/fesm2015/fundamental-ngx-core-split-button.mjs +14 -14
  877. package/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
  878. package/fesm2015/fundamental-ngx-core-splitter.mjs +23 -23
  879. package/fesm2015/fundamental-ngx-core-splitter.mjs.map +1 -1
  880. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +8 -8
  881. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  882. package/fesm2015/fundamental-ngx-core-step-input.mjs +12 -12
  883. package/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
  884. package/fesm2015/fundamental-ngx-core-switch.mjs +12 -12
  885. package/fesm2015/fundamental-ngx-core-switch.mjs.map +1 -1
  886. package/fesm2015/fundamental-ngx-core-table.mjs +52 -52
  887. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  888. package/fesm2015/fundamental-ngx-core-tabs.mjs +63 -60
  889. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  890. package/fesm2015/fundamental-ngx-core-text.mjs +8 -8
  891. package/fesm2015/fundamental-ngx-core-text.mjs.map +1 -1
  892. package/fesm2015/fundamental-ngx-core-theming.mjs +7 -7
  893. package/fesm2015/fundamental-ngx-core-theming.mjs.map +1 -1
  894. package/fesm2015/fundamental-ngx-core-tile.mjs +104 -104
  895. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  896. package/fesm2015/fundamental-ngx-core-time-picker.mjs +10 -10
  897. package/fesm2015/fundamental-ngx-core-time.mjs +18 -18
  898. package/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
  899. package/fesm2015/fundamental-ngx-core-timeline.mjs +43 -43
  900. package/fesm2015/fundamental-ngx-core-title.mjs +8 -8
  901. package/fesm2015/fundamental-ngx-core-title.mjs.map +1 -1
  902. package/fesm2015/fundamental-ngx-core-token.mjs +18 -18
  903. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  904. package/fesm2015/fundamental-ngx-core-toolbar.mjs +39 -39
  905. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  906. package/fesm2015/fundamental-ngx-core-tree.mjs +11 -11
  907. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  908. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +39 -39
  909. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  910. package/fesm2015/fundamental-ngx-core-utils.mjs +160 -160
  911. package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  912. package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs +15 -15
  913. package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  914. package/fesm2015/fundamental-ngx-core-wizard.mjs +33 -33
  915. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  916. package/fesm2015/fundamental-ngx-core.mjs +4 -4
  917. package/fesm2020/fundamental-ngx-core-action-bar.mjs +26 -26
  918. package/fesm2020/fundamental-ngx-core-action-bar.mjs.map +1 -1
  919. package/fesm2020/fundamental-ngx-core-action-sheet.mjs +27 -27
  920. package/fesm2020/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  921. package/fesm2020/fundamental-ngx-core-alert.mjs +14 -14
  922. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  923. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +30 -30
  924. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  925. package/fesm2020/fundamental-ngx-core-avatar.mjs +8 -8
  926. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  927. package/fesm2020/fundamental-ngx-core-bar.mjs +30 -30
  928. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  929. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +14 -14
  930. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  931. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +11 -11
  932. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  933. package/fesm2020/fundamental-ngx-core-button.mjs +15 -15
  934. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  935. package/fesm2020/fundamental-ngx-core-calendar.mjs +36 -36
  936. package/fesm2020/fundamental-ngx-core-calendar.mjs.map +1 -1
  937. package/fesm2020/fundamental-ngx-core-card.mjs +60 -60
  938. package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
  939. package/fesm2020/fundamental-ngx-core-carousel.mjs +20 -20
  940. package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
  941. package/fesm2020/fundamental-ngx-core-checkbox.mjs +12 -12
  942. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  943. package/fesm2020/fundamental-ngx-core-combobox.mjs +20 -20
  944. package/fesm2020/fundamental-ngx-core-content-density.mjs +37 -37
  945. package/fesm2020/fundamental-ngx-core-date-picker.mjs +10 -10
  946. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +10 -10
  947. package/fesm2020/fundamental-ngx-core-datetime.mjs +24 -24
  948. package/fesm2020/fundamental-ngx-core-dialog.mjs +53 -53
  949. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  950. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +44 -44
  951. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  952. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +14 -14
  953. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  954. package/fesm2020/fundamental-ngx-core-facets.mjs +14 -14
  955. package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
  956. package/fesm2020/fundamental-ngx-core-feed-input.mjs +17 -17
  957. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  958. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +23 -23
  959. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  960. package/fesm2020/fundamental-ngx-core-file-uploader.mjs +21 -21
  961. package/fesm2020/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  962. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +14 -14
  963. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  964. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +8 -8
  965. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  966. package/fesm2020/fundamental-ngx-core-form.mjs +86 -86
  967. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  968. package/fesm2020/fundamental-ngx-core-formatted-text.mjs +7 -7
  969. package/fesm2020/fundamental-ngx-core-grid-list.mjs +47 -47
  970. package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  971. package/fesm2020/fundamental-ngx-core-icon.mjs +8 -8
  972. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  973. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +21 -21
  974. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  975. package/fesm2020/fundamental-ngx-core-infinite-scroll.mjs +7 -7
  976. package/fesm2020/fundamental-ngx-core-info-label.mjs +8 -8
  977. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  978. package/fesm2020/fundamental-ngx-core-inline-help.mjs +7 -7
  979. package/fesm2020/fundamental-ngx-core-input-group.mjs +21 -21
  980. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  981. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +14 -14
  982. package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  983. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +32 -32
  984. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  985. package/fesm2020/fundamental-ngx-core-link.mjs +18 -17
  986. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  987. package/fesm2020/fundamental-ngx-core-list.mjs +66 -66
  988. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  989. package/fesm2020/fundamental-ngx-core-menu.mjs +48 -48
  990. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  991. package/fesm2020/fundamental-ngx-core-message-box.mjs +41 -41
  992. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  993. package/fesm2020/fundamental-ngx-core-message-page.mjs +20 -20
  994. package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
  995. package/fesm2020/fundamental-ngx-core-message-strip.mjs +8 -8
  996. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  997. package/fesm2020/fundamental-ngx-core-message-toast.mjs +14 -14
  998. package/fesm2020/fundamental-ngx-core-message-toast.mjs.map +1 -1
  999. package/fesm2020/fundamental-ngx-core-micro-process-flow.mjs +22 -22
  1000. package/fesm2020/fundamental-ngx-core-multi-input.mjs +17 -17
  1001. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  1002. package/fesm2020/fundamental-ngx-core-nested-list.mjs +43 -43
  1003. package/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
  1004. package/fesm2020/fundamental-ngx-core-notification.mjs +66 -66
  1005. package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
  1006. package/fesm2020/fundamental-ngx-core-object-identifier.mjs +9 -9
  1007. package/fesm2020/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  1008. package/fesm2020/fundamental-ngx-core-object-marker.mjs +9 -9
  1009. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  1010. package/fesm2020/fundamental-ngx-core-object-number.mjs +8 -8
  1011. package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
  1012. package/fesm2020/fundamental-ngx-core-object-status.mjs +9 -9
  1013. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  1014. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +31 -31
  1015. package/fesm2020/fundamental-ngx-core-pagination.mjs +14 -14
  1016. package/fesm2020/fundamental-ngx-core-pagination.mjs.map +1 -1
  1017. package/fesm2020/fundamental-ngx-core-panel.mjs +17 -17
  1018. package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
  1019. package/fesm2020/fundamental-ngx-core-popover.mjs +39 -39
  1020. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  1021. package/fesm2020/fundamental-ngx-core-product-switch.mjs +11 -11
  1022. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  1023. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs +8 -8
  1024. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  1025. package/fesm2020/fundamental-ngx-core-quick-view.mjs +38 -38
  1026. package/fesm2020/fundamental-ngx-core-quick-view.mjs.map +1 -1
  1027. package/fesm2020/fundamental-ngx-core-radio.mjs +12 -12
  1028. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  1029. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +12 -12
  1030. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  1031. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +12 -12
  1032. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  1033. package/fesm2020/fundamental-ngx-core-scroll-spy.mjs +7 -7
  1034. package/fesm2020/fundamental-ngx-core-scrollbar.mjs +8 -8
  1035. package/fesm2020/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  1036. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +9 -9
  1037. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  1038. package/fesm2020/fundamental-ngx-core-select.mjs +27 -27
  1039. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  1040. package/fesm2020/fundamental-ngx-core-shared.mjs +3 -3
  1041. package/fesm2020/fundamental-ngx-core-shellbar.mjs +39 -39
  1042. package/fesm2020/fundamental-ngx-core-shellbar.mjs.map +1 -1
  1043. package/fesm2020/fundamental-ngx-core-side-navigation.mjs +14 -14
  1044. package/fesm2020/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  1045. package/fesm2020/fundamental-ngx-core-slider.mjs +15 -15
  1046. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  1047. package/fesm2020/fundamental-ngx-core-split-button.mjs +14 -14
  1048. package/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
  1049. package/fesm2020/fundamental-ngx-core-splitter.mjs +23 -23
  1050. package/fesm2020/fundamental-ngx-core-splitter.mjs.map +1 -1
  1051. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +8 -8
  1052. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  1053. package/fesm2020/fundamental-ngx-core-step-input.mjs +12 -12
  1054. package/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
  1055. package/fesm2020/fundamental-ngx-core-switch.mjs +12 -12
  1056. package/fesm2020/fundamental-ngx-core-switch.mjs.map +1 -1
  1057. package/fesm2020/fundamental-ngx-core-table.mjs +52 -52
  1058. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  1059. package/fesm2020/fundamental-ngx-core-tabs.mjs +63 -60
  1060. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  1061. package/fesm2020/fundamental-ngx-core-text.mjs +8 -8
  1062. package/fesm2020/fundamental-ngx-core-text.mjs.map +1 -1
  1063. package/fesm2020/fundamental-ngx-core-theming.mjs +7 -7
  1064. package/fesm2020/fundamental-ngx-core-theming.mjs.map +1 -1
  1065. package/fesm2020/fundamental-ngx-core-tile.mjs +104 -104
  1066. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  1067. package/fesm2020/fundamental-ngx-core-time-picker.mjs +10 -10
  1068. package/fesm2020/fundamental-ngx-core-time.mjs +18 -18
  1069. package/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
  1070. package/fesm2020/fundamental-ngx-core-timeline.mjs +43 -43
  1071. package/fesm2020/fundamental-ngx-core-title.mjs +8 -8
  1072. package/fesm2020/fundamental-ngx-core-title.mjs.map +1 -1
  1073. package/fesm2020/fundamental-ngx-core-token.mjs +18 -18
  1074. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  1075. package/fesm2020/fundamental-ngx-core-toolbar.mjs +39 -39
  1076. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  1077. package/fesm2020/fundamental-ngx-core-tree.mjs +11 -11
  1078. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  1079. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +39 -39
  1080. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  1081. package/fesm2020/fundamental-ngx-core-utils.mjs +160 -160
  1082. package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  1083. package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs +15 -15
  1084. package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  1085. package/fesm2020/fundamental-ngx-core-wizard.mjs +33 -33
  1086. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  1087. package/fesm2020/fundamental-ngx-core.mjs +4 -4
  1088. package/file-uploader/deprecated-file-uploader-content-density.directive.d.ts +1 -1
  1089. package/file-uploader/directives/file-uploader-dragndrop.directive.d.ts +1 -1
  1090. package/file-uploader/directives/file-uploader-select.directive.d.ts +1 -1
  1091. package/file-uploader/file-uploader.component.d.ts +1 -1
  1092. package/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.d.ts +1 -1
  1093. package/fixed-card-layout/fixed-card-layout.component.d.ts +2 -2
  1094. package/flexible-column-layout/flexible-column-layout.component.d.ts +1 -1
  1095. package/form/fieldset/fieldset.component.d.ts +1 -1
  1096. package/form/form-control/deprecated-form-control-content-density.directive.d.ts +1 -1
  1097. package/form/form-control/form-control.component.d.ts +1 -1
  1098. package/form/form-control/input-form-control.directive.d.ts +1 -1
  1099. package/form/form-control/textarea-form-control.directive.d.ts +1 -1
  1100. package/form/form-group/form-group.component.d.ts +1 -1
  1101. package/form/form-header/form-header.component.d.ts +1 -1
  1102. package/form/form-input-message-group/form-input-message-group.component.d.ts +1 -1
  1103. package/form/form-item/form-item.component.d.ts +1 -1
  1104. package/form/form-label/form-label.component.d.ts +1 -1
  1105. package/form/form-legend/form-legend.directive.d.ts +1 -1
  1106. package/form/form-message/form-message.component.d.ts +1 -1
  1107. package/formatted-text/formatted-text.component.d.ts +1 -1
  1108. package/fundamental-ngx-core-v0.37.3.tgz +0 -0
  1109. package/grid-list/components/grid-list/grid-list-base.component.d.ts +1 -1
  1110. package/grid-list/components/grid-list/grid-list.component.d.ts +1 -1
  1111. package/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.d.ts +1 -1
  1112. package/grid-list/components/grid-list-footer/grid-list-footer.component.d.ts +1 -1
  1113. package/grid-list/components/grid-list-group-header/grid-list-group-header.component.d.ts +1 -1
  1114. package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +1 -1
  1115. package/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.d.ts +1 -1
  1116. package/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.d.ts +1 -1
  1117. package/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.d.ts +1 -1
  1118. package/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.d.ts +1 -1
  1119. package/grid-list/components/grid-list-title-bar/grid-list-title-bar.directive.d.ts +1 -1
  1120. package/grid-list/components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component.d.ts +1 -1
  1121. package/grid-list/directives/grid-list-item-body.directive.d.ts +1 -1
  1122. package/grid-list/directives/grid-list-item-image.directive.d.ts +1 -1
  1123. package/icon/icon.component.d.ts +1 -1
  1124. package/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.d.ts +1 -1
  1125. package/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.d.ts +1 -1
  1126. package/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.d.ts +1 -1
  1127. package/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.d.ts +1 -1
  1128. package/illustrated-message/illustrated-message.component.d.ts +1 -1
  1129. package/infinite-scroll/infinite-scroll.directive.d.ts +1 -1
  1130. package/info-label/info-label.component.d.ts +1 -1
  1131. package/inline-help/inline-help.directive.d.ts +1 -1
  1132. package/input-group/deprecated-input-group-compact.directive.d.ts +1 -1
  1133. package/input-group/input-group-directives.d.ts +3 -3
  1134. package/input-group/input-group.component.d.ts +1 -1
  1135. package/layout-grid/directives/layout-grid-col.directive.d.ts +1 -1
  1136. package/layout-grid/directives/layout-grid-row.directive.d.ts +1 -1
  1137. package/layout-grid/layout-grid.component.d.ts +1 -1
  1138. package/layout-panel/layout-panel-actions/layout-panel-actions.component.d.ts +1 -1
  1139. package/layout-panel/layout-panel-body/layout-panel-body.component.d.ts +1 -1
  1140. package/layout-panel/layout-panel-description/layout-panel-description.component.d.ts +1 -1
  1141. package/layout-panel/layout-panel-filters/layout-panel-filters.component.d.ts +1 -1
  1142. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +1 -1
  1143. package/layout-panel/layout-panel-head/layout-panel-head.component.d.ts +1 -1
  1144. package/layout-panel/layout-panel-header/layout-panel-header.component.d.ts +1 -1
  1145. package/layout-panel/layout-panel-title/layout-panel-title.directive.d.ts +1 -1
  1146. package/layout-panel/layout-panel.component.d.ts +1 -1
  1147. package/link/link.component.d.ts +6 -4
  1148. package/list/deprecated-list-content-density,directive.d.ts +1 -1
  1149. package/list/directives/byline/list-byline-left.directive.d.ts +1 -1
  1150. package/list/directives/byline/list-byline-right.directive.d.ts +1 -1
  1151. package/list/directives/byline/list-byline.directive.d.ts +1 -1
  1152. package/list/directives/byline/list-content.directive.d.ts +1 -1
  1153. package/list/directives/byline/list-thumbnail.directive.d.ts +1 -1
  1154. package/list/directives/list-footer.directive.d.ts +1 -1
  1155. package/list/directives/list-group-header.directive.d.ts +1 -1
  1156. package/list/directives/list-icon.directive.d.ts +1 -1
  1157. package/list/directives/list-link.directive.d.ts +1 -1
  1158. package/list/directives/list-navigation-item-arrow.directive.d.ts +1 -1
  1159. package/list/directives/list-navigation-item-text.directive.d.ts +1 -1
  1160. package/list/directives/list-secondary.directive.d.ts +1 -1
  1161. package/list/directives/list-title-text.directive.d.ts +1 -1
  1162. package/list/directives/list-title.directive.d.ts +1 -1
  1163. package/list/list-focus-item.model.d.ts +1 -1
  1164. package/list/list-item/list-item.component.d.ts +1 -1
  1165. package/list/list-message.directive.d.ts +1 -1
  1166. package/list/list-navigation-item/list-navigation-item.component.d.ts +1 -1
  1167. package/list/list.component.d.ts +1 -1
  1168. package/menu/directives/deprecated-menu-compact.directive.d.ts +1 -1
  1169. package/menu/directives/menu-addon.directive.d.ts +1 -1
  1170. package/menu/directives/menu-interactive.directive.d.ts +1 -1
  1171. package/menu/directives/menu-shortcut.directive.d.ts +1 -1
  1172. package/menu/directives/menu-title.directive.d.ts +1 -1
  1173. package/menu/directives/menu-trigger.directive.d.ts +1 -1
  1174. package/menu/menu-item/menu-item.component.d.ts +2 -2
  1175. package/menu/menu-mobile/menu-mobile.component.d.ts +1 -1
  1176. package/menu/menu-separator/menu-separator.component.d.ts +1 -1
  1177. package/menu/menu.component.d.ts +1 -1
  1178. package/message-box/directives/message-box-decisive-button.directive.d.ts +1 -1
  1179. package/message-box/message-box-body/message-box-body.component.d.ts +1 -1
  1180. package/message-box/message-box-container/message-box-container.component.d.ts +1 -1
  1181. package/message-box/message-box-default/message-box-default.component.d.ts +1 -1
  1182. package/message-box/message-box-footer/message-box-footer.component.d.ts +1 -1
  1183. package/message-box/message-box-footer-button/message-box-footer-button.component.d.ts +1 -1
  1184. package/message-box/message-box-header/message-box-header.component.d.ts +1 -1
  1185. package/message-box/message-box-semantic-icon/message-box-semantic-icon.component.d.ts +1 -1
  1186. package/message-box/message-box.component.d.ts +1 -1
  1187. package/message-page/message-page-actions/message-page-actions.component.d.ts +1 -1
  1188. package/message-page/message-page-more/message-page-more.component.d.ts +1 -1
  1189. package/message-page/message-page-subtitle/message-page-subtitle.component.d.ts +1 -1
  1190. package/message-page/message-page-title/message-page-title.component.d.ts +1 -1
  1191. package/message-page/message-page.component.d.ts +1 -1
  1192. package/message-strip/message-strip.component.d.ts +1 -1
  1193. package/message-toast/message-toast-utils/message-toast-container.component.d.ts +1 -1
  1194. package/message-toast/message-toast.component.d.ts +1 -1
  1195. package/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.d.ts +1 -1
  1196. package/micro-process-flow/components/micro-process-flow/micro-process-flow.component.d.ts +1 -1
  1197. package/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.d.ts +1 -1
  1198. package/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.d.ts +1 -1
  1199. package/micro-process-flow/micro-process-flow-focusable-item.directive.d.ts +1 -1
  1200. package/micro-process-flow/micro-process-flow-intermediary-item.directive.d.ts +1 -1
  1201. package/multi-input/deprecated-multi-input-compact.directive.d.ts +1 -1
  1202. package/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +1 -1
  1203. package/multi-input/multi-input.component.d.ts +1 -1
  1204. package/nested-list/deprecated-nested-list-compact.directive.d.ts +1 -1
  1205. package/nested-list/nested-content/nested-list-content.directive.d.ts +1 -1
  1206. package/nested-list/nested-item/nested-item.directive.d.ts +1 -1
  1207. package/nested-list/nested-link/nested-link.directive.d.ts +1 -1
  1208. package/nested-list/nested-list/nested-list.directive.d.ts +1 -1
  1209. package/nested-list/nested-list-directives.d.ts +4 -4
  1210. package/nested-list/nested-list-popover/nested-list-popover.component.d.ts +1 -1
  1211. package/nested-list/prepared-nested-list/prepared-nested-list.component.d.ts +1 -1
  1212. package/notification/directives/notification-footer-content.directive.d.ts +1 -1
  1213. package/notification/directives/notification-indicator.directive.d.ts +1 -1
  1214. package/notification/directives/notification-limit-description.directive.d.ts +1 -1
  1215. package/notification/directives/notification-limit-title.directive.d.ts +1 -1
  1216. package/notification/directives/notification-paragraph.directive.d.ts +1 -1
  1217. package/notification/directives/notification-separator.directive.d.ts +1 -1
  1218. package/notification/directives/notification-title.directive.d.ts +1 -1
  1219. package/notification/notification/notification.component.d.ts +1 -1
  1220. package/notification/notification-actions/notification-actions.component.d.ts +1 -1
  1221. package/notification/notification-body/notification-body.component.d.ts +1 -1
  1222. package/notification/notification-content/notification-content.component.d.ts +1 -1
  1223. package/notification/notification-footer/notification-footer.component.d.ts +1 -1
  1224. package/notification/notification-group/notification-group.component.d.ts +1 -1
  1225. package/notification/notification-group-header/notification-group-header.component.d.ts +1 -1
  1226. package/notification/notification-group-list/notification-group-list.component.d.ts +1 -1
  1227. package/notification/notification-header/notification-header.component.d.ts +1 -1
  1228. package/notification/notification-limit/notification-limit.component.d.ts +1 -1
  1229. package/notification/notification-utils/notification-container.d.ts +1 -1
  1230. package/notification/notification-utils/notification-group-base.d.ts +1 -1
  1231. package/object-identifier/object-identifier.component.d.ts +1 -1
  1232. package/object-marker/object-marker.component.d.ts +1 -1
  1233. package/object-number/object-number.component.d.ts +1 -1
  1234. package/object-status/object-status.component.d.ts +1 -1
  1235. package/overflow-layout/directives/overflow-expand.directive.d.ts +1 -1
  1236. package/overflow-layout/directives/overflow-item-container-ref.directive.d.ts +1 -1
  1237. package/overflow-layout/directives/overflow-item-ref.directive.d.ts +1 -1
  1238. package/overflow-layout/directives/overflow-layout-focusable-item.directive.d.ts +1 -1
  1239. package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +1 -1
  1240. package/overflow-layout/directives/overflow-layout-item.directive.d.ts +1 -1
  1241. package/overflow-layout/directives/overflow-layout-popover-content.directive.d.ts +1 -1
  1242. package/overflow-layout/overflow-layout.component.d.ts +1 -1
  1243. package/package.json +9 -9
  1244. package/pagination/deprecated-pagination-compact.directive.d.ts +1 -1
  1245. package/pagination/pagination.component.d.ts +1 -1
  1246. package/panel/deprecated-panel-compact.directive.d.ts +1 -1
  1247. package/panel/panel-content/panel-content.directive.d.ts +1 -1
  1248. package/panel/panel-title/panel-title.directive.d.ts +1 -1
  1249. package/panel/panel.component.d.ts +1 -1
  1250. package/popover/base/base-popover.class.d.ts +1 -1
  1251. package/popover/popover-body/popover-body-directives/popover-body-footer.directive.d.ts +1 -1
  1252. package/popover/popover-body/popover-body-directives/popover-body-header.directive.d.ts +1 -1
  1253. package/popover/popover-body/popover-body.component.d.ts +1 -1
  1254. package/popover/popover-container/popover-container.directive.d.ts +1 -1
  1255. package/popover/popover-control/popover-control.component.d.ts +1 -1
  1256. package/popover/popover-mobile/popover-mobile.component.d.ts +1 -1
  1257. package/popover/popover-trigger.directive.d.ts +1 -1
  1258. package/popover/popover.component.d.ts +1 -1
  1259. package/product-switch/product-switch/product-switch.component.d.ts +1 -1
  1260. package/product-switch/product-switch-body/product-switch-body.component.d.ts +1 -1
  1261. package/progress-indicator/progress-indicator.component.d.ts +1 -1
  1262. package/quick-view/quick-view/quick-view.component.d.ts +1 -1
  1263. package/quick-view/quick-view-group/quick-view-group.component.d.ts +1 -1
  1264. package/quick-view/quick-view-group-item/quick-view-group-item.component.d.ts +1 -1
  1265. package/quick-view/quick-view-group-item-content/quick-view-group-item-content-element.directive.d.ts +1 -1
  1266. package/quick-view/quick-view-group-item-content/quick-view-group-item-content.component.d.ts +1 -1
  1267. package/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.d.ts +1 -1
  1268. package/quick-view/quick-view-group-title/quick-view-group-title.component.d.ts +1 -1
  1269. package/quick-view/quick-view-subheader/quick-view-subheader.component.d.ts +1 -1
  1270. package/quick-view/quick-view-subheader-subtitle/quick-view-subheader-subtitle.component.d.ts +1 -1
  1271. package/quick-view/quick-view-subheader-title/quick-view-subheader-title.component.d.ts +1 -1
  1272. package/quick-view/quick-view-title/quick-view-title.component.d.ts +1 -1
  1273. package/radio/deprecated-radio-button-compact.directive.d.ts +1 -1
  1274. package/radio/radio-button/radio-button.component.d.ts +1 -1
  1275. package/rating-indicator/components/rating-indicator.component.d.ts +1 -1
  1276. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +1 -1
  1277. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +1 -1
  1278. package/scroll-spy/scroll-spy.directive.d.ts +1 -1
  1279. package/scrollbar/scrollbar.component.d.ts +1 -1
  1280. package/segmented-button/segmented-button.component.d.ts +1 -1
  1281. package/select/deprecated-select-compact.directive.d.ts +1 -1
  1282. package/select/option/option.component.d.ts +1 -1
  1283. package/select/select-mobile/select-mobile.component.d.ts +1 -1
  1284. package/select/select.component.d.ts +1 -1
  1285. package/shellbar/deprecated-shellbar-compact.directive.d.ts +1 -1
  1286. package/shellbar/product-menu/product-menu.component.d.ts +1 -1
  1287. package/shellbar/shellbar-action/shellbar-action.component.d.ts +1 -1
  1288. package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +1 -1
  1289. package/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.d.ts +1 -1
  1290. package/shellbar/shellbar-logo/shellbar-logo.component.d.ts +1 -1
  1291. package/shellbar/shellbar-sidenav.directive.d.ts +1 -1
  1292. package/shellbar/shellbar-subtitle/shellbar-subtitle.component.d.ts +1 -1
  1293. package/shellbar/shellbar-title/shellbar-title.component.d.ts +1 -1
  1294. package/shellbar/shellbar.component.d.ts +1 -1
  1295. package/shellbar/user-menu/shellbar-user-menu.component.d.ts +1 -1
  1296. package/side-navigation/side-navigation-main.directive.d.ts +1 -1
  1297. package/side-navigation/side-navigation-utility.directive.d.ts +1 -1
  1298. package/side-navigation/side-navigation.component.d.ts +1 -1
  1299. package/slider/deprecated-slider-cozy.directive.d.ts +1 -1
  1300. package/slider/slider-position.directive.d.ts +1 -1
  1301. package/slider/slider.component.d.ts +1 -1
  1302. package/split-button/deprecated-split-button-compact.directive.d.ts +1 -1
  1303. package/split-button/split-button-utils/split-button.directives.d.ts +1 -1
  1304. package/split-button/split-button.component.d.ts +1 -1
  1305. package/splitter/splitter-pagination/splitter-pagination.component.d.ts +1 -1
  1306. package/splitter/splitter-pane-container/splitter-pane-container.component.d.ts +1 -1
  1307. package/splitter/splitter-resizer/splitter-resizer.component.d.ts +1 -1
  1308. package/splitter/splitter-split-pane/splitter-split-pane.component.d.ts +1 -1
  1309. package/splitter/splitter.component.d.ts +1 -1
  1310. package/status-indicator/status-indicator.component.d.ts +1 -1
  1311. package/step-input/deprecated-step-input-compact.directive.d.ts +1 -1
  1312. package/step-input/step-input.component.d.ts +1 -1
  1313. package/switch/deprecated-switch-compact.directive.d.ts +1 -1
  1314. package/switch/switch.component.d.ts +1 -1
  1315. package/table/deprecated-table-compact.directive.d.ts +1 -1
  1316. package/table/deprecated-table-condensed.directive.d.ts +1 -1
  1317. package/table/directives/table-body.directive.d.ts +1 -1
  1318. package/table/directives/table-cell.directive.d.ts +1 -1
  1319. package/table/directives/table-footer.directive.d.ts +1 -1
  1320. package/table/directives/table-header.directive.d.ts +1 -1
  1321. package/table/directives/table-icon.directive.d.ts +1 -1
  1322. package/table/directives/table-inner.directive.d.ts +1 -1
  1323. package/table/directives/table-popover.directive.d.ts +1 -1
  1324. package/table/directives/table-responsive-wrapper.directive.d.ts +1 -1
  1325. package/table/directives/table-row.directive.d.ts +1 -1
  1326. package/table/directives/table-status-indicator.directive.d.ts +1 -1
  1327. package/table/directives/table-text.directive.d.ts +1 -1
  1328. package/table/table-wrapper.component.d.ts +1 -1
  1329. package/table/table.component.d.ts +1 -1
  1330. package/tabs/deprecated-tabs-compact.directive.d.ts +1 -1
  1331. package/tabs/tab-item/tab-item.directive.d.ts +1 -1
  1332. package/tabs/tab-item-expand/tab-item-expand.component.d.ts +1 -1
  1333. package/tabs/tab-link/tab-link.directive.d.ts +1 -1
  1334. package/tabs/tab-list.component.d.ts +3 -1
  1335. package/tabs/tab-nav/tab-nav.component.d.ts +1 -1
  1336. package/tabs/tab-panel/tab-panel.component.d.ts +1 -1
  1337. package/tabs/tab-utils/tab-directives.d.ts +10 -10
  1338. package/text/text.component.d.ts +1 -1
  1339. package/tile/directives/numeric-content.directives.d.ts +9 -9
  1340. package/tile/directives/tile.directives.d.ts +23 -23
  1341. package/tile/tile.component.d.ts +1 -1
  1342. package/time/deprecated-time-content-density.directive.d.ts +1 -1
  1343. package/time/time-column/time-column.component.d.ts +1 -1
  1344. package/time/time.component.d.ts +1 -1
  1345. package/time-picker/deprecated-timepicker-compact.directive.d.ts +1 -1
  1346. package/time-picker/time-picker.component.d.ts +1 -1
  1347. package/timeline/components/timeline-node/timeline-node.component.d.ts +1 -1
  1348. package/timeline/components/timeline-node-body/timeline-node-body.component.d.ts +1 -1
  1349. package/timeline/components/timeline-node-footer/timeline-node-footer.component.d.ts +1 -1
  1350. package/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component.d.ts +1 -1
  1351. package/timeline/components/timeline-node-header/timeline-node-header.component.d.ts +1 -1
  1352. package/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.d.ts +1 -1
  1353. package/timeline/directives/class-bindings/timeline-node-header-info-text.directive.d.ts +1 -1
  1354. package/timeline/directives/class-bindings/timeline-node-header-info-title.directive.d.ts +1 -1
  1355. package/timeline/directives/timeline-first-list-outlet.directive.d.ts +1 -1
  1356. package/timeline/directives/timeline-node-def.directive.d.ts +1 -1
  1357. package/timeline/directives/timeline-second-list-outlet.directive.d.ts +1 -1
  1358. package/timeline/timeline.component.d.ts +1 -1
  1359. package/title/title.component.d.ts +1 -1
  1360. package/token/deprecated-tokenizer-content-density.directive.d.ts +1 -1
  1361. package/token/token-input.directive.d.ts +1 -1
  1362. package/token/token.component.d.ts +1 -1
  1363. package/token/tokenizer.component.d.ts +1 -1
  1364. package/toolbar/deprecated-toolbar-size.directive.d.ts +1 -1
  1365. package/toolbar/toolbar-form-label.directive.d.ts +1 -1
  1366. package/toolbar/toolbar-item.directive.d.ts +1 -1
  1367. package/toolbar/toolbar-label.directive.d.ts +1 -1
  1368. package/toolbar/toolbar-overflow-button-menu.directive.d.ts +1 -1
  1369. package/toolbar/toolbar-overflow-button.directive.d.ts +1 -1
  1370. package/toolbar/toolbar-overflow-group.directive.d.ts +1 -1
  1371. package/toolbar/toolbar-overflow-priority.directive.d.ts +1 -1
  1372. package/toolbar/toolbar-separator.component.d.ts +1 -1
  1373. package/toolbar/toolbar-spacer.component.d.ts +1 -1
  1374. package/toolbar/toolbar.component.d.ts +1 -1
  1375. package/tree/tree-child.component.d.ts +1 -1
  1376. package/tree/tree.component.d.ts +1 -1
  1377. package/upload-collection/upload-collection-button-group/upload-collection-button-group.component.d.ts +1 -1
  1378. package/upload-collection/upload-collection-form-item/upload-collection-form-item.component.d.ts +1 -1
  1379. package/upload-collection/upload-collection-item.directive.d.ts +1 -1
  1380. package/upload-collection/upload-collection-simple.directives.d.ts +7 -7
  1381. package/upload-collection/upload-collection.component.d.ts +1 -1
  1382. package/utils/abstract-fd-ngx-class.d.ts +1 -1
  1383. package/utils/directives/auto-complete/auto-complete.directive.d.ts +1 -1
  1384. package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +1 -1
  1385. package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +1 -1
  1386. package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +1 -1
  1387. package/utils/directives/initial-focus/initial-focus.directive.d.ts +1 -1
  1388. package/utils/directives/line-clamp/line-clamp.directive.d.ts +2 -2
  1389. package/utils/directives/only-digits/only-digits.directive.d.ts +1 -1
  1390. package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +1 -1
  1391. package/utils/directives/overflow-list/overflow-list.directive.d.ts +1 -1
  1392. package/utils/directives/resize/resize-handle.directive.d.ts +1 -1
  1393. package/utils/directives/resize/resize.directive.d.ts +1 -1
  1394. package/utils/directives/template/template.directive.d.ts +1 -1
  1395. package/utils/directives/truncate/truncate.directive.d.ts +1 -1
  1396. package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +1 -1
  1397. package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +1 -1
  1398. package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +1 -1
  1399. package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -1
  1400. package/utils/dynamic-component/dynamic-component-injector.d.ts +0 -11
  1401. package/vertical-navigation/vertical-navigation-group-header.directive.d.ts +1 -1
  1402. package/vertical-navigation/vertical-navigation-main-navigation.component.d.ts +1 -1
  1403. package/vertical-navigation/vertical-navigation.component.d.ts +1 -1
  1404. package/wizard/deprecated-wizard-compact.directive.d.ts +1 -1
  1405. package/wizard/wizard-content/wizard-content.component.d.ts +1 -1
  1406. package/wizard/wizard-navigation/wizard-navigation.component.d.ts +1 -1
  1407. package/wizard/wizard-next-step/wizard-next-step.component.d.ts +1 -1
  1408. package/wizard/wizard-progress-bar/wizard-progress-bar.directive.d.ts +1 -1
  1409. package/wizard/wizard-step/wizard-step.component.d.ts +1 -1
  1410. package/wizard/wizard-step-indicator/wizard-step-indicator.component.d.ts +1 -1
  1411. package/wizard/wizard.component.d.ts +1 -1
  1412. package/fundamental-ngx-core-v0.37.2-rc.0.tgz +0 -0
@@ -80,11 +80,11 @@ export class TokenComponent {
80
80
  this._cdRef.markForCheck();
81
81
  }
82
82
  }
83
- TokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
84
- TokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TokenComponent, selector: "fd-token", inputs: { disabled: "disabled", selected: "selected", readOnly: "readOnly", deleteButtonLabel: "deleteButtonLabel", ariaRoleDescription: "ariaRoleDescription" }, outputs: { onCloseClick: "onCloseClick", onRemove: "onRemove", onTokenClick: "onTokenClick", onTokenKeydown: "onTokenKeydown" }, providers: [contentDensityObserverProviders()], viewQueries: [{ propertyName: "tokenWrapperElement", first: true, predicate: ["tokenWrapperElement"], descendants: true }, { propertyName: "_content", first: true, predicate: ["content"], descendants: true }, { propertyName: "_viewContainer", first: true, predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@import\"~fundamental-styles/dist/token.css\";.fd-token__disabled:after{cursor:not-allowed}.no-text-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenComponent, decorators: [{
83
+ TokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TokenComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
84
+ TokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: TokenComponent, selector: "fd-token", inputs: { disabled: "disabled", selected: "selected", readOnly: "readOnly", deleteButtonLabel: "deleteButtonLabel", ariaRoleDescription: "ariaRoleDescription" }, outputs: { onCloseClick: "onCloseClick", onRemove: "onRemove", onTokenClick: "onTokenClick", onTokenKeydown: "onTokenKeydown" }, providers: [contentDensityObserverProviders()], viewQueries: [{ propertyName: "tokenWrapperElement", first: true, predicate: ["tokenWrapperElement"], descendants: true }, { propertyName: "_content", first: true, predicate: ["content"], descendants: true }, { propertyName: "_viewContainer", first: true, predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-token{-webkit-box-sizing:border-box;-ms-flex-negative:0;align-items:center;background-color:var(--sapButton_TokenBackground);border:0;border:var(--sapButton_BorderWidth) solid var(--sapButton_TokenBorderColor);border-radius:var(--fdToken_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);color:var(--fdToken_Text_Color);cursor:default;display:inline-flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:1.625rem;line-height:var(--sapContent_LineHeight);line-height:1.5rem;margin:0;max-width:100%;min-width:3.625rem;padding:0;padding:.25rem 0 .25rem var(--fdToken_Padding_Left);text-align:center;text-overflow:clip;white-space:nowrap}.fd-token:after,.fd-token:before{box-sizing:inherit;font-size:inherit}.fd-token[dir=rtl],[dir=rtl] .fd-token{padding-left:0;padding-right:var(--fdToken_Padding_Left)}.fd-token__text{max-width:100%;min-width:auto;overflow:hidden;text-overflow:ellipsis;text-shadow:var(--fdToken_Text_Shadow);width:100%}.fd-token__close{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_IconColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;height:1.625rem;justify-content:center;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;min-width:1.75rem;padding:.25rem .5rem;width:1.75rem}.fd-token__close:after,.fd-token__close:before{box-sizing:inherit;font-size:inherit}.fd-token__close:before{content:\"\\e03e\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-token__close.is-focus,.fd-token__close:focus{box-shadow:none;outline:none;z-index:5}.fd-token:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Hover);background-color:var(--fdToken_Background_Color_Hover);border-color:var(--fdToken_Border_Color_Hover);box-shadow:var(--fdToken_Box_Shadow_Hover)}.fd-token.is-focus,.fd-token:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--compact{height:1.25rem;line-height:1.125rem;min-width:3rem;padding:.1rem 0 .1rem .25rem}.fd-token--compact .fd-token__close{height:1.25rem;min-width:1.25rem;padding:.1rem .25rem;vertical-align:baseline;width:1.25rem}.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--compact{padding-left:0;padding-right:.25rem}.fd-token--compact.is-focus,.fd-token--compact:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-offset:var(--fdToken_Outline_Offset_Compact);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--disabled{cursor:not-allowed}.fd-token--readonly{background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);color:var(--sapContent_LabelColor);padding:.25rem .375rem}.fd-token--readonly.fd-token--compact{padding:.1rem .25rem}.fd-token--readonly.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--readonly.fd-token--compact{padding-left:.25rem}.fd-token--readonly.is-hover,.fd-token--readonly:hover{-webkit-box-shadow:none;background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);box-shadow:none;color:var(--sapContent_LabelColor)}.fd-token--readonly[dir=rtl],[dir=rtl] .fd-token--readonly{padding-left:.375rem}.fd-token.fd-token--selected{background-color:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor)}.fd-token.fd-token--selected,.fd-token.fd-token--selected .fd-token__close{color:var(--sapButton_Selected_TextColor)}.fd-token.fd-token--selected.is-hover,.fd-token.fd-token--selected:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Selected_Hover);background-color:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);box-shadow:var(--fdToken_Box_Shadow_Selected_Hover)}.fd-token.fd-token--selected.is-focus,.fd-token.fd-token--selected:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-color:var(--fdToken_Border_Color_Selected_Focus);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token__disabled:after{cursor:not-allowed}.no-text-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TokenComponent, decorators: [{
86
86
  type: Component,
87
- args: [{ selector: 'fd-token', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@import\"~fundamental-styles/dist/token.css\";.fd-token__disabled:after{cursor:not-allowed}.no-text-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n"] }]
87
+ args: [{ selector: 'fd-token', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-token{-webkit-box-sizing:border-box;-ms-flex-negative:0;align-items:center;background-color:var(--sapButton_TokenBackground);border:0;border:var(--sapButton_BorderWidth) solid var(--sapButton_TokenBorderColor);border-radius:var(--fdToken_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);color:var(--fdToken_Text_Color);cursor:default;display:inline-flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:1.625rem;line-height:var(--sapContent_LineHeight);line-height:1.5rem;margin:0;max-width:100%;min-width:3.625rem;padding:0;padding:.25rem 0 .25rem var(--fdToken_Padding_Left);text-align:center;text-overflow:clip;white-space:nowrap}.fd-token:after,.fd-token:before{box-sizing:inherit;font-size:inherit}.fd-token[dir=rtl],[dir=rtl] .fd-token{padding-left:0;padding-right:var(--fdToken_Padding_Left)}.fd-token__text{max-width:100%;min-width:auto;overflow:hidden;text-overflow:ellipsis;text-shadow:var(--fdToken_Text_Shadow);width:100%}.fd-token__close{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_IconColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;height:1.625rem;justify-content:center;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;min-width:1.75rem;padding:.25rem .5rem;width:1.75rem}.fd-token__close:after,.fd-token__close:before{box-sizing:inherit;font-size:inherit}.fd-token__close:before{content:\"\\e03e\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-token__close.is-focus,.fd-token__close:focus{box-shadow:none;outline:none;z-index:5}.fd-token:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Hover);background-color:var(--fdToken_Background_Color_Hover);border-color:var(--fdToken_Border_Color_Hover);box-shadow:var(--fdToken_Box_Shadow_Hover)}.fd-token.is-focus,.fd-token:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--compact{height:1.25rem;line-height:1.125rem;min-width:3rem;padding:.1rem 0 .1rem .25rem}.fd-token--compact .fd-token__close{height:1.25rem;min-width:1.25rem;padding:.1rem .25rem;vertical-align:baseline;width:1.25rem}.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--compact{padding-left:0;padding-right:.25rem}.fd-token--compact.is-focus,.fd-token--compact:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-offset:var(--fdToken_Outline_Offset_Compact);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--disabled{cursor:not-allowed}.fd-token--readonly{background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);color:var(--sapContent_LabelColor);padding:.25rem .375rem}.fd-token--readonly.fd-token--compact{padding:.1rem .25rem}.fd-token--readonly.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--readonly.fd-token--compact{padding-left:.25rem}.fd-token--readonly.is-hover,.fd-token--readonly:hover{-webkit-box-shadow:none;background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);box-shadow:none;color:var(--sapContent_LabelColor)}.fd-token--readonly[dir=rtl],[dir=rtl] .fd-token--readonly{padding-left:.375rem}.fd-token.fd-token--selected{background-color:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor)}.fd-token.fd-token--selected,.fd-token.fd-token--selected .fd-token__close{color:var(--sapButton_Selected_TextColor)}.fd-token.fd-token--selected.is-hover,.fd-token.fd-token--selected:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Selected_Hover);background-color:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);box-shadow:var(--fdToken_Box_Shadow_Selected_Hover)}.fd-token.fd-token--selected.is-focus,.fd-token.fd-token--selected:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-color:var(--fdToken_Border_Color_Selected_Focus);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token__disabled:after{cursor:not-allowed}.no-text-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n"] }]
88
88
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ContentDensityObserver }]; }, propDecorators: { disabled: [{
89
89
  type: Input
90
90
  }], tokenWrapperElement: [{
@@ -13,8 +13,8 @@ import { I18nModule } from '@fundamental-ngx/i18n';
13
13
  import * as i0 from "@angular/core";
14
14
  export class TokenModule {
15
15
  }
16
- TokenModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- TokenModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: TokenModule, declarations: [TokenComponent,
16
+ TokenModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TokenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ TokenModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: TokenModule, declarations: [TokenComponent,
18
18
  TokenizerComponent,
19
19
  TokenizerInputDirective,
20
20
  DeprecatedTokenizerContentDensityDirective], imports: [CommonModule,
@@ -28,14 +28,14 @@ TokenModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
28
28
  TokenizerInputDirective,
29
29
  DeprecatedTokenizerContentDensityDirective,
30
30
  ContentDensityModule] });
31
- TokenModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenModule, imports: [CommonModule,
31
+ TokenModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TokenModule, imports: [CommonModule,
32
32
  InputGroupModule,
33
33
  ButtonModule,
34
34
  PopoverModule,
35
35
  ListModule,
36
36
  ContentDensityModule,
37
37
  I18nModule, ContentDensityModule] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenModule, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TokenModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  declarations: [
@@ -544,17 +544,17 @@ export class TokenizerComponent {
544
544
  .subscribe(() => this.onResize());
545
545
  }
546
546
  }
547
- TokenizerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenizerComponent, deps: [{ token: i1.ContentDensityObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.RtlService, optional: true }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
548
- TokenizerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TokenizerComponent, selector: "fd-tokenizer", inputs: { class: "class", disableKeyboardDeletion: "disableKeyboardDeletion", compactCollapse: "compactCollapse", tokenizerFocusable: "tokenizerFocusable", inputValue: "inputValue", glyph: "glyph", moreTerm: "moreTerm", open: "open" }, outputs: { moreClickedEvent: "moreClickedEvent" }, host: { listeners: { "keydown": "keyDown($event)" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "input", first: true, predicate: i0.forwardRef(function () { return FormControlComponent; }), descendants: true }, { propertyName: "tokenList", predicate: i0.forwardRef(function () { return TokenComponent; }) }], viewQueries: [{ propertyName: "tokenizerInnerEl", first: true, predicate: ["tokenizerInner"], descendants: true }, { propertyName: "moreElement", first: true, predicate: ["moreElement"], descendants: true }, { propertyName: "content", first: true, predicate: ["inputGroupAddOn"], descendants: true }, { propertyName: "_viewContainer", predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["@import\"~fundamental-styles/dist/tokenizer.css\";.fd-tokenizer .fd-token{max-width:inherit}input.fd-input.fd-tokenizer__input{background-color:transparent;margin-right:1px;border:none;outline:none}.fd-tokenizer-more{padding-right:.5rem}[dir=rtl] .fd-tokenizer-more,.fd-tokenizer-more[dir=rtl]{padding-left:.5rem;padding-right:0}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon{height:2.25rem}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon--compact{height:1.625rem}.fd-tokenizer__overflow-list-item{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.InputGroupAddOnDirective, selector: "[fd-input-group-addon]", inputs: ["class", "placement", "type", "state", "button"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "pipe", type: i8.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
547
+ TokenizerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TokenizerComponent, deps: [{ token: i1.ContentDensityObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.RtlService, optional: true }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
548
+ TokenizerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: TokenizerComponent, selector: "fd-tokenizer", inputs: { class: "class", disableKeyboardDeletion: "disableKeyboardDeletion", compactCollapse: "compactCollapse", tokenizerFocusable: "tokenizerFocusable", inputValue: "inputValue", glyph: "glyph", moreTerm: "moreTerm", open: "open" }, outputs: { moreClickedEvent: "moreClickedEvent" }, host: { listeners: { "keydown": "keyDown($event)" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "input", first: true, predicate: i0.forwardRef(function () { return FormControlComponent; }), descendants: true }, { propertyName: "tokenList", predicate: i0.forwardRef(function () { return TokenComponent; }) }], viewQueries: [{ propertyName: "tokenizerInnerEl", first: true, predicate: ["tokenizerInner"], descendants: true }, { propertyName: "moreElement", first: true, predicate: ["moreElement"], descendants: true }, { propertyName: "content", first: true, predicate: ["inputGroupAddOn"], descendants: true }, { propertyName: "_viewContainer", predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tokenizer{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle);background-color:var(--sapField_Background);border:none;border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.25rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:2.25rem;min-width:2.75rem;outline:none;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-tokenizer:after,.fd-tokenizer:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-tokenizer[dir=rtl]::placeholder,[dir=rtl] .fd-tokenizer::placeholder{text-indent:.125rem}.fd-tokenizer::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-tokenizer::-ms-clear{display:none}.fd-tokenizer.is-hover,.fd-tokenizer:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle);background-color:var(--sapField_Hover_Background);border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-tokenizer.is-focus,.fd-tokenizer:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-tokenizer.is-hover,.fd-tokenizer:hover{box-shadow:none}.fd-tokenizer__inner{-ms-overflow-style:none;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:end;-ms-flex-pack:end;align-items:center;display:flex;float:right;justify-content:flex-end;overflow:hidden;padding:0 .3125rem;scrollbar-width:none;white-space:nowrap;width:100%}.fd-tokenizer__inner::-webkit-scrollbar{display:none}.fd-tokenizer .fd-token{margin-right:.3125rem;max-width:calc(100% - 3.3125rem)}.fd-tokenizer .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer__indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tokenizer__indicator:after,.fd-tokenizer__indicator:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer .fd-tokenizer__input{background:transparent}.fd-tokenizer .fd-tokenizer__input.fd-input{border:none;min-width:3rem;padding:0}.fd-tokenizer .fd-tokenizer__input:first-child{padding:0 .3125rem}.fd-tokenizer .fd-tokenizer__input:last-child{flex-basis:100%}.fd-tokenizer .fd-tokenizer__input.is-focus,.fd-tokenizer .fd-tokenizer__input:focus{-webkit-box-shadow:none;background:none;background-color:transparent;border:none;box-shadow:none;outline:none;z-index:5}.fd-tokenizer .fd-tokenizer__input.is-hover,.fd-tokenizer .fd-tokenizer__input:hover{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer.is-focus,.fd-tokenizer:focus{-webkit-box-shadow:none;border:none;box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:-.0625rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-tokenizer--compact{height:1.625rem;min-height:1.625rem}.fd-tokenizer--compact .fd-tokenizer__inner{padding:0 .25rem}.fd-tokenizer--compact .fd-tokenizer__input.fd-input{min-width:2rem}.fd-tokenizer--compact .fd-tokenizer__input:first-child{padding:0 .25rem}.fd-tokenizer--compact .fd-token{margin-right:.25rem;max-width:calc(100% - 2.25rem)}.fd-tokenizer--compact .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer--compact .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer--readonly{background-color:var(--sapField_ReadOnly_Background);overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__inner{overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true],.fd-tokenizer--readonly .fd-tokenizer__input[readonly]{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly.is-focus,.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly:focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true]:focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly]:focus{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none;z-index:5}.fd-tokenizer--scrollable .fd-tokenizer__inner{justify-content:normal;overflow:scroll}.fd-tokenizer .fd-token{max-width:inherit}input.fd-input.fd-tokenizer__input{background-color:transparent;margin-right:1px;border:none;outline:none}.fd-tokenizer-more{padding-right:.5rem}[dir=rtl] .fd-tokenizer-more,.fd-tokenizer-more[dir=rtl]{padding-left:.5rem;padding-right:0}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon{height:2.25rem}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon--compact{height:1.625rem}.fd-tokenizer__overflow-list-item{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.InputGroupAddOnDirective, selector: "[fd-input-group-addon]", inputs: ["class", "placement", "type", "state", "button"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "pipe", type: i8.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
549
549
  __decorate([
550
550
  applyCssClass,
551
551
  __metadata("design:type", Function),
552
552
  __metadata("design:paramtypes", []),
553
553
  __metadata("design:returntype", Array)
554
554
  ], TokenizerComponent.prototype, "buildComponentCssClass", null);
555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenizerComponent, decorators: [{
555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TokenizerComponent, decorators: [{
556
556
  type: Component,
557
- args: [{ selector: 'fd-tokenizer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["@import\"~fundamental-styles/dist/tokenizer.css\";.fd-tokenizer .fd-token{max-width:inherit}input.fd-input.fd-tokenizer__input{background-color:transparent;margin-right:1px;border:none;outline:none}.fd-tokenizer-more{padding-right:.5rem}[dir=rtl] .fd-tokenizer-more,.fd-tokenizer-more[dir=rtl]{padding-left:.5rem;padding-right:0}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon{height:2.25rem}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon--compact{height:1.625rem}.fd-tokenizer__overflow-list-item{display:flex;justify-content:space-between}\n"] }]
557
+ args: [{ selector: 'fd-tokenizer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tokenizer{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle);background-color:var(--sapField_Background);border:none;border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.25rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:2.25rem;min-width:2.75rem;outline:none;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-tokenizer:after,.fd-tokenizer:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-tokenizer[dir=rtl]::placeholder,[dir=rtl] .fd-tokenizer::placeholder{text-indent:.125rem}.fd-tokenizer::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-tokenizer::-ms-clear{display:none}.fd-tokenizer.is-hover,.fd-tokenizer:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle);background-color:var(--sapField_Hover_Background);border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-tokenizer.is-focus,.fd-tokenizer:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-tokenizer.is-hover,.fd-tokenizer:hover{box-shadow:none}.fd-tokenizer__inner{-ms-overflow-style:none;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:end;-ms-flex-pack:end;align-items:center;display:flex;float:right;justify-content:flex-end;overflow:hidden;padding:0 .3125rem;scrollbar-width:none;white-space:nowrap;width:100%}.fd-tokenizer__inner::-webkit-scrollbar{display:none}.fd-tokenizer .fd-token{margin-right:.3125rem;max-width:calc(100% - 3.3125rem)}.fd-tokenizer .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer__indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tokenizer__indicator:after,.fd-tokenizer__indicator:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer .fd-tokenizer__input{background:transparent}.fd-tokenizer .fd-tokenizer__input.fd-input{border:none;min-width:3rem;padding:0}.fd-tokenizer .fd-tokenizer__input:first-child{padding:0 .3125rem}.fd-tokenizer .fd-tokenizer__input:last-child{flex-basis:100%}.fd-tokenizer .fd-tokenizer__input.is-focus,.fd-tokenizer .fd-tokenizer__input:focus{-webkit-box-shadow:none;background:none;background-color:transparent;border:none;box-shadow:none;outline:none;z-index:5}.fd-tokenizer .fd-tokenizer__input.is-hover,.fd-tokenizer .fd-tokenizer__input:hover{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer.is-focus,.fd-tokenizer:focus{-webkit-box-shadow:none;border:none;box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:-.0625rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-tokenizer--compact{height:1.625rem;min-height:1.625rem}.fd-tokenizer--compact .fd-tokenizer__inner{padding:0 .25rem}.fd-tokenizer--compact .fd-tokenizer__input.fd-input{min-width:2rem}.fd-tokenizer--compact .fd-tokenizer__input:first-child{padding:0 .25rem}.fd-tokenizer--compact .fd-token{margin-right:.25rem;max-width:calc(100% - 2.25rem)}.fd-tokenizer--compact .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer--compact .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer--readonly{background-color:var(--sapField_ReadOnly_Background);overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__inner{overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true],.fd-tokenizer--readonly .fd-tokenizer__input[readonly]{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly.is-focus,.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly:focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true]:focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly]:focus{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none;z-index:5}.fd-tokenizer--scrollable .fd-tokenizer__inner{justify-content:normal;overflow:scroll}.fd-tokenizer .fd-token{max-width:inherit}input.fd-input.fd-tokenizer__input{background-color:transparent;margin-right:1px;border:none;outline:none}.fd-tokenizer-more{padding-right:.5rem}[dir=rtl] .fd-tokenizer-more,.fd-tokenizer-more[dir=rtl]{padding-left:.5rem;padding-right:0}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon{height:2.25rem}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon--compact{height:1.625rem}.fd-tokenizer__overflow-list-item{display:flex;justify-content:space-between}\n"] }]
558
558
  }], ctorParameters: function () { return [{ type: i1.ContentDensityObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.RtlService, decorators: [{
559
559
  type: Optional
560
560
  }] }, { type: i0.Renderer2 }]; }, propDecorators: { class: [{
@@ -597,4 +597,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
597
597
  type: HostListener,
598
598
  args: ['keydown', ['$event']]
599
599
  }] } });
600
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3Rva2VuL3Rva2VuaXplci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90b2tlbi90b2tlbml6ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBbUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FB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dGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBLCBCQUNLU1BBQ0UsIERFTEVURSwgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwVG8sIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBhcHBseUNzc0NsYXNzLCBDc3NDbGFzc0J1aWxkZXIsIEtleVV0aWwsIHJlc2l6ZU9ic2VydmFibGUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgVG9rZW5Db21wb25lbnQgfSBmcm9tICcuL3Rva2VuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdG9rZW5pemVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9rZW5pemVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b2tlbml6ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV1cbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5pemVyQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIENzc0NsYXNzQnVpbGRlciwgT25Jbml0LCBPbkNoYW5nZXNcbntcbiAgICAvKiogdXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIERpc2FibGVzIHBvc3NpYmlsaXR5IHRvIHJlbW92ZSB0b2tlbnMgYnkga2V5Ym9hcmQgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVLZXlib2FyZERlbGV0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUb2tlbkNvbXBvbmVudCkpXG4gICAgdG9rZW5MaXN0OiBRdWVyeUxpc3Q8VG9rZW5Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRm9ybUNvbnRyb2xDb21wb25lbnQpKVxuICAgIGlucHV0OiBGb3JtQ29udHJvbENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgndG9rZW5pemVySW5uZXInKVxuICAgIHRva2VuaXplcklubmVyRWw6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdtb3JlRWxlbWVudCcpXG4gICAgbW9yZUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dEdyb3VwQWRkT24nKSBzZXQgY29udGVudChjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgICAgICB0aGlzLmlucHV0R3JvdXBBZGRvbkVsID0gY29udGVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3ZpZXdDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgICByZWFkb25seSBfdmlld0NvbnRhaW5lcjogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2hpZGRlblRva2VucygpOiBUb2tlbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5MaXN0LmZpbHRlcigodG9rZW4pID0+IHRva2VuLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBvbmVudCBpcyBpbiBjb21wYWN0IG1vZGUsIGRldGVybWluZWQgYnkgdGhlIGNvbnN1bWVyXG4gICAgICovXG4gICAgZ2V0IGNvbXBhY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlucHV0R3JvdXBBZGRvbkVsOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gdXNlIGNvenkgdmlzdWFscyBidXQgY29tcGFjdCBjb2xsYXBzaW5nIGJlaGF2aW9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGFjdENvbGxhcHNlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0b2tlbml6ZXIgc2hvdWxkIGhhdmUgZmFrZSBmb2N1cyBpbmRpY2F0b3IsIHdoZW4gaW5wdXQgaXMgZm9jdXNlZCBpbnNpZGUqL1xuICAgIEBJbnB1dCgpXG4gICAgdG9rZW5pemVyRm9jdXNhYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBUaGUgdmFsdWUgZm9yIHRoZSB0b2tlbml6ZXIgaW5wdXQgKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0VmFsdWU6IHN0cmluZztcblxuICAgIC8qKiBJY29uIG9mIHRoZSBidXR0b24gb24gdGhlIHJpZ2h0IG9mIHRoZSBpbnB1dCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdseXBoOiBzdHJpbmc7XG5cbiAgICAvKiogV29yZCB0byB1c2UgZm9yIHdoZW4gdGhlcmUgYXJlIGV4dHJhIHRva2Vucy4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1vcmVUZXJtID0gJ21vcmUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIG9wZW46IGJvb2xlYW47XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggdGVybSBjaGFuZ2VzLiBVc2UgKiRldmVudCogdG8gYWNjZXNzIHRoZSBuZXcgdGVybS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBtb3JlQ2xpY2tlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcmV2aW91c0VsZW1lbnRXaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBtb3JlVG9rZW5zTGVmdDogQXJyYXk8VG9rZW5Db21wb25lbnQ+ID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG1vcmVUb2tlbnNSaWdodDogQXJyYXk8VG9rZW5Db21wb25lbnQ+ID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByZXZpb3VzVG9rZW5Db3VudDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0b2tlbkxpc3RDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRva2VuTGlzdENsaWNrU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGlkZGVuQ296eVRva2VuQ291bnQgPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gVXNlZCB0byBhZGQgZm9jdXMgdG8gdG9rZW5pemVyIGVsZW1lbnQgKi9cbiAgICBfdG9rZW5pemVySGFzRm9jdXMgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dPdmVyZmxvd1BvcG92ZXIgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBWYXJpYWJsZSB3aGljaCB3aWxsIGtlZXAgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCB0b2tlbiBwcmVzc2VkIGluIHRoZSB0b2tlbml6ZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIF9maXJzdEVsZW1lbnRJblNlbGVjdGlvbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIFZhcmlhYmxlIHdoaWNoIHdpbGwga2VlcCB0aGUgaW5kZXggb2YgdGhlIGxhc3QgdG9rZW4gcHJlc3NlZCBpbiB0aGUgdG9rZW5pemVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbGFzdEVsZW1lbnRJblNlbGVjdGlvbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZsYWcgd2hpY2ggd2lsbCBzYXkgaWYgdGhlIGxhc3Qga2V5Ym9hcmQgYW5kIGNsaWNrIG9wZXJhdGlvbiB0aGV5IHVzZWQgd2FzIHVzaW5nIGNvbnRyb2xcbiAgICAgKi9cbiAgICBwcml2YXRlIF9jdHJsUHJldmlvdXM6IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZsYWcgd2hpY2ggd2lsbCBzYXkgaWYgdGhleSBoZWxkIHNoaWZ0IGFuZCBjbGlja2VkIGhpZ2hsaWdodGluZyBlbGVtZW50cyBiZWZvcmUgb3JcbiAgICAgKi9cbiAgICBwcml2YXRlIF9kaXJlY3Rpb25TaGlmdElzUmlnaHQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnY2xpY2snLCAoZTogRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0b2tlbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC5lbGVtZW50UmVmKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2lucHV0S2V5ZG93bkV2ZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2F0Y2ggZm9yIGNoYW5nZXMgdG8gdGhlIHRva2VuTGlzdCBhbmQgYXR0ZW1wdCB0byBleHBhbmQvY29sbGFwc2UgdG9rZW5zIGFzIG5lZWRlZFxuICAgICAgICBpZiAodGhpcy50b2tlbkxpc3RDaGFuZ2VzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdENoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRva2VuTGlzdENoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLnRva2VuTGlzdC5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZXNldFRva2VucygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50b2tlbkxpc3QuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0Q2hhbmdlc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICAgICAgdG9rZW4ub25DbG9zZUNsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2V0VG9rZW5zKCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXRoaXMuY29tcGFjdCAmJiAhdGhpcy5jb21wYWN0Q29sbGFwc2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNvenlUb2tlbkNvdW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuRWxlbWVudEV2ZW50cygpO1xuICAgICAgICB0aGlzLnByZXZpb3VzRWxlbWVudFdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB0aGlzLl9saXN0ZW5PblJlc2l6ZSgpO1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5MaXN0Q2hhbmdlc1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy50b2tlbkxpc3RDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVDbGlja3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgICAgKiBmdW5jdGlvbiBtdXN0IHJldHVybiBzaW5nbGUgc3RyaW5nXG4gICAgICogZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG9yZGVyIHdoaWNoIGNzcyBjbGFzc2VzIGFyZSBhcHBsaWVkXG4gICAgICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLmNsYXNzXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGFuZGxlVG9rZW5DbGlja1N1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQ2xpY2tzKCk7XG4gICAgICAgIHRoaXMudG9rZW5MaXN0LmZvckVhY2goKHRva2VuLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuLnRva2VuV3JhcHBlckVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0b2tlbi50b2tlbldyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdG9rZW4ub25Ub2tlbkNsaWNrLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNUb2tlbkVsZW1lbnQoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDb250cm9sS2V5KGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3RybFNlbGVjdGVkKHRva2VuLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWV2ZW50LnNoaWZ0S2V5IHx8IHRoaXMuX2N0cmxQcmV2aW91cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYmFzaWNTZWxlY3RlZCh0b2tlbiwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0Rmlyc3RBbmRMYXN0RWxlbWVudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hpZnRTZWxlY3RlZChpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdG9rZW4ub25Ub2tlbktleWRvd24uc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUtleURvd24oZXZlbnQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmb2N1c1Rva2VuRWxlbWVudChuZXdJbmRleDogbnVtYmVyKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgZWxlbWVudFRvRm9jdXM6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB0b2tlbkxpc3RBcnJheTogVG9rZW5Db21wb25lbnRbXSA9IHRoaXMudG9rZW5MaXN0LnRvQXJyYXkoKTtcbiAgICAgICAgaWYgKHRva2VuTGlzdEFycmF5W25ld0luZGV4XSkge1xuICAgICAgICAgICAgZWxlbWVudFRvRm9jdXMgPSB0b2tlbkxpc3RBcnJheVtuZXdJbmRleF0udG9rZW5XcmFwcGVyRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgLy8gZWxlbWVudCBuZWVkcyB0YWJpbmRleCBpbiBvcmRlciB0byBiZSBmb2N1c2VkXG4gICAgICAgICAgICBlbGVtZW50VG9Gb2N1cyEuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlbGVtZW50VG9Gb2N1cztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd24oa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBLZXlVdGlsLmlzS2V5Q29kZShrZXlib2FyZEV2ZW50LCBbREVMRVRFLCBCQUNLU1BBQ0VdKSAmJlxuICAgICAgICAgICAgKCF0aGlzLl9pc0lucHV0Rm9jdXNlZCgpIHx8IHRoaXMuX3Rva2Vuc1NlbGVjdGVkKCkpICYmXG4gICAgICAgICAgICAhdGhpcy5kaXNhYmxlS2V5Ym9hcmREZWxldGlvblxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLl9nZXRBY3RpdmVUb2tlbnMoKTtcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzZWRUb2tlbkluZGV4ID0gdGhpcy5fZ2V0Rm9jdXNlZFRva2VuSW5kZXgoKTtcbiAgICAgICAgICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC5vbkNsb3NlQ2xpY2suZW1pdCgpKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoa2V5Ym9hcmRFdmVudCwgREVMRVRFKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c0lucHV0KCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c1Rva2VuRWxlbWVudChmb2N1c2VkVG9rZW5JbmRleCAtIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIEJBQ0tTUEFDRSkgJiZcbiAgICAgICAgICAgIHRoaXMuX2lzSW5wdXRGb2N1c2VkKCkgJiZcbiAgICAgICAgICAgICF0aGlzLl9nZXRJbnB1dFZhbHVlKCkgJiZcbiAgICAgICAgICAgICF0aGlzLmRpc2FibGVLZXlib2FyZERlbGV0aW9uXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1Rva2VuRWxlbWVudCh0aGlzLnRva2VuTGlzdC5sZW5ndGggLSAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50UmVmKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50V2lkdGggPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICB0aGlzLl9yZXNldFRva2VucygpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c0VsZW1lbnRXaWR0aCA9IGVsZW1lbnRXaWR0aDtcbiAgICAgICAgICAgIGlmICghdGhpcy5jb21wYWN0ICYmICF0aGlzLmNvbXBhY3RDb2xsYXBzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNvenlUb2tlbkNvdW50KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGZyb21JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGxldCBuZXdJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBydGwgPSB0aGlzLl9ydGxTZXJ2aWNlICYmIHRoaXMuX3J0bFNlcnZpY2UucnRsID8gdGhpcy5fcnRsU2VydmljZS5ydGwuZ2V0VmFsdWUoKSA6IGZhbHNlO1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFNQQUNFKSAmJiAhdGhpcy5faXNJbnB1dEZvY3VzZWQoKSkge1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuTGlzdC5maW5kKChfLCBpbmRleCkgPT4gaW5kZXggPT09IGZyb21JbmRleCk7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKChzaGFkb3dlZFRva2VuKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNoYWRvd2VkVG9rZW4gIT09IHRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIHNoYWRvd2VkVG9rZW4uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRva2VuICYmICh0b2tlbi5zZWxlY3RlZCA9ICF0b2tlbi5zZWxlY3RlZCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBFTlRFUikpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzSW5wdXQoKTtcbiAgICAgICAgfSBlbHNlIGlmICgoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpICYmICFydGwpIHx8IChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgUklHSFRfQVJST1cpICYmIHJ0bCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUFycm93TGVmdChmcm9tSW5kZXgpO1xuICAgICAgICAgICAgbmV3SW5kZXggPSBmcm9tSW5kZXggLSAxO1xuICAgICAgICB9IGVsc2UgaWYgKChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgUklHSFRfQVJST1cpICYmICFydGwpIHx8IChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgTEVGVF9BUlJPVykgJiYgcnRsKSkge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlQXJyb3dSaWdodChmcm9tSW5kZXgpO1xuICAgICAgICAgICAgbmV3SW5kZXggPSBmcm9tSW5kZXggKyAxO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBBKSAmJiAhdGhpcy5fZ2V0SW5wdXRWYWx1ZSgpICYmIHRoaXMuX2lzQ29udHJvbEtleShldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4gKHRva2VuLnNlbGVjdGVkID0gdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG5ld0luZGV4ID09PSB0aGlzLnRva2VuTGlzdC5sZW5ndGggJiZcbiAgICAgICAgICAgICgoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFJJR0hUX0FSUk9XKSAmJiAhcnRsKSB8fCAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpICYmIHJ0bCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNJbnB1dCgpO1xuICAgICAgICB9IGVsc2UgaWYgKG5ld0luZGV4ISA+IHRoaXMudG9rZW5MaXN0Lmxlbmd0aCAtIHRoaXMubW9yZVRva2Vuc1JpZ2h0Lmxlbmd0aCAmJiB0aGlzLl9pc0lucHV0Rm9jdXNlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVG9rZW5FbGVtZW50KG5ld0luZGV4ISAtIHRoaXMubW9yZVRva2Vuc1JpZ2h0Lmxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSBpZiAobmV3SW5kZXggfHwgbmV3SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUb2tlbkVsZW1lbnQobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXRDb21iaW5lZFRva2VuV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHRvdGFsVG9rZW5XaWR0aCA9IDA7XG4gICAgICAgIC8vIGdldCB0aGUgd2lkdGggb2YgZWFjaCB0b2tlblxuICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgdG90YWxUb2tlbldpZHRoID0gdG90YWxUb2tlbldpZHRoICsgdG9rZW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gYWRkIGlucHV0IHdpZHRoXG4gICAgICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMuaW5wdXQuZWxlbWVudFJlZigpKSB7XG4gICAgICAgICAgICB0b3RhbFRva2VuV2lkdGggPSB0b3RhbFRva2VuV2lkdGggKyB0aGlzLmlucHV0LmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFkZCB0aGUgd2lkdGggb2YgdGhlIFwiX19fXyBtb3JlXCIgZWxlbWVudFxuICAgICAgICBpZiAodGhpcy5tb3JlVG9rZW5zTGVmdC5sZW5ndGggPiAwICYmIHRoaXMubW9yZUVsZW1lbnQgJiYgdGhpcy5tb3JlRWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0b3RhbFRva2VuV2lkdGggPSB0b3RhbFRva2VuV2lkdGggKyB0aGlzLm1vcmVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYWRkIHRoZSBpbnB1dCBncm91cCBhZGRvblxuICAgICAgICBpZiAodGhpcy5pbnB1dEdyb3VwQWRkb25FbCAmJiB0aGlzLmlucHV0R3JvdXBBZGRvbkVsLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRvdGFsVG9rZW5XaWR0aCA9IHRvdGFsVG9rZW5XaWR0aCArIHRoaXMuaW5wdXRHcm91cEFkZG9uRWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0b3RhbFRva2VuV2lkdGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBtb3JlQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3JlQ2xpY2tlZEV2ZW50LmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogUmVtb3ZlcyBhbGwgc2VsZWN0ZWQgdG9rZW5zICovXG4gICAgcmVtb3ZlU2VsZWN0ZWRUb2tlbnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLl9nZXRBY3RpdmVUb2tlbnMoKTtcbiAgICAgICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50Lm9uUmVtb3ZlLmVtaXQoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVBcnJvd0xlZnQoZnJvbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgdGhlIGxlZnRtb3N0IHZpc2libGUgdG9rZW4gaXMgc2VsZWN0ZWQsIGFuZCB0aGVyZSBhcmUgbW9yZVRva2Vuc0xlZnQsIG5lZWQgdG8gZGlzcGxheSBhIG1vcmVUb2tlbkxlZnRcbiAgICAgICAgaWYgKGZyb21JbmRleCA9PT0gdGhpcy5tb3JlVG9rZW5zTGVmdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcHBlZFRva2VuID0gdGhpcy5tb3JlVG9rZW5zTGVmdC5wb3AoKTtcbiAgICAgICAgICAgIGlmIChwb3BwZWRUb2tlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX21ha2VFbGVtZW50VmlzaWJsZShwb3BwZWRUb2tlbi5lbGVtZW50UmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGFuZCB0aGVuIGhpZGUgYW55IHRva2VucyBmcm9tIHRoZSByaWdodCB0aGF0IG5vIGxvbmdlciBmaXRcbiAgICAgICAgICAgIHRoaXMuX2NvbGxhcHNlVG9rZW5zKCdyaWdodCcpO1xuXG4gICAgICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUFycm93UmlnaHQoZnJvbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZyb21JbmRleCA9PT0gdGhpcy50b2tlbkxpc3QubGVuZ3RoIC0gdGhpcy5tb3JlVG9rZW5zUmlnaHQubGVuZ3RoIC0gMSAmJiB0aGlzLm1vcmVUb2tlbnNSaWdodC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcHBlZFRva2VuID0gdGhpcy5tb3JlVG9rZW5zUmlnaHQucG9wKCk7XG4gICAgICAgICAgICBpZiAocG9wcGVkVG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tYWtlRWxlbWVudFZpc2libGUocG9wcGVkVG9rZW4uZWxlbWVudFJlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBhbmQgdGhlbiBoaWRlIGFueSB0b2tlbnMgZnJvbSB0aGUgbGVmdCB0aGF0IG5vIGxvbmdlciBmaXRcbiAgICAgICAgICAgIHRoaXMuX2NvbGxhcHNlVG9rZW5zKCdsZWZ0Jyk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29sbGFwc2VUb2tlbnMoc2lkZT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0IHx8IHRoaXMuY29tcGFjdENvbGxhcHNlKSB7XG4gICAgICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmZvckVhY2goKHZpZXdDb250YWluZXIpID0+IHZpZXdDb250YWluZXIuY2xlYXIoKSk7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4gdG9rZW4uX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRva2VuLl9jb250ZW50KSk7XG5cbiAgICAgICAgICAgIGxldCBlbGVtZW50V2lkdGggPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICBsZXQgY29tYmluZWRUb2tlbldpZHRoID0gdGhpcy5nZXRDb21iaW5lZFRva2VuV2lkdGgoKTsgLy8gdGhlIGNvbWJpbmVkIHdpZHRoIG9mIGFsbCB0b2tlbnMsIHRoZSBcIl9fX18gbW9yZVwiIHRleHQsIGFuZCB0aGUgaW5wdXRcbiAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgV2hlbiByZXNpemluZywgd2Ugd2FudCB0byBjb2xsYXBzZSB0aGUgdG9rZW5zIG9uIHRoZSBsZWZ0IGZpcnN0LiBIb3dldmVyIHdoZW4gdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB0aHJvdWdoXG4gICAgICAgICAgICAgYSBncm91cCBvZiBvdmVyZmxvd2luZyB0b2tlbnMgdXNpbmcgdGhlIGFycm93IGxlZnQga2V5LCB3ZSBtYXkgbmVlZCB0byBoaWRlIHRva2VucyBvbiB0aGUgcmlnaHQuIFNvIGlmIHRoaXNcbiAgICAgICAgICAgICBmdW5jdGlvbiBoYXMgYmVlbiBjYWxsZWQgd2l0aCB0aGUgcGFyYW0gJ3JpZ2h0JyBpdCB3aWxsIGNvbGxhcHNlIHRva2VucyBmcm9tIHRoZSByaWdodCBzaWRlIG9mIHRoZSBsaXN0IHJhdGhlclxuICAgICAgICAgICAgIHRoYW4gdGhlIChkZWZhdWx0KSBsZWZ0IHNpZGUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmIChzaWRlID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgaSA9IHRoaXMudG9rZW5MaXN0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aGlsZSAoY29tYmluZWRUb2tlbldpZHRoID4gZWxlbWVudFdpZHRoICYmIChzaWRlID09PSAncmlnaHQnID8gaSA+PSAwIDogaSA8IHRoaXMudG9rZW5MaXN0Lmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICAvLyBsb29wIHRocm91Z2ggdGhlIHRva2VucyBhbmQgaGlkZSB0aGVtIHVudGlsIHRoZSBjb21iaW5lZFRva2VuV2lkdGggZml0cyBpbiB0aGUgZWxlbWVudFdpZHRoXG4gICAgICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuTGlzdC5maW5kKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vcmVUb2tlbnMgPSBzaWRlID09PSAncmlnaHQnID8gdGhpcy5tb3JlVG9rZW5zUmlnaHQgOiB0aGlzLm1vcmVUb2tlbnNMZWZ0O1xuXG4gICAgICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtb3JlVG9rZW5zLmluZGV4T2YodG9rZW4pID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9yZVRva2Vucy5wdXNoKHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0b2tlbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZ2V0IHRoZSBuZXcgZWxlbWVudFdpZHRoIGFuZCBjb21iaW5lZFRva2VuV2lkdGggYXMgdGhlc2Ugd2lsbCBoYXZlIGNoYW5nZWQgYWZ0ZXIgc2V0dGluZyBhIHRva2VuIGRpc3BsYXkgdG8gJ25vbmUnXG4gICAgICAgICAgICAgICAgZWxlbWVudFdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICAgICAgICAgIGNvbWJpbmVkVG9rZW5XaWR0aCA9IHRoaXMuZ2V0Q29tYmluZWRUb2tlbldpZHRoKCk7XG4gICAgICAgICAgICAgICAgc2lkZSA9PT0gJ3JpZ2h0JyA/IGktLSA6IGkrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgdGhpcy5faGlkZGVuVG9rZW5zLmZvckVhY2goKGhpZGRlblRva2VuLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGhpZGRlblRva2VuLl92aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5nZXQoaW5kZXgpPy5jcmVhdGVFbWJlZGRlZFZpZXcoaGlkZGVuVG9rZW4uX2NvbnRlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9nZXRIaWRkZW5Db3p5VG9rZW5Db3VudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNldFRva2VucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3JlVG9rZW5zTGVmdCA9IFtdO1xuICAgICAgICB0aGlzLm1vcmVUb2tlbnNSaWdodCA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0IHx8IHRoaXMuY29tcGFjdENvbGxhcHNlKSB7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX21ha2VFbGVtZW50VmlzaWJsZSh0b2tlbi5lbGVtZW50UmVmKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLl9jb2xsYXBzZVRva2VucygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZ2V0SGlkZGVuQ296eVRva2VuQ291bnQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZVRva2VuQ2xpY2tTdWJzY3JpcHRpb25zKCk7XG4gICAgICAgIHRoaXMucHJldmlvdXNUb2tlbkNvdW50ID0gdGhpcy50b2tlbkxpc3QubGVuZ3RoO1xuICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4gdG9rZW4uX3NldFRvdGFsQ291bnQodGhpcy50b2tlbkxpc3QubGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRIaWRkZW5Db3p5VG9rZW5Db3VudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudExlZnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcbiAgICAgICAgdGhpcy5oaWRkZW5Db3p5VG9rZW5Db3VudCA9IDA7XG4gICAgICAgIHRoaXMudG9rZW5MaXN0LmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdG9rZW4udG9rZW5XcmFwcGVyRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgIHRva2VuLnRva2VuV3JhcHBlckVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCA8IGVsZW1lbnRMZWZ0XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkNvenlUb2tlbkNvdW50ICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUNvenlUb2tlbkNvdW50KCk6IHZvaWQge1xuICAgICAgICAvLyBiZWNhdXNlIGp1c3RpZnktY29udGVudCBicmVha3Mgc2Nyb2xsYmFyLCBpdCBjYW5ub3QgYmUgdXNlZCBvbiBjb3p5IHNjcmVlbnMsIHNvIHVzZSBKUyB0byBzY3JvbGwgdG8gdGhlIGVuZFxuICAgICAgICB0aGlzLnRva2VuaXplcklubmVyRWwubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy50b2tlbml6ZXJJbm5lckVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGg7XG4gICAgICAgIHRoaXMuX2dldEhpZGRlbkNvenlUb2tlbkNvdW50KCk7XG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkNvenlUb2tlbkNvdW50ID4gMCkge1xuICAgICAgICAgICAgLy8gbmVlZCB0byBkbyB0aGlzIGFnYWluIGluIGNhc2UgXCJfX19fIG1vcmVcIiB0ZXh0IHdhcyBhZGRlZFxuICAgICAgICAgICAgdGhpcy50b2tlbml6ZXJJbm5lckVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMudG9rZW5pemVySW5uZXJFbC5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoO1xuICAgICAgICAgICAgdGhpcy5fZ2V0SGlkZGVuQ296eVRva2VuQ291bnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWFrZUVsZW1lbnRWaXNpYmxlKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUNsaWNrcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zICYmIHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50b2tlbkxpc3RDbGlja1N1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5wdXRLZXlkb3duRXZlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXQuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVLZXlEb3duKGV2ZW50LCB0aGlzLnRva2VuTGlzdC5sZW5ndGgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBNZXRob2Qgd2hpY2ggaGFuZGxlcyB3aGF0IGhhcHBlbnMgdG8gdG9rZW4gd2hlbiBpdCBpcyBjbGlja2VkIGFuZCBubyBrZXkgaXMgYmVpbmcgaGVsZCBkb3duLiovXG4gICAgcHJpdmF0ZSBfYmFzaWNTZWxlY3RlZCh0b2tlbiwgaW5kZXgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2tlbkxpc3QuZm9yRWFjaCgoc2hhZG93ZWRUb2tlbikgPT4ge1xuICAgICAgICAgICAgaWYgKHNoYWRvd2VkVG9rZW4gIT09IHRva2VuKSB7XG4gICAgICAgICAgICAgICAgc2hhZG93ZWRUb2tlbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBpbmRleDtcbiAgICAgICAgdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4O1xuICAgICAgICB0b2tlbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2N0cmxQcmV2aW91cyA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFJlc3RhcnQgZmlyc3QgYW5kIGxhc3QgZWxlbWVudHMgZm9yIHNoaWZ0IHNlbGVjdGlvbi4qL1xuICAgIHByaXZhdGUgcmVzZXRGaXJzdEFuZExhc3RFbGVtZW50KCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZXNldCA9ICF0aGlzLnRva2VuTGlzdC5zb21lKCh0b2tlbikgPT4gdG9rZW4uc2VsZWN0ZWQpO1xuICAgICAgICBpZiAocmVzZXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTWV0aG9kIHdoaWNoIGhhbmRsZXMgd2hhdCBoYXBwZW5zIHRvIHRva2VuIHdoZW4gaXQgaXMgY2xpY2tlZCBhbmQgdGhlIHNoaWZ0IGtleSBpcyBiZWluZyBoZWxkIGRvd24uKi9cbiAgICBwcml2YXRlIF9zaGlmdFNlbGVjdGVkKGluZGV4KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gJiYgIXRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLl9kaXJlY3Rpb25TaGlmdElzUmlnaHQgPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uICYmIGluZGV4IDwgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZGlyZWN0aW9uU2hpZnRJc1JpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fZGlyZWN0aW9uU2hpZnRJc1JpZ2h0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBpbmRleDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiAmJiBpbmRleCA+IHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2RpcmVjdGlvblNoaWZ0SXNSaWdodCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiA9IHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX2RpcmVjdGlvblNoaWZ0SXNSaWdodCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLl9kaXJlY3Rpb25TaGlmdElzUmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9kaXJlY3Rpb25TaGlmdElzUmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbiwgaW5kZXhPZlRva2VuKSA9PiB7XG4gICAgICAgICAgICB0b2tlbi5zZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGluZGV4T2ZUb2tlbiA+PSB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiAmJlxuICAgICAgICAgICAgICAgIGluZGV4T2ZUb2tlbiA8PSB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fY3RybFByZXZpb3VzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTWV0aG9kIHdoaWNoIGhhbmRsZXMgd2hhdCBoYXBwZW5zIHRvIHRva2VuIHdoZW4gaXQgaXMgY2xpY2tlZCBhbmQgdGhlIGNvbnRyb2wgb3IgbWV0YSBrZXkgaXMgYmVpbmcgaGVsZCBkb3duLiovXG4gICAgcHJpdmF0ZSBfY3RybFNlbGVjdGVkKHRva2VuLCBpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBudWxsO1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRva2VuLnNlbGVjdGVkO1xuICAgICAgICB0b2tlbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgICAgdG9rZW4uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0LmZvckVhY2goKGVsZW1lbnQsIGluZGV4T2ZUb2tlbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXhPZlRva2VuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4T2ZUb2tlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uISAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gPSB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiEgLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2N0cmxQcmV2aW91cyA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEdldCBzZWxlY3RlZCBhbmQgZm9jdXNlZCB0b2tlbnMgKi9cbiAgICBwcml2YXRlIF9nZXRBY3RpdmVUb2tlbnMoKTogVG9rZW5Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2VuTGlzdC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0ZWQgfHwgdGhpcy5faXNUb2tlbkZvY3VzZWQoaXRlbSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Rm9jdXNlZFRva2VuSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5MaXN0LnRvQXJyYXkoKS5maW5kSW5kZXgoKHRva2VuKSA9PiB0aGlzLl9pc1Rva2VuRm9jdXNlZCh0b2tlbikpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNUb2tlbkZvY3VzZWQodG9rZW46IFRva2VuQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0b2tlbi50b2tlbldyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0lucHV0Rm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuaW5wdXQuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90b2tlbnNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5MaXN0LnNvbWUoKHQpID0+IHQuc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dC5lbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzSW5wdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXQuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQ29udHJvbEtleShrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50IHwgTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ga2V5Ym9hcmRFdmVudC5jdHJsS2V5IHx8IGtleWJvYXJkRXZlbnQubWV0YUtleTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlbkVsZW1lbnRFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LCAnZm9jdXMnLCB7IGNhcHR1cmU6IHRydWUgfSkucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAoZXZlbnRbJ3RhcmdldCddIGFzIGFueSk/LnRhZ05hbWUgPT09ICdJTlBVVCcgJiYgdGhpcy50b2tlbml6ZXJGb2N1c2FibGUpLFxuICAgICAgICAgICAgICAgIG1hcFRvKHRydWUpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LCAnYmx1cicsIHsgY2FwdHVyZTogdHJ1ZSB9KS5waXBlKG1hcFRvKGZhbHNlKSlcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gZGVib3VuY2VUaW1lIGlzIG5lZWRlZCBpbiBvcmRlciB0byBmaWx0ZXIgc3Vic2VxdWVudCBmb2N1cy1ibHVyIGV2ZW50cywgdGhhdCBoYXBwZW4gc2ltdWx0YW5lb3VzbHlcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZm9jdXNlZCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rva2VuaXplckhhc0ZvY3VzID0gZm9jdXNlZDtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIExpc3RlbiB3aW5kb3cgcmVzaXplIGFuZCBkaXN0cmlidXRlIGNhcmRzIG9uIGNvbHVtbiBjaGFuZ2UgKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2YWJsZSh0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDYwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uUmVzaXplKCkpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLXRva2VuaXplciBmZC10b2tlbml6ZXItLXNjcm9sbGFibGVcIlxuICAgIFtjbGFzcy5pcy1mb2N1c109XCJfdG9rZW5pemVySGFzRm9jdXNcIlxuICAgIFtjbGFzcy5mZC10b2tlbml6ZXItLWNvbXBhY3RdPVwiY29tcGFjdFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cImZkLXRva2VuaXplcl9faW5uZXJcIiAjdG9rZW5pemVySW5uZXI+XG4gICAgICAgIDxkaXYgcm9sZT1cImxpc3Rib3hcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXRva2VuXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3Nob3dPdmVyZmxvd1BvcG92ZXIgJiYgKGNvbXBhY3QgfHwgY29tcGFjdENvbGxhcHNlKTsgZWxzZSBtb3JlRWxlbWVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRva2Vuc092ZXJmbG93XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1mb3JtLWNvbnRyb2xdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGZkLWlucHV0LWdyb3VwLWFkZG9uICpuZ0lmPVwiZ2x5cGhcIiAjaW5wdXRHcm91cEFkZE9uIFtidXR0b25dPVwidHJ1ZVwiIHBsYWNlbWVudD1cImFmdGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgW2NsYXNzXT1cImNvbXBhY3QgPyAnZmQtdG9rZW5pemVyLWFkZG9uLS1jb21wYWN0JyA6ICdmZC10b2tlbml6ZXItYWRkb24nXCJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJnbHlwaFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3Rva2Vuc092ZXJmbG93PlxuICAgIDxmZC1wb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbS1zdGFydFwiIHRpdGxlPVwiXCIgW25vQXJyb3ddPVwiZmFsc2VcIiBbZm9jdXNUcmFwcGVkXT1cInRydWVcIiBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCI+XG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9yZUVsZW1lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG5cbiAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgIDx1bCBmZC1saXN0IGNsYXNzPVwiZmQtdG9rZW5pemVyX19vdmVyZmxvdy1saXN0XCI+XG4gICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbSBjbGFzcz1cImZkLXRva2VuaXplcl9fb3ZlcmZsb3ctbGlzdC1pdGVtXCIgKm5nRm9yPVwibGV0IHRva2VuIG9mIF9oaWRkZW5Ub2tlbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjdmlld0NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhdG9rZW4ucmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10b2tlbl9fY2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRva2VuLmRlbGV0ZUJ1dHRvbkxhYmVsIHx8ICgnY29yZVRva2VuLmRlbGV0ZUJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9rZW4uY2xvc2VDbGlja0hhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgIDwvZmQtcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9yZUVsZW1lbnQ+XG4gICAgPHNwYW5cbiAgICAgICAgKGNsaWNrKT1cIm1vcmVDbGlja2VkKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgKG1vcmVUb2tlbnNMZWZ0Lmxlbmd0aCA+IDAgfHwgbW9yZVRva2Vuc1JpZ2h0Lmxlbmd0aCA+IDAgfHwgaGlkZGVuQ296eVRva2VuQ291bnQgPiAwKSAmJlxuICAgICAgICAgICAgIW9wZW4gJiZcbiAgICAgICAgICAgICFfdG9rZW5pemVySGFzRm9jdXNcbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJmZC10b2tlbml6ZXItbW9yZVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBhY3QgfHwgY29tcGFjdENvbGxhcHNlXCI+XG4gICAgICAgICAgICB7eyAnY29yZVRva2VuaXplci5tb3JlTGFiZWwnIHwgZmRUcmFuc2xhdGU6IHsgY291bnQ6IG1vcmVUb2tlbnNMZWZ0Lmxlbmd0aCArIG1vcmVUb2tlbnNSaWdodC5sZW5ndGggfSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0ICYmICFjb21wYWN0Q29sbGFwc2VcIj5cbiAgICAgICAgICAgIHt7ICdjb3JlVG9rZW5pemVyLm1vcmVMYWJlbCcgfCBmZFRyYW5zbGF0ZTogeyBjb3VudDogaGlkZGVuQ296eVRva2VuQ291bnQgfSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
600
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3Rva2VuL3Rva2VuaXplci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90b2tlbi90b2tlbml6ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBbUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FB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dGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBLCBCQUNLU1BBQ0UsIERFTEVURSwgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwVG8sIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBhcHBseUNzc0NsYXNzLCBDc3NDbGFzc0J1aWxkZXIsIEtleVV0aWwsIHJlc2l6ZU9ic2VydmFibGUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgVG9rZW5Db21wb25lbnQgfSBmcm9tICcuL3Rva2VuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdG9rZW5pemVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9rZW5pemVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b2tlbml6ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV1cbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5pemVyQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIENzc0NsYXNzQnVpbGRlciwgT25Jbml0LCBPbkNoYW5nZXNcbntcbiAgICAvKiogdXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIERpc2FibGVzIHBvc3NpYmlsaXR5IHRvIHJlbW92ZSB0b2tlbnMgYnkga2V5Ym9hcmQgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVLZXlib2FyZERlbGV0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUb2tlbkNvbXBvbmVudCkpXG4gICAgdG9rZW5MaXN0OiBRdWVyeUxpc3Q8VG9rZW5Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRm9ybUNvbnRyb2xDb21wb25lbnQpKVxuICAgIGlucHV0OiBGb3JtQ29udHJvbENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgndG9rZW5pemVySW5uZXInKVxuICAgIHRva2VuaXplcklubmVyRWw6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdtb3JlRWxlbWVudCcpXG4gICAgbW9yZUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dEdyb3VwQWRkT24nKSBzZXQgY29udGVudChjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgICAgICB0aGlzLmlucHV0R3JvdXBBZGRvbkVsID0gY29udGVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3ZpZXdDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgICByZWFkb25seSBfdmlld0NvbnRhaW5lcjogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2hpZGRlblRva2VucygpOiBUb2tlbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5MaXN0LmZpbHRlcigodG9rZW4pID0+IHRva2VuLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBvbmVudCBpcyBpbiBjb21wYWN0IG1vZGUsIGRldGVybWluZWQgYnkgdGhlIGNvbnN1bWVyXG4gICAgICovXG4gICAgZ2V0IGNvbXBhY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlucHV0R3JvdXBBZGRvbkVsOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gdXNlIGNvenkgdmlzdWFscyBidXQgY29tcGFjdCBjb2xsYXBzaW5nIGJlaGF2aW9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGFjdENvbGxhcHNlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0b2tlbml6ZXIgc2hvdWxkIGhhdmUgZmFrZSBmb2N1cyBpbmRpY2F0b3IsIHdoZW4gaW5wdXQgaXMgZm9jdXNlZCBpbnNpZGUqL1xuICAgIEBJbnB1dCgpXG4gICAgdG9rZW5pemVyRm9jdXNhYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBUaGUgdmFsdWUgZm9yIHRoZSB0b2tlbml6ZXIgaW5wdXQgKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0VmFsdWU6IHN0cmluZztcblxuICAgIC8qKiBJY29uIG9mIHRoZSBidXR0b24gb24gdGhlIHJpZ2h0IG9mIHRoZSBpbnB1dCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdseXBoOiBzdHJpbmc7XG5cbiAgICAvKiogV29yZCB0byB1c2UgZm9yIHdoZW4gdGhlcmUgYXJlIGV4dHJhIHRva2Vucy4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1vcmVUZXJtID0gJ21vcmUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIG9wZW46IGJvb2xlYW47XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggdGVybSBjaGFuZ2VzLiBVc2UgKiRldmVudCogdG8gYWNjZXNzIHRoZSBuZXcgdGVybS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBtb3JlQ2xpY2tlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcmV2aW91c0VsZW1lbnRXaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBtb3JlVG9rZW5zTGVmdDogQXJyYXk8VG9rZW5Db21wb25lbnQ+ID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG1vcmVUb2tlbnNSaWdodDogQXJyYXk8VG9rZW5Db21wb25lbnQ+ID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByZXZpb3VzVG9rZW5Db3VudDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0b2tlbkxpc3RDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRva2VuTGlzdENsaWNrU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGlkZGVuQ296eVRva2VuQ291bnQgPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gVXNlZCB0byBhZGQgZm9jdXMgdG8gdG9rZW5pemVyIGVsZW1lbnQgKi9cbiAgICBfdG9rZW5pemVySGFzRm9jdXMgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dPdmVyZmxvd1BvcG92ZXIgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBWYXJpYWJsZSB3aGljaCB3aWxsIGtlZXAgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCB0b2tlbiBwcmVzc2VkIGluIHRoZSB0b2tlbml6ZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIF9maXJzdEVsZW1lbnRJblNlbGVjdGlvbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIFZhcmlhYmxlIHdoaWNoIHdpbGwga2VlcCB0aGUgaW5kZXggb2YgdGhlIGxhc3QgdG9rZW4gcHJlc3NlZCBpbiB0aGUgdG9rZW5pemVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbGFzdEVsZW1lbnRJblNlbGVjdGlvbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZsYWcgd2hpY2ggd2lsbCBzYXkgaWYgdGhlIGxhc3Qga2V5Ym9hcmQgYW5kIGNsaWNrIG9wZXJhdGlvbiB0aGV5IHVzZWQgd2FzIHVzaW5nIGNvbnRyb2xcbiAgICAgKi9cbiAgICBwcml2YXRlIF9jdHJsUHJldmlvdXM6IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZsYWcgd2hpY2ggd2lsbCBzYXkgaWYgdGhleSBoZWxkIHNoaWZ0IGFuZCBjbGlja2VkIGhpZ2hsaWdodGluZyBlbGVtZW50cyBiZWZvcmUgb3JcbiAgICAgKi9cbiAgICBwcml2YXRlIF9kaXJlY3Rpb25TaGlmdElzUmlnaHQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnY2xpY2snLCAoZTogRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0b2tlbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC5lbGVtZW50UmVmKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2lucHV0S2V5ZG93bkV2ZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2F0Y2ggZm9yIGNoYW5nZXMgdG8gdGhlIHRva2VuTGlzdCBhbmQgYXR0ZW1wdCB0byBleHBhbmQvY29sbGFwc2UgdG9rZW5zIGFzIG5lZWRlZFxuICAgICAgICBpZiAodGhpcy50b2tlbkxpc3RDaGFuZ2VzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdENoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRva2VuTGlzdENoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLnRva2VuTGlzdC5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZXNldFRva2VucygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50b2tlbkxpc3QuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0Q2hhbmdlc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICAgICAgdG9rZW4ub25DbG9zZUNsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2V0VG9rZW5zKCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXRoaXMuY29tcGFjdCAmJiAhdGhpcy5jb21wYWN0Q29sbGFwc2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNvenlUb2tlbkNvdW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuRWxlbWVudEV2ZW50cygpO1xuICAgICAgICB0aGlzLnByZXZpb3VzRWxlbWVudFdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB0aGlzLl9saXN0ZW5PblJlc2l6ZSgpO1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5MaXN0Q2hhbmdlc1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy50b2tlbkxpc3RDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVDbGlja3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgICAgKiBmdW5jdGlvbiBtdXN0IHJldHVybiBzaW5nbGUgc3RyaW5nXG4gICAgICogZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG9yZGVyIHdoaWNoIGNzcyBjbGFzc2VzIGFyZSBhcHBsaWVkXG4gICAgICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLmNsYXNzXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGFuZGxlVG9rZW5DbGlja1N1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQ2xpY2tzKCk7XG4gICAgICAgIHRoaXMudG9rZW5MaXN0LmZvckVhY2goKHRva2VuLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuLnRva2VuV3JhcHBlckVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0b2tlbi50b2tlbldyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdG9rZW4ub25Ub2tlbkNsaWNrLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNUb2tlbkVsZW1lbnQoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDb250cm9sS2V5KGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3RybFNlbGVjdGVkKHRva2VuLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWV2ZW50LnNoaWZ0S2V5IHx8IHRoaXMuX2N0cmxQcmV2aW91cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYmFzaWNTZWxlY3RlZCh0b2tlbiwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0Rmlyc3RBbmRMYXN0RWxlbWVudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hpZnRTZWxlY3RlZChpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdG9rZW4ub25Ub2tlbktleWRvd24uc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUtleURvd24oZXZlbnQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmb2N1c1Rva2VuRWxlbWVudChuZXdJbmRleDogbnVtYmVyKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgZWxlbWVudFRvRm9jdXM6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB0b2tlbkxpc3RBcnJheTogVG9rZW5Db21wb25lbnRbXSA9IHRoaXMudG9rZW5MaXN0LnRvQXJyYXkoKTtcbiAgICAgICAgaWYgKHRva2VuTGlzdEFycmF5W25ld0luZGV4XSkge1xuICAgICAgICAgICAgZWxlbWVudFRvRm9jdXMgPSB0b2tlbkxpc3RBcnJheVtuZXdJbmRleF0udG9rZW5XcmFwcGVyRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgLy8gZWxlbWVudCBuZWVkcyB0YWJpbmRleCBpbiBvcmRlciB0byBiZSBmb2N1c2VkXG4gICAgICAgICAgICBlbGVtZW50VG9Gb2N1cyEuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlbGVtZW50VG9Gb2N1cztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd24oa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBLZXlVdGlsLmlzS2V5Q29kZShrZXlib2FyZEV2ZW50LCBbREVMRVRFLCBCQUNLU1BBQ0VdKSAmJlxuICAgICAgICAgICAgKCF0aGlzLl9pc0lucHV0Rm9jdXNlZCgpIHx8IHRoaXMuX3Rva2Vuc1NlbGVjdGVkKCkpICYmXG4gICAgICAgICAgICAhdGhpcy5kaXNhYmxlS2V5Ym9hcmREZWxldGlvblxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLl9nZXRBY3RpdmVUb2tlbnMoKTtcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzZWRUb2tlbkluZGV4ID0gdGhpcy5fZ2V0Rm9jdXNlZFRva2VuSW5kZXgoKTtcbiAgICAgICAgICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC5vbkNsb3NlQ2xpY2suZW1pdCgpKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoa2V5Ym9hcmRFdmVudCwgREVMRVRFKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c0lucHV0KCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c1Rva2VuRWxlbWVudChmb2N1c2VkVG9rZW5JbmRleCAtIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIEJBQ0tTUEFDRSkgJiZcbiAgICAgICAgICAgIHRoaXMuX2lzSW5wdXRGb2N1c2VkKCkgJiZcbiAgICAgICAgICAgICF0aGlzLl9nZXRJbnB1dFZhbHVlKCkgJiZcbiAgICAgICAgICAgICF0aGlzLmRpc2FibGVLZXlib2FyZERlbGV0aW9uXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1Rva2VuRWxlbWVudCh0aGlzLnRva2VuTGlzdC5sZW5ndGggLSAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50UmVmKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50V2lkdGggPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICB0aGlzLl9yZXNldFRva2VucygpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c0VsZW1lbnRXaWR0aCA9IGVsZW1lbnRXaWR0aDtcbiAgICAgICAgICAgIGlmICghdGhpcy5jb21wYWN0ICYmICF0aGlzLmNvbXBhY3RDb2xsYXBzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNvenlUb2tlbkNvdW50KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGZyb21JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGxldCBuZXdJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBydGwgPSB0aGlzLl9ydGxTZXJ2aWNlICYmIHRoaXMuX3J0bFNlcnZpY2UucnRsID8gdGhpcy5fcnRsU2VydmljZS5ydGwuZ2V0VmFsdWUoKSA6IGZhbHNlO1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFNQQUNFKSAmJiAhdGhpcy5faXNJbnB1dEZvY3VzZWQoKSkge1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuTGlzdC5maW5kKChfLCBpbmRleCkgPT4gaW5kZXggPT09IGZyb21JbmRleCk7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKChzaGFkb3dlZFRva2VuKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNoYWRvd2VkVG9rZW4gIT09IHRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIHNoYWRvd2VkVG9rZW4uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRva2VuICYmICh0b2tlbi5zZWxlY3RlZCA9ICF0b2tlbi5zZWxlY3RlZCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBFTlRFUikpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzSW5wdXQoKTtcbiAgICAgICAgfSBlbHNlIGlmICgoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpICYmICFydGwpIHx8IChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgUklHSFRfQVJST1cpICYmIHJ0bCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUFycm93TGVmdChmcm9tSW5kZXgpO1xuICAgICAgICAgICAgbmV3SW5kZXggPSBmcm9tSW5kZXggLSAxO1xuICAgICAgICB9IGVsc2UgaWYgKChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgUklHSFRfQVJST1cpICYmICFydGwpIHx8IChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgTEVGVF9BUlJPVykgJiYgcnRsKSkge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlQXJyb3dSaWdodChmcm9tSW5kZXgpO1xuICAgICAgICAgICAgbmV3SW5kZXggPSBmcm9tSW5kZXggKyAxO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBBKSAmJiAhdGhpcy5fZ2V0SW5wdXRWYWx1ZSgpICYmIHRoaXMuX2lzQ29udHJvbEtleShldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4gKHRva2VuLnNlbGVjdGVkID0gdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG5ld0luZGV4ID09PSB0aGlzLnRva2VuTGlzdC5sZW5ndGggJiZcbiAgICAgICAgICAgICgoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFJJR0hUX0FSUk9XKSAmJiAhcnRsKSB8fCAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpICYmIHJ0bCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNJbnB1dCgpO1xuICAgICAgICB9IGVsc2UgaWYgKG5ld0luZGV4ISA+IHRoaXMudG9rZW5MaXN0Lmxlbmd0aCAtIHRoaXMubW9yZVRva2Vuc1JpZ2h0Lmxlbmd0aCAmJiB0aGlzLl9pc0lucHV0Rm9jdXNlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVG9rZW5FbGVtZW50KG5ld0luZGV4ISAtIHRoaXMubW9yZVRva2Vuc1JpZ2h0Lmxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSBpZiAobmV3SW5kZXggfHwgbmV3SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUb2tlbkVsZW1lbnQobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXRDb21iaW5lZFRva2VuV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHRvdGFsVG9rZW5XaWR0aCA9IDA7XG4gICAgICAgIC8vIGdldCB0aGUgd2lkdGggb2YgZWFjaCB0b2tlblxuICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgdG90YWxUb2tlbldpZHRoID0gdG90YWxUb2tlbldpZHRoICsgdG9rZW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gYWRkIGlucHV0IHdpZHRoXG4gICAgICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMuaW5wdXQuZWxlbWVudFJlZigpKSB7XG4gICAgICAgICAgICB0b3RhbFRva2VuV2lkdGggPSB0b3RhbFRva2VuV2lkdGggKyB0aGlzLmlucHV0LmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFkZCB0aGUgd2lkdGggb2YgdGhlIFwiX19fXyBtb3JlXCIgZWxlbWVudFxuICAgICAgICBpZiAodGhpcy5tb3JlVG9rZW5zTGVmdC5sZW5ndGggPiAwICYmIHRoaXMubW9yZUVsZW1lbnQgJiYgdGhpcy5tb3JlRWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0b3RhbFRva2VuV2lkdGggPSB0b3RhbFRva2VuV2lkdGggKyB0aGlzLm1vcmVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYWRkIHRoZSBpbnB1dCBncm91cCBhZGRvblxuICAgICAgICBpZiAodGhpcy5pbnB1dEdyb3VwQWRkb25FbCAmJiB0aGlzLmlucHV0R3JvdXBBZGRvbkVsLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRvdGFsVG9rZW5XaWR0aCA9IHRvdGFsVG9rZW5XaWR0aCArIHRoaXMuaW5wdXRHcm91cEFkZG9uRWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0b3RhbFRva2VuV2lkdGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBtb3JlQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3JlQ2xpY2tlZEV2ZW50LmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogUmVtb3ZlcyBhbGwgc2VsZWN0ZWQgdG9rZW5zICovXG4gICAgcmVtb3ZlU2VsZWN0ZWRUb2tlbnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLl9nZXRBY3RpdmVUb2tlbnMoKTtcbiAgICAgICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50Lm9uUmVtb3ZlLmVtaXQoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVBcnJvd0xlZnQoZnJvbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgdGhlIGxlZnRtb3N0IHZpc2libGUgdG9rZW4gaXMgc2VsZWN0ZWQsIGFuZCB0aGVyZSBhcmUgbW9yZVRva2Vuc0xlZnQsIG5lZWQgdG8gZGlzcGxheSBhIG1vcmVUb2tlbkxlZnRcbiAgICAgICAgaWYgKGZyb21JbmRleCA9PT0gdGhpcy5tb3JlVG9rZW5zTGVmdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcHBlZFRva2VuID0gdGhpcy5tb3JlVG9rZW5zTGVmdC5wb3AoKTtcbiAgICAgICAgICAgIGlmIChwb3BwZWRUb2tlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX21ha2VFbGVtZW50VmlzaWJsZShwb3BwZWRUb2tlbi5lbGVtZW50UmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGFuZCB0aGVuIGhpZGUgYW55IHRva2VucyBmcm9tIHRoZSByaWdodCB0aGF0IG5vIGxvbmdlciBmaXRcbiAgICAgICAgICAgIHRoaXMuX2NvbGxhcHNlVG9rZW5zKCdyaWdodCcpO1xuXG4gICAgICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUFycm93UmlnaHQoZnJvbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZyb21JbmRleCA9PT0gdGhpcy50b2tlbkxpc3QubGVuZ3RoIC0gdGhpcy5tb3JlVG9rZW5zUmlnaHQubGVuZ3RoIC0gMSAmJiB0aGlzLm1vcmVUb2tlbnNSaWdodC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcHBlZFRva2VuID0gdGhpcy5tb3JlVG9rZW5zUmlnaHQucG9wKCk7XG4gICAgICAgICAgICBpZiAocG9wcGVkVG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tYWtlRWxlbWVudFZpc2libGUocG9wcGVkVG9rZW4uZWxlbWVudFJlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBhbmQgdGhlbiBoaWRlIGFueSB0b2tlbnMgZnJvbSB0aGUgbGVmdCB0aGF0IG5vIGxvbmdlciBmaXRcbiAgICAgICAgICAgIHRoaXMuX2NvbGxhcHNlVG9rZW5zKCdsZWZ0Jyk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29sbGFwc2VUb2tlbnMoc2lkZT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0IHx8IHRoaXMuY29tcGFjdENvbGxhcHNlKSB7XG4gICAgICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmZvckVhY2goKHZpZXdDb250YWluZXIpID0+IHZpZXdDb250YWluZXIuY2xlYXIoKSk7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4gdG9rZW4uX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRva2VuLl9jb250ZW50KSk7XG5cbiAgICAgICAgICAgIGxldCBlbGVtZW50V2lkdGggPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICBsZXQgY29tYmluZWRUb2tlbldpZHRoID0gdGhpcy5nZXRDb21iaW5lZFRva2VuV2lkdGgoKTsgLy8gdGhlIGNvbWJpbmVkIHdpZHRoIG9mIGFsbCB0b2tlbnMsIHRoZSBcIl9fX18gbW9yZVwiIHRleHQsIGFuZCB0aGUgaW5wdXRcbiAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgV2hlbiByZXNpemluZywgd2Ugd2FudCB0byBjb2xsYXBzZSB0aGUgdG9rZW5zIG9uIHRoZSBsZWZ0IGZpcnN0LiBIb3dldmVyIHdoZW4gdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB0aHJvdWdoXG4gICAgICAgICAgICAgYSBncm91cCBvZiBvdmVyZmxvd2luZyB0b2tlbnMgdXNpbmcgdGhlIGFycm93IGxlZnQga2V5LCB3ZSBtYXkgbmVlZCB0byBoaWRlIHRva2VucyBvbiB0aGUgcmlnaHQuIFNvIGlmIHRoaXNcbiAgICAgICAgICAgICBmdW5jdGlvbiBoYXMgYmVlbiBjYWxsZWQgd2l0aCB0aGUgcGFyYW0gJ3JpZ2h0JyBpdCB3aWxsIGNvbGxhcHNlIHRva2VucyBmcm9tIHRoZSByaWdodCBzaWRlIG9mIHRoZSBsaXN0IHJhdGhlclxuICAgICAgICAgICAgIHRoYW4gdGhlIChkZWZhdWx0KSBsZWZ0IHNpZGUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmIChzaWRlID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgaSA9IHRoaXMudG9rZW5MaXN0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aGlsZSAoY29tYmluZWRUb2tlbldpZHRoID4gZWxlbWVudFdpZHRoICYmIChzaWRlID09PSAncmlnaHQnID8gaSA+PSAwIDogaSA8IHRoaXMudG9rZW5MaXN0Lmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICAvLyBsb29wIHRocm91Z2ggdGhlIHRva2VucyBhbmQgaGlkZSB0aGVtIHVudGlsIHRoZSBjb21iaW5lZFRva2VuV2lkdGggZml0cyBpbiB0aGUgZWxlbWVudFdpZHRoXG4gICAgICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuTGlzdC5maW5kKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vcmVUb2tlbnMgPSBzaWRlID09PSAncmlnaHQnID8gdGhpcy5tb3JlVG9rZW5zUmlnaHQgOiB0aGlzLm1vcmVUb2tlbnNMZWZ0O1xuXG4gICAgICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtb3JlVG9rZW5zLmluZGV4T2YodG9rZW4pID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9yZVRva2Vucy5wdXNoKHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0b2tlbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZ2V0IHRoZSBuZXcgZWxlbWVudFdpZHRoIGFuZCBjb21iaW5lZFRva2VuV2lkdGggYXMgdGhlc2Ugd2lsbCBoYXZlIGNoYW5nZWQgYWZ0ZXIgc2V0dGluZyBhIHRva2VuIGRpc3BsYXkgdG8gJ25vbmUnXG4gICAgICAgICAgICAgICAgZWxlbWVudFdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICAgICAgICAgIGNvbWJpbmVkVG9rZW5XaWR0aCA9IHRoaXMuZ2V0Q29tYmluZWRUb2tlbldpZHRoKCk7XG4gICAgICAgICAgICAgICAgc2lkZSA9PT0gJ3JpZ2h0JyA/IGktLSA6IGkrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgdGhpcy5faGlkZGVuVG9rZW5zLmZvckVhY2goKGhpZGRlblRva2VuLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGhpZGRlblRva2VuLl92aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5nZXQoaW5kZXgpPy5jcmVhdGVFbWJlZGRlZFZpZXcoaGlkZGVuVG9rZW4uX2NvbnRlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9nZXRIaWRkZW5Db3p5VG9rZW5Db3VudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNldFRva2VucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3JlVG9rZW5zTGVmdCA9IFtdO1xuICAgICAgICB0aGlzLm1vcmVUb2tlbnNSaWdodCA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0IHx8IHRoaXMuY29tcGFjdENvbGxhcHNlKSB7XG4gICAgICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX21ha2VFbGVtZW50VmlzaWJsZSh0b2tlbi5lbGVtZW50UmVmKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLl9jb2xsYXBzZVRva2VucygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZ2V0SGlkZGVuQ296eVRva2VuQ291bnQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZVRva2VuQ2xpY2tTdWJzY3JpcHRpb25zKCk7XG4gICAgICAgIHRoaXMucHJldmlvdXNUb2tlbkNvdW50ID0gdGhpcy50b2tlbkxpc3QubGVuZ3RoO1xuICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbikgPT4gdG9rZW4uX3NldFRvdGFsQ291bnQodGhpcy50b2tlbkxpc3QubGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRIaWRkZW5Db3p5VG9rZW5Db3VudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudExlZnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcbiAgICAgICAgdGhpcy5oaWRkZW5Db3p5VG9rZW5Db3VudCA9IDA7XG4gICAgICAgIHRoaXMudG9rZW5MaXN0LmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdG9rZW4udG9rZW5XcmFwcGVyRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgIHRva2VuLnRva2VuV3JhcHBlckVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCA8IGVsZW1lbnRMZWZ0XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkNvenlUb2tlbkNvdW50ICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUNvenlUb2tlbkNvdW50KCk6IHZvaWQge1xuICAgICAgICAvLyBiZWNhdXNlIGp1c3RpZnktY29udGVudCBicmVha3Mgc2Nyb2xsYmFyLCBpdCBjYW5ub3QgYmUgdXNlZCBvbiBjb3p5IHNjcmVlbnMsIHNvIHVzZSBKUyB0byBzY3JvbGwgdG8gdGhlIGVuZFxuICAgICAgICB0aGlzLnRva2VuaXplcklubmVyRWwubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy50b2tlbml6ZXJJbm5lckVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGg7XG4gICAgICAgIHRoaXMuX2dldEhpZGRlbkNvenlUb2tlbkNvdW50KCk7XG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkNvenlUb2tlbkNvdW50ID4gMCkge1xuICAgICAgICAgICAgLy8gbmVlZCB0byBkbyB0aGlzIGFnYWluIGluIGNhc2UgXCJfX19fIG1vcmVcIiB0ZXh0IHdhcyBhZGRlZFxuICAgICAgICAgICAgdGhpcy50b2tlbml6ZXJJbm5lckVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMudG9rZW5pemVySW5uZXJFbC5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoO1xuICAgICAgICAgICAgdGhpcy5fZ2V0SGlkZGVuQ296eVRva2VuQ291bnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWFrZUVsZW1lbnRWaXNpYmxlKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUNsaWNrcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zICYmIHRoaXMudG9rZW5MaXN0Q2xpY2tTdWJzY3JpcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50b2tlbkxpc3RDbGlja1N1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5wdXRLZXlkb3duRXZlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXQuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVLZXlEb3duKGV2ZW50LCB0aGlzLnRva2VuTGlzdC5sZW5ndGgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBNZXRob2Qgd2hpY2ggaGFuZGxlcyB3aGF0IGhhcHBlbnMgdG8gdG9rZW4gd2hlbiBpdCBpcyBjbGlja2VkIGFuZCBubyBrZXkgaXMgYmVpbmcgaGVsZCBkb3duLiovXG4gICAgcHJpdmF0ZSBfYmFzaWNTZWxlY3RlZCh0b2tlbiwgaW5kZXgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2tlbkxpc3QuZm9yRWFjaCgoc2hhZG93ZWRUb2tlbikgPT4ge1xuICAgICAgICAgICAgaWYgKHNoYWRvd2VkVG9rZW4gIT09IHRva2VuKSB7XG4gICAgICAgICAgICAgICAgc2hhZG93ZWRUb2tlbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBpbmRleDtcbiAgICAgICAgdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4O1xuICAgICAgICB0b2tlbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2N0cmxQcmV2aW91cyA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFJlc3RhcnQgZmlyc3QgYW5kIGxhc3QgZWxlbWVudHMgZm9yIHNoaWZ0IHNlbGVjdGlvbi4qL1xuICAgIHByaXZhdGUgcmVzZXRGaXJzdEFuZExhc3RFbGVtZW50KCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZXNldCA9ICF0aGlzLnRva2VuTGlzdC5zb21lKCh0b2tlbikgPT4gdG9rZW4uc2VsZWN0ZWQpO1xuICAgICAgICBpZiAocmVzZXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTWV0aG9kIHdoaWNoIGhhbmRsZXMgd2hhdCBoYXBwZW5zIHRvIHRva2VuIHdoZW4gaXQgaXMgY2xpY2tlZCBhbmQgdGhlIHNoaWZ0IGtleSBpcyBiZWluZyBoZWxkIGRvd24uKi9cbiAgICBwcml2YXRlIF9zaGlmdFNlbGVjdGVkKGluZGV4KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gJiYgIXRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLl9kaXJlY3Rpb25TaGlmdElzUmlnaHQgPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uICYmIGluZGV4IDwgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZGlyZWN0aW9uU2hpZnRJc1JpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fZGlyZWN0aW9uU2hpZnRJc1JpZ2h0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBpbmRleDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiAmJiBpbmRleCA+IHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2RpcmVjdGlvblNoaWZ0SXNSaWdodCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiA9IHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX2RpcmVjdGlvblNoaWZ0SXNSaWdodCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLl9kaXJlY3Rpb25TaGlmdElzUmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9kaXJlY3Rpb25TaGlmdElzUmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRva2VuTGlzdC5mb3JFYWNoKCh0b2tlbiwgaW5kZXhPZlRva2VuKSA9PiB7XG4gICAgICAgICAgICB0b2tlbi5zZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGluZGV4T2ZUb2tlbiA+PSB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiAmJlxuICAgICAgICAgICAgICAgIGluZGV4T2ZUb2tlbiA8PSB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fY3RybFByZXZpb3VzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTWV0aG9kIHdoaWNoIGhhbmRsZXMgd2hhdCBoYXBwZW5zIHRvIHRva2VuIHdoZW4gaXQgaXMgY2xpY2tlZCBhbmQgdGhlIGNvbnRyb2wgb3IgbWV0YSBrZXkgaXMgYmVpbmcgaGVsZCBkb3duLiovXG4gICAgcHJpdmF0ZSBfY3RybFNlbGVjdGVkKHRva2VuLCBpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSBudWxsO1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRva2VuLnNlbGVjdGVkO1xuICAgICAgICB0b2tlbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgICAgdG9rZW4uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudG9rZW5MaXN0LmZvckVhY2goKGVsZW1lbnQsIGluZGV4T2ZUb2tlbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uID0gaW5kZXhPZlRva2VuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbiA9IGluZGV4T2ZUb2tlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5fbGFzdEVsZW1lbnRJblNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RFbGVtZW50SW5TZWxlY3Rpb24gPSB0aGlzLl9sYXN0RWxlbWVudEluU2VsZWN0aW9uISAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuX2ZpcnN0RWxlbWVudEluU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlyc3RFbGVtZW50SW5TZWxlY3Rpb24gPSB0aGlzLl9maXJzdEVsZW1lbnRJblNlbGVjdGlvbiEgLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2N0cmxQcmV2aW91cyA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEdldCBzZWxlY3RlZCBhbmQgZm9jdXNlZCB0b2tlbnMgKi9cbiAgICBwcml2YXRlIF9nZXRBY3RpdmVUb2tlbnMoKTogVG9rZW5Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2VuTGlzdC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0ZWQgfHwgdGhpcy5faXNUb2tlbkZvY3VzZWQoaXRlbSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Rm9jdXNlZFRva2VuSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5MaXN0LnRvQXJyYXkoKS5maW5kSW5kZXgoKHRva2VuKSA9PiB0aGlzLl9pc1Rva2VuRm9jdXNlZCh0b2tlbikpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNUb2tlbkZvY3VzZWQodG9rZW46IFRva2VuQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0b2tlbi50b2tlbldyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0lucHV0Rm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuaW5wdXQuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90b2tlbnNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5MaXN0LnNvbWUoKHQpID0+IHQuc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dC5lbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzSW5wdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXQuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQ29udHJvbEtleShrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50IHwgTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ga2V5Ym9hcmRFdmVudC5jdHJsS2V5IHx8IGtleWJvYXJkRXZlbnQubWV0YUtleTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlbkVsZW1lbnRFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LCAnZm9jdXMnLCB7IGNhcHR1cmU6IHRydWUgfSkucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAoZXZlbnRbJ3RhcmdldCddIGFzIGFueSk/LnRhZ05hbWUgPT09ICdJTlBVVCcgJiYgdGhpcy50b2tlbml6ZXJGb2N1c2FibGUpLFxuICAgICAgICAgICAgICAgIG1hcFRvKHRydWUpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LCAnYmx1cicsIHsgY2FwdHVyZTogdHJ1ZSB9KS5waXBlKG1hcFRvKGZhbHNlKSlcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gZGVib3VuY2VUaW1lIGlzIG5lZWRlZCBpbiBvcmRlciB0byBmaWx0ZXIgc3Vic2VxdWVudCBmb2N1cy1ibHVyIGV2ZW50cywgdGhhdCBoYXBwZW4gc2ltdWx0YW5lb3VzbHlcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZm9jdXNlZCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rva2VuaXplckhhc0ZvY3VzID0gZm9jdXNlZDtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIExpc3RlbiB3aW5kb3cgcmVzaXplIGFuZCBkaXN0cmlidXRlIGNhcmRzIG9uIGNvbHVtbiBjaGFuZ2UgKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2YWJsZSh0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDYwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uUmVzaXplKCkpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLXRva2VuaXplciBmZC10b2tlbml6ZXItLXNjcm9sbGFibGVcIlxuICAgIFtjbGFzcy5pcy1mb2N1c109XCJfdG9rZW5pemVySGFzRm9jdXNcIlxuICAgIFtjbGFzcy5mZC10b2tlbml6ZXItLWNvbXBhY3RdPVwiY29tcGFjdFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cImZkLXRva2VuaXplcl9faW5uZXJcIiAjdG9rZW5pemVySW5uZXI+XG4gICAgICAgIDxkaXYgcm9sZT1cImxpc3Rib3hcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXRva2VuXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3Nob3dPdmVyZmxvd1BvcG92ZXIgJiYgKGNvbXBhY3QgfHwgY29tcGFjdENvbGxhcHNlKTsgZWxzZSBtb3JlRWxlbWVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRva2Vuc092ZXJmbG93XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1mb3JtLWNvbnRyb2xdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGZkLWlucHV0LWdyb3VwLWFkZG9uICpuZ0lmPVwiZ2x5cGhcIiAjaW5wdXRHcm91cEFkZE9uIFtidXR0b25dPVwidHJ1ZVwiIHBsYWNlbWVudD1cImFmdGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgW2NsYXNzXT1cImNvbXBhY3QgPyAnZmQtdG9rZW5pemVyLWFkZG9uLS1jb21wYWN0JyA6ICdmZC10b2tlbml6ZXItYWRkb24nXCJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJnbHlwaFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3Rva2Vuc092ZXJmbG93PlxuICAgIDxmZC1wb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbS1zdGFydFwiIHRpdGxlPVwiXCIgW25vQXJyb3ddPVwiZmFsc2VcIiBbZm9jdXNUcmFwcGVkXT1cInRydWVcIiBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCI+XG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9yZUVsZW1lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG5cbiAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgIDx1bCBmZC1saXN0IGNsYXNzPVwiZmQtdG9rZW5pemVyX19vdmVyZmxvdy1saXN0XCI+XG4gICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbSBjbGFzcz1cImZkLXRva2VuaXplcl9fb3ZlcmZsb3ctbGlzdC1pdGVtXCIgKm5nRm9yPVwibGV0IHRva2VuIG9mIF9oaWRkZW5Ub2tlbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjdmlld0NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhdG9rZW4ucmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10b2tlbl9fY2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRva2VuLmRlbGV0ZUJ1dHRvbkxhYmVsIHx8ICgnY29yZVRva2VuLmRlbGV0ZUJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9rZW4uY2xvc2VDbGlja0hhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgIDwvZmQtcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9yZUVsZW1lbnQ+XG4gICAgPHNwYW5cbiAgICAgICAgKGNsaWNrKT1cIm1vcmVDbGlja2VkKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgKG1vcmVUb2tlbnNMZWZ0Lmxlbmd0aCA+IDAgfHwgbW9yZVRva2Vuc1JpZ2h0Lmxlbmd0aCA+IDAgfHwgaGlkZGVuQ296eVRva2VuQ291bnQgPiAwKSAmJlxuICAgICAgICAgICAgIW9wZW4gJiZcbiAgICAgICAgICAgICFfdG9rZW5pemVySGFzRm9jdXNcbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJmZC10b2tlbml6ZXItbW9yZVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBhY3QgfHwgY29tcGFjdENvbGxhcHNlXCI+XG4gICAgICAgICAgICB7eyAnY29yZVRva2VuaXplci5tb3JlTGFiZWwnIHwgZmRUcmFuc2xhdGU6IHsgY291bnQ6IG1vcmVUb2tlbnNMZWZ0Lmxlbmd0aCArIG1vcmVUb2tlbnNSaWdodC5sZW5ndGggfSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0ICYmICFjb21wYWN0Q29sbGFwc2VcIj5cbiAgICAgICAgICAgIHt7ICdjb3JlVG9rZW5pemVyLm1vcmVMYWJlbCcgfCBmZFRyYW5zbGF0ZTogeyBjb3VudDogaGlkZGVuQ296eVRva2VuQ291bnQgfSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -37,14 +37,14 @@ export class DeprecatedToolbarSizeDirective extends BehaviorSubject {
37
37
  this.complete();
38
38
  }
39
39
  }
40
- DeprecatedToolbarSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DeprecatedToolbarSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
41
- DeprecatedToolbarSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: DeprecatedToolbarSizeDirective, selector: "fd-toolbar[size]", inputs: { size: "size" }, providers: [
40
+ DeprecatedToolbarSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DeprecatedToolbarSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
41
+ DeprecatedToolbarSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: DeprecatedToolbarSizeDirective, selector: "fd-toolbar[size]", inputs: { size: "size" }, providers: [
42
42
  {
43
43
  provide: CONTENT_DENSITY_DIRECTIVE,
44
44
  useExisting: forwardRef(() => DeprecatedToolbarSizeDirective)
45
45
  }
46
46
  ], usesInheritance: true, ngImport: i0 });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DeprecatedToolbarSizeDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DeprecatedToolbarSizeDirective, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
50
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3,9 +3,9 @@ import { ToolbarItemDirective } from './toolbar-item.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ToolbarFormLabelDirective extends ToolbarItemDirective {
5
5
  }
6
- ToolbarFormLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarFormLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
- ToolbarFormLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ToolbarFormLabelDirective, selector: "[fd-toolbar-form-label]", host: { classAttribute: "fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text" }, usesInheritance: true, ngImport: i0 });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarFormLabelDirective, decorators: [{
6
+ ToolbarFormLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarFormLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
+ ToolbarFormLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ToolbarFormLabelDirective, selector: "[fd-toolbar-form-label]", host: { classAttribute: "fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text" }, usesInheritance: true, ngImport: i0 });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarFormLabelDirective, decorators: [{
9
9
  type: Directive,
10
10
  args: [{
11
11
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -6,9 +6,9 @@ export class ToolbarItemDirective {
6
6
  this.elementRef = elementRef;
7
7
  }
8
8
  }
9
- ToolbarItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
10
- ToolbarItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ToolbarItemDirective, selector: "[fd-toolbar-item]", ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarItemDirective, decorators: [{
9
+ ToolbarItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
10
+ ToolbarItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ToolbarItemDirective, selector: "[fd-toolbar-item]", ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarItemDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3,9 +3,9 @@ import { ToolbarItemDirective } from './toolbar-item.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ToolbarLabelDirective extends ToolbarItemDirective {
5
5
  }
6
- ToolbarLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
- ToolbarLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ToolbarLabelDirective, selector: "[fd-toolbar-label]", host: { classAttribute: "fd-label fd-toolbar__overflow-label" }, usesInheritance: true, ngImport: i0 });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarLabelDirective, decorators: [{
6
+ ToolbarLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
+ ToolbarLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ToolbarLabelDirective, selector: "[fd-toolbar-label]", host: { classAttribute: "fd-label fd-toolbar__overflow-label" }, usesInheritance: true, ngImport: i0 });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarLabelDirective, decorators: [{
9
9
  type: Directive,
10
10
  args: [{
11
11
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3,9 +3,9 @@ import { ToolbarItemDirective } from './toolbar-item.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {
5
5
  }
6
- ToolbarOverflowButtonMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarOverflowButtonMenuDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
- ToolbarOverflowButtonMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ToolbarOverflowButtonMenuDirective, selector: "[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]", host: { classAttribute: "fd-toolbar__overflow-button--menu" }, usesInheritance: true, ngImport: i0 });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToolbarOverflowButtonMenuDirective, decorators: [{
6
+ ToolbarOverflowButtonMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarOverflowButtonMenuDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
+ ToolbarOverflowButtonMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ToolbarOverflowButtonMenuDirective, selector: "[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]", host: { classAttribute: "fd-toolbar__overflow-button--menu" }, usesInheritance: true, ngImport: i0 });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToolbarOverflowButtonMenuDirective, decorators: [{
9
9
  type: Directive,
10
10
  args: [{
11
11
  selector: '[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]',