@fundamental-ngx/core 0.42.0-rc.8 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/alert/alert.component.d.ts +5 -4
  2. package/alert/alert.module.d.ts +2 -1
  3. package/avatar/avatar.component.d.ts +2 -4
  4. package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +2 -6
  5. package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +2 -4
  6. package/bar/bar.component.d.ts +2 -4
  7. package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +2 -4
  8. package/button/button.component.d.ts +2 -6
  9. package/card/card-content.component.d.ts +2 -4
  10. package/card/card-counter.directive.d.ts +2 -4
  11. package/card/card-header.component.d.ts +2 -4
  12. package/card/card-loader.component.d.ts +2 -4
  13. package/card/card-second-subtitle.directive.d.ts +2 -4
  14. package/card/card-subtitle.directive.d.ts +2 -4
  15. package/card/card-title.directive.d.ts +2 -4
  16. package/card/card.component.d.ts +3 -5
  17. package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -4
  18. package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -4
  19. package/card/kpi/card-kpi-analytics.directive.d.ts +2 -4
  20. package/card/kpi/card-kpi-header.component.d.ts +2 -4
  21. package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -4
  22. package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -4
  23. package/card/kpi/card-kpi-value.directive.d.ts +2 -4
  24. package/combobox/combobox.module.d.ts +2 -1
  25. package/dialog/base/dialog-base.class.d.ts +2 -2
  26. package/dialog/dialog-body/dialog-body.component.d.ts +2 -4
  27. package/dialog/dialog-container/dialog-container.component.d.ts +0 -2
  28. package/dialog/dialog-service/dialog.service.d.ts +4 -0
  29. package/dialog/dialog.component.d.ts +0 -2
  30. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +4 -6
  31. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +2 -4
  32. package/dynamic-side-content/dynamic-side-content.component.d.ts +3 -5
  33. package/esm2020/alert/alert.component.mjs +7 -19
  34. package/esm2020/alert/alert.module.mjs +5 -4
  35. package/esm2020/avatar/avatar.component.mjs +6 -10
  36. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +4 -12
  37. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +2 -2
  38. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -7
  39. package/esm2020/bar/bar.component.mjs +3 -7
  40. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
  41. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  42. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -8
  43. package/esm2020/button/button.component.mjs +3 -9
  44. package/esm2020/card/card-content.component.mjs +3 -7
  45. package/esm2020/card/card-counter.directive.mjs +3 -7
  46. package/esm2020/card/card-header.component.mjs +4 -8
  47. package/esm2020/card/card-loader.component.mjs +3 -7
  48. package/esm2020/card/card-second-subtitle.directive.mjs +3 -7
  49. package/esm2020/card/card-subtitle.directive.mjs +3 -7
  50. package/esm2020/card/card-title.directive.mjs +3 -7
  51. package/esm2020/card/card.component.mjs +3 -7
  52. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -7
  53. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -7
  54. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -7
  55. package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -7
  56. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -7
  57. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -7
  58. package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -7
  59. package/esm2020/checkbox/checkbox/checkbox.component.mjs +5 -5
  60. package/esm2020/combobox/combobox.component.mjs +5 -4
  61. package/esm2020/combobox/combobox.module.mjs +8 -4
  62. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  63. package/esm2020/datetime-picker/datetime-picker.component.mjs +7 -4
  64. package/esm2020/dialog/base/dialog-base.class.mjs +4 -4
  65. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -7
  66. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +1 -5
  67. package/esm2020/dialog/dialog-service/dialog.service.mjs +10 -2
  68. package/esm2020/dialog/dialog.component.mjs +3 -7
  69. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +4 -8
  70. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +5 -9
  71. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -7
  72. package/esm2020/facets/content/facet-content.component.mjs +4 -8
  73. package/esm2020/facets/facet/facet.component.mjs +13 -19
  74. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -7
  75. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -7
  76. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -7
  77. package/esm2020/form/form-control/form-control.component.mjs +3 -7
  78. package/esm2020/form/form-group/form-group.component.mjs +3 -7
  79. package/esm2020/form/form-message/form-message.component.mjs +3 -7
  80. package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
  81. package/esm2020/icon/icon.component.mjs +3 -7
  82. package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -7
  83. package/esm2020/info-label/info-label.component.mjs +3 -7
  84. package/esm2020/inline-help/inline-help.directive.mjs +26 -15
  85. package/esm2020/input-group/input-group-directives.mjs +6 -14
  86. package/esm2020/input-group/input-group.component.mjs +2 -2
  87. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -7
  88. package/esm2020/layout-grid/layout-grid.component.mjs +3 -7
  89. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -7
  90. package/esm2020/link/link.component.mjs +9 -13
  91. package/esm2020/list/directives/list-icon.directive.mjs +3 -7
  92. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -7
  93. package/esm2020/list/list-message.directive.mjs +3 -7
  94. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +2 -2
  95. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +1 -5
  96. package/esm2020/message-box/message-box.component.mjs +1 -5
  97. package/esm2020/message-page/message-page.component.mjs +3 -7
  98. package/esm2020/message-strip/alert/default-config.mjs +11 -0
  99. package/esm2020/message-strip/alert/index.mjs +6 -0
  100. package/esm2020/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +68 -0
  101. package/esm2020/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +57 -0
  102. package/esm2020/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +65 -0
  103. package/esm2020/message-strip/alert/message-strip-alert.position.mjs +2 -0
  104. package/esm2020/message-strip/alert/message-strip-alert.ref.mjs +3 -0
  105. package/esm2020/message-strip/alert/message-strip-alert.service.mjs +195 -0
  106. package/esm2020/message-strip/alert/message-strip-configuration-type.mjs +2 -0
  107. package/esm2020/message-strip/alert/open-message-strip-alert.config.mjs +2 -0
  108. package/esm2020/message-strip/alert/tokens.mjs +14 -0
  109. package/esm2020/message-strip/auto-dismiss-message-strip.directive.mjs +98 -0
  110. package/esm2020/message-strip/fundamental-ngx-core-message-strip.mjs +2 -2
  111. package/esm2020/message-strip/index.mjs +6 -0
  112. package/esm2020/message-strip/message-strip-type.mjs +2 -0
  113. package/esm2020/message-strip/message-strip.component.mjs +16 -20
  114. package/esm2020/message-strip/message-strip.module.mjs +6 -9
  115. package/esm2020/multi-combobox/multi-combobox.component.mjs +6 -6
  116. package/esm2020/multi-input/multi-input.component.mjs +33 -19
  117. package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -7
  118. package/esm2020/notification/notification-group/notification-group.component.mjs +3 -7
  119. package/esm2020/notification/notification-utils/notification-group-base.mjs +2 -2
  120. package/esm2020/object-marker/object-marker.component.mjs +3 -7
  121. package/esm2020/object-number/object-number.component.mjs +3 -7
  122. package/esm2020/object-status/object-status.component.mjs +3 -7
  123. package/esm2020/panel/panel.component.mjs +3 -7
  124. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  125. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  126. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -7
  127. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -8
  128. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -7
  129. package/esm2020/segmented-button/segmented-button.component.mjs +4 -4
  130. package/esm2020/select/select.component.mjs +3 -3
  131. package/esm2020/slider/slider.component.mjs +3 -7
  132. package/esm2020/status-indicator/status-indicator.component.mjs +4 -8
  133. package/esm2020/table/directives/table-cell.directive.mjs +31 -26
  134. package/esm2020/table/directives/table-icon.directive.mjs +3 -9
  135. package/esm2020/table/directives/table-row.directive.mjs +34 -19
  136. package/esm2020/table/table-wrapper.component.mjs +2 -2
  137. package/esm2020/table/table.component.mjs +1 -1
  138. package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -7
  139. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -9
  140. package/esm2020/tabs/tab-utils/tab-directives.mjs +3 -9
  141. package/esm2020/tile/directives/numeric-content.directives.mjs +14 -34
  142. package/esm2020/tile/directives/tile.directives.mjs +9 -21
  143. package/esm2020/tile/tile.component.mjs +2 -2
  144. package/esm2020/token/token-input.directive.mjs +3 -7
  145. package/esm2020/token/tokenizer.component.mjs +20 -22
  146. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  147. package/esm2020/tree/components/tree-item/tree-item.component.mjs +1 -1
  148. package/esm2020/tree/models/base-tree-item.class.mjs +2 -6
  149. package/esm2020/tree/tree.component.mjs +3 -7
  150. package/esm2020/upload-collection/upload-collection-item.directive.mjs +2 -2
  151. package/esm2020/wizard/wizard.component.mjs +2 -2
  152. package/facets/content/facet-content.component.d.ts +2 -4
  153. package/facets/facet/facet.component.d.ts +2 -6
  154. package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -4
  155. package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -4
  156. package/feed-list-item/components/list/feed-list.component.d.ts +2 -4
  157. package/fesm2015/fundamental-ngx-core-alert.mjs +48 -58
  158. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  159. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +6 -18
  160. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  161. package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -9
  162. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  163. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -6
  164. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  165. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  166. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  167. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +3 -7
  168. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  169. package/fesm2015/fundamental-ngx-core-button.mjs +2 -8
  170. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  171. package/fesm2015/fundamental-ngx-core-card.mjs +31 -91
  172. package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
  173. package/fesm2015/fundamental-ngx-core-checkbox.mjs +4 -4
  174. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  175. package/fesm2015/fundamental-ngx-core-combobox.mjs +10 -5
  176. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  177. package/fesm2015/fundamental-ngx-core-content-density.mjs +2 -2
  178. package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  179. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +6 -3
  180. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  181. package/fesm2015/fundamental-ngx-core-dialog.mjs +16 -21
  182. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  183. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +7 -15
  184. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  185. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  186. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  187. package/fesm2015/fundamental-ngx-core-facets.mjs +15 -25
  188. package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
  189. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -6
  190. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  191. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -12
  192. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  193. package/fesm2015/fundamental-ngx-core-form.mjs +6 -18
  194. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  195. package/fesm2015/fundamental-ngx-core-grid-list.mjs +2 -2
  196. package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  197. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -6
  198. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  199. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -6
  200. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  201. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -6
  202. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  203. package/fesm2015/fundamental-ngx-core-inline-help.mjs +24 -13
  204. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  205. package/fesm2015/fundamental-ngx-core-input-group.mjs +6 -14
  206. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  207. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +4 -12
  208. package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  209. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -6
  210. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  211. package/fesm2015/fundamental-ngx-core-link.mjs +8 -12
  212. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  213. package/fesm2015/fundamental-ngx-core-list.mjs +6 -18
  214. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  215. package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
  216. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  217. package/fesm2015/fundamental-ngx-core-message-box.mjs +0 -8
  218. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  219. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -6
  220. package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
  221. package/fesm2015/fundamental-ngx-core-message-strip.mjs +488 -28
  222. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  223. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +5 -5
  224. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  225. package/fesm2015/fundamental-ngx-core-multi-input.mjs +33 -17
  226. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  227. package/fesm2015/fundamental-ngx-core-notification.mjs +5 -13
  228. package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
  229. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -6
  230. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  231. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -6
  232. package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
  233. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -6
  234. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  235. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -6
  236. package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
  237. package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
  238. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  239. package/fesm2015/fundamental-ngx-core-radio.mjs +1 -1
  240. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  241. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -6
  242. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  243. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  244. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  245. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +3 -3
  246. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  247. package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
  248. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  249. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -6
  250. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  251. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +3 -7
  252. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  253. package/fesm2015/fundamental-ngx-core-table.mjs +64 -48
  254. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  255. package/fesm2015/fundamental-ngx-core-tabs.mjs +6 -22
  256. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  257. package/fesm2015/fundamental-ngx-core-tile.mjs +22 -54
  258. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  259. package/fesm2015/fundamental-ngx-core-token.mjs +22 -28
  260. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  261. package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
  262. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  263. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -11
  264. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  265. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
  266. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  267. package/fesm2015/fundamental-ngx-core-wizard.mjs +1 -1
  268. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  269. package/fesm2020/fundamental-ngx-core-alert.mjs +48 -58
  270. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  271. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +6 -18
  272. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  273. package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -9
  274. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  275. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -6
  276. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  277. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  278. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  279. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +3 -7
  280. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  281. package/fesm2020/fundamental-ngx-core-button.mjs +2 -8
  282. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  283. package/fesm2020/fundamental-ngx-core-card.mjs +31 -91
  284. package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
  285. package/fesm2020/fundamental-ngx-core-checkbox.mjs +4 -4
  286. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  287. package/fesm2020/fundamental-ngx-core-combobox.mjs +10 -5
  288. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  289. package/fesm2020/fundamental-ngx-core-content-density.mjs +2 -2
  290. package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  291. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +6 -3
  292. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  293. package/fesm2020/fundamental-ngx-core-dialog.mjs +16 -21
  294. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  295. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +7 -15
  296. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  297. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  298. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  299. package/fesm2020/fundamental-ngx-core-facets.mjs +15 -25
  300. package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
  301. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -6
  302. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  303. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -12
  304. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  305. package/fesm2020/fundamental-ngx-core-form.mjs +6 -18
  306. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  307. package/fesm2020/fundamental-ngx-core-grid-list.mjs +2 -2
  308. package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  309. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -6
  310. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  311. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -6
  312. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  313. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -6
  314. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  315. package/fesm2020/fundamental-ngx-core-inline-help.mjs +24 -13
  316. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  317. package/fesm2020/fundamental-ngx-core-input-group.mjs +6 -14
  318. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  319. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +4 -12
  320. package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  321. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -6
  322. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  323. package/fesm2020/fundamental-ngx-core-link.mjs +8 -12
  324. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  325. package/fesm2020/fundamental-ngx-core-list.mjs +6 -18
  326. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  327. package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
  328. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  329. package/fesm2020/fundamental-ngx-core-message-box.mjs +0 -8
  330. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  331. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -6
  332. package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
  333. package/fesm2020/fundamental-ngx-core-message-strip.mjs +493 -28
  334. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  335. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +5 -5
  336. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  337. package/fesm2020/fundamental-ngx-core-multi-input.mjs +31 -17
  338. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  339. package/fesm2020/fundamental-ngx-core-notification.mjs +5 -13
  340. package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
  341. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -6
  342. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  343. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -6
  344. package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
  345. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -6
  346. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  347. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -6
  348. package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
  349. package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
  350. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  351. package/fesm2020/fundamental-ngx-core-radio.mjs +1 -1
  352. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  353. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -6
  354. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  355. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  356. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  357. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +3 -3
  358. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  359. package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
  360. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  361. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -6
  362. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  363. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +3 -7
  364. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  365. package/fesm2020/fundamental-ngx-core-table.mjs +64 -48
  366. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  367. package/fesm2020/fundamental-ngx-core-tabs.mjs +6 -22
  368. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  369. package/fesm2020/fundamental-ngx-core-tile.mjs +22 -54
  370. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  371. package/fesm2020/fundamental-ngx-core-token.mjs +21 -27
  372. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  373. package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
  374. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  375. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -11
  376. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  377. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
  378. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  379. package/fesm2020/fundamental-ngx-core-wizard.mjs +1 -1
  380. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  381. package/form/form-control/form-control.component.d.ts +2 -4
  382. package/form/form-group/form-group.component.d.ts +2 -4
  383. package/form/form-message/form-message.component.d.ts +2 -4
  384. package/fundamental-ngx-core-v0.42.0.tgz +0 -0
  385. package/icon/icon.component.d.ts +2 -4
  386. package/illustrated-message/illustrated-message.component.d.ts +2 -4
  387. package/info-label/info-label.component.d.ts +2 -4
  388. package/inline-help/inline-help.directive.d.ts +9 -3
  389. package/input-group/input-group-directives.d.ts +5 -9
  390. package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -4
  391. package/layout-grid/layout-grid.component.d.ts +2 -4
  392. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +4 -6
  393. package/link/link.component.d.ts +2 -4
  394. package/list/directives/list-icon.directive.d.ts +4 -5
  395. package/list/directives/list-navigation-item-text.directive.d.ts +2 -4
  396. package/list/list-message.directive.d.ts +2 -4
  397. package/message-box/message-box-container/message-box-container.component.d.ts +0 -2
  398. package/message-box/message-box.component.d.ts +0 -2
  399. package/message-page/message-page.component.d.ts +2 -4
  400. package/message-strip/alert/default-config.d.ts +5 -0
  401. package/message-strip/alert/index.d.ts +9 -0
  402. package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +52 -0
  403. package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +28 -0
  404. package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +36 -0
  405. package/message-strip/alert/message-strip-alert.position.d.ts +3 -0
  406. package/message-strip/alert/message-strip-alert.ref.d.ts +14 -0
  407. package/message-strip/alert/message-strip-alert.service.d.ts +52 -0
  408. package/message-strip/alert/message-strip-configuration-type.d.ts +15 -0
  409. package/message-strip/alert/open-message-strip-alert.config.d.ts +22 -0
  410. package/message-strip/alert/tokens.d.ts +20 -0
  411. package/message-strip/auto-dismiss-message-strip.directive.d.ts +35 -0
  412. package/message-strip/index.d.ts +5 -5
  413. package/message-strip/message-strip-type.d.ts +2 -0
  414. package/message-strip/message-strip.component.d.ts +7 -9
  415. package/message-strip/message-strip.module.d.ts +2 -4
  416. package/multi-combobox/multi-combobox.component.d.ts +1 -1
  417. package/multi-input/multi-input.component.d.ts +10 -6
  418. package/notification/directives/notification-indicator.directive.d.ts +2 -4
  419. package/notification/notification-group/notification-group.component.d.ts +2 -4
  420. package/object-marker/object-marker.component.d.ts +2 -4
  421. package/object-number/object-number.component.d.ts +2 -4
  422. package/object-status/object-status.component.d.ts +2 -4
  423. package/package.json +3 -3
  424. package/panel/panel.component.d.ts +2 -4
  425. package/radio/radio-button/radio-button.component.d.ts +1 -1
  426. package/rating-indicator/components/rating-indicator.component.d.ts +2 -4
  427. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +2 -4
  428. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -4
  429. package/schematics/add-dependencies/index.js +4 -4
  430. package/slider/slider.component.d.ts +2 -4
  431. package/status-indicator/status-indicator.component.d.ts +2 -4
  432. package/table/directives/table-cell.directive.d.ts +6 -12
  433. package/table/directives/table-icon.directive.d.ts +2 -6
  434. package/table/directives/table-row.directive.d.ts +10 -10
  435. package/tabs/tab-item/tab-item.directive.d.ts +2 -4
  436. package/tabs/tab-nav/tab-nav.component.d.ts +4 -8
  437. package/tabs/tab-utils/tab-directives.d.ts +2 -6
  438. package/tile/directives/numeric-content.directives.d.ts +10 -20
  439. package/tile/directives/tile.directives.d.ts +6 -12
  440. package/tile/tile.component.d.ts +1 -1
  441. package/token/token-input.directive.d.ts +2 -4
  442. package/token/tokenizer.component.d.ts +2 -4
  443. package/toolbar/toolbar.component.d.ts +1 -1
  444. package/tree/models/base-tree-item.class.d.ts +1 -3
  445. package/tree/tree.component.d.ts +1 -3
  446. package/esm2020/message-strip/public_api.mjs +0 -3
  447. package/fundamental-ngx-core-v0.42.0-rc.8.tgz +0 -0
  448. package/message-strip/public_api.d.ts +0 -2
@@ -16,8 +16,8 @@ import * as i0 from "@angular/core";
16
16
  */
17
17
  export class FormGroupComponent {
18
18
  /** @hidden */
19
- constructor(_elementRef) {
20
- this._elementRef = _elementRef;
19
+ constructor(elementRef) {
20
+ this.elementRef = elementRef;
21
21
  /** @hidden */
22
22
  this.fdFormGroupClass = true;
23
23
  }
@@ -36,10 +36,6 @@ export class FormGroupComponent {
36
36
  buildComponentCssClass() {
37
37
  return [this.isInline ? 'fd-form-group--inline' : ''];
38
38
  }
39
- /** @hidden */
40
- elementRef() {
41
- return this._elementRef;
42
- }
43
39
  }
44
40
  FormGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormGroupComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
45
41
  FormGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FormGroupComponent, selector: "fd-form-group", inputs: { isInline: "isInline" }, host: { properties: { "class.fd-form-group": "this.fdFormGroupClass" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n .fd-form-group(--inline)\n*/.fd-form-group{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-form-group:after,.fd-form-group:before{box-sizing:inherit;font-size:inherit}.fd-form-group--inline{-webkit-box-pack:start;-ms-flex-pack:start;-ms-flex-wrap:wrap;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.fd-form-group--inline,.fd-form-group__header{display:flex}.fd-form-group__header{-webkit-box-sizing:border-box;align-items:center;background-color:var(--sapGroup_TitleBackground);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-form-group__header:after,.fd-form-group__header:before{box-sizing:inherit;font-size:inherit}.fd-form-group__header[class*=-compact],.fd-form-group__header[class*=-condensed],[class*=-compact] .fd-form-group__header:not([class*=-cozy]),[class*=-condensed] .fd-form-group__header:not([class*=-cozy]){height:2rem}.fd-form-group__header-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader6Size);font-weight:400;font-weight:700;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-form-group__header-text:after,.fd-form-group__header-text:before{box-sizing:inherit;font-size:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
@@ -58,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
58
54
  }], isInline: [{
59
55
  type: Input
60
56
  }], buildComponentCssClass: [] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsS0FBSyxFQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHM0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBYzNCLGNBQWM7SUFDZCxZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWQzQyxjQUFjO1FBRWQscUJBQWdCLEdBQUcsSUFBSSxDQUFDO0lBWXNCLENBQUM7SUFFL0MsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBRUgsc0JBQXNCO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGNBQWM7SUFDZCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7OytHQXZDUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzTENoQy9CLDZCQUNBO0FEOERJO0lBQUMsYUFBYTs7OztnRUFHYjsyRkFsQ1Esa0JBQWtCO2tCQVA5QixTQUFTOytCQUNJLGVBQWUsaUJBRVYsaUJBQWlCLENBQUMsSUFBSSxtQkFFcEIsdUJBQXVCLENBQUMsTUFBTTtpR0FLL0MsZ0JBQWdCO3NCQURmLFdBQVc7dUJBQUMscUJBQXFCO2dCQU9sQyxRQUFRO3NCQURQLEtBQUs7Z0JBd0JOLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFwcGx5Q3NzQ2xhc3MgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDc3NDbGFzc0J1aWxkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGZvcm0gZ3JvdXAgZWxlbWVudC5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtZm9ybS1ncm91cD5cbiAqICAgICA8ZGl2IGZkLWZvcm0taXRlbT5cbiAqICAgICAgICAgPGlucHV0IGZkLWZvcm0tY29udHJvbCB0eXBlPVwicmFkaW9cIiBjaGVja2VkPlxuICogICAgICAgICA8ZmQtZm9ybS1sYWJlbD5PcHRpb24gT25lPC9mZC1mb3JtLWxhYmVsPlxuICogICAgIDwvZGl2PlxuICogPC9mZC1mb3JtLWdyb3VwPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtZm9ybS1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIENzc0NsYXNzQnVpbGRlciwgT25DaGFuZ2VzLCBPbkluaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1mb3JtLWdyb3VwJylcbiAgICBmZEZvcm1Hcm91cENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBEZXRlcm1pbmVzIGlmIGZvcm0gaXRlbXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUgb3Igbm90XG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBzZXQgdG8gZmFsc2U7XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc0lubGluZTogYm9vbGVhbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2xhc3M6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIC8qKiBUaGlzIG1ldGhvZCBpcyByZXNwb25zaWJsZSBmb3IgYnVpbGRpbmcgYSBjc3MgY2xhc3MgYmFzZWQgb24gY3VycmVudCBzdGF0ZVxuICAgICAqICBJdCBpcyBpbXBsZW1lbnRhdGlvbiBvZiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGFuZFxuICAgICAqICBzaG91bGQgYmUgdXNlZCB3aXRoIEBhcHBseUNzc0NsYXNzIGRlY29yYXRvclxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbdGhpcy5pc0lubGluZSA/ICdmZC1mb3JtLWdyb3VwLS1pbmxpbmUnIDogJyddO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZWxlbWVudFJlZigpOiBFbGVtZW50UmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsS0FBSyxFQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHM0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBYzNCLGNBQWM7SUFDZCxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBZHpDLGNBQWM7UUFFZCxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFZb0IsQ0FBQztJQUU3QyxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFFSCxzQkFBc0I7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDOzsrR0FsQ1Esa0JBQWtCO21HQUFsQixrQkFBa0Isc0xDaEMvQiw2QkFDQTtBRDhESTtJQUFDLGFBQWE7Ozs7Z0VBR2I7MkZBbENRLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxlQUFlLGlCQUVWLGlCQUFpQixDQUFDLElBQUksbUJBRXBCLHVCQUF1QixDQUFDLE1BQU07aUdBSy9DLGdCQUFnQjtzQkFEZixXQUFXO3VCQUFDLHFCQUFxQjtnQkFPbEMsUUFBUTtzQkFEUCxLQUFLO2dCQXdCTixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhcHBseUNzc0NsYXNzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3NCdWlsZGVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBmb3JtIGdyb3VwIGVsZW1lbnQuXG4gKlxuICogYGBgaHRtbFxuICogPGZkLWZvcm0tZ3JvdXA+XG4gKiAgICAgPGRpdiBmZC1mb3JtLWl0ZW0+XG4gKiAgICAgICAgIDxpbnB1dCBmZC1mb3JtLWNvbnRyb2wgdHlwZT1cInJhZGlvXCIgY2hlY2tlZD5cbiAqICAgICAgICAgPGZkLWZvcm0tbGFiZWw+T3B0aW9uIE9uZTwvZmQtZm9ybS1sYWJlbD5cbiAqICAgICA8L2Rpdj5cbiAqIDwvZmQtZm9ybS1ncm91cD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWZvcm0tZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDc3NDbGFzc0J1aWxkZXIsIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtZm9ybS1ncm91cCcpXG4gICAgZmRGb3JtR3JvdXBDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogRGV0ZXJtaW5lcyBpZiBmb3JtIGl0ZW1zIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lIG9yIG5vdFxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgc2V0IHRvIGZhbHNlO1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNJbmxpbmU6IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoaXMgbWV0aG9kIGlzIHJlc3BvbnNpYmxlIGZvciBidWlsZGluZyBhIGNzcyBjbGFzcyBiYXNlZCBvbiBjdXJyZW50IHN0YXRlXG4gICAgICogIEl0IGlzIGltcGxlbWVudGF0aW9uIG9mIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgYW5kXG4gICAgICogIHNob3VsZCBiZSB1c2VkIHdpdGggQGFwcGx5Q3NzQ2xhc3MgZGVjb3JhdG9yXG4gICAgICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLmlzSW5saW5lID8gJ2ZkLWZvcm0tZ3JvdXAtLWlubGluZScgOiAnJ107XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -8,8 +8,8 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export class FormMessageComponent {
10
10
  /** @hidden */
11
- constructor(_elementRef) {
12
- this._elementRef = _elementRef;
11
+ constructor(elementRef) {
12
+ this.elementRef = elementRef;
13
13
  /** Whether message should be in static mode, without popover. It's mostly used for forms component, that contain dropdown */
14
14
  this.static = false;
15
15
  /**
@@ -36,10 +36,6 @@ export class FormMessageComponent {
36
36
  this.class
37
37
  ].filter((v) => !!v);
38
38
  }
39
- /** @hidden */
40
- elementRef() {
41
- return this._elementRef;
42
- }
43
39
  }
44
40
  FormMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormMessageComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
45
41
  FormMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FormMessageComponent, selector: "fd-form-message", inputs: { type: "type", static: "static", embedded: "embedded", class: "class" }, host: { attributes: { "aria-live": "assertive", "aria-atomic": "true" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-message(--help, --error, --warning)\n*/.fd-form-message{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-shadow:var(--fdMessage_Box_Shadow);align-items:center;border:0;border:var(--fdMessage_Border);border-radius:var(--fdMessage_Border_Radius)!important;box-shadow:var(--fdMessage_Box_Shadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:normal;margin:0;max-width:22rem;min-width:6rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;white-space:nowrap;white-space:pre-line!important;width:100%}.fd-form-message:after,.fd-form-message:before{box-sizing:inherit;font-size:inherit}.fd-form-message[dir=rtl],[dir=rtl] .fd-form-message{right:0}.fd-form-message[dir=rtl]:before,[dir=rtl] .fd-form-message:before{margin-left:.375rem;margin-right:0}.fd-form-message:before{align-self:flex-start;display:var(--fdMessage_Icon_Display);font-family:SAP-icons;font-size:1rem;margin-right:.375rem}.fd-form-message--static{width:auto}.fd-form-message--embedded{box-shadow:none;max-width:100%}.fd-form-message--error{background-color:var(--sapErrorBackground)}.fd-form-message--error:before{color:var(--sapNegativeElementColor);content:\"\\e0b1\"}.fd-form-message--warning{background-color:var(--sapWarningBackground)}.fd-form-message--warning:before{color:var(--sapCriticalElementColor);content:\"\\e201\"}.fd-form-message--success{background-color:var(--sapSuccessBackground)}.fd-form-message--success:before{color:var(--sapPositiveElementColor);content:\"\\e203\"}.fd-form-message--information{background-color:var(--sapInformationBackground)}.fd-form-message--information:before{color:var(--sapInformativeElementColor);content:\"\\e202\"}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
@@ -64,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
64
60
  }], class: [{
65
61
  type: Input
66
62
  }], buildComponentCssClass: [] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2Zvcm0vZm9ybS1tZXNzYWdlL2Zvcm0tbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tbWVzc2FnZS9mb3JtLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUsvRDs7R0FFRztBQVlILE1BQU0sT0FBTyxvQkFBb0I7SUFvQjdCLGNBQWM7SUFDZCxZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWhCM0MsNkhBQTZIO1FBRTdILFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZjs7O1dBR0c7UUFFSCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBTzZCLENBQUM7SUFFL0MsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYztJQUVkLHNCQUFzQjtRQUNsQixPQUFPO1lBQ0gsY0FBYyxDQUFDLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25ELGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUs7U0FDYixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOztpSEFoRFEsb0JBQW9CO3FHQUFwQixvQkFBb0IseU9DL0JqQyw2QkFDQTtBRGdFSTtJQUFDLGFBQWE7Ozs7a0VBU2I7MkZBM0NRLG9CQUFvQjtrQkFYaEMsU0FBUzsrQkFDSSxpQkFBaUIsUUFHckI7d0JBQ0YsV0FBVyxFQUFFLFdBQVc7d0JBQ3hCLGFBQWEsRUFBRSxNQUFNO3FCQUN4QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lHQUsvQyxJQUFJO3NCQURILEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQVFOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBa0JOLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENzc0NsYXNzQnVpbGRlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IGFwcGx5Q3NzQ2xhc3MgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGb3JtU3RhdGVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuaW1wb3J0IHsgQ1NTX0NMQVNTX05BTUUsIGdldFR5cGVDbGFzc05hbWUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgRm9ybVN0YXRlcyBpbnN0ZWFkICovXG5leHBvcnQgdHlwZSBNZXNzYWdlU3RhdGVzID0gRm9ybVN0YXRlcztcblxuLyoqXG4gKiBGb3JtIG1lc3NhZ2UuIEludGVuZGVkIHRvIGJlIGRpc3BsYXllZCB3aXRoIGEgZm9ybSBjb250cm9sIGZvciB2YWxpZGF0aW9uIHB1cnBvc2VzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWZvcm0tbWVzc2FnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnYXJpYS1saXZlJzogJ2Fzc2VydGl2ZScsXG4gICAgICAgICdhcmlhLWF0b21pYyc6ICd0cnVlJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIENzc0NsYXNzQnVpbGRlciwgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKiBUeXBlIG9mIHRoZSBtZXNzYWdlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHlwZTogRm9ybVN0YXRlcztcblxuICAgIC8qKiBXaGV0aGVyIG1lc3NhZ2Ugc2hvdWxkIGJlIGluIHN0YXRpYyBtb2RlLCB3aXRob3V0IHBvcG92ZXIuIEl0J3MgbW9zdGx5IHVzZWQgZm9yIGZvcm1zIGNvbXBvbmVudCwgdGhhdCBjb250YWluIGRyb3Bkb3duICovXG4gICAgQElucHV0KClcbiAgICBzdGF0aWMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgbWVzc2FnZSBpcyB1c2VkIGluc2lkZSBwb3BvdmVycyBvciBkaWFsb2dzLlxuICAgICAqIFdoZW4gaXQgaXMgZW5hYmxlZCBib3ggc2hhZG93IGlzIHJlbW92ZWQgYW5kIG1lc3NhZ2UgaXMgZXhwYW5kZWQgdG8gd2hvbGUgY29udGFpbmVyIHdpZHRoXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBlbWJlZGRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gVXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAYXBwbHlDc3NDbGFzc1xuICAgIGJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgQ1NTX0NMQVNTX05BTUUubWVzc2FnZSxcbiAgICAgICAgICAgIHRoaXMuc3RhdGljID8gQ1NTX0NMQVNTX05BTUUubWVzc2FnZVN0YXRpYyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5lbWJlZGRlZCA/IENTU19DTEFTU19OQU1FLm1lc3NhZ2VFbWJlZGRlZCA6ICcnLFxuICAgICAgICAgICAgZ2V0VHlwZUNsYXNzTmFtZSh0aGlzLnR5cGUpLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdLmZpbHRlcigodik6IHYgaXMgc3RyaW5nID0+ICEhdik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2Zvcm0vZm9ybS1tZXNzYWdlL2Zvcm0tbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tbWVzc2FnZS9mb3JtLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUsvRDs7R0FFRztBQVlILE1BQU0sT0FBTyxvQkFBb0I7SUFvQjdCLGNBQWM7SUFDZCxZQUE0QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBaEJsRCw2SEFBNkg7UUFFN0gsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmOzs7V0FHRztRQUVILGFBQVEsR0FBRyxLQUFLLENBQUM7SUFPb0MsQ0FBQztJQUV0RCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBRWQsc0JBQXNCO1FBQ2xCLE9BQU87WUFDSCxjQUFjLENBQUMsT0FBTztZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSztTQUNiLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7aUhBM0NRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHlPQy9CakMsNkJBQ0E7QURnRUk7SUFBQyxhQUFhOzs7O2tFQVNiOzJGQTNDUSxvQkFBb0I7a0JBWGhDLFNBQVM7K0JBQ0ksaUJBQWlCLFFBR3JCO3dCQUNGLFdBQVcsRUFBRSxXQUFXO3dCQUN4QixhQUFhLEVBQUUsTUFBTTtxQkFDeEIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtpR0FLL0MsSUFBSTtzQkFESCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFRTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQWtCTixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDc3NDbGFzc0J1aWxkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBhcHBseUNzc0NsYXNzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRm9ybVN0YXRlcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcbmltcG9ydCB7IENTU19DTEFTU19OQU1FLCBnZXRUeXBlQ2xhc3NOYW1lIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEZvcm1TdGF0ZXMgaW5zdGVhZCAqL1xuZXhwb3J0IHR5cGUgTWVzc2FnZVN0YXRlcyA9IEZvcm1TdGF0ZXM7XG5cbi8qKlxuICogRm9ybSBtZXNzYWdlLiBJbnRlbmRlZCB0byBiZSBkaXNwbGF5ZWQgd2l0aCBhIGZvcm0gY29udHJvbCBmb3IgdmFsaWRhdGlvbiBwdXJwb3Nlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1mb3JtLW1lc3NhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tbWVzc2FnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2FyaWEtbGl2ZSc6ICdhc3NlcnRpdmUnLFxuICAgICAgICAnYXJpYS1hdG9taWMnOiAndHJ1ZSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1lc3NhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBDc3NDbGFzc0J1aWxkZXIsIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKiogVHlwZSBvZiB0aGUgbWVzc2FnZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHR5cGU6IEZvcm1TdGF0ZXM7XG5cbiAgICAvKiogV2hldGhlciBtZXNzYWdlIHNob3VsZCBiZSBpbiBzdGF0aWMgbW9kZSwgd2l0aG91dCBwb3BvdmVyLiBJdCdzIG1vc3RseSB1c2VkIGZvciBmb3JtcyBjb21wb25lbnQsIHRoYXQgY29udGFpbiBkcm9wZG93biAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGljID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG1lc3NhZ2UgaXMgdXNlZCBpbnNpZGUgcG9wb3ZlcnMgb3IgZGlhbG9ncy5cbiAgICAgKiBXaGVuIGl0IGlzIGVuYWJsZWQgYm94IHNoYWRvdyBpcyByZW1vdmVkIGFuZCBtZXNzYWdlIGlzIGV4cGFuZGVkIHRvIHdob2xlIGNvbnRhaW5lciB3aWR0aFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZW1iZWRkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuIFVzZXIncyBjdXN0b20gY2xhc3NlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3M6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBDU1NfQ0xBU1NfTkFNRS5tZXNzYWdlLFxuICAgICAgICAgICAgdGhpcy5zdGF0aWMgPyBDU1NfQ0xBU1NfTkFNRS5tZXNzYWdlU3RhdGljIDogJycsXG4gICAgICAgICAgICB0aGlzLmVtYmVkZGVkID8gQ1NTX0NMQVNTX05BTUUubWVzc2FnZUVtYmVkZGVkIDogJycsXG4gICAgICAgICAgICBnZXRUeXBlQ2xhc3NOYW1lKHRoaXMudHlwZSksXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF0uZmlsdGVyKCh2KTogdiBpcyBzdHJpbmcgPT4gISF2KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -297,10 +297,10 @@ export class GridListItemComponent {
297
297
  }
298
298
  }
299
299
  GridListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: GridListItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.GridList }], target: i0.ɵɵFactoryTarget.Component });
300
- GridListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: GridListItemComponent, selector: "fd-grid-list-item", inputs: { id: "id", width: "width", layoutItemPattern: "layoutItemPattern", status: "status", counter: "counter", value: "value", disableToolbarClick: "disableToolbarClick", selected: "selected", noPadding: "noPadding", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", type: "type", state: "state", isNavigated: "isNavigated", title: "title", description: "description" }, outputs: { press: "press", detail: "detail", delete: "delete", navigate: "navigate", draft: "draft", locked: "locked" }, host: { properties: { "style.max-width": "this.width", "style.min-width": "this.width" } }, queries: [{ propertyName: "footerBarComponent", first: true, predicate: GridListItemFooterBarComponent, descendants: true }, { propertyName: "itemToolbarComponent", first: true, predicate: GridListItemToolbarComponent, descendants: true }, { propertyName: "body", first: true, predicate: GridListItemBodyDirective, descendants: true }], viewQueries: [{ propertyName: "_gridListItem", first: true, predicate: ["gridListItem"], descendants: true }], ngImport: i0, template: "<div\n #gridListItem\n [id]=\"id\"\n tabindex=\"0\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n <span\n *ngIf=\"status\"\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate : { status: status }\"\n ></span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelect'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-toolbar fd-grid-list__item-toolbar\"\n *ngIf=\"\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n \"\n >\n <ng-container *ngIf=\"selectionMode === 'singleSelectLeft'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectionMode === 'multiSelect'\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"itemToolbarComponent?.contentTemplateRef\">\n <div class=\"fd-toolbar--extra-content\">\n <ng-container *ngTemplateOutlet=\"itemToolbarComponent.contentTemplateRef\"></ng-container>\n </div>\n </ng-container>\n\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <span\n *ngIf=\"counter\"\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate : { count: counter }\"\n >{{ counter }}</span\n >\n\n <button\n *ngIf=\"type === 'detail' || type === 'detailsAndActive'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n\n <button\n *ngIf=\"selectionMode === 'delete'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n\n <span *ngIf=\"type === 'navigation'\" class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelectRight'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n\n <div *ngIf=\"title || description\" class=\"fd-grid-list__item-header\">\n <h4 *ngIf=\"title\" fd-title>{{ title }}</h4>\n <span *ngIf=\"description\" class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n </div>\n\n <div *ngIf=\"body?.templateRef\" class=\"fd-grid-list__item-content\">\n <ng-container [ngTemplateOutlet]=\"body.templateRef\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"state || footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"itemFooter\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio is-compact fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox is-compact fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\"></label>\n</ng-template>\n\n<ng-template #itemFooter>\n <div class=\"fd-grid-list__item-body-actions\" *ngIf=\"footerBarComponent || state\">\n <ng-container *ngIf=\"footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"footerBarComponent.contentTemplateRef\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!footerBarComponent?.contentTemplateRef && state\">\n <span\n *ngIf=\"state === 'error'\"\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'locked'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'draft'\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".fd-grid-list .fd-dnd-item.fd-dnd-on-drag{cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing;background-color:transparent}.fd-grid-list .fd-dnd-item .fd-grid-list__item{overflow:visible}.fd-grid-list__item .drop-area__line--vertical{height:100%}.fd-grid-list__item .drop-area__line--vertical.before{left:-.55rem}.fd-grid-list__item .drop-area__line--vertical.after{right:-.55rem}.fd-grid-list__item .fd-checkbox__label{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i7.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i8.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "component", type: i9.GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
300
+ GridListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: GridListItemComponent, selector: "fd-grid-list-item", inputs: { id: "id", width: "width", layoutItemPattern: "layoutItemPattern", status: "status", counter: "counter", value: "value", disableToolbarClick: "disableToolbarClick", selected: "selected", noPadding: "noPadding", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", type: "type", state: "state", isNavigated: "isNavigated", title: "title", description: "description" }, outputs: { press: "press", detail: "detail", delete: "delete", navigate: "navigate", draft: "draft", locked: "locked" }, host: { properties: { "style.max-width": "this.width", "style.min-width": "this.width" } }, queries: [{ propertyName: "footerBarComponent", first: true, predicate: GridListItemFooterBarComponent, descendants: true }, { propertyName: "itemToolbarComponent", first: true, predicate: GridListItemToolbarComponent, descendants: true }, { propertyName: "body", first: true, predicate: GridListItemBodyDirective, descendants: true }], viewQueries: [{ propertyName: "_gridListItem", first: true, predicate: ["gridListItem"], descendants: true }], ngImport: i0, template: "<div\n #gridListItem\n [id]=\"id\"\n tabindex=\"0\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n <span\n *ngIf=\"status\"\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate : { status: status }\"\n ></span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelect'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-toolbar fd-grid-list__item-toolbar\"\n *ngIf=\"\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n \"\n >\n <ng-container *ngIf=\"selectionMode === 'singleSelectLeft'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectionMode === 'multiSelect'\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"itemToolbarComponent?.contentTemplateRef\">\n <div class=\"fd-toolbar--extra-content\">\n <ng-container *ngTemplateOutlet=\"itemToolbarComponent.contentTemplateRef\"></ng-container>\n </div>\n </ng-container>\n\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <span\n *ngIf=\"counter\"\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate : { count: counter }\"\n >{{ counter }}</span\n >\n\n <button\n *ngIf=\"type === 'detail' || type === 'detailsAndActive'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n\n <button\n *ngIf=\"selectionMode === 'delete'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n\n <span *ngIf=\"type === 'navigation'\" class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelectRight'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n\n <div *ngIf=\"title || description\" class=\"fd-grid-list__item-header\">\n <h4 *ngIf=\"title\" fd-title>{{ title }}</h4>\n <span *ngIf=\"description\" class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n </div>\n\n <div *ngIf=\"body?.templateRef\" class=\"fd-grid-list__item-content\">\n <ng-container [ngTemplateOutlet]=\"body.templateRef\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"state || footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"itemFooter\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio is-compact fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox is-compact fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\">\n <span class=\"fd-checkbox__checkmark\" aria-hidden=\"true\"></span>\n </label>\n</ng-template>\n\n<ng-template #itemFooter>\n <div class=\"fd-grid-list__item-body-actions\" *ngIf=\"footerBarComponent || state\">\n <ng-container *ngIf=\"footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"footerBarComponent.contentTemplateRef\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!footerBarComponent?.contentTemplateRef && state\">\n <span\n *ngIf=\"state === 'error'\"\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'locked'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'draft'\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".fd-grid-list .fd-dnd-item.fd-dnd-on-drag{cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing;background-color:transparent}.fd-grid-list .fd-dnd-item .fd-grid-list__item{overflow:visible}.fd-grid-list__item .drop-area__line--vertical{height:100%}.fd-grid-list__item .drop-area__line--vertical.before{left:-.55rem}.fd-grid-list__item .drop-area__line--vertical.after{right:-.55rem}.fd-grid-list__item .fd-checkbox__label{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i7.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i8.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "component", type: i9.GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
301
301
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: GridListItemComponent, decorators: [{
302
302
  type: Component,
303
- args: [{ selector: 'fd-grid-list-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n #gridListItem\n [id]=\"id\"\n tabindex=\"0\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n <span\n *ngIf=\"status\"\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate : { status: status }\"\n ></span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelect'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-toolbar fd-grid-list__item-toolbar\"\n *ngIf=\"\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n \"\n >\n <ng-container *ngIf=\"selectionMode === 'singleSelectLeft'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectionMode === 'multiSelect'\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"itemToolbarComponent?.contentTemplateRef\">\n <div class=\"fd-toolbar--extra-content\">\n <ng-container *ngTemplateOutlet=\"itemToolbarComponent.contentTemplateRef\"></ng-container>\n </div>\n </ng-container>\n\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <span\n *ngIf=\"counter\"\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate : { count: counter }\"\n >{{ counter }}</span\n >\n\n <button\n *ngIf=\"type === 'detail' || type === 'detailsAndActive'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n\n <button\n *ngIf=\"selectionMode === 'delete'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n\n <span *ngIf=\"type === 'navigation'\" class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelectRight'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n\n <div *ngIf=\"title || description\" class=\"fd-grid-list__item-header\">\n <h4 *ngIf=\"title\" fd-title>{{ title }}</h4>\n <span *ngIf=\"description\" class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n </div>\n\n <div *ngIf=\"body?.templateRef\" class=\"fd-grid-list__item-content\">\n <ng-container [ngTemplateOutlet]=\"body.templateRef\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"state || footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"itemFooter\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio is-compact fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox is-compact fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\"></label>\n</ng-template>\n\n<ng-template #itemFooter>\n <div class=\"fd-grid-list__item-body-actions\" *ngIf=\"footerBarComponent || state\">\n <ng-container *ngIf=\"footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"footerBarComponent.contentTemplateRef\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!footerBarComponent?.contentTemplateRef && state\">\n <span\n *ngIf=\"state === 'error'\"\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'locked'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'draft'\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".fd-grid-list .fd-dnd-item.fd-dnd-on-drag{cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing;background-color:transparent}.fd-grid-list .fd-dnd-item .fd-grid-list__item{overflow:visible}.fd-grid-list__item .drop-area__line--vertical{height:100%}.fd-grid-list__item .drop-area__line--vertical.before{left:-.55rem}.fd-grid-list__item .drop-area__line--vertical.after{right:-.55rem}.fd-grid-list__item .fd-checkbox__label{-webkit-user-select:none;user-select:none}\n"] }]
303
+ args: [{ selector: 'fd-grid-list-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n #gridListItem\n [id]=\"id\"\n tabindex=\"0\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n <span\n *ngIf=\"status\"\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate : { status: status }\"\n ></span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelect'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-toolbar fd-grid-list__item-toolbar\"\n *ngIf=\"\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n \"\n >\n <ng-container *ngIf=\"selectionMode === 'singleSelectLeft'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectionMode === 'multiSelect'\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"itemToolbarComponent?.contentTemplateRef\">\n <div class=\"fd-toolbar--extra-content\">\n <ng-container *ngTemplateOutlet=\"itemToolbarComponent.contentTemplateRef\"></ng-container>\n </div>\n </ng-container>\n\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <span\n *ngIf=\"counter\"\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate : { count: counter }\"\n >{{ counter }}</span\n >\n\n <button\n *ngIf=\"type === 'detail' || type === 'detailsAndActive'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n\n <button\n *ngIf=\"selectionMode === 'delete'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n\n <span *ngIf=\"type === 'navigation'\" class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelectRight'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n\n <div *ngIf=\"title || description\" class=\"fd-grid-list__item-header\">\n <h4 *ngIf=\"title\" fd-title>{{ title }}</h4>\n <span *ngIf=\"description\" class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n </div>\n\n <div *ngIf=\"body?.templateRef\" class=\"fd-grid-list__item-content\">\n <ng-container [ngTemplateOutlet]=\"body.templateRef\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"state || footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"itemFooter\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio is-compact fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox is-compact fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\">\n <span class=\"fd-checkbox__checkmark\" aria-hidden=\"true\"></span>\n </label>\n</ng-template>\n\n<ng-template #itemFooter>\n <div class=\"fd-grid-list__item-body-actions\" *ngIf=\"footerBarComponent || state\">\n <ng-container *ngIf=\"footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"footerBarComponent.contentTemplateRef\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!footerBarComponent?.contentTemplateRef && state\">\n <span\n *ngIf=\"state === 'error'\"\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'locked'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'draft'\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".fd-grid-list .fd-dnd-item.fd-dnd-on-drag{cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing;background-color:transparent}.fd-grid-list .fd-dnd-item .fd-grid-list__item{overflow:visible}.fd-grid-list__item .drop-area__line--vertical{height:100%}.fd-grid-list__item .drop-area__line--vertical.before{left:-.55rem}.fd-grid-list__item .drop-area__line--vertical.after{right:-.55rem}.fd-grid-list__item .fd-checkbox__label{-webkit-user-select:none;user-select:none}\n"] }]
304
304
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.GridList }]; }, propDecorators: { id: [{
305
305
  type: Input
306
306
  }], width: [{
@@ -364,4 +364,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
364
364
  type: ContentChild,
365
365
  args: [GridListItemBodyDirective]
366
366
  }] } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZ3JpZC1saXN0L2NvbXBvbmVudHMvZ3JpZC1saXN0LWl0ZW0vZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZ3JpZC1saXN0L2NvbXBvbmVudHMvZ3JpZC1saXN0LWl0ZW0vZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDMUcsT0FBTyxFQUF5Qix3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFC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QUs7c0JBSEosS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixXQUFXO3VCQUFDLGlCQUFpQjtnQkFRMUIsaUJBQWlCO3NCQURwQixLQUFLO2dCQVVOLE1BQU07c0JBREwsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBUU4sS0FBSztzQkFESixLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBY04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBY0YsSUFBSTtzQkFEUCxLQUFLO2dCQWdCTixLQUFLO3NCQURKLEtBQUs7Z0JBUU4sV0FBVztzQkFEVixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBUU4sS0FBSztzQkFESixNQUFNO2dCQVFQLE1BQU07c0JBREwsTUFBTTtnQkFRUCxNQUFNO3NCQURMLE1BQU07Z0JBUVAsUUFBUTtzQkFEUCxNQUFNO2dCQVFQLEtBQUs7c0JBREosTUFBTTtnQkFRUCxNQUFNO3NCQURMLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBcUJ6QixrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsOEJBQThCO2dCQUs1QyxvQkFBb0I7c0JBRG5CLFlBQVk7dUJBQUMsNEJBQTRCO2dCQUsxQyxJQUFJO3NCQURILFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IEdyaWRMaXN0SXRlbUJvZHlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2dyaWQtbGlzdC1pdGVtLWJvZHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IHBhcnNlTGF5b3V0UGF0dGVybiB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcGFyc2UtbGF5b3V0LXBhdHRlcm4nO1xuaW1wb3J0IHsgR3JpZExpc3RJdGVtVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtbGlzdC1pdGVtLXRvb2xiYXIvZ3JpZC1saXN0LWl0ZW0tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZExpc3RTZWxlY3Rpb25Nb2RlLCBHcmlkTGlzdFNlbGVjdGlvbkFjdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1saXN0LXNlbGVjdGlvbi5tb2RlbHMnO1xuaW1wb3J0IHsgR3JpZExpc3RJdGVtRm9vdGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1saXN0LWl0ZW0tZm9vdGVyLWJhci9ncmlkLWxpc3QtaXRlbS1mb290ZXItYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkTGlzdCB9IGZyb20gJy4vLi4vZ3JpZC1saXN0L2dyaWQtbGlzdC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5sZXQgZ3JpZExpc3RJdGVtVW5pcXVlSWQgPSAwO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+IHtcbiAgICBpbmRleD86IG51bWJlcjtcbiAgICB2YWx1ZT86IFQ7XG59XG5cbmV4cG9ydCB0eXBlIEdyaWRMaXN0SXRlbVR5cGUgPSAnaW5hY3RpdmUnIHwgJ2FjdGl2ZScgfCAnZGV0YWlsJyB8ICdkZXRhaWxzQW5kQWN0aXZlJyB8ICduYXZpZ2F0aW9uJztcbmV4cG9ydCB0eXBlIEdyaWRMaXN0SXRlbVN0YXRlID0gJ3VucmVhZCcgfCAnbG9ja2VkJyB8ICdlcnJvcicgfCAnZHJhZnQnO1xuZXhwb3J0IHR5cGUgR3JpZExpc3RJdGVtU3RhdHVzID0gJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICduZXV0cmFsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1ncmlkLWxpc3QtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ncmlkLWxpc3QtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR3JpZExpc3RJdGVtQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogaWQgZm9yIHRoZSBFbGVtZW50ICovXG4gICAgQElucHV0KClcbiAgICBpZCA9IGBmZC1ncmlkLWxpc3QtaXRlbS0ke2dyaWRMaXN0SXRlbVVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiB3aWR0aCBvZiB0aGUgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgICB3aWR0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogc3BlY2lmeSB0aGUgY2VsbCBsYXlvdXQgaW4gdGhlIGZvcm1hdCBgWExuLUxuLU1uLVNuYCB3aGVyZSBuIGlzXG4gICAgICogdGhlIG51bWJlciBvZiBvY2N1cGllZCBjb2x1bW5zIGFuZCBuIGNhbiBiZSBkaWZmZXJlbnQgZm9yIGVhY2ggc2l6ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYXlvdXRJdGVtUGF0dGVybih2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXRDbGFzc2VzID0gdmFsdWUgPyBwYXJzZUxheW91dFBhdHRlcm4odmFsdWUsIGZhbHNlKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHN0YXR1cyBvZiBHcmlkIExpc3QgSXRlbVxuICAgICAqIChTdGF0dXNlczogc3VjY2VzcyB8IHdhcm5pbmcgfCBlcnJvciB8IG5ldXRyYWwpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0dXM/OiBHcmlkTGlzdEl0ZW1TdGF0dXM7XG5cbiAgICAvKiogU2V0cyBudW1iZXIgb2Ygc3ViIGl0ZW1zICovXG4gICAgQElucHV0KClcbiAgICBjb3VudGVyOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgZmllbGQgc3RvcmVzIGluZm9ybWF0aW9uIGZvciByYWRpbyBidXR0b24gdmFsdWUsIGNoZWNrYm94IGJ1dHRvbiBhbmQgZm9yIEdyaWRMaXN0U2VsZWN0aW9uRXZlbnRcbiAgICAgKiBUaGUgZmllbGQgaXMgbWFuZGF0b3J5IGZvciBtb2RlcyBsaWtlIHNpbmdsZVNlbGVjdCwgc2luZ2xlU2VsZWN0TGVmdCwgc2luZ2xlU2VsZWN0UmlnaHQgb3IgbXVsdGlTZWxlY3RcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlPzogVDtcblxuICAgIC8qKiBXaGV0aGVyIGNsaWNrIG9uIHRoZSBjdXN0b20gdG9vbGJhciBpcyBkaXNhYmxlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVRvb2xiYXJDbGljayA9IGZhbHNlO1xuXG4gICAgLyoqIEFsbG93cyBhbiBpdGVtIHRvIGJlIHNlbGVjdGVkIHByb2dyYW1tYXRpY2FsbHkgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZTogTnVsbGFibGU8Ym9vbGVhbj4pIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBSZW1vdmUgdGhlIHBhZGRpbmcgZnJvbSB0aGUgSXRlbSBib2R5ICovXG4gICAgQElucHV0KClcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIC8qKiBTZXRzIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFNldHMgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHR5cGUgb2YgR3JpZCBMaXN0IEl0ZW1cbiAgICAgKiBUeXBlczpcbiAgICAgKiAtIGFjdGl2ZTogaW5kaWNhdGVzIHRoYXQgdGhlIGl0ZW0gaXMgY2xpY2thYmxlIHZpYSBhY3RpdmUgZmVlZGJhY2sgd2hlbiBpdGVtIGlzIHByZXNzZWRcbiAgICAgKiAtIGRldGFpbDogZW5hYmxlcyBkZXRhaWwgYnV0dG9uIG9mIHRoZSBsaXN0IGl0ZW0gdGhhdCBmaXJlcyBldmVudC5cbiAgICAgKiAtIGRldGFpbHNBbmRBY3RpdmU6IGVuYWJsZXMgXCJkZXRhaWxcIiBhbmQgXCJhY3RpdmVcIiBlbnVtZXJhdGlvbnMgdG9nZXRoZXJcbiAgICAgKiAtIGluYWN0aXZlOiBpbmRpY2F0ZXMgdGhlIGxpc3QgaXRlbSBkb2VzIG5vdCBoYXZlIGFueSBhY3RpdmUgZmVlZGJhY2sgd2hlbiBpdGVtIGlzIHByZXNzZWRcbiAgICAgKiAtIG5hdmlnYXRpb246IGluZGljYXRlcyB0aGUgbGlzdCBpdGVtIGlzIG5hdmlnYWJsZSB0byBzaG93IGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpdGVtXG4gICAgICogRGVmYXVsdDogaW5hY3RpdmVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0eXBlKHZhbHVlOiBOdWxsYWJsZTxHcmlkTGlzdEl0ZW1UeXBlPikge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUgPz8gJ2luYWN0aXZlJztcbiAgICB9XG4gICAgZ2V0IHR5cGUoKTogR3JpZExpc3RJdGVtVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHlwZTogR3JpZExpc3RJdGVtVHlwZSA9ICdpbmFjdGl2ZSc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzdGF0ZSBvZiBHcmlkIExpc3QgSXRlbVxuICAgICAqIChTdGF0ZXM6IHVucmVhZCB8IGVycm9yIHwgbG9ja2VkIHwgZHJhZnQpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZT86IEdyaWRMaXN0SXRlbVN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hdmlnYXRlZCBzdGF0ZSBvZiB0aGUgbGlzdCBpdGVtLlxuICAgICAqIElmIHNldCB0byB0cnVlLCBhIG5hdmlnYXRpb24gaW5kaWNhdG9yIGlzIGRpc3BsYXllZCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IGl0ZW0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc05hdmlnYXRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFRpdGxlIG9mIHRoZSBpdGVtICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBpdGVtICovXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIHR5cGUgaXMgYWN0aXZlXG4gICAgICogYW5kIGl0ZW0gaXMgcHJlc3NlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHByZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkTGlzdEl0ZW1PdXRwdXRFdmVudDxUPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGlzIHRocm93biwgd2hlbiB0eXBlIGlzIGRldGFpbCBvciBkZXRhaWxzQW5kQWN0aXZlXG4gICAgICogYW5kIERldGFpbCBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkZXRhaWwgPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIG1vZGUgZGVsZXRlXG4gICAgICogYW5kIERlbGV0ZSBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIHR5cGUgaXMgbmF2aWdhdGlvblxuICAgICAqIGFuZCBOYXZpZ2F0ZSBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBuYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgZXJyb3IsIG5vdCB1c2VkIEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudFxuICAgICAqIGFuZCBEcmFmdCBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkcmFmdCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgbG9ja2VkLCBub3QgdXNlZCBHcmlkTGlzdEl0ZW1Gb290ZXJCYXJDb21wb25lbnRcbiAgICAgKiBhbmQgTG9ja2VkIGJ1dHRvbiB3YXMgcHJlc3NlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGxvY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2dyaWRMaXN0SXRlbScpXG4gICAgX2dyaWRMaXN0SXRlbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIFRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGxpc3QgaXRlbS5cbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHdob2xlIGNhcmQgaGFzIGFjdGl2ZSBzdGF0ZS4gQmVjb21lcyBmYWxzZSBvbmx5IHdoZW4gdGhlIEVkaXQgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAgICovXG4gICAgX2lzQWN0aXZlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0IGdyaWRMYXlvdXRDbGFzc2VzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLl9yZW1vdmVDbGFzc2VzTmFtZXModGhpcy5fZ3JpZExheW91dENsYXNzZXMpO1xuICAgICAgICB0aGlzLl9ncmlkTGF5b3V0Q2xhc3NlcyA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9hZGRDbGFzc2VzTmFtZXModGhpcy5fZ3JpZExheW91dENsYXNzZXMpO1xuICAgIH1cbiAgICBnZXQgZ3JpZExheW91dENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ3JpZExheW91dENsYXNzZXM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudClcbiAgICBmb290ZXJCYXJDb21wb25lbnQ6IEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChHcmlkTGlzdEl0ZW1Ub29sYmFyQ29tcG9uZW50KVxuICAgIGl0ZW1Ub29sYmFyQ29tcG9uZW50OiBHcmlkTGlzdEl0ZW1Ub29sYmFyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEdyaWRMaXN0SXRlbUJvZHlEaXJlY3RpdmUpXG4gICAgYm9keTogR3JpZExpc3RJdGVtQm9keURpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NlbGVjdGVkSXRlbT86IFQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldCBzZWxlY3Rpb25Nb2RlKG1vZGU6IEdyaWRMaXN0U2VsZWN0aW9uTW9kZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlID0gbW9kZTtcblxuICAgICAgICBpZiAobW9kZSAhPT0gJ2RlbGV0ZScgJiYgbW9kZSAhPT0gJ25vbmUnICYmICF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dyaWQgTGlzdCBJdGVtIG11c3QgaGF2ZSBbdmFsdWVdIGF0dHJpYnV0ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkICYmIHRoaXMudmFsdWUgJiYgdGhpcy5faW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5zZWxlY3Rpb25Nb2RlICE9PSAnbXVsdGlTZWxlY3QnID8gbnVsbCA6IEdyaWRMaXN0U2VsZWN0aW9uQWN0aW9ucy5BREQ7XG5cbiAgICAgICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCwgYWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogR3JpZExpc3RTZWxlY3Rpb25Nb2RlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW5kZXg/OiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGlvbk1vZGU/OiBHcmlkTGlzdFNlbGVjdGlvbk1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dyaWRMYXlvdXRDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfcmVuZGVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2dyaWRMaXN0OiBHcmlkTGlzdDxUPlxuICAgICkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zU3ViID0gdGhpcy5fZ3JpZExpc3QuX3NlbGVjdGVkSXRlbXMkLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGl0ZW1zLnNlbGVjdGlvbi5maW5kKChpdGVtKSA9PiBpdGVtID09PSB0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHNlbGVjdGVkSXRlbXNTdWIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogRm9jdXMgZ3JpZCBsaXN0IGl0ZW0gcHJvZ3JhbW1hdGljYWxseSAqL1xuICAgIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZExpc3RJdGVtPy5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldEFjdGl2ZShldmVudDogTW91c2VFdmVudCwgaXNBY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzRWxlbWVudENhbkJlQ2xpY2tlZChldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lzQWN0aXZlID0gaXNBY3RpdmU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2luZ2xlU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9zZWxlY3RlZEl0ZW0gIT09ICd1bmRlZmluZWQnIHx8ICF0aGlzLnZhbHVlIHx8IHRoaXMuX2luZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2hlY2tib3hDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjaGVja2VkID0gKDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldCkuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uSXRlbShjaGVja2VkLCBldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2VsZWN0aW9uSXRlbSh2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IFQsIGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy5faW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGUgIT09ICdtdWx0aVNlbGVjdCdcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IHZhbHVlIHx8IHZhbHVlID09PSAwXG4gICAgICAgICAgICAgICAgPyBHcmlkTGlzdFNlbGVjdGlvbkFjdGlvbnMuQUREXG4gICAgICAgICAgICAgICAgOiBHcmlkTGlzdFNlbGVjdGlvbkFjdGlvbnMuUkVNT1ZFO1xuXG4gICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCwgYWN0aW9uLCBldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25EZXRhaWwoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuZGV0YWlsLmVtaXQodGhpcy5fb3V0cHV0RXZlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25OYXZpZ2F0ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLmRlbGV0ZS5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NsaWNrT25EcmFmdChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgdGhpcy5kcmFmdC5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NsaWNrT25Mb2NrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMubG9ja2VkLmVtaXQodGhpcy5fb3V0cHV0RXZlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lzRWxlbWVudENhbkJlQ2xpY2tlZChldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdhY3RpdmUnICYmIHRoaXMudHlwZSAhPT0gJ2RldGFpbHNBbmRBY3RpdmUnICYmIHRoaXMudHlwZSAhPT0gJ25hdmlnYXRpb24nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbmF2aWdhdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuX29uTmF2aWdhdGUoZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmVzcy5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgaXNTZWxlY3Rpb25LZXlEb3duID0gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKTtcblxuICAgICAgICBpZiAoaXNTZWxlY3Rpb25LZXlEb3duICYmIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNzLmVtaXQodGhpcy5fb3V0cHV0RXZlbnRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzU2VsZWN0aW9uS2V5RG93biB8fCB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdub25lJyB8fCAhdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19pdGVtJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnbXVsdGlTZWxlY3QnKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25JdGVtKCF0aGlzLl9zZWxlY3RlZEl0ZW0pO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpbmdsZVNlbGVjdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzRWxlbWVudENhbkJlQ2xpY2tlZChldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWV2ZW50Py50YXJnZXQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHsgY2xhc3NMaXN0IH0gPSBlbGVtZW50O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhKHRoaXMuX2lzVG9vbGJhckVsZW1lbnQoZWxlbWVudCkgJiYgdGhpcy5kaXNhYmxlVG9vbGJhckNsaWNrKSAmJlxuICAgICAgICAgICAgIWNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19hY3Rpb24tYnV0dG9uJykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9fcmFkaW8tbGFiZWwnKSAmJlxuICAgICAgICAgICAgIWNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19yYWRpby1pbnB1dCcpICYmXG4gICAgICAgICAgICAhY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX2NoZWNrYm94LWxhYmVsJykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9fY2hlY2tib3gtaW5wdXQnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNUb29sYmFyRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbVRvb2xiYXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChlbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgIWVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9faXRlbScpKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRvb2xiYXItLWV4dHJhLWNvbnRlbnQnKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldmVudERlZmF1bHQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX291dHB1dEV2ZW50VmFsdWUoKTogR3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBpbmRleDogdGhpcy5faW5kZXhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZENsYXNzZXNOYW1lcyhjbGFzc2VzTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgY2xhc3NOYW1lIG9mIGNsYXNzZXNOYW1lcykge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVtb3ZlQ2xhc3Nlc05hbWVzKGNsYXNzZXNOYW1lczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBjbGFzc05hbWUgb2YgY2xhc3Nlc05hbWVzKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNncmlkTGlzdEl0ZW1cbiAgICBbaWRdPVwiaWRcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW1cIlxuICAgIHJvbGU9XCJvcHRpb25cIlxuICAgIFtjbGFzcy5pcy1uYXZpZ2F0ZWRdPVwiaXNOYXZpZ2F0ZWRcIlxuICAgIFtjbGFzcy5pcy1zZWxlY3RlZF09XCIhIV9zZWxlY3RlZEl0ZW1cIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWxpbmtdPVwiXG4gICAgICAgIF9pc0FjdGl2ZSAmJiAodHlwZSA9PT0gJ2FjdGl2ZScgfHwgdHlwZSA9PT0gJ2RldGFpbHNBbmRBY3RpdmUnIHx8IHR5cGUgPT09ICduYXZpZ2F0aW9uJylcbiAgICBcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLXVucmVhZF09XCJzdGF0ZSA9PT0gJ3VucmVhZCdcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWxvY2tlZF09XCJzdGF0ZSA9PT0gJ2xvY2tlZCdcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWRyYWZ0XT1cInN0YXRlID09PSAnZHJhZnQnXCJcbiAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19pdGVtLS1lcnJvcl09XCJzdGF0ZSA9PT0gJ2Vycm9yJ1wiXG4gICAgKGtleWRvd24pPVwiX29uS2V5RG93bigkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdCcgJiYgX3NpbmdsZVNlbGVjdCgkZXZlbnQpOyBfb25DbGljaygkZXZlbnQpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAobW91c2VvdmVyKT1cIl9zZXRBY3RpdmUoJGV2ZW50LCBmYWxzZSlcIlxuICAgIChtb3VzZW91dCk9XCJfc2V0QWN0aXZlKCRldmVudCwgdHJ1ZSlcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0aW9uTW9kZSA9PT0gJ25vbmUnID8gbnVsbCA6ICEhX3NlbGVjdGVkSXRlbVwiXG4+XG4gICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJzdGF0dXNcIlxuICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9faGlnaGxpZ2h0XCJcbiAgICAgICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faGlnaGxpZ2h0LS1wb3NpdGl2ZV09XCJzdGF0dXMgPT09ICdzdWNjZXNzJ1wiXG4gICAgICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2hpZ2hsaWdodC0tY3JpdGljYWxdPVwic3RhdHVzID09PSAnd2FybmluZydcIlxuICAgICAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19oaWdobGlnaHQtLW5lZ2F0aXZlXT1cInN0YXR1cyA9PT0gJ2Vycm9yJ1wiXG4gICAgICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2hpZ2hsaWdodC0tbmV1dHJhbF09XCJzdGF0dXMgPT09ICduZXV0cmFsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0FyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZSA6IHsgc3RhdHVzOiBzdGF0dXMgfVwiXG4gICAgPjwvc3Bhbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0J1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmFkaW9cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC10b29sYmFyIGZkLWdyaWQtbGlzdF9faXRlbS10b29sYmFyXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvdW50ZXIgfHxcbiAgICAgICAgICAgIGl0ZW1Ub29sYmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYgfHxcbiAgICAgICAgICAgICh0eXBlICYmIHR5cGUgIT09ICdpbmFjdGl2ZScgJiYgdHlwZSAhPT0gJ2FjdGl2ZScpIHx8XG4gICAgICAgICAgICAoc2VsZWN0aW9uTW9kZSAhPT0gJ25vbmUnICYmIHNlbGVjdGlvbk1vZGUgIT09ICdzaW5nbGVTZWxlY3QnKVxuICAgICAgICBcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGVTZWxlY3RMZWZ0J1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJhZGlvXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnbXVsdGlTZWxlY3QnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tib3hcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1Ub29sYmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sYmFyLS1leHRyYS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1Ub29sYmFyQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxmZC1ncmlkLWxpc3QtdGl0bGUtYmFyLXNwYWNlcj48L2ZkLWdyaWQtbGlzdC10aXRsZS1iYXItc3BhY2VyPlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImNvdW50ZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0tY291bnRlclwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1Db3VudGVyQXJpYUxhYmVsJyB8IGZkVHJhbnNsYXRlIDogeyBjb3VudDogY291bnRlciB9XCJcbiAgICAgICAgICAgID57eyBjb3VudGVyIH19PC9zcGFuXG4gICAgICAgID5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdkZXRhaWwnIHx8IHR5cGUgPT09ICdkZXRhaWxzQW5kQWN0aXZlJ1wiXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGdseXBoPVwiZWRpdFwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZXRhaWxzVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZXRhaWxzVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAoY2xpY2spPVwiX29uRGV0YWlsKCRldmVudClcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnZGVsZXRlJ1wiXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZWxldGVUaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbUJ1dHRvbkRlbGV0ZVRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHRpdGxlPVwiRGVsZXRlXCJcbiAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgKGNsaWNrKT1cIl9vbkRlbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0gJ25hdmlnYXRpb24nXCIgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0tbmF2aWdhdGlvbi1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwibmF2aWdhdGlvbi1yaWdodC1hcnJvd1wiPjwvZmQtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0UmlnaHQnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmFkaW9cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLWJvZHlcIiBbY2xhc3MuZmQtZ3JpZC1saXN0X19pdGVtLWJvZHktLW5vLXBhZGRpbmddPVwibm9QYWRkaW5nXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1ncmlkLWxpc3QtaXRlbS1pbWFnZV1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cInRpdGxlIHx8IGRlc2NyaXB0aW9uXCIgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0taGVhZGVyXCI+XG4gICAgICAgICAgICA8aDQgKm5nSWY9XCJ0aXRsZVwiIGZkLXRpdGxlPnt7IHRpdGxlIH19PC9oND5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1zdWJ0aXRsZVwiPnt7IGRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYm9keT8udGVtcGxhdGVSZWZcIiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJvZHkudGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlIHx8IGZvb3RlckJhckNvbXBvbmVudD8uY29udGVudFRlbXBsYXRlUmVmXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbUZvb3RlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3JhZGlvPlxuICAgIDxpbnB1dFxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0JyA/IC0xIDogMFwiXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwiZmQtcmFkaW8gaXMtY29tcGFjdCBmZC1ncmlkLWxpc3RfX3JhZGlvLWlucHV0XCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdCcgPyAnbm9uZScgOiAnJ1wiXG4gICAgICAgIFtpZF09XCJpZCArICctcmFkaW8nXCJcbiAgICAgICAgW25hbWVdPVwiJ2ZkLWdyaWQtbGlzdC1pdGVtLXRvb2xiYXItJyArIHNlbGVjdGlvbk1vZGVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9zZWxlY3RlZEl0ZW1cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCIkZXZlbnQgJiYgX3NlbGVjdGlvbkl0ZW0oJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJmZC1yYWRpb19fbGFiZWwgZmQtZ3JpZC1saXN0X19yYWRpby1sYWJlbFwiXG4gICAgICAgIFtmb3JdPVwiaWQgKyAnLXJhZGlvJ1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAobW91c2VvdmVyKT1cIl9zZXRBY3RpdmUoJGV2ZW50LCBmYWxzZSlcIlxuICAgICAgICAobW91c2VvdXQpPVwiX3NldEFjdGl2ZSgkZXZlbnQsIHRydWUpXCJcbiAgICA+PC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hlY2tib3g+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGNsYXNzPVwiZmQtY2hlY2tib3ggaXMtY29tcGFjdCBmZC1ncmlkLWxpc3RfX2NoZWNrYm94LWlucHV0XCJcbiAgICAgICAgW2lkXT1cImlkICsgJy1jaGVja2JveCdcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9zZWxlY3RlZEl0ZW1cIlxuICAgICAgICAoY2xpY2spPVwiX2NoZWNrYm94Q2xpY2soJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bGFiZWwgY2xhc3M9XCJmZC1jaGVja2JveF9fbGFiZWwgZmQtZ3JpZC1saXN0X19jaGVja2JveC1sYWJlbFwiIFtmb3JdPVwiaWQgKyAnLWNoZWNrYm94J1wiIHRhYmluZGV4PVwiLTFcIj48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtRm9vdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0tYm9keS1hY3Rpb25zXCIgKm5nSWY9XCJmb290ZXJCYXJDb21wb25lbnQgfHwgc3RhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlckJhckNvbXBvbmVudD8uY29udGVudFRlbXBsYXRlUmVmXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyQmFyQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZvb3RlckJhckNvbXBvbmVudD8uY29udGVudFRlbXBsYXRlUmVmICYmIHN0YXRlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwic3RhdGUgPT09ICdlcnJvcidcIlxuICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICBzdGF0dXM9XCJuZWdhdGl2ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNDb250YWluc0Vycm9ycycgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtU3RhdHVzQ29udGFpbnNFcnJvcnMnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZ3JpZC1saXN0X19hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXRlID09PSAnbG9ja2VkJ1wiXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwicHJpdmF0ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNMb2NrZWQnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0xvY2tlZCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbGlja09uTG9ja2VkKCRldmVudClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2FjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic3RhdGUgPT09ICdkcmFmdCdcIlxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNEcmFmdCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNEcmFmdCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbGlja09uRHJhZnQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
367
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZ3JpZC1saXN0L2NvbXBvbmVudHMvZ3JpZC1saXN0LWl0ZW0vZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZ3JpZC1saXN0L2NvbXBvbmVudHMvZ3JpZC1saXN0LWl0ZW0vZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDMUcsT0FBTyxFQUF5Qix3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRTlELElBQUksb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0FBa0I3QixNQUFNLE9BQU8scUJBQXFCO0lBVzlCOzs7T0FHRztJQUNILElBQ0ksaUJBQWlCLENBQUMsS0FBdUI7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQXdCRCxxREFBcUQ7SUFDckQsSUFDSSxRQUFRLENBQUMsS0FBd0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFpQkQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFDSSxJQUFJLENBQUMsS0FBaUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQStFRCxjQUFjO0lBQ2QsSUFBSSxpQkFBaUIsQ0FBQyxLQUFlO1FBQ2pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQWlCRCxjQUFjO0lBQ2QsSUFBSSxhQUFhLENBQUMsSUFBdUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQztZQUUxRixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbkU7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQWNELGNBQWM7SUFDZCxZQUNxQixHQUFzQixFQUN0QixXQUF1QixFQUN2QixPQUFrQixFQUNsQixTQUFzQjtRQUh0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQWE7UUEvTjNDLHlCQUF5QjtRQUV6QixPQUFFLEdBQUcscUJBQXFCLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztRQW1DbkQsc0RBQXNEO1FBRXRELHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQVk1QixjQUFjO1FBQ04sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUxQiw0Q0FBNEM7UUFFNUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQTRCbEIsY0FBYztRQUNOLFVBQUssR0FBcUIsVUFBVSxDQUFDO1FBUzdDOzs7V0FHRztRQUVILGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBVXBCOzs7V0FHRztRQUVILFVBQUssR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUV2RDs7O1dBR0c7UUFFSCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFFeEQ7OztXQUdHO1FBRUgsV0FBTSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBRXhEOzs7V0FHRztRQUVILGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUUxRDs7O1dBR0c7UUFFSCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFFdkQ7OztXQUdHO1FBRUgsV0FBTSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBTXhEOzs7V0FHRztRQUNILGNBQVMsR0FBRyxJQUFJLENBQUM7UUFxRGpCLGNBQWM7UUFDTix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFFMUMsY0FBYztRQUNHLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVMvQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsS0FBSyxDQUFDLE9BQXNCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVUsQ0FBQyxLQUFpQixFQUFFLFFBQWlCO1FBQzNDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO0lBQ2QsYUFBYSxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2pGLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxjQUFjO0lBQ2QsY0FBYyxDQUFDLEtBQWlCO1FBQzVCLE1BQU0sT0FBTyxHQUFzQixLQUFLLENBQUMsTUFBTyxDQUFDLE9BQU8sQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYztJQUNkLGNBQWMsQ0FBQyxLQUEyQixFQUFFLEtBQWtCO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3BDLE9BQU87U0FDVjtRQUNELE1BQU0sTUFBTSxHQUNSLElBQUksQ0FBQyxhQUFhLEtBQUssYUFBYTtZQUNoQyxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHO2dCQUM5QixDQUFDLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDO1FBRTFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGNBQWM7SUFDZCxTQUFTLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWM7SUFDZCxhQUFhLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYztJQUNkLGNBQWMsQ0FBQyxLQUFpQjtRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckMsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQzFGLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBd0IsQ0FBQztRQUU5QyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFcEUsSUFBSSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sRUFBRTtZQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUMzQztRQUVELElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDMUcsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssYUFBYSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFekMsT0FBTztTQUNWO1FBRUQsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssV0FBVyxFQUFFO1lBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLHNCQUFzQixDQUFDLEtBQWlCO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDNUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUU5QixPQUFPLENBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDOUQsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDZCQUE2QixDQUFDO1lBQ2xELENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQztZQUNoRCxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUM7WUFDaEQsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDhCQUE4QixDQUFDO1lBQ25ELENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxDQUN0RCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDTixpQkFBaUIsQ0FBQyxPQUFvQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxPQUFPLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDN0YsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDbkM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztJQUNOLGVBQWUsQ0FBQyxLQUFZO1FBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFZLGlCQUFpQjtRQUN6QixPQUFPO1lBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNyQixDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDTixnQkFBZ0IsQ0FBQyxZQUFzQjtRQUMzQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFlBQVksRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNwRTtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04sbUJBQW1CLENBQUMsWUFBc0I7UUFDOUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxZQUFZLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDOztrSEEvYVEscUJBQXFCO3NHQUFyQixxQkFBcUIsNHJCQTZLaEIsOEJBQThCLHVGQUk5Qiw0QkFBNEIsdUVBSTVCLHlCQUF5QiwrSkNyTzNDLDBsUUF1TUE7MkZEdkphLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtnTEFLckMsRUFBRTtzQkFERCxLQUFLO2dCQU9OLEtBQUs7c0JBSEosS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixXQUFXO3VCQUFDLGlCQUFpQjtnQkFRMUIsaUJBQWlCO3NCQURwQixLQUFLO2dCQVVOLE1BQU07c0JBREwsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBUU4sS0FBSztzQkFESixLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBY04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBY0YsSUFBSTtzQkFEUCxLQUFLO2dCQWdCTixLQUFLO3NCQURKLEtBQUs7Z0JBUU4sV0FBVztzQkFEVixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBUU4sS0FBSztzQkFESixNQUFNO2dCQVFQLE1BQU07c0JBREwsTUFBTTtnQkFRUCxNQUFNO3NCQURMLE1BQU07Z0JBUVAsUUFBUTtzQkFEUCxNQUFNO2dCQVFQLEtBQUs7c0JBREosTUFBTTtnQkFRUCxNQUFNO3NCQURMLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBcUJ6QixrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsOEJBQThCO2dCQUs1QyxvQkFBb0I7c0JBRG5CLFlBQVk7dUJBQUMsNEJBQTRCO2dCQUsxQyxJQUFJO3NCQURILFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IEdyaWRMaXN0SXRlbUJvZHlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2dyaWQtbGlzdC1pdGVtLWJvZHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IHBhcnNlTGF5b3V0UGF0dGVybiB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcGFyc2UtbGF5b3V0LXBhdHRlcm4nO1xuaW1wb3J0IHsgR3JpZExpc3RJdGVtVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtbGlzdC1pdGVtLXRvb2xiYXIvZ3JpZC1saXN0LWl0ZW0tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZExpc3RTZWxlY3Rpb25Nb2RlLCBHcmlkTGlzdFNlbGVjdGlvbkFjdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1saXN0LXNlbGVjdGlvbi5tb2RlbHMnO1xuaW1wb3J0IHsgR3JpZExpc3RJdGVtRm9vdGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1saXN0LWl0ZW0tZm9vdGVyLWJhci9ncmlkLWxpc3QtaXRlbS1mb290ZXItYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkTGlzdCB9IGZyb20gJy4vLi4vZ3JpZC1saXN0L2dyaWQtbGlzdC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5sZXQgZ3JpZExpc3RJdGVtVW5pcXVlSWQgPSAwO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+IHtcbiAgICBpbmRleD86IG51bWJlcjtcbiAgICB2YWx1ZT86IFQ7XG59XG5cbmV4cG9ydCB0eXBlIEdyaWRMaXN0SXRlbVR5cGUgPSAnaW5hY3RpdmUnIHwgJ2FjdGl2ZScgfCAnZGV0YWlsJyB8ICdkZXRhaWxzQW5kQWN0aXZlJyB8ICduYXZpZ2F0aW9uJztcbmV4cG9ydCB0eXBlIEdyaWRMaXN0SXRlbVN0YXRlID0gJ3VucmVhZCcgfCAnbG9ja2VkJyB8ICdlcnJvcicgfCAnZHJhZnQnO1xuZXhwb3J0IHR5cGUgR3JpZExpc3RJdGVtU3RhdHVzID0gJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICduZXV0cmFsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1ncmlkLWxpc3QtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ncmlkLWxpc3QtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR3JpZExpc3RJdGVtQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogaWQgZm9yIHRoZSBFbGVtZW50ICovXG4gICAgQElucHV0KClcbiAgICBpZCA9IGBmZC1ncmlkLWxpc3QtaXRlbS0ke2dyaWRMaXN0SXRlbVVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiB3aWR0aCBvZiB0aGUgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgICB3aWR0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogc3BlY2lmeSB0aGUgY2VsbCBsYXlvdXQgaW4gdGhlIGZvcm1hdCBgWExuLUxuLU1uLVNuYCB3aGVyZSBuIGlzXG4gICAgICogdGhlIG51bWJlciBvZiBvY2N1cGllZCBjb2x1bW5zIGFuZCBuIGNhbiBiZSBkaWZmZXJlbnQgZm9yIGVhY2ggc2l6ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYXlvdXRJdGVtUGF0dGVybih2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXRDbGFzc2VzID0gdmFsdWUgPyBwYXJzZUxheW91dFBhdHRlcm4odmFsdWUsIGZhbHNlKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHN0YXR1cyBvZiBHcmlkIExpc3QgSXRlbVxuICAgICAqIChTdGF0dXNlczogc3VjY2VzcyB8IHdhcm5pbmcgfCBlcnJvciB8IG5ldXRyYWwpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0dXM/OiBHcmlkTGlzdEl0ZW1TdGF0dXM7XG5cbiAgICAvKiogU2V0cyBudW1iZXIgb2Ygc3ViIGl0ZW1zICovXG4gICAgQElucHV0KClcbiAgICBjb3VudGVyOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgZmllbGQgc3RvcmVzIGluZm9ybWF0aW9uIGZvciByYWRpbyBidXR0b24gdmFsdWUsIGNoZWNrYm94IGJ1dHRvbiBhbmQgZm9yIEdyaWRMaXN0U2VsZWN0aW9uRXZlbnRcbiAgICAgKiBUaGUgZmllbGQgaXMgbWFuZGF0b3J5IGZvciBtb2RlcyBsaWtlIHNpbmdsZVNlbGVjdCwgc2luZ2xlU2VsZWN0TGVmdCwgc2luZ2xlU2VsZWN0UmlnaHQgb3IgbXVsdGlTZWxlY3RcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlPzogVDtcblxuICAgIC8qKiBXaGV0aGVyIGNsaWNrIG9uIHRoZSBjdXN0b20gdG9vbGJhciBpcyBkaXNhYmxlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVRvb2xiYXJDbGljayA9IGZhbHNlO1xuXG4gICAgLyoqIEFsbG93cyBhbiBpdGVtIHRvIGJlIHNlbGVjdGVkIHByb2dyYW1tYXRpY2FsbHkgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZTogTnVsbGFibGU8Ym9vbGVhbj4pIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBSZW1vdmUgdGhlIHBhZGRpbmcgZnJvbSB0aGUgSXRlbSBib2R5ICovXG4gICAgQElucHV0KClcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIC8qKiBTZXRzIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFNldHMgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHR5cGUgb2YgR3JpZCBMaXN0IEl0ZW1cbiAgICAgKiBUeXBlczpcbiAgICAgKiAtIGFjdGl2ZTogaW5kaWNhdGVzIHRoYXQgdGhlIGl0ZW0gaXMgY2xpY2thYmxlIHZpYSBhY3RpdmUgZmVlZGJhY2sgd2hlbiBpdGVtIGlzIHByZXNzZWRcbiAgICAgKiAtIGRldGFpbDogZW5hYmxlcyBkZXRhaWwgYnV0dG9uIG9mIHRoZSBsaXN0IGl0ZW0gdGhhdCBmaXJlcyBldmVudC5cbiAgICAgKiAtIGRldGFpbHNBbmRBY3RpdmU6IGVuYWJsZXMgXCJkZXRhaWxcIiBhbmQgXCJhY3RpdmVcIiBlbnVtZXJhdGlvbnMgdG9nZXRoZXJcbiAgICAgKiAtIGluYWN0aXZlOiBpbmRpY2F0ZXMgdGhlIGxpc3QgaXRlbSBkb2VzIG5vdCBoYXZlIGFueSBhY3RpdmUgZmVlZGJhY2sgd2hlbiBpdGVtIGlzIHByZXNzZWRcbiAgICAgKiAtIG5hdmlnYXRpb246IGluZGljYXRlcyB0aGUgbGlzdCBpdGVtIGlzIG5hdmlnYWJsZSB0byBzaG93IGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpdGVtXG4gICAgICogRGVmYXVsdDogaW5hY3RpdmVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0eXBlKHZhbHVlOiBOdWxsYWJsZTxHcmlkTGlzdEl0ZW1UeXBlPikge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUgPz8gJ2luYWN0aXZlJztcbiAgICB9XG4gICAgZ2V0IHR5cGUoKTogR3JpZExpc3RJdGVtVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHlwZTogR3JpZExpc3RJdGVtVHlwZSA9ICdpbmFjdGl2ZSc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzdGF0ZSBvZiBHcmlkIExpc3QgSXRlbVxuICAgICAqIChTdGF0ZXM6IHVucmVhZCB8IGVycm9yIHwgbG9ja2VkIHwgZHJhZnQpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZT86IEdyaWRMaXN0SXRlbVN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hdmlnYXRlZCBzdGF0ZSBvZiB0aGUgbGlzdCBpdGVtLlxuICAgICAqIElmIHNldCB0byB0cnVlLCBhIG5hdmlnYXRpb24gaW5kaWNhdG9yIGlzIGRpc3BsYXllZCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IGl0ZW0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc05hdmlnYXRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFRpdGxlIG9mIHRoZSBpdGVtICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBpdGVtICovXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIHR5cGUgaXMgYWN0aXZlXG4gICAgICogYW5kIGl0ZW0gaXMgcHJlc3NlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHByZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkTGlzdEl0ZW1PdXRwdXRFdmVudDxUPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGlzIHRocm93biwgd2hlbiB0eXBlIGlzIGRldGFpbCBvciBkZXRhaWxzQW5kQWN0aXZlXG4gICAgICogYW5kIERldGFpbCBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkZXRhaWwgPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIG1vZGUgZGVsZXRlXG4gICAgICogYW5kIERlbGV0ZSBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIHR5cGUgaXMgbmF2aWdhdGlvblxuICAgICAqIGFuZCBOYXZpZ2F0ZSBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBuYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgZXJyb3IsIG5vdCB1c2VkIEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudFxuICAgICAqIGFuZCBEcmFmdCBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkcmFmdCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgbG9ja2VkLCBub3QgdXNlZCBHcmlkTGlzdEl0ZW1Gb290ZXJCYXJDb21wb25lbnRcbiAgICAgKiBhbmQgTG9ja2VkIGJ1dHRvbiB3YXMgcHJlc3NlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGxvY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2dyaWRMaXN0SXRlbScpXG4gICAgX2dyaWRMaXN0SXRlbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIFRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGxpc3QgaXRlbS5cbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHdob2xlIGNhcmQgaGFzIGFjdGl2ZSBzdGF0ZS4gQmVjb21lcyBmYWxzZSBvbmx5IHdoZW4gdGhlIEVkaXQgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAgICovXG4gICAgX2lzQWN0aXZlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0IGdyaWRMYXlvdXRDbGFzc2VzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLl9yZW1vdmVDbGFzc2VzTmFtZXModGhpcy5fZ3JpZExheW91dENsYXNzZXMpO1xuICAgICAgICB0aGlzLl9ncmlkTGF5b3V0Q2xhc3NlcyA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9hZGRDbGFzc2VzTmFtZXModGhpcy5fZ3JpZExheW91dENsYXNzZXMpO1xuICAgIH1cbiAgICBnZXQgZ3JpZExheW91dENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ3JpZExheW91dENsYXNzZXM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudClcbiAgICBmb290ZXJCYXJDb21wb25lbnQ6IEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChHcmlkTGlzdEl0ZW1Ub29sYmFyQ29tcG9uZW50KVxuICAgIGl0ZW1Ub29sYmFyQ29tcG9uZW50OiBHcmlkTGlzdEl0ZW1Ub29sYmFyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEdyaWRMaXN0SXRlbUJvZHlEaXJlY3RpdmUpXG4gICAgYm9keTogR3JpZExpc3RJdGVtQm9keURpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NlbGVjdGVkSXRlbT86IFQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldCBzZWxlY3Rpb25Nb2RlKG1vZGU6IEdyaWRMaXN0U2VsZWN0aW9uTW9kZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlID0gbW9kZTtcblxuICAgICAgICBpZiAobW9kZSAhPT0gJ2RlbGV0ZScgJiYgbW9kZSAhPT0gJ25vbmUnICYmICF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dyaWQgTGlzdCBJdGVtIG11c3QgaGF2ZSBbdmFsdWVdIGF0dHJpYnV0ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkICYmIHRoaXMudmFsdWUgJiYgdGhpcy5faW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5zZWxlY3Rpb25Nb2RlICE9PSAnbXVsdGlTZWxlY3QnID8gbnVsbCA6IEdyaWRMaXN0U2VsZWN0aW9uQWN0aW9ucy5BREQ7XG5cbiAgICAgICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCwgYWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogR3JpZExpc3RTZWxlY3Rpb25Nb2RlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW5kZXg/OiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGlvbk1vZGU/OiBHcmlkTGlzdFNlbGVjdGlvbk1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dyaWRMYXlvdXRDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfcmVuZGVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2dyaWRMaXN0OiBHcmlkTGlzdDxUPlxuICAgICkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zU3ViID0gdGhpcy5fZ3JpZExpc3QuX3NlbGVjdGVkSXRlbXMkLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGl0ZW1zLnNlbGVjdGlvbi5maW5kKChpdGVtKSA9PiBpdGVtID09PSB0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHNlbGVjdGVkSXRlbXNTdWIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogRm9jdXMgZ3JpZCBsaXN0IGl0ZW0gcHJvZ3JhbW1hdGljYWxseSAqL1xuICAgIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZExpc3RJdGVtPy5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldEFjdGl2ZShldmVudDogTW91c2VFdmVudCwgaXNBY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzRWxlbWVudENhbkJlQ2xpY2tlZChldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lzQWN0aXZlID0gaXNBY3RpdmU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2luZ2xlU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9zZWxlY3RlZEl0ZW0gIT09ICd1bmRlZmluZWQnIHx8ICF0aGlzLnZhbHVlIHx8IHRoaXMuX2luZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2hlY2tib3hDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjaGVja2VkID0gKDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldCkuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uSXRlbShjaGVja2VkLCBldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2VsZWN0aW9uSXRlbSh2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IFQsIGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy5faW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGUgIT09ICdtdWx0aVNlbGVjdCdcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IHZhbHVlIHx8IHZhbHVlID09PSAwXG4gICAgICAgICAgICAgICAgPyBHcmlkTGlzdFNlbGVjdGlvbkFjdGlvbnMuQUREXG4gICAgICAgICAgICAgICAgOiBHcmlkTGlzdFNlbGVjdGlvbkFjdGlvbnMuUkVNT1ZFO1xuXG4gICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCwgYWN0aW9uLCBldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25EZXRhaWwoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuZGV0YWlsLmVtaXQodGhpcy5fb3V0cHV0RXZlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25OYXZpZ2F0ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLmRlbGV0ZS5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NsaWNrT25EcmFmdChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgdGhpcy5kcmFmdC5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NsaWNrT25Mb2NrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMubG9ja2VkLmVtaXQodGhpcy5fb3V0cHV0RXZlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lzRWxlbWVudENhbkJlQ2xpY2tlZChldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdhY3RpdmUnICYmIHRoaXMudHlwZSAhPT0gJ2RldGFpbHNBbmRBY3RpdmUnICYmIHRoaXMudHlwZSAhPT0gJ25hdmlnYXRpb24nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbmF2aWdhdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuX29uTmF2aWdhdGUoZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmVzcy5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgaXNTZWxlY3Rpb25LZXlEb3duID0gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKTtcblxuICAgICAgICBpZiAoaXNTZWxlY3Rpb25LZXlEb3duICYmIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNzLmVtaXQodGhpcy5fb3V0cHV0RXZlbnRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzU2VsZWN0aW9uS2V5RG93biB8fCB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdub25lJyB8fCAhdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19pdGVtJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnbXVsdGlTZWxlY3QnKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25JdGVtKCF0aGlzLl9zZWxlY3RlZEl0ZW0pO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpbmdsZVNlbGVjdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzRWxlbWVudENhbkJlQ2xpY2tlZChldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWV2ZW50Py50YXJnZXQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHsgY2xhc3NMaXN0IH0gPSBlbGVtZW50O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhKHRoaXMuX2lzVG9vbGJhckVsZW1lbnQoZWxlbWVudCkgJiYgdGhpcy5kaXNhYmxlVG9vbGJhckNsaWNrKSAmJlxuICAgICAgICAgICAgIWNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19hY3Rpb24tYnV0dG9uJykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9fcmFkaW8tbGFiZWwnKSAmJlxuICAgICAgICAgICAgIWNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19yYWRpby1pbnB1dCcpICYmXG4gICAgICAgICAgICAhY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX2NoZWNrYm94LWxhYmVsJykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9fY2hlY2tib3gtaW5wdXQnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNUb29sYmFyRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbVRvb2xiYXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChlbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgIWVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9faXRlbScpKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRvb2xiYXItLWV4dHJhLWNvbnRlbnQnKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldmVudERlZmF1bHQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX291dHB1dEV2ZW50VmFsdWUoKTogR3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBpbmRleDogdGhpcy5faW5kZXhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZENsYXNzZXNOYW1lcyhjbGFzc2VzTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgY2xhc3NOYW1lIG9mIGNsYXNzZXNOYW1lcykge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVtb3ZlQ2xhc3Nlc05hbWVzKGNsYXNzZXNOYW1lczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBjbGFzc05hbWUgb2YgY2xhc3Nlc05hbWVzKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNncmlkTGlzdEl0ZW1cbiAgICBbaWRdPVwiaWRcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW1cIlxuICAgIHJvbGU9XCJvcHRpb25cIlxuICAgIFtjbGFzcy5pcy1uYXZpZ2F0ZWRdPVwiaXNOYXZpZ2F0ZWRcIlxuICAgIFtjbGFzcy5pcy1zZWxlY3RlZF09XCIhIV9zZWxlY3RlZEl0ZW1cIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWxpbmtdPVwiXG4gICAgICAgIF9pc0FjdGl2ZSAmJiAodHlwZSA9PT0gJ2FjdGl2ZScgfHwgdHlwZSA9PT0gJ2RldGFpbHNBbmRBY3RpdmUnIHx8IHR5cGUgPT09ICduYXZpZ2F0aW9uJylcbiAgICBcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLXVucmVhZF09XCJzdGF0ZSA9PT0gJ3VucmVhZCdcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWxvY2tlZF09XCJzdGF0ZSA9PT0gJ2xvY2tlZCdcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWRyYWZ0XT1cInN0YXRlID09PSAnZHJhZnQnXCJcbiAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19pdGVtLS1lcnJvcl09XCJzdGF0ZSA9PT0gJ2Vycm9yJ1wiXG4gICAgKGtleWRvd24pPVwiX29uS2V5RG93bigkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdCcgJiYgX3NpbmdsZVNlbGVjdCgkZXZlbnQpOyBfb25DbGljaygkZXZlbnQpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAobW91c2VvdmVyKT1cIl9zZXRBY3RpdmUoJGV2ZW50LCBmYWxzZSlcIlxuICAgIChtb3VzZW91dCk9XCJfc2V0QWN0aXZlKCRldmVudCwgdHJ1ZSlcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0aW9uTW9kZSA9PT0gJ25vbmUnID8gbnVsbCA6ICEhX3NlbGVjdGVkSXRlbVwiXG4+XG4gICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJzdGF0dXNcIlxuICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9faGlnaGxpZ2h0XCJcbiAgICAgICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faGlnaGxpZ2h0LS1wb3NpdGl2ZV09XCJzdGF0dXMgPT09ICdzdWNjZXNzJ1wiXG4gICAgICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2hpZ2hsaWdodC0tY3JpdGljYWxdPVwic3RhdHVzID09PSAnd2FybmluZydcIlxuICAgICAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19oaWdobGlnaHQtLW5lZ2F0aXZlXT1cInN0YXR1cyA9PT0gJ2Vycm9yJ1wiXG4gICAgICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2hpZ2hsaWdodC0tbmV1dHJhbF09XCJzdGF0dXMgPT09ICduZXV0cmFsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0FyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZSA6IHsgc3RhdHVzOiBzdGF0dXMgfVwiXG4gICAgPjwvc3Bhbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0J1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmFkaW9cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC10b29sYmFyIGZkLWdyaWQtbGlzdF9faXRlbS10b29sYmFyXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvdW50ZXIgfHxcbiAgICAgICAgICAgIGl0ZW1Ub29sYmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYgfHxcbiAgICAgICAgICAgICh0eXBlICYmIHR5cGUgIT09ICdpbmFjdGl2ZScgJiYgdHlwZSAhPT0gJ2FjdGl2ZScpIHx8XG4gICAgICAgICAgICAoc2VsZWN0aW9uTW9kZSAhPT0gJ25vbmUnICYmIHNlbGVjdGlvbk1vZGUgIT09ICdzaW5nbGVTZWxlY3QnKVxuICAgICAgICBcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGVTZWxlY3RMZWZ0J1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJhZGlvXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnbXVsdGlTZWxlY3QnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tib3hcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1Ub29sYmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sYmFyLS1leHRyYS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1Ub29sYmFyQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxmZC1ncmlkLWxpc3QtdGl0bGUtYmFyLXNwYWNlcj48L2ZkLWdyaWQtbGlzdC10aXRsZS1iYXItc3BhY2VyPlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImNvdW50ZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0tY291bnRlclwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1Db3VudGVyQXJpYUxhYmVsJyB8IGZkVHJhbnNsYXRlIDogeyBjb3VudDogY291bnRlciB9XCJcbiAgICAgICAgICAgID57eyBjb3VudGVyIH19PC9zcGFuXG4gICAgICAgID5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdkZXRhaWwnIHx8IHR5cGUgPT09ICdkZXRhaWxzQW5kQWN0aXZlJ1wiXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGdseXBoPVwiZWRpdFwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZXRhaWxzVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZXRhaWxzVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAoY2xpY2spPVwiX29uRGV0YWlsKCRldmVudClcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnZGVsZXRlJ1wiXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZWxldGVUaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbUJ1dHRvbkRlbGV0ZVRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHRpdGxlPVwiRGVsZXRlXCJcbiAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgKGNsaWNrKT1cIl9vbkRlbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0gJ25hdmlnYXRpb24nXCIgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0tbmF2aWdhdGlvbi1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwibmF2aWdhdGlvbi1yaWdodC1hcnJvd1wiPjwvZmQtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0UmlnaHQnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmFkaW9cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLWJvZHlcIiBbY2xhc3MuZmQtZ3JpZC1saXN0X19pdGVtLWJvZHktLW5vLXBhZGRpbmddPVwibm9QYWRkaW5nXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1ncmlkLWxpc3QtaXRlbS1pbWFnZV1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cInRpdGxlIHx8IGRlc2NyaXB0aW9uXCIgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0taGVhZGVyXCI+XG4gICAgICAgICAgICA8aDQgKm5nSWY9XCJ0aXRsZVwiIGZkLXRpdGxlPnt7IHRpdGxlIH19PC9oND5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1zdWJ0aXRsZVwiPnt7IGRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYm9keT8udGVtcGxhdGVSZWZcIiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJvZHkudGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlIHx8IGZvb3RlckJhckNvbXBvbmVudD8uY29udGVudFRlbXBsYXRlUmVmXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbUZvb3RlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3JhZGlvPlxuICAgIDxpbnB1dFxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0JyA/IC0xIDogMFwiXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwiZmQtcmFkaW8gaXMtY29tcGFjdCBmZC1ncmlkLWxpc3RfX3JhZGlvLWlucHV0XCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdCcgPyAnbm9uZScgOiAnJ1wiXG4gICAgICAgIFtpZF09XCJpZCArICctcmFkaW8nXCJcbiAgICAgICAgW25hbWVdPVwiJ2ZkLWdyaWQtbGlzdC1pdGVtLXRvb2xiYXItJyArIHNlbGVjdGlvbk1vZGVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9zZWxlY3RlZEl0ZW1cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCIkZXZlbnQgJiYgX3NlbGVjdGlvbkl0ZW0oJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJmZC1yYWRpb19fbGFiZWwgZmQtZ3JpZC1saXN0X19yYWRpby1sYWJlbFwiXG4gICAgICAgIFtmb3JdPVwiaWQgKyAnLXJhZGlvJ1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAobW91c2VvdmVyKT1cIl9zZXRBY3RpdmUoJGV2ZW50LCBmYWxzZSlcIlxuICAgICAgICAobW91c2VvdXQpPVwiX3NldEFjdGl2ZSgkZXZlbnQsIHRydWUpXCJcbiAgICA+PC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hlY2tib3g+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGNsYXNzPVwiZmQtY2hlY2tib3ggaXMtY29tcGFjdCBmZC1ncmlkLWxpc3RfX2NoZWNrYm94LWlucHV0XCJcbiAgICAgICAgW2lkXT1cImlkICsgJy1jaGVja2JveCdcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9zZWxlY3RlZEl0ZW1cIlxuICAgICAgICAoY2xpY2spPVwiX2NoZWNrYm94Q2xpY2soJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bGFiZWwgY2xhc3M9XCJmZC1jaGVja2JveF9fbGFiZWwgZmQtZ3JpZC1saXN0X19jaGVja2JveC1sYWJlbFwiIFtmb3JdPVwiaWQgKyAnLWNoZWNrYm94J1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1jaGVja2JveF9fY2hlY2ttYXJrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgIDwvbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1Gb290ZXI+XG4gICAgPGRpdiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1ib2R5LWFjdGlvbnNcIiAqbmdJZj1cImZvb3RlckJhckNvbXBvbmVudCB8fCBzdGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyQmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWZcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJCYXJDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZm9vdGVyQmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYgJiYgc3RhdGVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzdGF0ZSA9PT0gJ2Vycm9yJ1wiXG4gICAgICAgICAgICAgICAgZmQtb2JqZWN0LXN0YXR1c1xuICAgICAgICAgICAgICAgIHN0YXR1cz1cIm5lZ2F0aXZlXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0NvbnRhaW5zRXJyb3JzJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNDb250YWluc0Vycm9ycycgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2FjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic3RhdGUgPT09ICdsb2NrZWQnXCJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJwcml2YXRlXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0xvY2tlZCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtU3RhdHVzTG9ja2VkJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBmZENvbXBhY3RcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2NsaWNrT25Mb2NrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzdGF0ZSA9PT0gJ2RyYWZ0J1wiXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0RyYWZ0JyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0RyYWZ0JyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBmZENvbXBhY3RcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2NsaWNrT25EcmFmdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -15,8 +15,8 @@ const BusinessSuiteInAppSymbol_PREFIX = 'businessSuiteInAppSymbols';
15
15
  */
16
16
  export class IconComponent {
17
17
  /** @hidden */
18
- constructor(_elementRef) {
19
- this._elementRef = _elementRef;
18
+ constructor(elementRef) {
19
+ this.elementRef = elementRef;
20
20
  /**
21
21
  * The icon font
22
22
  * Options include: 'SAP-icons', 'BusinessSuiteInAppSymbols' and 'SAP-icons-TNT'
@@ -48,10 +48,6 @@ export class IconComponent {
48
48
  : ''
49
49
  ];
50
50
  }
51
- /** @hidden */
52
- elementRef() {
53
- return this._elementRef;
54
- }
55
51
  }
56
52
  IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
57
53
  IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: IconComponent, selector: "fd-icon", inputs: { glyph: "glyph", font: "font", class: "class", ariaLabel: "ariaLabel" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "class.fd-list__navigation-item-icon": "this._navigationItemIcon" } }, providers: [
@@ -89,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
89
85
  type: HostBinding,
90
86
  args: ['class.fd-list__navigation-item-icon']
91
87
  }], buildComponentCssClass: [] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBbUIsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBSTdDLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO0FBQ3BDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQztBQUN6QixNQUFNLCtCQUErQixHQUFHLDJCQUEyQixDQUFDO0FBRXBFOzs7Ozs7R0FNRztBQWNILE1BQU0sT0FBTyxhQUFhO0lBMEJ0QixjQUFjO0lBQ2QsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFyQjNDOzs7V0FHRztRQUVILFNBQUksR0FBYSxXQUFXLENBQUM7UUFXN0IsOERBQThEO1FBRTlELHdCQUFtQixHQUFHLEtBQUssQ0FBQztJQUdrQixDQUFDO0lBRS9DLGNBQWM7SUFDZCxRQUFRO1FBQ0osSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFFSCxzQkFBc0I7UUFDbEIsT0FBTztZQUNILElBQUksQ0FBQyxLQUFLO1lBQ1YsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkYsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksS0FBSywyQkFBMkI7Z0JBQ25ELENBQUMsQ0FBQyxHQUFHLGdCQUFnQixJQUFJLCtCQUErQixLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3pFLENBQUMsQ0FBQyxFQUFFO1NBQ1gsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzswR0EzRFEsYUFBYTs4RkFBYixhQUFhLHNQQVRYO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxhQUFhO1NBQzdCO0tBQ0osK0NBUFMsRUFBRTtBQXVEWjtJQUFDLGFBQWE7Ozs7MkRBVWI7MkZBdERRLGFBQWE7a0JBYnpCLFNBQVM7K0JBQ0ksU0FBUyxZQUNULEVBQUUsYUFFRDt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGVBQWU7eUJBQzdCO3FCQUNKLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07aUdBTXRDLEtBQUs7c0JBQWIsS0FBSztnQkFPTixJQUFJO3NCQURILEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQU1OLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSzlCLG1CQUFtQjtzQkFEbEIsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBc0JsRCxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhcHBseUNzc0NsYXNzLCBDc3NDbGFzc0J1aWxkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZEX0lDT05fQ09NUE9ORU5UIH0gZnJvbSAnLi90b2tlbnMnO1xuXG5leHBvcnQgdHlwZSBJY29uRm9udCA9ICdTQVAtaWNvbnMnIHwgJ0J1c2luZXNzU3VpdGVJbkFwcFN5bWJvbHMnIHwgJ1NBUC1pY29ucy1UTlQnO1xuXG5jb25zdCBTQVBfSUNPTlNfUFJFRklYID0gJ3NhcC1pY29uJztcbmNvbnN0IFROVF9QUkVGSVggPSAnVE5UJztcbmNvbnN0IEJ1c2luZXNzU3VpdGVJbkFwcFN5bWJvbF9QUkVGSVggPSAnYnVzaW5lc3NTdWl0ZUluQXBwU3ltYm9scyc7XG5cbi8qKlxuICogVGhlIGNvbXBvbmVudCB0aGF0IHJlcHJlc2VudHMgYW4gaWNvbi5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtaWNvbiBmb250PVwiU0FQLWljb25zLVROVFwiIGdseXBoPVwiZXhjZXB0aW9uc1wiPjwvZmQtaWNvbj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWljb24nLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0lDT05fQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEljb25Db21wb25lbnRcbiAgICAgICAgfVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIENzc0NsYXNzQnVpbGRlciB7XG4gICAgLyoqIFRoZSBpY29uIG5hbWUgdG8gZGlzcGxheS4gU2VlIHRoZSBpY29uIHBhZ2UgZm9yIHRoZSBsaXN0IG9mIGljb25zXG4gICAgICogaGVyZTogaHR0cHM6Ly9zYXAuZ2l0aHViLmlvL2Z1bmRhbWVudGFsLW5neC9pY29uXG4gICAgICogKi9cbiAgICBASW5wdXQoKSBnbHlwaDogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGljb24gZm9udFxuICAgICAqIE9wdGlvbnMgaW5jbHVkZTogJ1NBUC1pY29ucycsICdCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xzJyBhbmQgJ1NBUC1pY29ucy1UTlQnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmb250OiBJY29uRm9udCA9ICdTQVAtaWNvbnMnO1xuXG4gICAgLyoqIHVzZXIncyBjdXN0b20gY2xhc3NlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3M6IHN0cmluZztcblxuICAgIC8qKiBBcmlhLWxhYmVsIGZvciBJY29uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGljb24gaXMgZm9yIGEgbGlzdCBuYXZpZ2F0aW9uIGl0ZW0uICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0taWNvbicpXG4gICAgX25hdmlnYXRpb25JdGVtSWNvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNsYXNzLFxuICAgICAgICAgICAgdGhpcy5nbHlwaCAmJiB0aGlzLmZvbnQgPT09ICdTQVAtaWNvbnMnID8gYCR7U0FQX0lDT05TX1BSRUZJWH0tLSR7dGhpcy5nbHlwaH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLmdseXBoICYmIHRoaXMuZm9udCA9PT0gJ1NBUC1pY29ucy1UTlQnID8gYCR7U0FQX0lDT05TX1BSRUZJWH0tJHtUTlRfUFJFRklYfS0tJHt0aGlzLmdseXBofWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuZ2x5cGggJiYgdGhpcy5mb250ID09PSAnQnVzaW5lc3NTdWl0ZUluQXBwU3ltYm9scydcbiAgICAgICAgICAgICAgICA/IGAke1NBUF9JQ09OU19QUkVGSVh9LSR7QnVzaW5lc3NTdWl0ZUluQXBwU3ltYm9sX1BSRUZJWH0tLSR7dGhpcy5nbHlwaH1gXG4gICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZWxlbWVudFJlZigpOiBFbGVtZW50UmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBbUIsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBSTdDLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO0FBQ3BDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQztBQUN6QixNQUFNLCtCQUErQixHQUFHLDJCQUEyQixDQUFDO0FBRXBFOzs7Ozs7R0FNRztBQWNILE1BQU0sT0FBTyxhQUFhO0lBMEJ0QixjQUFjO0lBQ2QsWUFBNEIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXJCbEQ7OztXQUdHO1FBRUgsU0FBSSxHQUFhLFdBQVcsQ0FBQztRQVc3Qiw4REFBOEQ7UUFFOUQsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO0lBR3lCLENBQUM7SUFFdEQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUVILHNCQUFzQjtRQUNsQixPQUFPO1lBQ0gsSUFBSSxDQUFDLEtBQUs7WUFDVixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLDJCQUEyQjtnQkFDbkQsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLElBQUksK0JBQStCLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDekUsQ0FBQyxDQUFDLEVBQUU7U0FDWCxDQUFDO0lBQ04sQ0FBQzs7MEdBdERRLGFBQWE7OEZBQWIsYUFBYSxzUEFUWDtRQUNQO1lBQ0ksT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsYUFBYTtTQUM3QjtLQUNKLCtDQVBTLEVBQUU7QUF1RFo7SUFBQyxhQUFhOzs7OzJEQVViOzJGQXREUSxhQUFhO2tCQWJ6QixTQUFTOytCQUNJLFNBQVMsWUFDVCxFQUFFLGFBRUQ7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxlQUFlO3lCQUM3QjtxQkFDSixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lHQU10QyxLQUFLO3NCQUFiLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFNTixTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUs5QixtQkFBbUI7c0JBRGxCLFdBQVc7dUJBQUMscUNBQXFDO2dCQXNCbEQsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXBwbHlDc3NDbGFzcywgQ3NzQ2xhc3NCdWlsZGVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGRF9JQ09OX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IHR5cGUgSWNvbkZvbnQgPSAnU0FQLWljb25zJyB8ICdCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xzJyB8ICdTQVAtaWNvbnMtVE5UJztcblxuY29uc3QgU0FQX0lDT05TX1BSRUZJWCA9ICdzYXAtaWNvbic7XG5jb25zdCBUTlRfUFJFRklYID0gJ1ROVCc7XG5jb25zdCBCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xfUFJFRklYID0gJ2J1c2luZXNzU3VpdGVJbkFwcFN5bWJvbHMnO1xuXG4vKipcbiAqIFRoZSBjb21wb25lbnQgdGhhdCByZXByZXNlbnRzIGFuIGljb24uXG4gKlxuICogYGBgaHRtbFxuICogPGZkLWljb24gZm9udD1cIlNBUC1pY29ucy1UTlRcIiBnbHlwaD1cImV4Y2VwdGlvbnNcIj48L2ZkLWljb24+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1pY29uJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9JQ09OX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBJY29uQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBDc3NDbGFzc0J1aWxkZXIge1xuICAgIC8qKiBUaGUgaWNvbiBuYW1lIHRvIGRpc3BsYXkuIFNlZSB0aGUgaWNvbiBwYWdlIGZvciB0aGUgbGlzdCBvZiBpY29uc1xuICAgICAqIGhlcmU6IGh0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1uZ3gvaWNvblxuICAgICAqICovXG4gICAgQElucHV0KCkgZ2x5cGg6IGFueTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBpY29uIGZvbnRcbiAgICAgKiBPcHRpb25zIGluY2x1ZGU6ICdTQVAtaWNvbnMnLCAnQnVzaW5lc3NTdWl0ZUluQXBwU3ltYm9scycgYW5kICdTQVAtaWNvbnMtVE5UJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9udDogSWNvbkZvbnQgPSAnU0FQLWljb25zJztcblxuICAgIC8qKiB1c2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogQXJpYS1sYWJlbCBmb3IgSWNvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdGhpcyBpY29uIGlzIGZvciBhIGxpc3QgbmF2aWdhdGlvbiBpdGVtLiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLWljb24nKVxuICAgIF9uYXZpZ2F0aW9uSXRlbUljb24gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgICAgKiBmdW5jdGlvbiBtdXN0IHJldHVybiBzaW5nbGUgc3RyaW5nXG4gICAgICogZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG9yZGVyIHdoaWNoIGNzcyBjbGFzc2VzIGFyZSBhcHBsaWVkXG4gICAgICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuY2xhc3MsXG4gICAgICAgICAgICB0aGlzLmdseXBoICYmIHRoaXMuZm9udCA9PT0gJ1NBUC1pY29ucycgPyBgJHtTQVBfSUNPTlNfUFJFRklYfS0tJHt0aGlzLmdseXBofWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuZ2x5cGggJiYgdGhpcy5mb250ID09PSAnU0FQLWljb25zLVROVCcgPyBgJHtTQVBfSUNPTlNfUFJFRklYfS0ke1ROVF9QUkVGSVh9LS0ke3RoaXMuZ2x5cGh9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5nbHlwaCAmJiB0aGlzLmZvbnQgPT09ICdCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xzJ1xuICAgICAgICAgICAgICAgID8gYCR7U0FQX0lDT05TX1BSRUZJWH0tJHtCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xfUFJFRklYfS0tJHt0aGlzLmdseXBofWBcbiAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgIF07XG4gICAgfVxufVxuIl19
@@ -9,8 +9,8 @@ import * as i2 from "@angular/common";
9
9
  let illustratedMessageUniqueId = 0;
10
10
  export class IllustratedMessageComponent {
11
11
  /** @hidden */
12
- constructor(_elementRef, _cdRef, _sanitizer) {
13
- this._elementRef = _elementRef;
12
+ constructor(elementRef, _cdRef, _sanitizer) {
13
+ this.elementRef = elementRef;
14
14
  this._cdRef = _cdRef;
15
15
  this._sanitizer = _sanitizer;
16
16
  /**
@@ -54,10 +54,6 @@ export class IllustratedMessageComponent {
54
54
  ngOnDestroy() {
55
55
  this._subscriptions.unsubscribe();
56
56
  }
57
- /** @hidden */
58
- elementRef() {
59
- return this._elementRef;
60
- }
61
57
  /**
62
58
  * @hidden
63
59
  * CssClassBuilder interface implementation
@@ -125,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
125
121
  }], class: [{
126
122
  type: Input
127
123
  }], buildComponentCssClass: [] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWxsdXN0cmF0ZWQtbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9pbGx1c3RyYXRlZC1tZXNzYWdlL2lsbHVzdHJhdGVkLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvaWxsdXN0cmF0ZWQtbWVzc2FnZS9pbGx1c3RyYXRlZC1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBSUwsaUJBQWlCLEVBRXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFrQixNQUFNLDRCQUE0QixDQUFDO0FBRTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBaUIvQyxJQUFJLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQVVuQyxNQUFNLE9BQU8sMkJBQTJCO0lBZ0RwQyxjQUFjO0lBQ2QsWUFBb0IsV0FBdUIsRUFBVSxNQUF5QixFQUFVLFVBQXdCO1FBQTVGLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBaERoSDs7OztXQUlHO1FBRUgsU0FBSSxHQUEyQixPQUFPLENBQUM7UUFVdkM7OztXQUdHO1FBRUgsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkOzs7V0FHRztRQUdILE9BQUUsR0FBVyx5QkFBeUIsR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBZXRFLGNBQWM7UUFDTixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENB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QztvQkFDNUUsTUFBTTtnQkFDVixLQUFLLEtBQUs7b0JBQ04sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQztvQkFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7b0JBQzFFLE1BQU07YUFDYjtTQUNKO1FBQ0QsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEU7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O3dIQWpJUSwyQkFBMkI7NEdBQTNCLDJCQUEyQixpT0M1Q3hDLDBXQU1BO0FEOEhJO0lBQUMsYUFBYTs7Ozt5RUFHYjsyRkEzRlEsMkJBQTJCO2tCQVJ2QyxTQUFTOytCQUVJLDBCQUEwQixpQkFHckIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs0SkFTL0MsSUFBSTtzQkFESCxLQUFLO2dCQVNOLFNBQVM7c0JBRFIsS0FBSztnQkFRTixLQUFLO3NCQURKLEtBQUs7Z0JBU04sRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFNBQVM7Z0JBS3RCLEtBQUs7c0JBREosS0FBSztnQkF3RE4sc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBhcHBseUNzc0NsYXNzLCBSZXF1aXJlT25seU9uZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENzc0NsYXNzQnVpbGRlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ZnQ29uZmlnIHtcbiAgICBzY2VuZT86IFJlcXVpcmVPbmx5T25lPFN2Z0l0ZW1Db25maWcsICd1cmwnIHwgJ2ZpbGUnPjtcbiAgICBkaWFsb2c/OiBSZXF1aXJlT25seU9uZTxTdmdJdGVtQ29uZmlnLCAndXJsJyB8ICdmaWxlJz47XG4gICAgc3BvdD86IFJlcXVpcmVPbmx5T25lPFN2Z0l0ZW1Db25maWcsICd1cmwnIHwgJ2ZpbGUnPjtcbiAgICBkb3Q/OiBSZXF1aXJlT25seU9uZTxTdmdJdGVtQ29uZmlnLCAndXJsJyB8ICdmaWxlJz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ZnSXRlbUNvbmZpZyB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICBmaWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElsbHVzdHJhdGVkTWVzc2FnZVR5cGUgPSAnc2NlbmUnIHwgJ2RpYWxvZycgfCAnc3BvdCcgfCAnZG90JztcblxubGV0IGlsbHVzdHJhdGVkTWVzc2FnZVVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC1pbGx1c3RyYXRlZC1tZXNzYWdlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lsbHVzdHJhdGVkLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lsbHVzdHJhdGVkLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIElsbHVzdHJhdGVkTWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIENzc0NsYXNzQnVpbGRlciB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIElsbHVzdHJhdGVkIE1lc3NhZ2VcbiAgICAgKiBPcHRpb25zIGluY2x1ZGU6ICdzY2VuZScgfCAnc3BvdCcgfCAnZGlhbG9nJyB8ICdkb3QnLlxuICAgICAqIFRoZSBkZWZhdWx0IHR5cGUgaXMgc2V0IHRvICdzY2VuZSdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHR5cGU6IElsbHVzdHJhdGVkTWVzc2FnZVR5cGUgPSAnc2NlbmUnO1xuXG4gICAgLyoqXG4gICAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgdXJsIGFuZCBpZCBmb3IgZWFjaCB0eXBlIHVzZWQgdG8gY29uc3RydWN0IHRoZSBzdmcgaHJlZlxuICAgICAqIEZvciAnc2NlbmUnIHR5cGUgJ3NjZW5lJyBhbmQgJ2RpYWxvZycgdmFsdWVzIGFyZSByZXF1aXJlZFxuICAgICAqIEluIHNtYWxsIHNjcmVlbnMgKGxlc3MgdGhhbiA2MDBweCkgJ2RpYWxvZycgc3ZnIHdpbGwgYmUgYXBwbGllZCBmb3IgJ3NjZW5lJyB0eXBlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdmdDb25maWc6IFN2Z0NvbmZpZztcblxuICAgIC8qKlxuICAgICAqIFdoZW4gc2V0IHRvIHRydWUgd2lsbCByZW1vdmUgdGhlIGlsbHVzdHJhdGlvbiBmcm9tIHRoZSBJbGx1c3RyYXRlZCBNZXNzYWdlXG4gICAgICogVGhlIGRlZmF1bHQgaXMgc2V0IHRvIGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBub1N2ZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWQgb2YgdGhlIElsbHVzdHJhdGVkIE1lc3NhZ2VcbiAgICAgKiBJZiBub3QgcHJvdmlkZWQsIGEgZGVmYXVsdCBvbmUgaXMgZ2VuZXJhdGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGlkOiBzdHJpbmcgPSAnZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS0nICsgaWxsdXN0cmF0ZWRNZXNzYWdlVW5pcXVlSWQrKztcblxuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9ocmVmOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pc1NtYWxsU2NyZWVuOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW5saW5lU3ZnOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICAgICAgaWYgKCdzdmdDb25maWcnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnN0cnVjdEhyZWYoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICB0aGlzLl9jb25zdHJ1Y3RIcmVmKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdzY2VuZScpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fY29uc3RydWN0SHJlZigpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQ3NzQ2xhc3NCdWlsZGVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuICAgICAqIGZ1bmN0aW9uIG11c3QgcmV0dXJuIHNpbmdsZSBzdHJpbmdcbiAgICAgKiBmdW5jdGlvbiBpcyByZXNwb25zaWJsZSBmb3Igb3JkZXIgd2hpY2ggY3NzIGNsYXNzZXMgYXJlIGFwcGxpZWRcbiAgICAgKi9cbiAgICBAYXBwbHlDc3NDbGFzc1xuICAgIGJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gWydmZC1pbGx1c3RyYXRlZC1tZXNzYWdlJywgdGhpcy50eXBlID8gYGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtLSR7dGhpcy50eXBlfWAgOiAnJywgdGhpcy5jbGFzc107XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jb25zdHJ1Y3RIcmVmKCk6IHZvaWQge1xuICAgICAgICBsZXQgaW5saW5lU3ZnO1xuICAgICAgICB0aGlzLl9pbmxpbmVTdmcgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0aGlzLnN2Z0NvbmZpZykge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzY2VuZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2lzU21hbGxTY3JlZW4gPSB3aW5kb3cuaW5uZXJXaWR0aCA8IDYwMDtcblxuICAgICAgICAgICAgICAgICAgICBpbmxpbmVTdmcgPSB0aGlzLl9pc1NtYWxsU2NyZWVuID8gdGhpcy5zdmdDb25maWcuZGlhbG9nPy5maWxlIDogdGhpcy5zdmdDb25maWcuc2NlbmU/LmZpbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faHJlZiA9IHRoaXMuX2lzU21hbGxTY3JlZW5cbiAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7dGhpcy5zdmdDb25maWcuZGlhbG9nPy51cmwgfHwgJyd9IyR7dGhpcy5zdmdDb25maWcuZGlhbG9nPy5pZH1gXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGAke3RoaXMuc3ZnQ29uZmlnLnNjZW5lPy51cmwgfHwgJyd9IyR7dGhpcy5zdmdDb25maWcuc2NlbmU/LmlkfWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lU3ZnID0gdGhpcy5zdmdDb25maWcuZGlhbG9nPy5maWxlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9ocmVmID0gYCR7dGhpcy5zdmdDb25maWcuZGlhbG9nPy51cmwgfHwgJyd9IyR7dGhpcy5zdmdDb25maWcuZGlhbG9nPy5pZH1gO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3Nwb3QnOlxuICAgICAgICAgICAgICAgICAgICBpbmxpbmVTdmcgPSB0aGlzLnN2Z0NvbmZpZy5zcG90Py5maWxlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9ocmVmID0gYCR7dGhpcy5zdmdDb25maWcuc3BvdD8udXJsIHx8ICcnfSMke3RoaXMuc3ZnQ29uZmlnLnNwb3Q/LmlkfWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RvdCc6XG4gICAgICAgICAgICAgICAgICAgIGlubGluZVN2ZyA9IHRoaXMuc3ZnQ29uZmlnLmRvdD8uZmlsZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faHJlZiA9IGAke3RoaXMuc3ZnQ29uZmlnLmRvdD8udXJsIHx8ICcnfSMke3RoaXMuc3ZnQ29uZmlnLmRvdD8uaWR9YDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlubGluZVN2Zykge1xuICAgICAgICAgICAgdGhpcy5faW5saW5lU3ZnID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGlubGluZVN2Zyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIiwiPHN2ZyBjbGFzcz1cImZkLWlsbHVzdHJhdGVkLW1lc3NhZ2VfX2lsbHVzdHJhdGlvblwiICpuZ0lmPVwiIW5vU3ZnIHx8IF9pbmxpbmVTdmdcIj5cbiAgICA8dXNlIFthdHRyLmhyZWZdPVwiX2hyZWZcIj48L3VzZT5cbjwvc3ZnPlxuPGRpdiAqbmdJZj1cIl9pbmxpbmVTdmdcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBbaW5uZXJIVE1MXT1cIl9pbmxpbmVTdmdcIj48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1pbGx1c3RyYXRlZC1tZXNzYWdlLWZpZ2NhcHRpb25dXCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWxsdXN0cmF0ZWQtbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9pbGx1c3RyYXRlZC1tZXNzYWdlL2lsbHVzdHJhdGVkLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvaWxsdXN0cmF0ZWQtbWVzc2FnZS9pbGx1c3RyYXRlZC1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBSUwsaUJBQWlCLEVBRXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFrQixNQUFNLDRCQUE0QixDQUFDO0FBRTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBaUIvQyxJQUFJLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQVVuQyxNQUFNLE9BQU8sMkJBQTJCO0lBZ0RwQyxjQUFjO0lBQ2QsWUFDb0IsVUFBc0IsRUFDOUIsTUFBeUIsRUFDekIsVUFBd0I7UUFGaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBbkRwQzs7OztXQUlHO1FBRUgsU0FBSSxHQUEyQixPQUFPLENBQUM7UUFVdkM7OztXQUdHO1FBRUgsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkOzs7V0FHRztRQUdILE9BQUUsR0FBVyx5QkFBeUIsR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBZXRFLGNBQWM7UUFDTixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFF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UyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO29CQUMxRSxNQUFNO2FBQ2I7U0FDSjtRQUNELElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzt3SEFoSVEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsaU9DNUN4QywwV0FNQTtBRDZISTtJQUFDLGFBQWE7Ozs7eUVBR2I7MkZBMUZRLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFFSSwwQkFBMEIsaUJBR3JCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07NEpBUy9DLElBQUk7c0JBREgsS0FBSztnQkFTTixTQUFTO3NCQURSLEtBQUs7Z0JBUU4sS0FBSztzQkFESixLQUFLO2dCQVNOLEVBQUU7c0JBRkQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxTQUFTO2dCQUt0QixLQUFLO3NCQURKLEtBQUs7Z0JBdUROLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgYXBwbHlDc3NDbGFzcywgUmVxdWlyZU9ubHlPbmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDc3NDbGFzc0J1aWxkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN2Z0NvbmZpZyB7XG4gICAgc2NlbmU/OiBSZXF1aXJlT25seU9uZTxTdmdJdGVtQ29uZmlnLCAndXJsJyB8ICdmaWxlJz47XG4gICAgZGlhbG9nPzogUmVxdWlyZU9ubHlPbmU8U3ZnSXRlbUNvbmZpZywgJ3VybCcgfCAnZmlsZSc+O1xuICAgIHNwb3Q/OiBSZXF1aXJlT25seU9uZTxTdmdJdGVtQ29uZmlnLCAndXJsJyB8ICdmaWxlJz47XG4gICAgZG90PzogUmVxdWlyZU9ubHlPbmU8U3ZnSXRlbUNvbmZpZywgJ3VybCcgfCAnZmlsZSc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN2Z0l0ZW1Db25maWcge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZmlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJbGx1c3RyYXRlZE1lc3NhZ2VUeXBlID0gJ3NjZW5lJyB8ICdkaWFsb2cnIHwgJ3Nwb3QnIHwgJ2RvdCc7XG5cbmxldCBpbGx1c3RyYXRlZE1lc3NhZ2VVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbGx1c3RyYXRlZC1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbGx1c3RyYXRlZC1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBJbGx1c3RyYXRlZE1lc3NhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBDc3NDbGFzc0J1aWxkZXIge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRoZSBJbGx1c3RyYXRlZCBNZXNzYWdlXG4gICAgICogT3B0aW9ucyBpbmNsdWRlOiAnc2NlbmUnIHwgJ3Nwb3QnIHwgJ2RpYWxvZycgfCAnZG90Jy5cbiAgICAgKiBUaGUgZGVmYXVsdCB0eXBlIGlzIHNldCB0byAnc2NlbmUnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0eXBlOiBJbGx1c3RyYXRlZE1lc3NhZ2VUeXBlID0gJ3NjZW5lJztcblxuICAgIC8qKlxuICAgICAqIEFuIG9iamVjdCBjb250YWluaW5nIHVybCBhbmQgaWQgZm9yIGVhY2ggdHlwZSB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgc3ZnIGhyZWZcbiAgICAgKiBGb3IgJ3NjZW5lJyB0eXBlICdzY2VuZScgYW5kICdkaWFsb2cnIHZhbHVlcyBhcmUgcmVxdWlyZWRcbiAgICAgKiBJbiBzbWFsbCBzY3JlZW5zIChsZXNzIHRoYW4gNjAwcHgpICdkaWFsb2cnIHN2ZyB3aWxsIGJlIGFwcGxpZWQgZm9yICdzY2VuZScgdHlwZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3ZnQ29uZmlnOiBTdmdDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHNldCB0byB0cnVlIHdpbGwgcmVtb3ZlIHRoZSBpbGx1c3RyYXRpb24gZnJvbSB0aGUgSWxsdXN0cmF0ZWQgTWVzc2FnZVxuICAgICAqIFRoZSBkZWZhdWx0IGlzIHNldCB0byBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9TdmcgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElkIG9mIHRoZSBJbGx1c3RyYXRlZCBNZXNzYWdlXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCBhIGRlZmF1bHQgb25lIGlzIGdlbmVyYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZDogc3RyaW5nID0gJ2ZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtJyArIGlsbHVzdHJhdGVkTWVzc2FnZVVuaXF1ZUlkKys7XG5cbiAgICAvKiogVXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaHJlZjogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaXNTbWFsbFNjcmVlbjogYm9vbGVhbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2lubGluZVN2ZzogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICAgICAgaWYgKCdzdmdDb25maWcnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnN0cnVjdEhyZWYoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICB0aGlzLl9jb25zdHJ1Y3RIcmVmKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdzY2VuZScpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fY29uc3RydWN0SHJlZigpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgICAgKiBmdW5jdGlvbiBtdXN0IHJldHVybiBzaW5nbGUgc3RyaW5nXG4gICAgICogZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG9yZGVyIHdoaWNoIGNzcyBjbGFzc2VzIGFyZSBhcHBsaWVkXG4gICAgICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFsnZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZScsIHRoaXMudHlwZSA/IGBmZC1pbGx1c3RyYXRlZC1tZXNzYWdlLS0ke3RoaXMudHlwZX1gIDogJycsIHRoaXMuY2xhc3NdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29uc3RydWN0SHJlZigpOiB2b2lkIHtcbiAgICAgICAgbGV0IGlubGluZVN2ZztcbiAgICAgICAgdGhpcy5faW5saW5lU3ZnID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAodGhpcy5zdmdDb25maWcpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc2NlbmUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pc1NtYWxsU2NyZWVuID0gd2luZG93LmlubmVyV2lkdGggPCA2MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5saW5lU3ZnID0gdGhpcy5faXNTbWFsbFNjcmVlbiA/IHRoaXMuc3ZnQ29uZmlnLmRpYWxvZz8uZmlsZSA6IHRoaXMuc3ZnQ29uZmlnLnNjZW5lPy5maWxlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hyZWYgPSB0aGlzLl9pc1NtYWxsU2NyZWVuXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGAke3RoaXMuc3ZnQ29uZmlnLmRpYWxvZz8udXJsIHx8ICcnfSMke3RoaXMuc3ZnQ29uZmlnLmRpYWxvZz8uaWR9YFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBgJHt0aGlzLnN2Z0NvbmZpZy5zY2VuZT8udXJsIHx8ICcnfSMke3RoaXMuc3ZnQ29uZmlnLnNjZW5lPy5pZH1gO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2RpYWxvZyc6XG4gICAgICAgICAgICAgICAgICAgIGlubGluZVN2ZyA9IHRoaXMuc3ZnQ29uZmlnLmRpYWxvZz8uZmlsZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faHJlZiA9IGAke3RoaXMuc3ZnQ29uZmlnLmRpYWxvZz8udXJsIHx8ICcnfSMke3RoaXMuc3ZnQ29uZmlnLmRpYWxvZz8uaWR9YDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdzcG90JzpcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lU3ZnID0gdGhpcy5zdmdDb25maWcuc3BvdD8uZmlsZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faHJlZiA9IGAke3RoaXMuc3ZnQ29uZmlnLnNwb3Q/LnVybCB8fCAnJ30jJHt0aGlzLnN2Z0NvbmZpZy5zcG90Py5pZH1gO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdkb3QnOlxuICAgICAgICAgICAgICAgICAgICBpbmxpbmVTdmcgPSB0aGlzLnN2Z0NvbmZpZy5kb3Q/LmZpbGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hyZWYgPSBgJHt0aGlzLnN2Z0NvbmZpZy5kb3Q/LnVybCB8fCAnJ30jJHt0aGlzLnN2Z0NvbmZpZy5kb3Q/LmlkfWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpbmxpbmVTdmcpIHtcbiAgICAgICAgICAgIHRoaXMuX2lubGluZVN2ZyA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpbmxpbmVTdmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjxzdmcgY2xhc3M9XCJmZC1pbGx1c3RyYXRlZC1tZXNzYWdlX19pbGx1c3RyYXRpb25cIiAqbmdJZj1cIiFub1N2ZyB8fCBfaW5saW5lU3ZnXCI+XG4gICAgPHVzZSBbYXR0ci5ocmVmXT1cIl9ocmVmXCI+PC91c2U+XG48L3N2Zz5cbjxkaXYgKm5nSWY9XCJfaW5saW5lU3ZnXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgW2lubmVySFRNTF09XCJfaW5saW5lU3ZnXCI+PC9kaXY+XG48bmctY29udGVudCBzZWxlY3Q9XCJbZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS1maWdjYXB0aW9uXVwiPjwvbmctY29udGVudD5cbjxuZy1jb250ZW50IHNlbGVjdD1cImZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtYWN0aW9uc1wiPjwvbmctY29udGVudD5cbiJdfQ==