@fundamental-ngx/core 0.44.1-rc.3 → 0.45.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 (500) hide show
  1. package/action-sheet/action-sheet.module.d.ts +5 -6
  2. package/action-sheet/index.d.ts +0 -1
  3. package/avatar/avatar.component.d.ts +1 -6
  4. package/bar/bar.module.d.ts +4 -6
  5. package/bar/directives/bar-element.directive.d.ts +1 -6
  6. package/bar/index.d.ts +0 -2
  7. package/breadcrumb/breadcrumb.component.d.ts +1 -9
  8. package/breadcrumb/breadcrumb.module.d.ts +12 -13
  9. package/breadcrumb/index.d.ts +0 -1
  10. package/button/button.module.d.ts +4 -5
  11. package/button/index.d.ts +0 -1
  12. package/calendar/calendar.module.d.ts +5 -6
  13. package/calendar/index.d.ts +0 -1
  14. package/card/card.module.d.ts +6 -7
  15. package/card/index.d.ts +0 -1
  16. package/carousel/carousel.component.d.ts +1 -13
  17. package/checkbox/checkbox.module.d.ts +4 -5
  18. package/checkbox/index.d.ts +0 -1
  19. package/combobox/combobox.module.d.ts +12 -13
  20. package/combobox/index.d.ts +0 -1
  21. package/content-density/index.d.ts +0 -4
  22. package/date-picker/date-picker.component.d.ts +1 -62
  23. package/date-picker/date-picker.module.d.ts +12 -13
  24. package/date-picker/index.d.ts +0 -1
  25. package/datetime-picker/datetime-picker.component.d.ts +1 -49
  26. package/datetime-picker/datetime-picker.module.d.ts +14 -15
  27. package/datetime-picker/index.d.ts +0 -1
  28. package/dialog/dialog.module.d.ts +14 -16
  29. package/dialog/index.d.ts +0 -2
  30. package/dialog/utils/dialog-config.class.d.ts +0 -2
  31. package/dynamic-page/dynamic-page.module.d.ts +10 -11
  32. package/dynamic-page/index.d.ts +0 -1
  33. package/esm2022/action-sheet/action-sheet.module.mjs +3 -8
  34. package/esm2022/action-sheet/index.mjs +1 -2
  35. package/esm2022/avatar/avatar.component.mjs +3 -13
  36. package/esm2022/bar/bar.module.mjs +3 -13
  37. package/esm2022/bar/directives/bar-element.directive.mjs +3 -16
  38. package/esm2022/bar/index.mjs +1 -3
  39. package/esm2022/breadcrumb/breadcrumb.component.mjs +5 -19
  40. package/esm2022/breadcrumb/breadcrumb.module.mjs +6 -18
  41. package/esm2022/breadcrumb/index.mjs +1 -2
  42. package/esm2022/button/button.module.mjs +4 -5
  43. package/esm2022/button/index.mjs +1 -2
  44. package/esm2022/calendar/calendar.module.mjs +3 -8
  45. package/esm2022/calendar/index.mjs +1 -2
  46. package/esm2022/card/card.module.mjs +4 -8
  47. package/esm2022/card/index.mjs +1 -2
  48. package/esm2022/carousel/carousel.component.mjs +4 -30
  49. package/esm2022/checkbox/checkbox.module.mjs +4 -5
  50. package/esm2022/checkbox/index.mjs +1 -2
  51. package/esm2022/combobox/combobox-mobile/combobox-mobile.component.mjs +1 -1
  52. package/esm2022/combobox/combobox.component.mjs +1 -1
  53. package/esm2022/combobox/combobox.module.mjs +6 -8
  54. package/esm2022/combobox/index.mjs +1 -2
  55. package/esm2022/content-density/index.mjs +1 -5
  56. package/esm2022/date-picker/date-picker.component.mjs +4 -104
  57. package/esm2022/date-picker/date-picker.module.mjs +5 -6
  58. package/esm2022/date-picker/index.mjs +1 -2
  59. package/esm2022/datetime-picker/datetime-picker.component.mjs +4 -83
  60. package/esm2022/datetime-picker/datetime-picker.module.mjs +5 -6
  61. package/esm2022/datetime-picker/index.mjs +1 -2
  62. package/esm2022/dialog/dialog-default/dialog-default.component.mjs +1 -1
  63. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +1 -1
  64. package/esm2022/dialog/dialog.component.mjs +3 -3
  65. package/esm2022/dialog/dialog.module.mjs +1 -9
  66. package/esm2022/dialog/index.mjs +1 -3
  67. package/esm2022/dialog/utils/dialog-config.class.mjs +1 -1
  68. package/esm2022/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.mjs +1 -1
  69. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +1 -1
  70. package/esm2022/dynamic-page/dynamic-page.module.mjs +3 -8
  71. package/esm2022/dynamic-page/index.mjs +1 -2
  72. package/esm2022/facets/facet/facet.component.mjs +1 -1
  73. package/esm2022/feed-list-item/components/item/feed-list-item.component.mjs +14 -40
  74. package/esm2022/file-uploader/file-uploader.module.mjs +4 -23
  75. package/esm2022/file-uploader/index.mjs +1 -2
  76. package/esm2022/form/form-control/form-control.module.mjs +4 -23
  77. package/esm2022/form/form-label/form-label.component.mjs +3 -40
  78. package/esm2022/form/form-message/form-message.component.mjs +1 -1
  79. package/esm2022/form/form-message/popover-form-message.service.mjs +1 -1
  80. package/esm2022/form/index.mjs +1 -2
  81. package/esm2022/fundamental-ngx.module.mjs +1 -5
  82. package/esm2022/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +1 -1
  83. package/esm2022/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.mjs +1 -1
  84. package/esm2022/index.mjs +1 -2
  85. package/esm2022/inline-help/inline-help.directive.mjs +3 -18
  86. package/esm2022/input-group/index.mjs +1 -2
  87. package/esm2022/input-group/input-group.component.mjs +6 -28
  88. package/esm2022/input-group/input-group.module.mjs +1 -6
  89. package/esm2022/link/link.component.mjs +5 -8
  90. package/esm2022/list/index.mjs +1 -2
  91. package/esm2022/list/list-item/list-item.component.mjs +3 -46
  92. package/esm2022/list/list-message.directive.mjs +1 -1
  93. package/esm2022/list/list.module.mjs +3 -8
  94. package/esm2022/menu/index.mjs +1 -2
  95. package/esm2022/menu/menu-mobile/menu-mobile.component.mjs +1 -1
  96. package/esm2022/menu/menu.module.mjs +3 -8
  97. package/esm2022/message-box/index.mjs +1 -3
  98. package/esm2022/message-box/message-box-default/message-box-default.component.mjs +1 -1
  99. package/esm2022/message-box/message-box-header/message-box-header.component.mjs +1 -1
  100. package/esm2022/message-box/message-box.module.mjs +3 -11
  101. package/esm2022/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +3 -3
  102. package/esm2022/message-strip/alert/message-strip-alert.service.mjs +8 -2
  103. package/esm2022/message-strip/message-strip.component.mjs +3 -16
  104. package/esm2022/micro-process-flow/index.mjs +1 -2
  105. package/esm2022/micro-process-flow/micro-process-flow.module.mjs +5 -10
  106. package/esm2022/multi-combobox/mobile/mobile-multi-combobox.component.mjs +1 -1
  107. package/esm2022/multi-combobox/multi-combobox.component.mjs +1 -1
  108. package/esm2022/multi-combobox/select-all-toggler/select-all-toggler.component.mjs +1 -1
  109. package/esm2022/multi-input/index.mjs +1 -2
  110. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  111. package/esm2022/multi-input/multi-input.component.mjs +1 -1
  112. package/esm2022/multi-input/multi-input.module.mjs +6 -8
  113. package/esm2022/nested-list/index.mjs +1 -2
  114. package/esm2022/nested-list/nested-list.module.mjs +3 -8
  115. package/esm2022/object-number/object-number.component.mjs +3 -3
  116. package/esm2022/overflow-layout/overflow-layout.component.mjs +3 -3
  117. package/esm2022/pagination/index.mjs +1 -2
  118. package/esm2022/pagination/pagination.component.mjs +8 -186
  119. package/esm2022/pagination/pagination.module.mjs +6 -7
  120. package/esm2022/panel/index.mjs +1 -2
  121. package/esm2022/panel/panel.module.mjs +4 -15
  122. package/esm2022/popover/base/base-popover.class.mjs +2 -33
  123. package/esm2022/popover/popover.component.mjs +1 -19
  124. package/esm2022/product-switch/product-switch/product-switch.component.mjs +4 -17
  125. package/esm2022/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  126. package/esm2022/product-switch/product-switch-body/product-switch.item.mjs +1 -1
  127. package/esm2022/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  128. package/esm2022/quick-view/quick-view-title/quick-view-title.component.mjs +1 -1
  129. package/esm2022/radio/index.mjs +1 -2
  130. package/esm2022/radio/radio.module.mjs +4 -5
  131. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +3 -3
  132. package/esm2022/select/index.mjs +1 -2
  133. package/esm2022/select/select.component.mjs +1 -1
  134. package/esm2022/select/select.module.mjs +5 -6
  135. package/esm2022/shellbar/index.mjs +1 -2
  136. package/esm2022/shellbar/shellbar-actions/shellbar-actions.component.mjs +3 -17
  137. package/esm2022/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +3 -5
  138. package/esm2022/shellbar/shellbar.module.mjs +3 -8
  139. package/esm2022/shellbar/user-menu/shellbar-user-menu.component.mjs +1 -1
  140. package/esm2022/slider/index.mjs +1 -2
  141. package/esm2022/slider/slider.component.mjs +3 -49
  142. package/esm2022/slider/slider.module.mjs +4 -5
  143. package/esm2022/split-button/index.mjs +1 -2
  144. package/esm2022/split-button/split-button.component.mjs +3 -27
  145. package/esm2022/split-button/split-button.module.mjs +4 -5
  146. package/esm2022/splitter/splitter-pagination/splitter-pagination.component.mjs +3 -10
  147. package/esm2022/splitter/splitter.component.mjs +2 -16
  148. package/esm2022/step-input/index.mjs +1 -2
  149. package/esm2022/step-input/step-input.component.mjs +5 -31
  150. package/esm2022/step-input/step-input.module.mjs +5 -6
  151. package/esm2022/switch/index.mjs +1 -2
  152. package/esm2022/switch/switch.component.mjs +5 -43
  153. package/esm2022/switch/switch.module.mjs +4 -5
  154. package/esm2022/table/index.mjs +1 -3
  155. package/esm2022/table/table.module.mjs +3 -13
  156. package/esm2022/tabs/index.mjs +1 -2
  157. package/esm2022/tabs/tab-item-expand/tab-item-expand.component.mjs +8 -22
  158. package/esm2022/tabs/tab-list.component.mjs +5 -18
  159. package/esm2022/tabs/tabs.module.mjs +3 -8
  160. package/esm2022/text/text.component.mjs +3 -29
  161. package/esm2022/time/index.mjs +1 -3
  162. package/esm2022/time/time.component.mjs +8 -65
  163. package/esm2022/time/time.module.mjs +5 -6
  164. package/esm2022/time-picker/index.mjs +1 -2
  165. package/esm2022/time-picker/time-picker.component.mjs +1 -1
  166. package/esm2022/time-picker/time-picker.module.mjs +6 -22
  167. package/esm2022/timeline/components/timeline-node-body/timeline-node-body.component.mjs +1 -1
  168. package/esm2022/timeline/timeline.component.mjs +1 -1
  169. package/esm2022/token/index.mjs +1 -2
  170. package/esm2022/token/token.component.mjs +4 -30
  171. package/esm2022/token/token.module.mjs +5 -24
  172. package/esm2022/token/tokenizer.component.mjs +3 -3
  173. package/esm2022/toolbar/toolbar.component.mjs +8 -24
  174. package/esm2022/tree/tree.component.mjs +1 -1
  175. package/esm2022/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +9 -87
  176. package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +9 -21
  177. package/esm2022/upload-collection/upload-collection-item.directive.mjs +4 -3
  178. package/esm2022/upload-collection/upload-collection-simple.directives.mjs +22 -15
  179. package/esm2022/upload-collection/upload-collection.component.mjs +5 -4
  180. package/esm2022/upload-collection/upload-collection.module.mjs +7 -13
  181. package/esm2022/wizard/index.mjs +1 -2
  182. package/esm2022/wizard/wizard.module.mjs +3 -8
  183. package/feed-list-item/components/item/feed-list-item.component.d.ts +9 -25
  184. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +5 -36
  185. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  186. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -12
  187. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  188. package/fesm2022/fundamental-ngx-core-bar.mjs +7 -81
  189. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  190. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +11 -63
  191. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  192. package/fesm2022/fundamental-ngx-core-button.mjs +6 -33
  193. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  194. package/fesm2022/fundamental-ngx-core-calendar.mjs +4 -35
  195. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  196. package/fesm2022/fundamental-ngx-core-card.mjs +6 -36
  197. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  198. package/fesm2022/fundamental-ngx-core-carousel.mjs +3 -29
  199. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  200. package/fesm2022/fundamental-ngx-core-checkbox.mjs +6 -33
  201. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  202. package/fesm2022/fundamental-ngx-core-combobox.mjs +9 -37
  203. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  204. package/fesm2022/fundamental-ngx-core-content-density.mjs +1 -148
  205. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  206. package/fesm2022/fundamental-ngx-core-date-picker.mjs +10 -137
  207. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  208. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +10 -116
  209. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  210. package/fesm2022/fundamental-ngx-core-dialog.mjs +6 -57
  211. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  212. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +7 -38
  213. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  214. package/fesm2022/fundamental-ngx-core-facets.mjs +1 -1
  215. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  216. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +13 -39
  217. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  218. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +5 -50
  219. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  220. package/fesm2022/fundamental-ngx-core-form.mjs +7 -88
  221. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  222. package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
  223. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  224. package/fesm2022/fundamental-ngx-core-inline-help.mjs +2 -17
  225. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  226. package/fesm2022/fundamental-ngx-core-input-group.mjs +8 -60
  227. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  228. package/fesm2022/fundamental-ngx-core-link.mjs +4 -7
  229. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  230. package/fesm2022/fundamental-ngx-core-list.mjs +6 -80
  231. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  232. package/fesm2022/fundamental-ngx-core-menu.mjs +7 -38
  233. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  234. package/fesm2022/fundamental-ngx-core-message-box.mjs +7 -59
  235. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  236. package/fesm2022/fundamental-ngx-core-message-strip.mjs +11 -19
  237. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  238. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +7 -38
  239. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  240. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +3 -3
  241. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  242. package/fesm2022/fundamental-ngx-core-multi-input.mjs +9 -36
  243. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  244. package/fesm2022/fundamental-ngx-core-nested-list.mjs +4 -34
  245. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  246. package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
  247. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  248. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +2 -2
  249. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  250. package/fesm2022/fundamental-ngx-core-pagination.mjs +14 -219
  251. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  252. package/fesm2022/fundamental-ngx-core-panel.mjs +6 -43
  253. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  254. package/fesm2022/fundamental-ngx-core-popover.mjs +2 -50
  255. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  256. package/fesm2022/fundamental-ngx-core-product-switch.mjs +6 -18
  257. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  258. package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
  259. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  260. package/fesm2022/fundamental-ngx-core-radio.mjs +6 -33
  261. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  262. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  263. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  264. package/fesm2022/fundamental-ngx-core-select.mjs +7 -34
  265. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  266. package/fesm2022/fundamental-ngx-core-shellbar.mjs +11 -57
  267. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  268. package/fesm2022/fundamental-ngx-core-slider.mjs +8 -70
  269. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  270. package/fesm2022/fundamental-ngx-core-split-button.mjs +8 -59
  271. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  272. package/fesm2022/fundamental-ngx-core-splitter.mjs +4 -24
  273. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  274. package/fesm2022/fundamental-ngx-core-step-input.mjs +11 -64
  275. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  276. package/fesm2022/fundamental-ngx-core-switch.mjs +9 -74
  277. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  278. package/fesm2022/fundamental-ngx-core-table.mjs +5 -65
  279. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  280. package/fesm2022/fundamental-ngx-core-tabs.mjs +14 -69
  281. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  282. package/fesm2022/fundamental-ngx-core-text.mjs +2 -28
  283. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  284. package/fesm2022/fundamental-ngx-core-time-picker.mjs +9 -51
  285. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  286. package/fesm2022/fundamental-ngx-core-time.mjs +12 -143
  287. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  288. package/fesm2022/fundamental-ngx-core-timeline.mjs +2 -2
  289. package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
  290. package/fesm2022/fundamental-ngx-core-token.mjs +11 -82
  291. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  292. package/fesm2022/fundamental-ngx-core-toolbar.mjs +6 -22
  293. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  294. package/fesm2022/fundamental-ngx-core-tree.mjs +1 -1
  295. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  296. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +46 -131
  297. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  298. package/fesm2022/fundamental-ngx-core-wizard.mjs +5 -36
  299. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  300. package/fesm2022/fundamental-ngx-core.mjs +0 -5
  301. package/fesm2022/fundamental-ngx-core.mjs.map +1 -1
  302. package/file-uploader/file-uploader.module.d.ts +6 -7
  303. package/file-uploader/index.d.ts +0 -1
  304. package/form/form-control/form-control.module.d.ts +3 -4
  305. package/form/form-label/form-label.component.d.ts +1 -16
  306. package/form/form-message/form-message.component.d.ts +0 -2
  307. package/form/form-message/popover-form-message.service.d.ts +2 -2
  308. package/form/index.d.ts +0 -1
  309. package/fundamental-ngx-core-v0.45.0.tgz +0 -0
  310. package/fundamental-ngx.module.d.ts +89 -90
  311. package/index.d.ts +0 -1
  312. package/inline-help/inline-help.directive.d.ts +1 -7
  313. package/input-group/index.d.ts +0 -1
  314. package/input-group/input-group.component.d.ts +6 -13
  315. package/input-group/input-group.module.d.ts +6 -7
  316. package/link/link.component.d.ts +1 -1
  317. package/list/index.d.ts +0 -1
  318. package/list/list-item/list-item.component.d.ts +1 -25
  319. package/list/list-message.directive.d.ts +2 -2
  320. package/list/list.module.d.ts +5 -6
  321. package/menu/index.d.ts +0 -1
  322. package/menu/menu.module.d.ts +6 -7
  323. package/message-box/index.d.ts +0 -2
  324. package/message-box/message-box.module.d.ts +15 -17
  325. package/message-strip/message-strip.component.d.ts +1 -9
  326. package/micro-process-flow/index.d.ts +0 -1
  327. package/micro-process-flow/micro-process-flow.module.d.ts +4 -5
  328. package/multi-input/index.d.ts +0 -1
  329. package/multi-input/multi-input.module.d.ts +12 -13
  330. package/nested-list/index.d.ts +0 -1
  331. package/nested-list/nested-list.module.d.ts +6 -7
  332. package/package.json +3 -9
  333. package/pagination/index.d.ts +0 -1
  334. package/pagination/pagination.component.d.ts +2 -111
  335. package/pagination/pagination.module.d.ts +10 -11
  336. package/panel/index.d.ts +0 -1
  337. package/panel/panel.module.d.ts +4 -5
  338. package/popover/base/base-popover.class.d.ts +1 -16
  339. package/popover/popover.component.d.ts +0 -11
  340. package/product-switch/product-switch/product-switch.component.d.ts +1 -8
  341. package/product-switch/product-switch-body/product-switch.item.d.ts +0 -4
  342. package/radio/index.d.ts +0 -1
  343. package/radio/radio.module.d.ts +4 -5
  344. package/schematics/add-dependencies/index.js +4 -4
  345. package/select/index.d.ts +0 -1
  346. package/select/select.component.d.ts +0 -2
  347. package/select/select.module.d.ts +9 -10
  348. package/shellbar/index.d.ts +0 -1
  349. package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +1 -9
  350. package/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.d.ts +3 -5
  351. package/shellbar/shellbar.module.d.ts +14 -15
  352. package/slider/index.d.ts +0 -1
  353. package/slider/slider.component.d.ts +1 -31
  354. package/slider/slider.module.d.ts +7 -8
  355. package/split-button/index.d.ts +0 -1
  356. package/split-button/split-button.component.d.ts +3 -12
  357. package/split-button/split-button.module.d.ts +6 -7
  358. package/splitter/splitter-pagination/splitter-pagination.component.d.ts +0 -5
  359. package/splitter/splitter.component.d.ts +1 -9
  360. package/step-input/index.d.ts +0 -1
  361. package/step-input/step-input.component.d.ts +1 -17
  362. package/step-input/step-input.module.d.ts +7 -8
  363. package/switch/index.d.ts +0 -1
  364. package/switch/switch.component.d.ts +1 -19
  365. package/switch/switch.module.d.ts +5 -6
  366. package/table/index.d.ts +0 -2
  367. package/table/table.module.d.ts +4 -6
  368. package/tabs/index.d.ts +0 -1
  369. package/tabs/tab-item-expand/tab-item-expand.component.d.ts +1 -8
  370. package/tabs/tab-list.component.d.ts +1 -9
  371. package/tabs/tabs.module.d.ts +12 -13
  372. package/text/text.component.d.ts +1 -17
  373. package/time/index.d.ts +0 -2
  374. package/time/time.component.d.ts +2 -15
  375. package/time/time.module.d.ts +9 -10
  376. package/time-picker/index.d.ts +0 -1
  377. package/time-picker/time-picker.module.d.ts +9 -10
  378. package/token/index.d.ts +0 -1
  379. package/token/token.component.d.ts +1 -17
  380. package/token/token.module.d.ts +8 -9
  381. package/toolbar/toolbar.component.d.ts +4 -12
  382. package/upload-collection/upload-collection-button-group/upload-collection-button-group.component.d.ts +2 -50
  383. package/upload-collection/upload-collection-form-item/upload-collection-form-item.component.d.ts +1 -9
  384. package/upload-collection/upload-collection-item.directive.d.ts +1 -1
  385. package/upload-collection/upload-collection-simple.directives.d.ts +7 -7
  386. package/upload-collection/upload-collection.component.d.ts +1 -1
  387. package/upload-collection/upload-collection.module.d.ts +1 -8
  388. package/wizard/index.d.ts +0 -1
  389. package/wizard/wizard.module.d.ts +8 -9
  390. package/action-sheet/deprecated-action-sheet-compact.directive.d.ts +0 -8
  391. package/alert/README.md +0 -25
  392. package/alert/alert-service/alert.service.d.ts +0 -41
  393. package/alert/alert-utils/alert-animations.d.ts +0 -8
  394. package/alert/alert-utils/alert-config.d.ts +0 -34
  395. package/alert/alert-utils/alert-container.component.d.ts +0 -14
  396. package/alert/alert-utils/alert-ref.d.ts +0 -26
  397. package/alert/alert.component.d.ts +0 -87
  398. package/alert/alert.module.d.ts +0 -18
  399. package/alert/index.d.ts +0 -7
  400. package/bar/deprecated-bar-button-content-density.directive.d.ts +0 -8
  401. package/bar/deprecated-bar-content-density.directive.d.ts +0 -8
  402. package/breadcrumb/deprecated-breadcrumbs-compact.directive.d.ts +0 -8
  403. package/button/deprecated-button-content-density.directive.d.ts +0 -8
  404. package/calendar/deprecated-calendar-content-density.directive.d.ts +0 -8
  405. package/card/deprecated-card-content-density.directive.d.ts +0 -8
  406. package/checkbox/deprecated-checkbox-content-density.directive.d.ts +0 -8
  407. package/combobox/deprecated-combobox-content-density.directive.d.ts +0 -10
  408. package/content-density/classes/deprecated-compact.directive.d.ts +0 -26
  409. package/content-density/classes/deprecated-condensed.directive.d.ts +0 -26
  410. package/content-density/classes/deprecated-content-density.directive.d.ts +0 -26
  411. package/content-density/classes/deprecated-cozy.directive.d.ts +0 -26
  412. package/date-picker/deprecated-date-picker-compact.directive.d.ts +0 -8
  413. package/datetime-picker/deprecated-date-time-picker-content-density.directive.d.ts +0 -8
  414. package/dialog/dialog-footer-button/dialog-footer-button.component.d.ts +0 -12
  415. package/dialog/directives/dialog-decisive-button.directive.d.ts +0 -11
  416. package/dynamic-page/deprecated-dynamic-page-compact.directive.d.ts +0 -8
  417. package/esm2022/action-sheet/deprecated-action-sheet-compact.directive.mjs +0 -30
  418. package/esm2022/alert/alert-service/alert.service.mjs +0 -85
  419. package/esm2022/alert/alert-utils/alert-animations.mjs +0 -38
  420. package/esm2022/alert/alert-utils/alert-config.mjs +0 -27
  421. package/esm2022/alert/alert-utils/alert-container.component.mjs +0 -29
  422. package/esm2022/alert/alert-utils/alert-ref.mjs +0 -29
  423. package/esm2022/alert/alert.component.mjs +0 -212
  424. package/esm2022/alert/alert.module.mjs +0 -33
  425. package/esm2022/alert/fundamental-ngx-core-alert.mjs +0 -5
  426. package/esm2022/alert/index.mjs +0 -8
  427. package/esm2022/bar/deprecated-bar-button-content-density.directive.mjs +0 -30
  428. package/esm2022/bar/deprecated-bar-content-density.directive.mjs +0 -29
  429. package/esm2022/breadcrumb/deprecated-breadcrumbs-compact.directive.mjs +0 -30
  430. package/esm2022/button/deprecated-button-content-density.directive.mjs +0 -30
  431. package/esm2022/calendar/deprecated-calendar-content-density.directive.mjs +0 -30
  432. package/esm2022/card/deprecated-card-content-density.directive.mjs +0 -30
  433. package/esm2022/checkbox/deprecated-checkbox-content-density.directive.mjs +0 -30
  434. package/esm2022/combobox/deprecated-combobox-content-density.directive.mjs +0 -31
  435. package/esm2022/content-density/classes/deprecated-compact.directive.mjs +0 -39
  436. package/esm2022/content-density/classes/deprecated-condensed.directive.mjs +0 -39
  437. package/esm2022/content-density/classes/deprecated-content-density.directive.mjs +0 -49
  438. package/esm2022/content-density/classes/deprecated-cozy.directive.mjs +0 -39
  439. package/esm2022/date-picker/deprecated-date-picker-compact.directive.mjs +0 -30
  440. package/esm2022/datetime-picker/deprecated-date-time-picker-content-density.directive.mjs +0 -30
  441. package/esm2022/dialog/dialog-footer-button/dialog-footer-button.component.mjs +0 -25
  442. package/esm2022/dialog/directives/dialog-decisive-button.directive.mjs +0 -26
  443. package/esm2022/dynamic-page/deprecated-dynamic-page-compact.directive.mjs +0 -30
  444. package/esm2022/file-uploader/deprecated-file-uploader-content-density.directive.mjs +0 -30
  445. package/esm2022/form/form-control/deprecated-form-control-content-density.directive.mjs +0 -29
  446. package/esm2022/input-group/deprecated-input-group-compact.directive.mjs +0 -30
  447. package/esm2022/list/deprecated-list-content-density,directive.mjs +0 -30
  448. package/esm2022/menu/directives/deprecated-menu-compact.directive.mjs +0 -30
  449. package/esm2022/message-box/directives/message-box-decisive-button.directive.mjs +0 -27
  450. package/esm2022/message-box/message-box-footer-button/message-box-footer-button.component.mjs +0 -25
  451. package/esm2022/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.mjs +0 -30
  452. package/esm2022/multi-input/deprecated-multi-input-compact.directive.mjs +0 -30
  453. package/esm2022/nested-list/deprecated-nested-list-compact.directive.mjs +0 -29
  454. package/esm2022/pagination/deprecated-pagination-compact.directive.mjs +0 -30
  455. package/esm2022/panel/deprecated-panel-compact.directive.mjs +0 -30
  456. package/esm2022/radio/deprecated-radio-button-compact.directive.mjs +0 -30
  457. package/esm2022/select/deprecated-select-compact.directive.mjs +0 -30
  458. package/esm2022/shellbar/deprecated-shellbar-compact.directive.mjs +0 -30
  459. package/esm2022/slider/deprecated-slider-cozy.directive.mjs +0 -20
  460. package/esm2022/split-button/deprecated-split-button-compact.directive.mjs +0 -30
  461. package/esm2022/step-input/deprecated-step-input-compact.directive.mjs +0 -30
  462. package/esm2022/switch/deprecated-switch-compact.directive.mjs +0 -30
  463. package/esm2022/table/deprecated-table-compact.directive.mjs +0 -29
  464. package/esm2022/table/deprecated-table-condensed.directive.mjs +0 -29
  465. package/esm2022/tabs/deprecated-tabs-compact.directive.mjs +0 -29
  466. package/esm2022/time/deprecated-time-content-density.directive.mjs +0 -30
  467. package/esm2022/time/i18n/time-i18n.mjs +0 -52
  468. package/esm2022/time-picker/deprecated-timepicker-compact.directive.mjs +0 -30
  469. package/esm2022/token/deprecated-tokenizer-content-density.directive.mjs +0 -30
  470. package/esm2022/wizard/deprecated-wizard-compact.directive.mjs +0 -30
  471. package/fesm2022/fundamental-ngx-core-alert.mjs +0 -437
  472. package/fesm2022/fundamental-ngx-core-alert.mjs.map +0 -1
  473. package/file-uploader/deprecated-file-uploader-content-density.directive.d.ts +0 -8
  474. package/form/form-control/deprecated-form-control-content-density.directive.d.ts +0 -8
  475. package/fundamental-ngx-core-v0.44.1-rc.3.tgz +0 -0
  476. package/input-group/deprecated-input-group-compact.directive.d.ts +0 -8
  477. package/list/deprecated-list-content-density,directive.d.ts +0 -8
  478. package/menu/directives/deprecated-menu-compact.directive.d.ts +0 -8
  479. package/message-box/directives/message-box-decisive-button.directive.d.ts +0 -11
  480. package/message-box/message-box-footer-button/message-box-footer-button.component.d.ts +0 -12
  481. package/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.d.ts +0 -8
  482. package/multi-input/deprecated-multi-input-compact.directive.d.ts +0 -8
  483. package/nested-list/deprecated-nested-list-compact.directive.d.ts +0 -8
  484. package/pagination/deprecated-pagination-compact.directive.d.ts +0 -8
  485. package/panel/deprecated-panel-compact.directive.d.ts +0 -8
  486. package/radio/deprecated-radio-button-compact.directive.d.ts +0 -8
  487. package/select/deprecated-select-compact.directive.d.ts +0 -8
  488. package/shellbar/deprecated-shellbar-compact.directive.d.ts +0 -8
  489. package/slider/deprecated-slider-cozy.directive.d.ts +0 -8
  490. package/split-button/deprecated-split-button-compact.directive.d.ts +0 -8
  491. package/step-input/deprecated-step-input-compact.directive.d.ts +0 -8
  492. package/switch/deprecated-switch-compact.directive.d.ts +0 -8
  493. package/table/deprecated-table-compact.directive.d.ts +0 -8
  494. package/table/deprecated-table-condensed.directive.d.ts +0 -8
  495. package/tabs/deprecated-tabs-compact.directive.d.ts +0 -8
  496. package/time/deprecated-time-content-density.directive.d.ts +0 -8
  497. package/time/i18n/time-i18n.d.ts +0 -42
  498. package/time-picker/deprecated-timepicker-compact.directive.d.ts +0 -8
  499. package/token/deprecated-tokenizer-content-density.directive.d.ts +0 -8
  500. package/wizard/deprecated-wizard-compact.directive.d.ts +0 -8
@@ -3,7 +3,7 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { defer, fromEvent, interval, merge, Subscription, timer } from 'rxjs';
4
4
  import { filter, switchMap, takeUntil } from 'rxjs/operators';
5
5
  import { DOWN_ARROW, ENTER, SPACE, UP_ARROW } from '@angular/cdk/keycodes';
6
- import { KeyUtil, warnOnce } from '@fundamental-ngx/cdk/utils';
6
+ import { KeyUtil } from '@fundamental-ngx/cdk/utils';
7
7
  import { LiveAnnouncer } from '@angular/cdk/a11y';
8
8
  import { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
9
9
  import { registerFormItemControl } from '@fundamental-ngx/core/form';
@@ -17,28 +17,6 @@ import * as i5 from "@fundamental-ngx/core/form";
17
17
  import * as i6 from "@fundamental-ngx/i18n";
18
18
  let stepInputUniqueId = 0;
19
19
  export class StepInputComponent {
20
- /**
21
- * @deprecated use i18n capabilities instead
22
- * Sets Increment Button title attribute
23
- */
24
- set incrementButtonTitle(value) {
25
- warnOnce("Property incrementButtonTitle is deprecated. Use i18n capabilities 'coreStepInput.incrementButtonTitle' key instead.");
26
- this._incrementButtonTitle = value;
27
- }
28
- get incrementButtonTitle() {
29
- return this._incrementButtonTitle;
30
- }
31
- /**
32
- * @deprecated use i18n capabilities instead
33
- * Sets Decrement Button title attribute
34
- */
35
- set decrementButtonTitle(value) {
36
- warnOnce("Property decrementButtonTitle is deprecated. Use i18n capabilities 'coreStepInput.decrementButtonTitle' key instead.");
37
- this._decrementButtonTitle = value;
38
- }
39
- get decrementButtonTitle() {
40
- return this._decrementButtonTitle;
41
- }
42
20
  /** Set control value */
43
21
  set value(value) {
44
22
  if (value == null) {
@@ -409,7 +387,7 @@ export class StepInputComponent {
409
387
  }
410
388
  }
411
389
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: StepInputComponent, deps: [{ token: LOCALE_ID }, { token: i0.ChangeDetectorRef }, { token: i1.LiveAnnouncer }, { token: i2.ContentDensityObserver }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
412
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: StepInputComponent, selector: "fd-step-input", inputs: { compact: "compact", readonly: "readonly", disabled: "disabled", required: "required", locale: "locale", localeMatcher: "localeMatcher", incrementButtonIcon: "incrementButtonIcon", decrementButtonIcon: "decrementButtonIcon", incrementButtonTitle: "incrementButtonTitle", decrementButtonTitle: "decrementButtonTitle", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRoleDescription: "ariaRoleDescription", inputId: "inputId", value: "value", min: "min", max: "max", step: "step", name: "name", inputTitle: "inputTitle", mode: "mode", state: "state", stateMessage: "stateMessage", unit: "unit", useGrouping: "useGrouping", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", currency: "currency", currencyDisplay: "currencyDisplay", hasStepButtons: "hasStepButtons", textAlign: "textAlign", placeholder: "placeholder" }, outputs: { onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", valueChange: "valueChange" }, host: { listeners: { "focusout": "handleFocusOut($event)" }, classAttribute: "fd-step-input__container" }, providers: [
390
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: StepInputComponent, selector: "fd-step-input", inputs: { compact: "compact", readonly: "readonly", disabled: "disabled", required: "required", locale: "locale", localeMatcher: "localeMatcher", incrementButtonIcon: "incrementButtonIcon", decrementButtonIcon: "decrementButtonIcon", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRoleDescription: "ariaRoleDescription", inputId: "inputId", value: "value", min: "min", max: "max", step: "step", name: "name", inputTitle: "inputTitle", mode: "mode", state: "state", stateMessage: "stateMessage", unit: "unit", useGrouping: "useGrouping", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", currency: "currency", currencyDisplay: "currencyDisplay", hasStepButtons: "hasStepButtons", textAlign: "textAlign", placeholder: "placeholder" }, outputs: { onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", valueChange: "valueChange" }, host: { listeners: { "focusout": "handleFocusOut($event)" }, classAttribute: "fd-step-input__container" }, providers: [
413
391
  {
414
392
  provide: NG_VALUE_ACCESSOR,
415
393
  useExisting: forwardRef(() => StepInputComponent),
@@ -417,7 +395,7 @@ export class StepInputComponent {
417
395
  },
418
396
  contentDensityObserverProviders(),
419
397
  registerFormItemControl(StepInputComponent)
420
- ], viewQueries: [{ propertyName: "incrementButton", first: true, predicate: ["incrementBtn"], descendants: true, read: ElementRef }, { propertyName: "decrementButton", first: true, predicate: ["decrementBtn"], descendants: true, read: ElementRef }, { propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<fd-form-input-message-group>\n <div\n class=\"fd-step-input\"\n [class]=\"state ? 'is-' + state : ''\"\n [class.is-focus]=\"focused\"\n [class.is-readonly]=\"readonly\"\n [class.is-disabled]=\"disabled\"\n [class.fd-step-input--without-buttons]=\"!hasStepButtons\"\n >\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #decrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canDecrement\"\n [title]=\"decrementButtonTitle || ('coreStepInput.decrementButtonTitle' | fdTranslate)\"\n [glyph]=\"decrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"decrementButtonTitle || ('coreStepInput.decrementButtonTitle' | fdTranslate)\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n <input\n #inputElement\n [name]=\"name\"\n [id]=\"inputId\"\n [title]=\"inputTitle\"\n [disabled]=\"disabled\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-describedby]=\"canDisplayLabel ? inputId + '__description' : ''\"\n [attr.aria-required]=\"required\"\n [attr.aria-roledescription]=\"ariaRoleDescription || ('coreStepInput.ariaRoleDescription' | fdTranslate)\"\n (focusin)=\"handleFocusIn()\"\n (wheel)=\"handleScroll($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (input)=\"trackInputValue($event)\"\n (change)=\"updateOnInputChanged()\"\n [style.textAlign]=\"textAlign\"\n class=\"fd-input fd-input--no-number-spinner fd-step-input__input\"\n type=\"text\"\n inputmode=\"numeric\"\n />\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #incrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canIncrement\"\n [title]=\"incrementButtonTitle || ('coreStepInput.incrementButtonTitle' | fdTranslate)\"\n [glyph]=\"incrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"incrementButtonTitle || ('coreStepInput.incrementButtonTitle' | fdTranslate)\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n </div>\n\n <fd-form-message *ngIf=\"!!stateMessage\" [type]=\"state\" [innerHTML]=\"stateMessage\"></fd-form-message>\n</fd-form-input-message-group>\n\n<span *ngIf=\"canDisplayLabel\" [id]=\"inputId + '__description'\" class=\"fd-form-label fd-form-label--unit-description\">\n {{ unit || currencySign }}\n</span>\n", styles: [".fd-input{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-webkit-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;padding:var(--fdInput_Field_Padding, 0 .625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{box-sizing:inherit;font-size:inherit}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){box-sizing:border-box;height:1.625rem;margin:var(--fdInput_Field_Compact_Margin, .1875rem 0);min-height:1.625rem;min-width:var(--fdInput_Field_Compact_Min_Width, 2rem);padding:var(--fdInput_Field_Compact_Padding, 0 .5rem)}.fd-input--no-number-spinner{-moz-appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-input.right-align{text-align:right}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{box-shadow:none}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{box-shadow:none}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{box-shadow:none}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{box-shadow:none}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{box-shadow:none}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly.is-hover,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-hover,.fd-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}/*!\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 */.fd-step-input{--fdStepInput_Button_Width:2.125rem;--fdStepInput_Bordered_Button_Width:2rem;-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;position:relative;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;width:auto;z-index:1}.fd-step-input:after,.fd-step-input:before{box-sizing:inherit;font-size:inherit}.fd-step-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-step-input[dir=rtl]::placeholder,[dir=rtl] .fd-step-input::placeholder{text-indent:.125rem}.fd-step-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-step-input::-ms-clear{display:none}.fd-step-input.is-hover,.fd-step-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-step-input.is-focus,.fd-step-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-step-input:focus-within{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset_Focus_Within);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-step-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-step-input.is-success.is-hover,.fd-step-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-step-input.is-success.is-focus,.fd-step-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-step-input.is-success.is-focus.is-hover,.fd-step-input.is-success.is-focus:hover,.fd-step-input.is-success:focus.is-hover,.fd-step-input.is-success:focus:hover{box-shadow:none}.fd-step-input.is-success:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color)}.fd-step-input.is-success:focus-within.is-hover,.fd-step-input.is-success:focus-within:hover{box-shadow:none}.fd-step-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-step-input.is-error.is-hover,.fd-step-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-step-input.is-error.is-focus.is-hover,.fd-step-input.is-error.is-focus:hover,.fd-step-input.is-error:focus.is-hover,.fd-step-input.is-error:focus:hover{box-shadow:none}.fd-step-input.is-error:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color)}.fd-step-input.is-error:focus-within.is-hover,.fd-step-input.is-error:focus-within:hover{box-shadow:none}.fd-step-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-warning.is-hover,.fd-step-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-warning.is-focus.is-hover,.fd-step-input.is-warning.is-focus:hover,.fd-step-input.is-warning:focus.is-hover,.fd-step-input.is-warning:focus:hover{box-shadow:none}.fd-step-input.is-warning:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-warning:focus-within.is-hover,.fd-step-input.is-warning:focus-within:hover{box-shadow:none}.fd-step-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-alert.is-hover,.fd-step-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-alert.is-focus.is-hover,.fd-step-input.is-alert.is-focus:hover,.fd-step-input.is-alert:focus.is-hover,.fd-step-input.is-alert:focus:hover{box-shadow:none}.fd-step-input.is-alert:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-alert:focus-within.is-hover,.fd-step-input.is-alert:focus-within:hover{box-shadow:none}.fd-step-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-step-input.is-information.is-hover,.fd-step-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-step-input.is-information.is-focus.is-hover,.fd-step-input.is-information.is-focus:hover,.fd-step-input.is-information:focus.is-hover,.fd-step-input.is-information:focus:hover{box-shadow:none}.fd-step-input.is-information:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color)}.fd-step-input.is-information:focus-within.is-hover,.fd-step-input.is-information:focus-within:hover{box-shadow:none}.fd-step-input.is-alert,.fd-step-input.is-error,.fd-step-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert::placeholder,.fd-step-input.is-error::placeholder,.fd-step-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus,.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus,.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus,.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-step-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-step-input.is-disabled,.fd-step-input:disabled,.fd-step-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-step-input.is-disabled::placeholder,.fd-step-input:disabled::placeholder,.fd-step-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly,.fd-step-input[aria-readonly=true],.fd-step-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-step-input.is-readonly::placeholder,.fd-step-input[aria-readonly=true]::placeholder,.fd-step-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly.is-hover,.fd-step-input.is-readonly:hover,.fd-step-input[aria-readonly=true].is-hover,.fd-step-input[aria-readonly=true]:hover,.fd-step-input[readonly].is-hover,.fd-step-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-step-input.is-readonly.is-focus,.fd-step-input.is-readonly:focus,.fd-step-input[aria-readonly=true].is-focus,.fd-step-input[aria-readonly=true]:focus,.fd-step-input[readonly].is-focus,.fd-step-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}.fd-step-input .fd-step-input__button:first-child{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:first-child[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-hover,.fd-step-input .fd-step-input__button:first-child:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-hover[dir=rtl],.fd-step-input .fd-step-input__button:first-child:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-active,.fd-step-input .fd-step-input__button:first-child:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-active[dir=rtl],.fd-step-input .fd-step-input__button:first-child:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-active,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:not(:first-child){border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child)[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child){border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover,.fd-step-input .fd-step-input__button:not(:first-child):hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active,.fd-step-input .fd-step-input__button:not(:first-child):active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-active,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button{background:var(--fdInput_Group_Button_Background);border:none;border-radius:var(--fdInput_Group_Button_Border_Raduis);color:var(--fdInput_Group_Button_Text_Color);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:auto!important}.fd-step-input .fd-step-input__button:before{display:none!important}.fd-step-input .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__button:hover{--fdInput_Group_Button_Text_Color:var(--fdInput_Group_Button_Hover_Text_Color);-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Hover_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow)}.fd-step-input .fd-step-input__button.is-active,.fd-step-input .fd-step-input__button:active{-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Active_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow);color:var(--fdInput_Group_Button_Active_Text_Color)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button.is-hover,.fd-step-input.is-success .fd-step-input__button:active,.fd-step-input.is-success .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Success_Active_Box_Shadow)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button:active{color:var(--fdInput_Group_Button_Success_Active_Text_Color)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button.is-hover,.fd-step-input.is-error .fd-step-input__button:active,.fd-step-input.is-error .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Error_Active_Box_Shadow)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button:active{color:var(--fdInput_Group_Button_Error_Active_Text_Color)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button.is-hover,.fd-step-input.is-warning .fd-step-input__button:active,.fd-step-input.is-warning .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button.is-hover,.fd-step-input.is-alert .fd-step-input__button:active,.fd-step-input.is-alert .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button.is-hover,.fd-step-input.is-information .fd-step-input__button:active,.fd-step-input.is-information .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Information_Active_Box_Shadow)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button:active{color:var(--fdInput_Group_Button_Information_Active_Text_Color)}.fd-step-input .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Button_Width);width:var(--fdStepInput_Button_Width)}.fd-step-input .fd-step-input__button.fd-button:after,.fd-step-input .fd-step-input__button.fd-button:before{font-size:.875rem;margin:0}.fd-step-input .fd-step-input__button.fd-button.is-focus,.fd-step-input .fd-step-input__button.fd-button:focus{outline:none;z-index:5}.fd-step-input .fd-step-input__button.fd-button.is-focus:after,.fd-step-input .fd-step-input__button.fd-button:focus:after{display:none}.fd-step-input .fd-step-input__button.fd-button.is-focus.is-hover,.fd-step-input .fd-step-input__button.fd-button.is-focus:hover,.fd-step-input .fd-step-input__button.fd-button:focus.is-hover,.fd-step-input .fd-step-input__button.fd-button:focus:hover{z-index:auto}.fd-step-input__input.fd-input{background:none;background-color:transparent;border:none;margin:0;padding:0 .25rem;text-align:right}.fd-step-input__input.fd-input[dir=rtl],[dir=rtl] .fd-step-input__input.fd-input{text-align:left}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input.is-hover,.fd-step-input__input.fd-input:focus,.fd-step-input__input.fd-input:hover{-webkit-box-shadow:none;background:none;background-color:var(transparent, transparent);box-shadow:none}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input:focus{outline:none;z-index:5}.fd-step-input__container{align-items:center;display:flex}.fd-step-input.is-error .fd-step-input__button.fd-button,.fd-step-input.is-information .fd-step-input__button.fd-button,.fd-step-input.is-warning .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Bordered_Button_Width);width:var(--fdStepInput_Bordered_Button_Width)}.fd-step-input[class*=-compact],.fd-step-input[class*=-condensed],[class*=-compact] .fd-step-input:not([class*=-cozy]),[class*=-condensed] .fd-step-input:not([class*=-cozy]){--fdStepInput_Bordered_Button_Width:1.375rem;--fdStepInput_Button_Width:1.5rem;--fdInput_Field_Compact_Padding:0 .25rem;height:1.625rem;min-height:1.625rem}.fd-step-input[class*=-compact] .fd-step-input__input.fd-input,.fd-step-input[class*=-condensed] .fd-step-input__input.fd-input,[class*=-compact] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input,[class*=-condensed] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input{height:100%}.fd-step-input.is-readonly .fd-step-input__button.fd-button{display:none}.fd-step-input.is-readonly:focus-within{background:var(--sapField_Focus_Background);border-radius:var(--sapField_BorderCornerRadius)}.fd-step-input.is-readonly:focus-within .fd-step-input__input{background:transparent}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-input.fd-step-input__input.is-hover,.fd-input.fd-step-input__input:hover{z-index:auto}.fd-step-input{display:flex}.fd-step-input--without-buttons>.fd-input{margin-bottom:0}.fd-step-input__container{display:flex;align-items:center}.fd-step-input__container .fd-form-label{align-self:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i5.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
398
+ ], viewQueries: [{ propertyName: "incrementButton", first: true, predicate: ["incrementBtn"], descendants: true, read: ElementRef }, { propertyName: "decrementButton", first: true, predicate: ["decrementBtn"], descendants: true, read: ElementRef }, { propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<fd-form-input-message-group>\n <div\n class=\"fd-step-input\"\n [class]=\"state ? 'is-' + state : ''\"\n [class.is-focus]=\"focused\"\n [class.is-readonly]=\"readonly\"\n [class.is-disabled]=\"disabled\"\n [class.fd-step-input--without-buttons]=\"!hasStepButtons\"\n >\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #decrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canDecrement\"\n [title]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [glyph]=\"decrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n <input\n #inputElement\n [name]=\"name\"\n [id]=\"inputId\"\n [title]=\"inputTitle\"\n [disabled]=\"disabled\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-describedby]=\"canDisplayLabel ? inputId + '__description' : ''\"\n [attr.aria-required]=\"required\"\n [attr.aria-roledescription]=\"ariaRoleDescription || ('coreStepInput.ariaRoleDescription' | fdTranslate)\"\n (focusin)=\"handleFocusIn()\"\n (wheel)=\"handleScroll($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (input)=\"trackInputValue($event)\"\n (change)=\"updateOnInputChanged()\"\n [style.textAlign]=\"textAlign\"\n class=\"fd-input fd-input--no-number-spinner fd-step-input__input\"\n type=\"text\"\n inputmode=\"numeric\"\n />\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #incrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canIncrement\"\n [title]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [glyph]=\"incrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n </div>\n\n <fd-form-message *ngIf=\"!!stateMessage\" [type]=\"state\" [innerHTML]=\"stateMessage\"></fd-form-message>\n</fd-form-input-message-group>\n\n<span *ngIf=\"canDisplayLabel\" [id]=\"inputId + '__description'\" class=\"fd-form-label fd-form-label--unit-description\">\n {{ unit || currencySign }}\n</span>\n", styles: [".fd-input{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-webkit-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;padding:var(--fdInput_Field_Padding, 0 .625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{box-sizing:inherit;font-size:inherit}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){box-sizing:border-box;height:1.625rem;margin:var(--fdInput_Field_Compact_Margin, .1875rem 0);min-height:1.625rem;min-width:var(--fdInput_Field_Compact_Min_Width, 2rem);padding:var(--fdInput_Field_Compact_Padding, 0 .5rem)}.fd-input--no-number-spinner{-moz-appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-input.right-align{text-align:right}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{box-shadow:none}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{box-shadow:none}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{box-shadow:none}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{box-shadow:none}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{box-shadow:none}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly.is-hover,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-hover,.fd-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}/*!\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 */.fd-step-input{--fdStepInput_Button_Width:2.125rem;--fdStepInput_Bordered_Button_Width:2rem;-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;position:relative;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;width:auto;z-index:1}.fd-step-input:after,.fd-step-input:before{box-sizing:inherit;font-size:inherit}.fd-step-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-step-input[dir=rtl]::placeholder,[dir=rtl] .fd-step-input::placeholder{text-indent:.125rem}.fd-step-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-step-input::-ms-clear{display:none}.fd-step-input.is-hover,.fd-step-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-step-input.is-focus,.fd-step-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-step-input:focus-within{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset_Focus_Within);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-step-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-step-input.is-success.is-hover,.fd-step-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-step-input.is-success.is-focus,.fd-step-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-step-input.is-success.is-focus.is-hover,.fd-step-input.is-success.is-focus:hover,.fd-step-input.is-success:focus.is-hover,.fd-step-input.is-success:focus:hover{box-shadow:none}.fd-step-input.is-success:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color)}.fd-step-input.is-success:focus-within.is-hover,.fd-step-input.is-success:focus-within:hover{box-shadow:none}.fd-step-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-step-input.is-error.is-hover,.fd-step-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-step-input.is-error.is-focus.is-hover,.fd-step-input.is-error.is-focus:hover,.fd-step-input.is-error:focus.is-hover,.fd-step-input.is-error:focus:hover{box-shadow:none}.fd-step-input.is-error:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color)}.fd-step-input.is-error:focus-within.is-hover,.fd-step-input.is-error:focus-within:hover{box-shadow:none}.fd-step-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-warning.is-hover,.fd-step-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-warning.is-focus.is-hover,.fd-step-input.is-warning.is-focus:hover,.fd-step-input.is-warning:focus.is-hover,.fd-step-input.is-warning:focus:hover{box-shadow:none}.fd-step-input.is-warning:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-warning:focus-within.is-hover,.fd-step-input.is-warning:focus-within:hover{box-shadow:none}.fd-step-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-alert.is-hover,.fd-step-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-alert.is-focus.is-hover,.fd-step-input.is-alert.is-focus:hover,.fd-step-input.is-alert:focus.is-hover,.fd-step-input.is-alert:focus:hover{box-shadow:none}.fd-step-input.is-alert:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-alert:focus-within.is-hover,.fd-step-input.is-alert:focus-within:hover{box-shadow:none}.fd-step-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-step-input.is-information.is-hover,.fd-step-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-step-input.is-information.is-focus.is-hover,.fd-step-input.is-information.is-focus:hover,.fd-step-input.is-information:focus.is-hover,.fd-step-input.is-information:focus:hover{box-shadow:none}.fd-step-input.is-information:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color)}.fd-step-input.is-information:focus-within.is-hover,.fd-step-input.is-information:focus-within:hover{box-shadow:none}.fd-step-input.is-alert,.fd-step-input.is-error,.fd-step-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert::placeholder,.fd-step-input.is-error::placeholder,.fd-step-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus,.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus,.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus,.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-step-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-step-input.is-disabled,.fd-step-input:disabled,.fd-step-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-step-input.is-disabled::placeholder,.fd-step-input:disabled::placeholder,.fd-step-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly,.fd-step-input[aria-readonly=true],.fd-step-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-step-input.is-readonly::placeholder,.fd-step-input[aria-readonly=true]::placeholder,.fd-step-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly.is-hover,.fd-step-input.is-readonly:hover,.fd-step-input[aria-readonly=true].is-hover,.fd-step-input[aria-readonly=true]:hover,.fd-step-input[readonly].is-hover,.fd-step-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-step-input.is-readonly.is-focus,.fd-step-input.is-readonly:focus,.fd-step-input[aria-readonly=true].is-focus,.fd-step-input[aria-readonly=true]:focus,.fd-step-input[readonly].is-focus,.fd-step-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}.fd-step-input .fd-step-input__button:first-child{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:first-child[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-hover,.fd-step-input .fd-step-input__button:first-child:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-hover[dir=rtl],.fd-step-input .fd-step-input__button:first-child:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-active,.fd-step-input .fd-step-input__button:first-child:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-active[dir=rtl],.fd-step-input .fd-step-input__button:first-child:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-active,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:not(:first-child){border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child)[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child){border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover,.fd-step-input .fd-step-input__button:not(:first-child):hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active,.fd-step-input .fd-step-input__button:not(:first-child):active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-active,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button{background:var(--fdInput_Group_Button_Background);border:none;border-radius:var(--fdInput_Group_Button_Border_Raduis);color:var(--fdInput_Group_Button_Text_Color);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:auto!important}.fd-step-input .fd-step-input__button:before{display:none!important}.fd-step-input .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__button:hover{--fdInput_Group_Button_Text_Color:var(--fdInput_Group_Button_Hover_Text_Color);-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Hover_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow)}.fd-step-input .fd-step-input__button.is-active,.fd-step-input .fd-step-input__button:active{-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Active_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow);color:var(--fdInput_Group_Button_Active_Text_Color)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button.is-hover,.fd-step-input.is-success .fd-step-input__button:active,.fd-step-input.is-success .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Success_Active_Box_Shadow)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button:active{color:var(--fdInput_Group_Button_Success_Active_Text_Color)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button.is-hover,.fd-step-input.is-error .fd-step-input__button:active,.fd-step-input.is-error .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Error_Active_Box_Shadow)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button:active{color:var(--fdInput_Group_Button_Error_Active_Text_Color)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button.is-hover,.fd-step-input.is-warning .fd-step-input__button:active,.fd-step-input.is-warning .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button.is-hover,.fd-step-input.is-alert .fd-step-input__button:active,.fd-step-input.is-alert .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button.is-hover,.fd-step-input.is-information .fd-step-input__button:active,.fd-step-input.is-information .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Information_Active_Box_Shadow)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button:active{color:var(--fdInput_Group_Button_Information_Active_Text_Color)}.fd-step-input .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Button_Width);width:var(--fdStepInput_Button_Width)}.fd-step-input .fd-step-input__button.fd-button:after,.fd-step-input .fd-step-input__button.fd-button:before{font-size:.875rem;margin:0}.fd-step-input .fd-step-input__button.fd-button.is-focus,.fd-step-input .fd-step-input__button.fd-button:focus{outline:none;z-index:5}.fd-step-input .fd-step-input__button.fd-button.is-focus:after,.fd-step-input .fd-step-input__button.fd-button:focus:after{display:none}.fd-step-input .fd-step-input__button.fd-button.is-focus.is-hover,.fd-step-input .fd-step-input__button.fd-button.is-focus:hover,.fd-step-input .fd-step-input__button.fd-button:focus.is-hover,.fd-step-input .fd-step-input__button.fd-button:focus:hover{z-index:auto}.fd-step-input__input.fd-input{background:none;background-color:transparent;border:none;margin:0;padding:0 .25rem;text-align:right}.fd-step-input__input.fd-input[dir=rtl],[dir=rtl] .fd-step-input__input.fd-input{text-align:left}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input.is-hover,.fd-step-input__input.fd-input:focus,.fd-step-input__input.fd-input:hover{-webkit-box-shadow:none;background:none;background-color:var(transparent, transparent);box-shadow:none}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input:focus{outline:none;z-index:5}.fd-step-input__container{align-items:center;display:flex}.fd-step-input.is-error .fd-step-input__button.fd-button,.fd-step-input.is-information .fd-step-input__button.fd-button,.fd-step-input.is-warning .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Bordered_Button_Width);width:var(--fdStepInput_Bordered_Button_Width)}.fd-step-input[class*=-compact],.fd-step-input[class*=-condensed],[class*=-compact] .fd-step-input:not([class*=-cozy]),[class*=-condensed] .fd-step-input:not([class*=-cozy]){--fdStepInput_Bordered_Button_Width:1.375rem;--fdStepInput_Button_Width:1.5rem;--fdInput_Field_Compact_Padding:0 .25rem;height:1.625rem;min-height:1.625rem}.fd-step-input[class*=-compact] .fd-step-input__input.fd-input,.fd-step-input[class*=-condensed] .fd-step-input__input.fd-input,[class*=-compact] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input,[class*=-condensed] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input{height:100%}.fd-step-input.is-readonly .fd-step-input__button.fd-button{display:none}.fd-step-input.is-readonly:focus-within{background:var(--sapField_Focus_Background);border-radius:var(--sapField_BorderCornerRadius)}.fd-step-input.is-readonly:focus-within .fd-step-input__input{background:transparent}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-input.fd-step-input__input.is-hover,.fd-input.fd-step-input__input:hover{z-index:auto}.fd-step-input{display:flex}.fd-step-input--without-buttons>.fd-input{margin-bottom:0}.fd-step-input__container{display:flex;align-items:center}.fd-step-input__container .fd-form-label{align-self:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i5.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
421
399
  }
422
400
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: StepInputComponent, decorators: [{
423
401
  type: Component,
@@ -432,7 +410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
432
410
  ], host: {
433
411
  class: 'fd-step-input__container',
434
412
  '(focusout)': 'handleFocusOut($event)'
435
- }, template: "<fd-form-input-message-group>\n <div\n class=\"fd-step-input\"\n [class]=\"state ? 'is-' + state : ''\"\n [class.is-focus]=\"focused\"\n [class.is-readonly]=\"readonly\"\n [class.is-disabled]=\"disabled\"\n [class.fd-step-input--without-buttons]=\"!hasStepButtons\"\n >\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #decrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canDecrement\"\n [title]=\"decrementButtonTitle || ('coreStepInput.decrementButtonTitle' | fdTranslate)\"\n [glyph]=\"decrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"decrementButtonTitle || ('coreStepInput.decrementButtonTitle' | fdTranslate)\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n <input\n #inputElement\n [name]=\"name\"\n [id]=\"inputId\"\n [title]=\"inputTitle\"\n [disabled]=\"disabled\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-describedby]=\"canDisplayLabel ? inputId + '__description' : ''\"\n [attr.aria-required]=\"required\"\n [attr.aria-roledescription]=\"ariaRoleDescription || ('coreStepInput.ariaRoleDescription' | fdTranslate)\"\n (focusin)=\"handleFocusIn()\"\n (wheel)=\"handleScroll($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (input)=\"trackInputValue($event)\"\n (change)=\"updateOnInputChanged()\"\n [style.textAlign]=\"textAlign\"\n class=\"fd-input fd-input--no-number-spinner fd-step-input__input\"\n type=\"text\"\n inputmode=\"numeric\"\n />\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #incrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canIncrement\"\n [title]=\"incrementButtonTitle || ('coreStepInput.incrementButtonTitle' | fdTranslate)\"\n [glyph]=\"incrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"incrementButtonTitle || ('coreStepInput.incrementButtonTitle' | fdTranslate)\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n </div>\n\n <fd-form-message *ngIf=\"!!stateMessage\" [type]=\"state\" [innerHTML]=\"stateMessage\"></fd-form-message>\n</fd-form-input-message-group>\n\n<span *ngIf=\"canDisplayLabel\" [id]=\"inputId + '__description'\" class=\"fd-form-label fd-form-label--unit-description\">\n {{ unit || currencySign }}\n</span>\n", styles: [".fd-input{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-webkit-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;padding:var(--fdInput_Field_Padding, 0 .625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{box-sizing:inherit;font-size:inherit}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){box-sizing:border-box;height:1.625rem;margin:var(--fdInput_Field_Compact_Margin, .1875rem 0);min-height:1.625rem;min-width:var(--fdInput_Field_Compact_Min_Width, 2rem);padding:var(--fdInput_Field_Compact_Padding, 0 .5rem)}.fd-input--no-number-spinner{-moz-appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-input.right-align{text-align:right}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{box-shadow:none}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{box-shadow:none}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{box-shadow:none}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{box-shadow:none}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{box-shadow:none}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly.is-hover,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-hover,.fd-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}/*!\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 */.fd-step-input{--fdStepInput_Button_Width:2.125rem;--fdStepInput_Bordered_Button_Width:2rem;-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;position:relative;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;width:auto;z-index:1}.fd-step-input:after,.fd-step-input:before{box-sizing:inherit;font-size:inherit}.fd-step-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-step-input[dir=rtl]::placeholder,[dir=rtl] .fd-step-input::placeholder{text-indent:.125rem}.fd-step-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-step-input::-ms-clear{display:none}.fd-step-input.is-hover,.fd-step-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-step-input.is-focus,.fd-step-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-step-input:focus-within{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset_Focus_Within);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-step-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-step-input.is-success.is-hover,.fd-step-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-step-input.is-success.is-focus,.fd-step-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-step-input.is-success.is-focus.is-hover,.fd-step-input.is-success.is-focus:hover,.fd-step-input.is-success:focus.is-hover,.fd-step-input.is-success:focus:hover{box-shadow:none}.fd-step-input.is-success:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color)}.fd-step-input.is-success:focus-within.is-hover,.fd-step-input.is-success:focus-within:hover{box-shadow:none}.fd-step-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-step-input.is-error.is-hover,.fd-step-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-step-input.is-error.is-focus.is-hover,.fd-step-input.is-error.is-focus:hover,.fd-step-input.is-error:focus.is-hover,.fd-step-input.is-error:focus:hover{box-shadow:none}.fd-step-input.is-error:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color)}.fd-step-input.is-error:focus-within.is-hover,.fd-step-input.is-error:focus-within:hover{box-shadow:none}.fd-step-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-warning.is-hover,.fd-step-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-warning.is-focus.is-hover,.fd-step-input.is-warning.is-focus:hover,.fd-step-input.is-warning:focus.is-hover,.fd-step-input.is-warning:focus:hover{box-shadow:none}.fd-step-input.is-warning:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-warning:focus-within.is-hover,.fd-step-input.is-warning:focus-within:hover{box-shadow:none}.fd-step-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-alert.is-hover,.fd-step-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-alert.is-focus.is-hover,.fd-step-input.is-alert.is-focus:hover,.fd-step-input.is-alert:focus.is-hover,.fd-step-input.is-alert:focus:hover{box-shadow:none}.fd-step-input.is-alert:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-alert:focus-within.is-hover,.fd-step-input.is-alert:focus-within:hover{box-shadow:none}.fd-step-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-step-input.is-information.is-hover,.fd-step-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-step-input.is-information.is-focus.is-hover,.fd-step-input.is-information.is-focus:hover,.fd-step-input.is-information:focus.is-hover,.fd-step-input.is-information:focus:hover{box-shadow:none}.fd-step-input.is-information:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color)}.fd-step-input.is-information:focus-within.is-hover,.fd-step-input.is-information:focus-within:hover{box-shadow:none}.fd-step-input.is-alert,.fd-step-input.is-error,.fd-step-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert::placeholder,.fd-step-input.is-error::placeholder,.fd-step-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus,.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus,.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus,.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-step-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-step-input.is-disabled,.fd-step-input:disabled,.fd-step-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-step-input.is-disabled::placeholder,.fd-step-input:disabled::placeholder,.fd-step-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly,.fd-step-input[aria-readonly=true],.fd-step-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-step-input.is-readonly::placeholder,.fd-step-input[aria-readonly=true]::placeholder,.fd-step-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly.is-hover,.fd-step-input.is-readonly:hover,.fd-step-input[aria-readonly=true].is-hover,.fd-step-input[aria-readonly=true]:hover,.fd-step-input[readonly].is-hover,.fd-step-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-step-input.is-readonly.is-focus,.fd-step-input.is-readonly:focus,.fd-step-input[aria-readonly=true].is-focus,.fd-step-input[aria-readonly=true]:focus,.fd-step-input[readonly].is-focus,.fd-step-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}.fd-step-input .fd-step-input__button:first-child{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:first-child[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-hover,.fd-step-input .fd-step-input__button:first-child:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-hover[dir=rtl],.fd-step-input .fd-step-input__button:first-child:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-active,.fd-step-input .fd-step-input__button:first-child:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-active[dir=rtl],.fd-step-input .fd-step-input__button:first-child:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-active,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:not(:first-child){border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child)[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child){border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover,.fd-step-input .fd-step-input__button:not(:first-child):hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active,.fd-step-input .fd-step-input__button:not(:first-child):active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-active,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button{background:var(--fdInput_Group_Button_Background);border:none;border-radius:var(--fdInput_Group_Button_Border_Raduis);color:var(--fdInput_Group_Button_Text_Color);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:auto!important}.fd-step-input .fd-step-input__button:before{display:none!important}.fd-step-input .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__button:hover{--fdInput_Group_Button_Text_Color:var(--fdInput_Group_Button_Hover_Text_Color);-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Hover_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow)}.fd-step-input .fd-step-input__button.is-active,.fd-step-input .fd-step-input__button:active{-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Active_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow);color:var(--fdInput_Group_Button_Active_Text_Color)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button.is-hover,.fd-step-input.is-success .fd-step-input__button:active,.fd-step-input.is-success .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Success_Active_Box_Shadow)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button:active{color:var(--fdInput_Group_Button_Success_Active_Text_Color)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button.is-hover,.fd-step-input.is-error .fd-step-input__button:active,.fd-step-input.is-error .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Error_Active_Box_Shadow)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button:active{color:var(--fdInput_Group_Button_Error_Active_Text_Color)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button.is-hover,.fd-step-input.is-warning .fd-step-input__button:active,.fd-step-input.is-warning .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button.is-hover,.fd-step-input.is-alert .fd-step-input__button:active,.fd-step-input.is-alert .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button.is-hover,.fd-step-input.is-information .fd-step-input__button:active,.fd-step-input.is-information .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Information_Active_Box_Shadow)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button:active{color:var(--fdInput_Group_Button_Information_Active_Text_Color)}.fd-step-input .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Button_Width);width:var(--fdStepInput_Button_Width)}.fd-step-input .fd-step-input__button.fd-button:after,.fd-step-input .fd-step-input__button.fd-button:before{font-size:.875rem;margin:0}.fd-step-input .fd-step-input__button.fd-button.is-focus,.fd-step-input .fd-step-input__button.fd-button:focus{outline:none;z-index:5}.fd-step-input .fd-step-input__button.fd-button.is-focus:after,.fd-step-input .fd-step-input__button.fd-button:focus:after{display:none}.fd-step-input .fd-step-input__button.fd-button.is-focus.is-hover,.fd-step-input .fd-step-input__button.fd-button.is-focus:hover,.fd-step-input .fd-step-input__button.fd-button:focus.is-hover,.fd-step-input .fd-step-input__button.fd-button:focus:hover{z-index:auto}.fd-step-input__input.fd-input{background:none;background-color:transparent;border:none;margin:0;padding:0 .25rem;text-align:right}.fd-step-input__input.fd-input[dir=rtl],[dir=rtl] .fd-step-input__input.fd-input{text-align:left}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input.is-hover,.fd-step-input__input.fd-input:focus,.fd-step-input__input.fd-input:hover{-webkit-box-shadow:none;background:none;background-color:var(transparent, transparent);box-shadow:none}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input:focus{outline:none;z-index:5}.fd-step-input__container{align-items:center;display:flex}.fd-step-input.is-error .fd-step-input__button.fd-button,.fd-step-input.is-information .fd-step-input__button.fd-button,.fd-step-input.is-warning .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Bordered_Button_Width);width:var(--fdStepInput_Bordered_Button_Width)}.fd-step-input[class*=-compact],.fd-step-input[class*=-condensed],[class*=-compact] .fd-step-input:not([class*=-cozy]),[class*=-condensed] .fd-step-input:not([class*=-cozy]){--fdStepInput_Bordered_Button_Width:1.375rem;--fdStepInput_Button_Width:1.5rem;--fdInput_Field_Compact_Padding:0 .25rem;height:1.625rem;min-height:1.625rem}.fd-step-input[class*=-compact] .fd-step-input__input.fd-input,.fd-step-input[class*=-condensed] .fd-step-input__input.fd-input,[class*=-compact] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input,[class*=-condensed] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input{height:100%}.fd-step-input.is-readonly .fd-step-input__button.fd-button{display:none}.fd-step-input.is-readonly:focus-within{background:var(--sapField_Focus_Background);border-radius:var(--sapField_BorderCornerRadius)}.fd-step-input.is-readonly:focus-within .fd-step-input__input{background:transparent}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-input.fd-step-input__input.is-hover,.fd-input.fd-step-input__input:hover{z-index:auto}.fd-step-input{display:flex}.fd-step-input--without-buttons>.fd-input{margin-bottom:0}.fd-step-input__container{display:flex;align-items:center}.fd-step-input__container .fd-form-label{align-self:auto}\n"] }]
413
+ }, template: "<fd-form-input-message-group>\n <div\n class=\"fd-step-input\"\n [class]=\"state ? 'is-' + state : ''\"\n [class.is-focus]=\"focused\"\n [class.is-readonly]=\"readonly\"\n [class.is-disabled]=\"disabled\"\n [class.fd-step-input--without-buttons]=\"!hasStepButtons\"\n >\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #decrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canDecrement\"\n [title]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [glyph]=\"decrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n <input\n #inputElement\n [name]=\"name\"\n [id]=\"inputId\"\n [title]=\"inputTitle\"\n [disabled]=\"disabled\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-describedby]=\"canDisplayLabel ? inputId + '__description' : ''\"\n [attr.aria-required]=\"required\"\n [attr.aria-roledescription]=\"ariaRoleDescription || ('coreStepInput.ariaRoleDescription' | fdTranslate)\"\n (focusin)=\"handleFocusIn()\"\n (wheel)=\"handleScroll($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (input)=\"trackInputValue($event)\"\n (change)=\"updateOnInputChanged()\"\n [style.textAlign]=\"textAlign\"\n class=\"fd-input fd-input--no-number-spinner fd-step-input__input\"\n type=\"text\"\n inputmode=\"numeric\"\n />\n <button\n *ngIf=\"hasStepButtons\"\n fd-button\n #incrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canIncrement\"\n [title]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [glyph]=\"incrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n </div>\n\n <fd-form-message *ngIf=\"!!stateMessage\" [type]=\"state\" [innerHTML]=\"stateMessage\"></fd-form-message>\n</fd-form-input-message-group>\n\n<span *ngIf=\"canDisplayLabel\" [id]=\"inputId + '__description'\" class=\"fd-form-label fd-form-label--unit-description\">\n {{ unit || currencySign }}\n</span>\n", styles: [".fd-input{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-webkit-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;padding:var(--fdInput_Field_Padding, 0 .625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{box-sizing:inherit;font-size:inherit}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){box-sizing:border-box;height:1.625rem;margin:var(--fdInput_Field_Compact_Margin, .1875rem 0);min-height:1.625rem;min-width:var(--fdInput_Field_Compact_Min_Width, 2rem);padding:var(--fdInput_Field_Compact_Padding, 0 .5rem)}.fd-input--no-number-spinner{-moz-appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-input.right-align{text-align:right}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{box-shadow:none}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{box-shadow:none}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{box-shadow:none}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{box-shadow:none}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{box-shadow:none}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-input.is-readonly.is-hover,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-hover,.fd-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}/*!\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 */.fd-step-input{--fdStepInput_Button_Width:2.125rem;--fdStepInput_Bordered_Button_Width:2rem;-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle, var(--sapField_BackgroundStyle));background-color:var(--sapField_Background, var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdInput_Field_Margin, .25rem 0);min-height:2.25rem;min-width:var(2.75rem, 2.75rem);outline:none;overflow:hidden;padding:0;position:relative;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;width:auto;z-index:1}.fd-step-input:after,.fd-step-input:before{box-sizing:inherit;font-size:inherit}.fd-step-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-step-input[dir=rtl]::placeholder,[dir=rtl] .fd-step-input::placeholder{text-indent:.125rem}.fd-step-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-step-input::-ms-clear{display:none}.fd-step-input.is-hover,.fd-step-input:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle, var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background, var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-step-input.is-focus,.fd-step-input:focus{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-step-input:focus-within{-webkit-box-shadow:none;background:var(--sapField_Focus_Background, var(--sapField_Focus_Background));box-shadow:none;outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset_Focus_Within);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-step-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-step-input.is-success.is-hover,.fd-step-input.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-step-input.is-success.is-focus,.fd-step-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-step-input.is-success.is-focus.is-hover,.fd-step-input.is-success.is-focus:hover,.fd-step-input.is-success:focus.is-hover,.fd-step-input.is-success:focus:hover{box-shadow:none}.fd-step-input.is-success:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color)}.fd-step-input.is-success:focus-within.is-hover,.fd-step-input.is-success:focus-within:hover{box-shadow:none}.fd-step-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-step-input.is-error.is-hover,.fd-step-input.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-step-input.is-error.is-focus.is-hover,.fd-step-input.is-error.is-focus:hover,.fd-step-input.is-error:focus.is-hover,.fd-step-input.is-error:focus:hover{box-shadow:none}.fd-step-input.is-error:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color)}.fd-step-input.is-error:focus-within.is-hover,.fd-step-input.is-error:focus-within:hover{box-shadow:none}.fd-step-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-warning.is-hover,.fd-step-input.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-warning.is-focus.is-hover,.fd-step-input.is-warning.is-focus:hover,.fd-step-input.is-warning:focus.is-hover,.fd-step-input.is-warning:focus:hover{box-shadow:none}.fd-step-input.is-warning:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-warning:focus-within.is-hover,.fd-step-input.is-warning:focus-within:hover{box-shadow:none}.fd-step-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-step-input.is-alert.is-hover,.fd-step-input.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-step-input.is-alert.is-focus.is-hover,.fd-step-input.is-alert.is-focus:hover,.fd-step-input.is-alert:focus.is-hover,.fd-step-input.is-alert:focus:hover{box-shadow:none}.fd-step-input.is-alert:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color)}.fd-step-input.is-alert:focus-within.is-hover,.fd-step-input.is-alert:focus-within:hover{box-shadow:none}.fd-step-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-step-input.is-information.is-hover,.fd-step-input.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-step-input.is-information.is-focus.is-hover,.fd-step-input.is-information.is-focus:hover,.fd-step-input.is-information:focus.is-hover,.fd-step-input.is-information:focus:hover{box-shadow:none}.fd-step-input.is-information:focus-within{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color)}.fd-step-input.is-information:focus-within.is-hover,.fd-step-input.is-information:focus-within:hover{box-shadow:none}.fd-step-input.is-alert,.fd-step-input.is-error,.fd-step-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert::placeholder,.fd-step-input.is-error::placeholder,.fd-step-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-step-input.is-alert.is-focus,.fd-step-input.is-alert:focus,.fd-step-input.is-error.is-focus,.fd-step-input.is-error:focus,.fd-step-input.is-information.is-focus,.fd-step-input.is-information:focus,.fd-step-input.is-warning.is-focus,.fd-step-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-step-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-step-input.is-disabled,.fd-step-input:disabled,.fd-step-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-step-input.is-disabled::placeholder,.fd-step-input:disabled::placeholder,.fd-step-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly,.fd-step-input[aria-readonly=true],.fd-step-input[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-step-input.is-readonly::placeholder,.fd-step-input[aria-readonly=true]::placeholder,.fd-step-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color)}.fd-step-input.is-readonly.is-hover,.fd-step-input.is-readonly:hover,.fd-step-input[aria-readonly=true].is-hover,.fd-step-input[aria-readonly=true]:hover,.fd-step-input[readonly].is-hover,.fd-step-input[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-step-input.is-readonly.is-focus,.fd-step-input.is-readonly:focus,.fd-step-input[aria-readonly=true].is-focus,.fd-step-input[aria-readonly=true]:focus,.fd-step-input[readonly].is-focus,.fd-step-input[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}.fd-step-input .fd-step-input__button:first-child{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:first-child[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-hover,.fd-step-input .fd-step-input__button:first-child:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-hover[dir=rtl],.fd-step-input .fd-step-input__button:first-child:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:first-child.is-active,.fd-step-input .fd-step-input__button:first-child:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:first-child.is-active[dir=rtl],.fd-step-input .fd-step-input__button:first-child:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:first-child.is-active,[dir=rtl] .fd-step-input .fd-step-input__button:first-child:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__button:not(:first-child){border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child)[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child){border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover,.fd-step-input .fd-step-input__button:not(:first-child):hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-hover[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-hover,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active,.fd-step-input .fd-step-input__button:not(:first-child):active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button:not(:first-child).is-active[dir=rtl],.fd-step-input .fd-step-input__button:not(:first-child):active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child).is-active,[dir=rtl] .fd-step-input .fd-step-input__button:not(:first-child):active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:first-child .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active);border-right-style:none}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-hover,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:hover{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active[dir=rtl],.fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active[dir=rtl],[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button.is-active,[dir=rtl] .fd-step-input .fd-step-input__addon:not(:first-child) .fd-step-input__button:active{border-left-style:none;border-right:var(--fdInputGroup_ControlButton_SideBorder_Active)}.fd-step-input .fd-step-input__button{background:var(--fdInput_Group_Button_Background);border:none;border-radius:var(--fdInput_Group_Button_Border_Raduis);color:var(--fdInput_Group_Button_Text_Color);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:auto!important}.fd-step-input .fd-step-input__button:before{display:none!important}.fd-step-input .fd-step-input__button.is-hover,.fd-step-input .fd-step-input__button:hover{--fdInput_Group_Button_Text_Color:var(--fdInput_Group_Button_Hover_Text_Color);-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Hover_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow)}.fd-step-input .fd-step-input__button.is-active,.fd-step-input .fd-step-input__button:active{-webkit-box-shadow:var(--fdInput_Group_Button_Box_Shadow);background:var(--fdInput_Group_Button_Active_Background);box-shadow:var(--fdInput_Group_Button_Box_Shadow);color:var(--fdInput_Group_Button_Active_Text_Color)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button.is-hover,.fd-step-input.is-success .fd-step-input__button:active,.fd-step-input.is-success .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Success_Active_Box_Shadow)}.fd-step-input.is-success .fd-step-input__button.is-active,.fd-step-input.is-success .fd-step-input__button:active{color:var(--fdInput_Group_Button_Success_Active_Text_Color)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button.is-hover,.fd-step-input.is-error .fd-step-input__button:active,.fd-step-input.is-error .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Error_Active_Box_Shadow)}.fd-step-input.is-error .fd-step-input__button.is-active,.fd-step-input.is-error .fd-step-input__button:active{color:var(--fdInput_Group_Button_Error_Active_Text_Color)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button.is-hover,.fd-step-input.is-warning .fd-step-input__button:active,.fd-step-input.is-warning .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-warning .fd-step-input__button.is-active,.fd-step-input.is-warning .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button.is-hover,.fd-step-input.is-alert .fd-step-input__button:active,.fd-step-input.is-alert .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Warning_Active_Box_Shadow)}.fd-step-input.is-alert .fd-step-input__button.is-active,.fd-step-input.is-alert .fd-step-input__button:active{color:var(--fdInput_Group_Button_Warning_Active_Text_Color)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button.is-hover,.fd-step-input.is-information .fd-step-input__button:active,.fd-step-input.is-information .fd-step-input__button:hover{box-shadow:var(--fdInput_Group_Button_Information_Active_Box_Shadow)}.fd-step-input.is-information .fd-step-input__button.is-active,.fd-step-input.is-information .fd-step-input__button:active{color:var(--fdInput_Group_Button_Information_Active_Text_Color)}.fd-step-input .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Button_Width);width:var(--fdStepInput_Button_Width)}.fd-step-input .fd-step-input__button.fd-button:after,.fd-step-input .fd-step-input__button.fd-button:before{font-size:.875rem;margin:0}.fd-step-input .fd-step-input__button.fd-button.is-focus,.fd-step-input .fd-step-input__button.fd-button:focus{outline:none;z-index:5}.fd-step-input .fd-step-input__button.fd-button.is-focus:after,.fd-step-input .fd-step-input__button.fd-button:focus:after{display:none}.fd-step-input .fd-step-input__button.fd-button.is-focus.is-hover,.fd-step-input .fd-step-input__button.fd-button.is-focus:hover,.fd-step-input .fd-step-input__button.fd-button:focus.is-hover,.fd-step-input .fd-step-input__button.fd-button:focus:hover{z-index:auto}.fd-step-input__input.fd-input{background:none;background-color:transparent;border:none;margin:0;padding:0 .25rem;text-align:right}.fd-step-input__input.fd-input[dir=rtl],[dir=rtl] .fd-step-input__input.fd-input{text-align:left}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input.is-hover,.fd-step-input__input.fd-input:focus,.fd-step-input__input.fd-input:hover{-webkit-box-shadow:none;background:none;background-color:var(transparent, transparent);box-shadow:none}.fd-step-input__input.fd-input.is-focus,.fd-step-input__input.fd-input:focus{outline:none;z-index:5}.fd-step-input__container{align-items:center;display:flex}.fd-step-input.is-error .fd-step-input__button.fd-button,.fd-step-input.is-information .fd-step-input__button.fd-button,.fd-step-input.is-warning .fd-step-input__button.fd-button{min-width:var(--fdStepInput_Bordered_Button_Width);width:var(--fdStepInput_Bordered_Button_Width)}.fd-step-input[class*=-compact],.fd-step-input[class*=-condensed],[class*=-compact] .fd-step-input:not([class*=-cozy]),[class*=-condensed] .fd-step-input:not([class*=-cozy]){--fdStepInput_Bordered_Button_Width:1.375rem;--fdStepInput_Button_Width:1.5rem;--fdInput_Field_Compact_Padding:0 .25rem;height:1.625rem;min-height:1.625rem}.fd-step-input[class*=-compact] .fd-step-input__input.fd-input,.fd-step-input[class*=-condensed] .fd-step-input__input.fd-input,[class*=-compact] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input,[class*=-condensed] .fd-step-input:not([class*=-cozy]) .fd-step-input__input.fd-input{height:100%}.fd-step-input.is-readonly .fd-step-input__button.fd-button{display:none}.fd-step-input.is-readonly:focus-within{background:var(--sapField_Focus_Background);border-radius:var(--sapField_BorderCornerRadius)}.fd-step-input.is-readonly:focus-within .fd-step-input__input{background:transparent}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-input.fd-step-input__input.is-hover,.fd-input.fd-step-input__input:hover{z-index:auto}.fd-step-input{display:flex}.fd-step-input--without-buttons>.fd-input{margin-bottom:0}.fd-step-input__container{display:flex;align-items:center}.fd-step-input__container .fd-form-label{align-self:auto}\n"] }]
436
414
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
437
415
  type: Inject,
438
416
  args: [LOCALE_ID]
@@ -452,10 +430,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
452
430
  type: Input
453
431
  }], decrementButtonIcon: [{
454
432
  type: Input
455
- }], incrementButtonTitle: [{
456
- type: Input
457
- }], decrementButtonTitle: [{
458
- type: Input
459
433
  }], ariaLabel: [{
460
434
  type: Input
461
435
  }], ariaLabelledBy: [{
@@ -520,4 +494,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
520
494
  type: ViewChild,
521
495
  args: ['inputElement', { read: ElementRef, static: true }]
522
496
  }] } });
523
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdGVwLWlucHV0L3N0ZXAtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RlcC1pbnB1dC9zdGVwLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBR1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFtQix1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLElBQU8sWUFBWSxHQUFH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K0RBQStEO1FBQy9ELFVBQVU7c0JBRlQsTUFBTTtnQkFNUCxXQUFXO3NCQURWLE1BQU07Z0JBS1AsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSy9DLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUsvQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBpc0Rldk1vZGUsXG4gICAgTE9DQUxFX0lELFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlZmVyLCBmcm9tRXZlbnQsIGludGVydmFsLCBtZXJnZSwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERPV05fQVJST1csIEVOVEVSLCBTUEFDRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIHdhcm5PbmNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IExpdmVBbm5vdW5jZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBGb3JtSXRlbUNvbnRyb2wsIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuaW1wb3J0IE51bWJlckZvcm1hdCA9IEludGwuTnVtYmVyRm9ybWF0O1xuaW1wb3J0IHsgRm9ybVN0YXRlcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcblxubGV0IHN0ZXBJbnB1dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1zdGVwLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RlcC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3RlcC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3RlcElucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKSxcbiAgICAgICAgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2woU3RlcElucHV0Q29tcG9uZW50KVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXN0ZXAtaW5wdXRfX2NvbnRhaW5lcicsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ2hhbmRsZUZvY3VzT3V0KCRldmVudCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTdGVwSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1JdGVtQ29udHJvbCB7XG4gICAgLyoqIFNldHMgY29tcGFjdCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBjb21wYWN0PzogYm9vbGVhbjtcblxuICAgIC8qKiBTZXRzIGNvbnRyb2wgaW4gcmVhZG9ubHkgbW9kZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICAvKiogU2V0cyBjb250cm9sIGluIGRpc2FibGVkIG1vZGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgLyoqIElmIGl0IGlzIG1hbmRhdG9yeSBmaWVsZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIC8qKiBTZXRzIGxvY2FsZSB1c2VkIHRvIGZvcm1hdCBudW1lcmljIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBsb2NhbGU6IHN0cmluZztcblxuICAgIC8qKiBTcGVjaWZpZXMgYWxnb3JpdGhtIHVzZWQgdG8gbWF0Y2ggbG9jYWxlLiBDaGVjayBJbnRsLk51bWJlckZvcm1hdCBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uICovXG4gICAgQElucHV0KClcbiAgICBsb2NhbGVNYXRjaGVyOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFNldHMgaWNvbiBkaXNwbGF5ZWQgaW4gSW5jcmVtZW50IEJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5jcmVtZW50QnV0dG9uSWNvbiA9ICdhZGQnO1xuXG4gICAgLyoqIFNldHMgaWNvbiBkaXNwbGF5ZWQgaW4gRGVjcmVtZW50IEJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGVjcmVtZW50QnV0dG9uSWNvbiA9ICdsZXNzJztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpMThuIGNhcGFiaWxpdGllcyBpbnN0ZWFkXG4gICAgICogU2V0cyBJbmNyZW1lbnQgQnV0dG9uIHRpdGxlIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGluY3JlbWVudEJ1dHRvblRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICBcIlByb3BlcnR5IGluY3JlbWVudEJ1dHRvblRpdGxlIGlzIGRlcHJlY2F0ZWQuIFVzZSBpMThuIGNhcGFiaWxpdGllcyAnY29yZVN0ZXBJbnB1dC5pbmNyZW1lbnRCdXR0b25UaXRsZScga2V5IGluc3RlYWQuXCJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5faW5jcmVtZW50QnV0dG9uVGl0bGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaW5jcmVtZW50QnV0dG9uVGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luY3JlbWVudEJ1dHRvblRpdGxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpMThuIGNhcGFiaWxpdGllcyBpbnN0ZWFkXG4gICAgICogU2V0cyBEZWNyZW1lbnQgQnV0dG9uIHRpdGxlIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRlY3JlbWVudEJ1dHRvblRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICBcIlByb3BlcnR5IGRlY3JlbWVudEJ1dHRvblRpdGxlIGlzIGRlcHJlY2F0ZWQuIFVzZSBpMThuIGNhcGFiaWxpdGllcyAnY29yZVN0ZXBJbnB1dC5kZWNyZW1lbnRCdXR0b25UaXRsZScga2V5IGluc3RlYWQuXCJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fZGVjcmVtZW50QnV0dG9uVGl0bGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgZGVjcmVtZW50QnV0dG9uVGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY3JlbWVudEJ1dHRvblRpdGxlO1xuICAgIH1cblxuICAgIC8qKiBTZXRzIGlucHV0IGFyaWEtbGFiZWwgYXR0cmlidXRlICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogU2V0cyBpbnB1dCBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBBcmlhIGRlZmluZXMgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGhlIFN0ZXAgSW5wdXQuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhUm9sZURlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKiogU2V0cyBpbnB1dCBpZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRJZCA9IGBmZC1zdGVwLWlucHV0LSR7c3RlcElucHV0VW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIFNldCBjb250cm9sIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodmFsdWU6IE51bGxhYmxlPG51bWJlcj4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIGNhc3QgbnVsbCBvciB1bmRlZmluZWQgdG8gXCJudWxsXCJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmICghaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NoZWNrVmFsdWVMaW1pdHModmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdEVtaXR0ZWRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICBpZiAoIXRoaXMuX2ZpcnN0RW1pdHRlZFZhbHVlICYmIHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9maXJzdEVtaXR0ZWRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9udW1iZXJGb3JtYXQpIHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZpZXdWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvbnRyb2wgdmFsdWUgKi9cbiAgICBnZXQgdmFsdWUoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogU2V0cyBtaW5pbXVtIHZhbHVlIGJvdW5kYXJ5ICovXG4gICAgQElucHV0KClcbiAgICBtaW46IG51bWJlcjtcblxuICAgIC8qKiBTZXRzIG1heGltdW0gdmFsdWUgYm91bmRhcnkgKi9cbiAgICBASW5wdXQoKVxuICAgIG1heDogbnVtYmVyO1xuXG4gICAgLyoqIFNldHMgaW5wdXQgc3RlcCB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RlcCA9IDE7XG5cbiAgICAvKiogU2V0cyBpbnB1dCBuYW1lIGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmFtZTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBTZXRzIGlucHV0IHRpdGxlIGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRUaXRsZSA9ICcnO1xuXG4gICAgLyoqIFNldHMgZm9ybWF0dGluZyBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBtb2RlOiAnZGVjaW1hbCcgfCAnY3VycmVuY3knID0gJ2RlY2ltYWwnO1xuXG4gICAgLyoqIFNldHMgc3RhdGUgb2YgdGhlIGNvbnRyb2wuIENhbiBiZSBgc3VjY2Vzc2AsIGBlcnJvcmAsIGB3YXJuaW5nYCwgYGluZm9ybWF0aW9uYCBvciBibGFuayBmb3IgZGVmYXVsdC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXRlOiBGb3JtU3RhdGVzID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqIEhvbGRzIHRoZSBtZXNzYWdlIHdpdGggcmVzcGVjdCB0byBzdGF0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGVNZXNzYWdlOiBzdHJpbmcgfCBTYWZlSHRtbDtcblxuICAgIC8qKiBDdXN0b20gdW5pdCBkaXNwbGF5ZWQgYXMgYSBsYWJlbCBuZXh0IHRvIHRoZSBpbnB1dCAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5pdDogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gdXNlIGdyb3VwaW5nIHdoZW4gZm9ybWF0dGluZyB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdXNlR3JvdXBpbmcgPSB0cnVlO1xuXG4gICAgLyoqIERlZmluZXMgbWluaW1hbCBudW1iZXIgb2YgZnJhY3Rpb25hbCBkaWdpdHMgZm9yIGNvbnRyb2wgdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIG1pbkZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG5cbiAgICAvKiogRGVmaW5lcyBtYXhpbWFsIG51bWJlciBvZiBmcmFjdGlvbmFsIGRpZ2l0cyBmb3IgY29udHJvbCB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4RnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcblxuICAgIC8qKiBDdXJyZW5jeSB1c2VkIHRvIGZvcm1hdCB2YWx1ZS4gQ2hlY2sgSW50bC5OdW1iZXJGb3JtYXQgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbiovXG4gICAgQElucHV0KClcbiAgICBjdXJyZW5jeTogc3RyaW5nO1xuXG4gICAgLyoqIEN1cnJlbmN5IHVzZWQgdG8gZm9ybWF0IHZhbHVlLiBDaGVjayBJbnRsLk51bWJlckZvcm1hdCBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uICovXG4gICAgQElucHV0KClcbiAgICBjdXJyZW5jeURpc3BsYXk6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIFN0ZXBJbnB1dCBzaG91bGQgZGlzcGxheSBJbmNyZWFzZS9EZWNyZWFzZSBidXR0b25zICovXG4gICAgQElucHV0KClcbiAgICBoYXNTdGVwQnV0dG9ucyA9IHRydWU7XG5cbiAgICAvKiogSG9yaXpvbnRhbGx5IGFsaWducyB2YWx1ZSBpbnNpZGUgaW5wdXQgKi9cbiAgICBASW5wdXQoKVxuICAgIHRleHRBbGlnbjogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuXG4gICAgLyoqIEhpbnQgZGlzcGxheWVkIGluc2lkZSBpbnB1dCBiZWZvcmUgdXNlciB3cml0ZXMgdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICAvKiogRW1pdHMgZXZlbnQgd2hlbiBpbnB1dCBnZXRzIGZvY3VzZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBvbkZvY3VzSW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHMgZXZlbnQgd2hlbiBpbnB1dCBsb3NlcyBmb2N1cyAqL1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uRm9jdXNPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHMgbmV3IHZhbHVlIHdoZW4gY29udHJvbCB2YWx1ZSBoYXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBudWxsPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdpbmNyZW1lbnRCdG4nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBpbmNyZW1lbnRCdXR0b246IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdkZWNyZW1lbnRCdG4nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBkZWNyZW1lbnRCdXR0b246IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbGFzdEVtaXR0ZWRWYWx1ZTogTnVsbGFibGU8bnVtYmVyPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY3VycmVuY3lTaWduOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvY3VzZWQ6IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZhbHVlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbnVtZXJhbHM6IFJlZ0V4cDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVjaW1hbFNlcGFyYXRvcjogUmVnRXhwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jdXJyZW5jeTogUmVnRXhwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9taW51c1NpZ246IFJlZ0V4cDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ3JvdXBTZXBhcmF0b3I6IFJlZ0V4cDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2luZGV4OiBhbnk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZpcnN0RW1pdHRlZFZhbHVlOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlY3JlbWVudEJ1dHRvblRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2luY3JlbWVudEJ1dHRvblRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgbG9jYWxlLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2xpdmVBbm5vdW5jZXI6IExpdmVBbm5vdW5jZXIsXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMubG9jYWxlID0gbG9jYWxlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogTnVsbGFibGU8bnVtYmVyPikgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX251bWJlckZvcm1hdCA9IHRoaXMuX2dldE51bWJlckZvcm1hdCgpO1xuICAgICAgICB0aGlzLl9idWlsZFJlZ0V4cHMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlVmlld1ZhbHVlKCk7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uQnV0dG9uc0NsaWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBOdWxsYWJsZTxudW1iZXI+KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBjYW5JbmNyZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09IG51bGwgfHwgdGhpcy52YWx1ZSArIHRoaXMuc3RlcCA8PSB0aGlzLl9tYXg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgY2FuRGVjcmVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PSBudWxsIHx8IHRoaXMudmFsdWUgLSB0aGlzLnN0ZXAgPj0gdGhpcy5fbWluO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGNhbkRpc3BsYXlMYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy51bml0IHx8ICEhdGhpcy5jdXJyZW5jeVNpZ247XG4gICAgfVxuXG4gICAgLyoqIEluY3JlbWVudCBpbnB1dCB2YWx1ZSBieSBzdGVwIHZhbHVlICovXG4gICAgaW5jcmVtZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbmNyZW1lbnRPckRlY3JlbWVudCgnaW5jcmVtZW50Jyk7XG4gICAgfVxuXG4gICAgLyoqIERlY3JlbWVudCBpbnB1dCB2YWx1ZSBieSBzdGVwIHZhbHVlICovXG4gICAgZGVjcmVtZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbmNyZW1lbnRPckRlY3JlbWVudCgnZGVjcmVtZW50Jyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG11dGVFdmVudCA9IChldm50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgZXZudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2bnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIXRoaXMuX2NhbkNoYW5nZVZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFVQX0FSUk9XKSkge1xuICAgICAgICAgICAgdGhpcy5pbmNyZW1lbnQoKTtcbiAgICAgICAgICAgIG11dGVFdmVudChldmVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIERPV05fQVJST1cpKSB7XG4gICAgICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xuICAgICAgICAgICAgbXV0ZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGFuZGxlRm9jdXNJbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkZvY3VzSW4uZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGFuZGxlRm9jdXNPdXQoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25Gb2N1c091dC5lbWl0KCk7XG4gICAgICAgIGlmICghdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBoYW5kbGVTY3JvbGwoZXZlbnQ6IFdoZWVsRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NhbkNoYW5nZVZhbHVlICYmIHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRlbHRhWSA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluY3JlbWVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFVwZGF0ZXMgdmlld1ZhbHVlIGFuZCBjb25kaXRpb25hbGx5IGVtaXRzIG5ldyB2YWx1ZS5cbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgb24gKGNoYW5nZSkgZXZlbnQsIHdoZW4gdXNlciBsZWF2ZXMgaW5wdXQgY29udHJvbC4gKi9cbiAgICB1cGRhdGVPbklucHV0Q2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHRoaXMubGFzdEVtaXR0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZWRWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3VwZGF0ZVZpZXdWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFRyYWNrIHBhcnNlZCB2YWx1ZSB3aGVuIHVzZXIgY2hhbmdlcyB2YWx1ZSBvZiB0aGUgaW5wdXQgY29udHJvbC4gKi9cbiAgICB0cmFja0lucHV0VmFsdWUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHRoaXMuX3BhcnNlVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBwYXJzZWRWYWx1ZSAhPSBudWxsID8gdGhpcy5fY2hlY2tWYWx1ZUxpbWl0cyhwYXJzZWRWYWx1ZSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5jcmVtZW50T3JEZWNyZW1lbnQoZGlyZWN0aW9uOiAnaW5jcmVtZW50JyB8ICdkZWNyZW1lbnQnKTogdm9pZCB7XG4gICAgICAgIGlmICgoZGlyZWN0aW9uID09PSAnaW5jcmVtZW50JyAmJiB0aGlzLmNhbkluY3JlbWVudCkgfHwgKGRpcmVjdGlvbiA9PT0gJ2RlY3JlbWVudCcgJiYgdGhpcy5jYW5EZWNyZW1lbnQpKSB7XG4gICAgICAgICAgICBsZXQgX3Nob3VsZENoYW5nZSA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZSA9PSBudWxsICYmIHRoaXMuX2ZpcnN0RW1pdHRlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9maXJzdEVtaXR0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgX2xpbWl0OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID09PSAnaW5jcmVtZW50JyA/IChfbGltaXQgPSB0aGlzLm1heCkgOiAoX2xpbWl0ID0gdGhpcy5taW4pO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9maXJzdEVtaXR0ZWRWYWx1ZSA9PT0gX2xpbWl0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gX2xpbWl0O1xuICAgICAgICAgICAgICAgICAgICBfc2hvdWxkQ2hhbmdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKF9zaG91bGRDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9PT0gJ2luY3JlbWVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5fY3V0RmxvYXRpbmdOdW1iZXJEaXN0b3J0aW9uKHRoaXMudmFsdWUhLCB0aGlzLnN0ZXApXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuX2N1dEZsb2F0aW5nTnVtYmVyRGlzdG9ydGlvbih0aGlzLnZhbHVlISwgLXRoaXMuc3RlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlZFZhbHVlKCk7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVWaWV3VmFsdWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX2NhbkNoYW5nZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3V0RmxvYXRpbmdOdW1iZXJEaXN0b3J0aW9uKHZhbHVlOiBudW1iZXIsIHN0ZXA6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHN0ZXBEZWNpbWFscyA9IGAke3N0ZXB9YC5zcGxpdCgnLicpWzFdO1xuICAgICAgICBjb25zdCB2YWx1ZURlY2ltYWxzID0gYCR7dmFsdWV9YC5zcGxpdCgnLicpWzFdO1xuICAgICAgICBjb25zdCBzdGVwRGVjaW1hbHNMZW5ndGggPSBzdGVwRGVjaW1hbHMgPyBzdGVwRGVjaW1hbHMubGVuZ3RoIDogMDtcbiAgICAgICAgY29uc3QgdmFsdWVEZWNpbWFsc0xlbmd0aCA9IHZhbHVlRGVjaW1hbHMgPyB2YWx1ZURlY2ltYWxzLmxlbmd0aCA6IDA7XG4gICAgICAgIGNvbnN0IGxvbmdlc3REZWNpbWFsID0gdmFsdWVEZWNpbWFsc0xlbmd0aCA+IHN0ZXBEZWNpbWFsc0xlbmd0aCA/IHZhbHVlRGVjaW1hbHNMZW5ndGggOiBzdGVwRGVjaW1hbHNMZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIE51bWJlcigodmFsdWUgKyBzdGVwKS50b0ZpeGVkKGxvbmdlc3REZWNpbWFsKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jaGVja1ZhbHVlTGltaXRzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAodmFsdWUgPiB0aGlzLl9tYXgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9tYXg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIDwgdGhpcy5fbWluKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOYU4odGhpcy5tYXhGcmFjdGlvbkRpZ2l0cykpIHtcbiAgICAgICAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlLnRvRml4ZWQodGhpcy5tYXhGcmFjdGlvbkRpZ2l0cykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOYU4odGhpcy5taW5GcmFjdGlvbkRpZ2l0cykpIHtcbiAgICAgICAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlLnRvRml4ZWQodGhpcy5taW5GcmFjdGlvbkRpZ2l0cykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2VtaXRDaGFuZ2VkVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGFzdEVtaXR0ZWRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9tYXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICFpc05hTih0aGlzLm1heCkgPyB0aGlzLm1heCA6IE51bWJlci5NQVhfVkFMVUU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfbWluKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhaXNOYU4odGhpcy5taW4pID8gdGhpcy5taW4gOiAtTnVtYmVyLk1BWF9WQUxVRTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVZpZXdWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9mb3JtYXRUb1ZpZXdWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9saXZlQW5ub3VuY2VyLmFubm91bmNlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uQnV0dG9uc0NsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNTdGVwQnV0dG9ucykge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0dXBCdXR0b25MaXN0ZW5lcih0aGlzLmluY3JlbWVudEJ1dHRvbikuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmNyZW1lbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cEJ1dHRvbkxpc3RlbmVyKHRoaXMuZGVjcmVtZW50QnV0dG9uKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTGlzdGVucyBmb3IgY2xpY2sgb3Igc3BhY2UvZW50ZXIga2V5ZG93biBldmVudHMuXG4gICAgICpcbiAgICAgKiBGb3IgbG9uZyBjbGlja3Mgd2lsbCBjb250aW51b3VzbHkgZW1pdCBldmVudCB1bnRpbCBcIm1vdXNldXBcIiBldmVudCBpcyBkZXRlY3RlZFxuICAgICAqL1xuICAgIHByaXZhdGUgX3NldHVwQnV0dG9uTGlzdGVuZXIoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IG9uTW91c2VEb3duJCA9IGZyb21FdmVudChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKTtcbiAgICAgICAgY29uc3Qgb25Nb3VzZVVwJCA9IGZyb21FdmVudCh3aW5kb3csICdtb3VzZXVwJyk7XG4gICAgICAgIGNvbnN0IG9uS2V5RG93biQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHRpbWVyRmFjdG9yeSQgPSBkZWZlcigoKSA9PlxuICAgICAgICAgICAgdGltZXIoNTAwKS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBpbnRlcnZhbCg0MCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChvbk1vdXNlVXAkKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgIG9uTW91c2VEb3duJCxcbiAgICAgICAgICAgIG9uTW91c2VEb3duJC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aW1lckZhY3RvcnkkKSksXG4gICAgICAgICAgICAvLyB3aGlsZSBrZXkgaXMgcHJlc3NlZCwgZXZlbnQgd2lsbCBiZSBlbWl0dGVkIGNvbnRpbnVvdXNseSwgc28gdGhlcmUncyBubyBuZWVkIGZvciB0aW1lckZhY3RvcnkkXG4gICAgICAgICAgICBvbktleURvd24kXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wYXJzZVZhbHVlKHRleHQ6IHN0cmluZyk6IE51bGxhYmxlPG51bWJlcj4ge1xuICAgICAgICBjb25zdCB0cmltbWVkVGV4dCA9IHRleHQudHJpbSgpO1xuXG4gICAgICAgIGlmICh0cmltbWVkVGV4dCA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsdGVyZWRUZXh0ID0gdHJpbW1lZFRleHRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHMvZywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSh0aGlzLl9jdXJyZW5jeSwgJycpXG4gICAgICAgICAgICAucmVwbGFjZSh0aGlzLl9ncm91cFNlcGFyYXRvciwgJycpXG4gICAgICAgICAgICAucmVwbGFjZSh0aGlzLl9taW51c1NpZ24sICctJylcbiAgICAgICAgICAgIC5yZXBsYWNlKHRoaXMuX2RlY2ltYWxTZXBhcmF0b3IsICcuJylcbiAgICAgICAgICAgIC5yZXBsYWNlKHRoaXMuX251bWVyYWxzLCB0aGlzLl9pbmRleCk7XG5cbiAgICAgICAgaWYgKGZpbHRlcmVkVGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBOdW1iZXIoZmlsdGVyZWRUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiBpc05hTihwYXJzZWRWYWx1ZSkgPyB0aGlzLmxhc3RFbWl0dGVkVmFsdWUgOiBwYXJzZWRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0TnVtYmVyRm9ybWF0KCk6IE51bWJlckZvcm1hdCB7XG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSAmJiB0aGlzLm1pbkZyYWN0aW9uRGlnaXRzID4gdGhpcy5tYXhGcmFjdGlvbkRpZ2l0cykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmFuZ2UgZXJyb3IgLSBtaW5GcmFjdGlvbkRpZ2l0cyBjYW4ndCBiZSBiaWdnZXIgdGhhbiBtYXhGcmFjdGlvbkRpZ2l0c1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7XG4gICAgICAgICAgICBsb2NhbGVNYXRjaGVyOiB0aGlzLmxvY2FsZU1hdGNoZXIgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgc3R5bGU6IHRoaXMubW9kZSxcbiAgICAgICAgICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5LFxuICAgICAgICAgICAgLy8gb25seSBhdmFpbGFibGUgaW4gRVMyMDIwIGFuZCBsYXRlclxuICAgICAgICAgICAgWydjdXJyZW5jeURpc3BsYXknIGFzIGFueV06IHRoaXMuY3VycmVuY3lEaXNwbGF5LFxuICAgICAgICAgICAgdXNlR3JvdXBpbmc6IHRoaXMudXNlR3JvdXBpbmcsXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMubWluRnJhY3Rpb25EaWdpdHMsXG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMubWF4RnJhY3Rpb25EaWdpdHNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXROdW1lcmFsc0V4cHJlc3Npb25zKCk6IFJlZ0V4cCB7XG4gICAgICAgIGNvbnN0IG51bWVyYWxzID0gW1xuICAgICAgICAgICAgLi4ubmV3IE51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwgeyB1c2VHcm91cGluZzogZmFsc2UgfSkuZm9ybWF0KDk4NzY1NDMyMTApLnNwbGl0KCcnKVxuICAgICAgICBdLnJldmVyc2UoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBuZXcgTWFwKG51bWVyYWxzLm1hcCgoZCwgaSkgPT4gW2QsIGldKSk7XG4gICAgICAgIHRoaXMuX2luZGV4ID0gKGQpID0+IGluZGV4LmdldChkKTtcblxuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChgWyR7bnVtZXJhbHMuam9pbignJyl9XWAsICdnJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXREZWNpbWFsU2VwYXJhdG9yKCk6IFJlZ0V4cCB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBOdW1iZXJGb3JtYXQodGhpcy5sb2NhbGUsIHsgdXNlR3JvdXBpbmc6IGZhbHNlIH0pO1xuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChgWyR7Zm9ybWF0dGVyLmZvcm1hdCgxLjEpLnRyaW0oKS5yZXBsYWNlKHRoaXMuX251bWVyYWxzLCAnJyl9XWAsICdnJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRHcm91cGluZ1NlcGFyYXRvcigpOiBSZWdFeHAge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7IHVzZUdyb3VwaW5nOiB0cnVlIH0pO1xuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChgWyR7Zm9ybWF0dGVyLmZvcm1hdCgxMDAwKS50cmltKCkucmVwbGFjZSh0aGlzLl9udW1lcmFscywgJycpfV1gLCAnZycpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0TWludXNTaWduRXhwcmVzc2lvbigpOiBSZWdFeHAge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoYFske2Zvcm1hdHRlci5mb3JtYXQoLTEpLnRyaW0oKS5yZXBsYWNlKHRoaXMuX251bWVyYWxzLCAnJyl9XWAsICdnJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDdXJyZW5jeUV4cHJlc3Npb24oKTogUmVnRXhwIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVuY3kpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBOdW1iZXJGb3JtYXQodGhpcy5sb2NhbGUsIHtcbiAgICAgICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeSxcbiAgICAgICAgICAgICAgICAvLyBvbmx5IGF2YWlsYWJsZSBpbiBFUzIwMjAgYW5kIGxhdGVyXG4gICAgICAgICAgICAgICAgWydjdXJyZW5jeURpc3BsYXknIGFzIGFueV06IHRoaXMuY3VycmVuY3lEaXNwbGF5XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3lTaWduID0gYCR7Zm9ybWF0dGVyXG4gICAgICAgICAgICAgICAgLmZvcm1hdCgxKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXHMvZywgJycpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UodGhpcy5fbnVtZXJhbHMsICcnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKHRoaXMuX2RlY2ltYWxTZXBhcmF0b3IsICcnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKHRoaXMuX2dyb3VwU2VwYXJhdG9yLCAnJyl9YDtcblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoYFske3RoaXMuY3VycmVuY3lTaWdufV1gLCAnZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoYFtdYCwgJ2cnKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2J1aWxkUmVnRXhwcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbnVtZXJhbHMgPSB0aGlzLl9nZXROdW1lcmFsc0V4cHJlc3Npb25zKCk7XG4gICAgICAgIHRoaXMuX2RlY2ltYWxTZXBhcmF0b3IgPSB0aGlzLl9nZXREZWNpbWFsU2VwYXJhdG9yKCk7XG4gICAgICAgIHRoaXMuX21pbnVzU2lnbiA9IHRoaXMuX2dldE1pbnVzU2lnbkV4cHJlc3Npb24oKTtcbiAgICAgICAgdGhpcy5fZ3JvdXBTZXBhcmF0b3IgPSB0aGlzLl9nZXRHcm91cGluZ1NlcGFyYXRvcigpO1xuICAgICAgICB0aGlzLl9jdXJyZW5jeSA9IHRoaXMuX2dldEN1cnJlbmN5RXhwcmVzc2lvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9ybWF0VG9WaWV3VmFsdWUobnVtYmVyOiBOdWxsYWJsZTxudW1iZXI+KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKG51bWJlciA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVxuICAgICAgICAgICAgICAgID8gdGhpcy5fbnVtYmVyRm9ybWF0LmZvcm1hdChudW1iZXIpLnJlcGxhY2UodGhpcy5fY3VycmVuY3ksICcnKVxuICAgICAgICAgICAgICAgIDogdGhpcy5fbnVtYmVyRm9ybWF0LmZvcm1hdChudW1iZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZkLWZvcm0taW5wdXQtbWVzc2FnZS1ncm91cD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtc3RlcC1pbnB1dFwiXG4gICAgICAgIFtjbGFzc109XCJzdGF0ZSA/ICdpcy0nICsgc3RhdGUgOiAnJ1wiXG4gICAgICAgIFtjbGFzcy5pcy1mb2N1c109XCJmb2N1c2VkXCJcbiAgICAgICAgW2NsYXNzLmlzLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2NsYXNzLmlzLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2NsYXNzLmZkLXN0ZXAtaW5wdXQtLXdpdGhvdXQtYnV0dG9uc109XCIhaGFzU3RlcEJ1dHRvbnNcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJoYXNTdGVwQnV0dG9uc1wiXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICNkZWNyZW1lbnRCdG5cbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtc3RlcC1pbnB1dF9fYnV0dG9uXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkRlY3JlbWVudFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiZGVjcmVtZW50QnV0dG9uVGl0bGUgfHwgKCdjb3JlU3RlcElucHV0LmRlY3JlbWVudEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiZGVjcmVtZW50QnV0dG9uSWNvblwiXG4gICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRlY3JlbWVudEJ1dHRvblRpdGxlIHx8ICgnY29yZVN0ZXBJbnB1dC5kZWNyZW1lbnRCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpbnB1dElkXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dEVsZW1lbnRcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2lkXT1cImlucHV0SWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImlucHV0VGl0bGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwidmFsdWVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW1heF09XCJtYXhcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJtaW5cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJjYW5EaXNwbGF5TGFiZWwgPyBpbnB1dElkICsgJ19fZGVzY3JpcHRpb24nIDogJydcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXJvbGVkZXNjcmlwdGlvbl09XCJhcmlhUm9sZURlc2NyaXB0aW9uIHx8ICgnY29yZVN0ZXBJbnB1dC5hcmlhUm9sZURlc2NyaXB0aW9uJyB8IGZkVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAoZm9jdXNpbik9XCJoYW5kbGVGb2N1c0luKClcIlxuICAgICAgICAgICAgKHdoZWVsKT1cImhhbmRsZVNjcm9sbCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoaW5wdXQpPVwidHJhY2tJbnB1dFZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVPbklucHV0Q2hhbmdlZCgpXCJcbiAgICAgICAgICAgIFtzdHlsZS50ZXh0QWxpZ25dPVwidGV4dEFsaWduXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXQgZmQtaW5wdXQtLW5vLW51bWJlci1zcGlubmVyIGZkLXN0ZXAtaW5wdXRfX2lucHV0XCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImhhc1N0ZXBCdXR0b25zXCJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgI2luY3JlbWVudEJ0blxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1zdGVwLWlucHV0X19idXR0b25cIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuSW5jcmVtZW50XCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJpbmNyZW1lbnRCdXR0b25UaXRsZSB8fCAoJ2NvcmVTdGVwSW5wdXQuaW5jcmVtZW50QnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGUpXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJpbmNyZW1lbnRCdXR0b25JY29uXCJcbiAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaW5jcmVtZW50QnV0dG9uVGl0bGUgfHwgKCdjb3JlU3RlcElucHV0LmluY3JlbWVudEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlucHV0SWRcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZmQtZm9ybS1tZXNzYWdlICpuZ0lmPVwiISFzdGF0ZU1lc3NhZ2VcIiBbdHlwZV09XCJzdGF0ZVwiIFtpbm5lckhUTUxdPVwic3RhdGVNZXNzYWdlXCI+PC9mZC1mb3JtLW1lc3NhZ2U+XG48L2ZkLWZvcm0taW5wdXQtbWVzc2FnZS1ncm91cD5cblxuPHNwYW4gKm5nSWY9XCJjYW5EaXNwbGF5TGFiZWxcIiBbaWRdPVwiaW5wdXRJZCArICdfX2Rlc2NyaXB0aW9uJ1wiIGNsYXNzPVwiZmQtZm9ybS1sYWJlbCBmZC1mb3JtLWxhYmVsLS11bml0LWRlc2NyaXB0aW9uXCI+XG4gICAge3sgdW5pdCB8fCBjdXJyZW5jeVNpZ24gfX1cbjwvc3Bhbj5cbiJdfQ==
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdGVwLWlucHV0L3N0ZXAtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RlcC1pbnB1dC9zdGVwLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBR1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoSCxPQUFPLEVBQW1CLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsSUFBTyxZQUFZLEdBQUcsSUFBSSxDQUFD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QixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLRixLQUFLO3NCQURSLEtBQUs7Z0JBeUJOLEdBQUc7c0JBREYsS0FBSztnQkFLTixHQUFHO3NCQURGLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFLTixVQUFVO3NCQURULEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7O1FBS04sK0RBQStEO1FBQy9ELFNBQVM7c0JBRlIsTUFBTTs7UUFNUCwrREFBK0Q7UUFDL0QsVUFBVTtzQkFGVCxNQUFNO2dCQU1QLFdBQVc7c0JBRFYsTUFBTTtnQkFLUCxlQUFlO3NCQURkLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLL0MsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSy9DLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIGlzRGV2TW9kZSxcbiAgICBMT0NBTEVfSUQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVmZXIsIGZyb21FdmVudCwgaW50ZXJ2YWwsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIFNQQUNFLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBLZXlVdGlsLCBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBMaXZlQW5ub3VuY2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgRm9ybUl0ZW1Db250cm9sLCByZWdpc3RlckZvcm1JdGVtQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCBOdW1iZXJGb3JtYXQgPSBJbnRsLk51bWJlckZvcm1hdDtcbmltcG9ydCB7IEZvcm1TdGF0ZXMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5cbmxldCBzdGVwSW5wdXRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc3RlcC1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0ZXAtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0ZXAtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN0ZXBJbnB1dENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCksXG4gICAgICAgIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sKFN0ZXBJbnB1dENvbXBvbmVudClcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1zdGVwLWlucHV0X19jb250YWluZXInLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdoYW5kbGVGb2N1c091dCgkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgU3RlcElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtSXRlbUNvbnRyb2wge1xuICAgIC8qKiBTZXRzIGNvbXBhY3QgbW9kZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgICAvKiogU2V0cyBjb250cm9sIGluIHJlYWRvbmx5IG1vZGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gICAgLyoqIFNldHMgY29udHJvbCBpbiBkaXNhYmxlZCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKiBJZiBpdCBpcyBtYW5kYXRvcnkgZmllbGQgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgICAvKiogU2V0cyBsb2NhbGUgdXNlZCB0byBmb3JtYXQgbnVtZXJpYyB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbG9jYWxlOiBzdHJpbmc7XG5cbiAgICAvKiogU3BlY2lmaWVzIGFsZ29yaXRobSB1c2VkIHRvIG1hdGNoIGxvY2FsZS4gQ2hlY2sgSW50bC5OdW1iZXJGb3JtYXQgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbG9jYWxlTWF0Y2hlcjogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBTZXRzIGljb24gZGlzcGxheWVkIGluIEluY3JlbWVudCBCdXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGluY3JlbWVudEJ1dHRvbkljb24gPSAnYWRkJztcblxuICAgIC8qKiBTZXRzIGljb24gZGlzcGxheWVkIGluIERlY3JlbWVudCBCdXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGRlY3JlbWVudEJ1dHRvbkljb24gPSAnbGVzcyc7XG5cbiAgICAvKiogU2V0cyBpbnB1dCBhcmlhLWxhYmVsIGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFNldHMgaW5wdXQgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsbGVkQnk6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQXJpYSBkZWZpbmVzIHJvbGUgZGVzY3JpcHRpb24gZm9yIHRoZSBTdGVwIElucHV0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYVJvbGVEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqIFNldHMgaW5wdXQgaWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0SWQgPSBgZmQtc3RlcC1pbnB1dC0ke3N0ZXBJbnB1dFVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiBTZXQgY29udHJvbCB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBOdWxsYWJsZTxudW1iZXI+KSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBjYXN0IG51bGwgb3IgdW5kZWZpbmVkIHRvIFwibnVsbFwiXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAoIWlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jaGVja1ZhbHVlTGltaXRzKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhc3RFbWl0dGVkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgaWYgKCF0aGlzLl9maXJzdEVtaXR0ZWRWYWx1ZSAmJiB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fZmlyc3RFbWl0dGVkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbnVtYmVyRm9ybWF0KSB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVWaWV3VmFsdWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDb250cm9sIHZhbHVlICovXG4gICAgZ2V0IHZhbHVlKCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgbWluaW11bSB2YWx1ZSBib3VuZGFyeSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWluOiBudW1iZXI7XG5cbiAgICAvKiogU2V0cyBtYXhpbXVtIHZhbHVlIGJvdW5kYXJ5ICovXG4gICAgQElucHV0KClcbiAgICBtYXg6IG51bWJlcjtcblxuICAgIC8qKiBTZXRzIGlucHV0IHN0ZXAgdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0ZXAgPSAxO1xuXG4gICAgLyoqIFNldHMgaW5wdXQgbmFtZSBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogU2V0cyBpbnB1dCB0aXRsZSBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0VGl0bGUgPSAnJztcblxuICAgIC8qKiBTZXRzIGZvcm1hdHRpbmcgbW9kZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9kZTogJ2RlY2ltYWwnIHwgJ2N1cnJlbmN5JyA9ICdkZWNpbWFsJztcblxuICAgIC8qKiBTZXRzIHN0YXRlIG9mIHRoZSBjb250cm9sLiBDYW4gYmUgYHN1Y2Nlc3NgLCBgZXJyb3JgLCBgd2FybmluZ2AsIGBpbmZvcm1hdGlvbmAgb3IgYmxhbmsgZm9yIGRlZmF1bHQuICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZTogRm9ybVN0YXRlcyA9ICdkZWZhdWx0JztcblxuICAgIC8qKiBIb2xkcyB0aGUgbWVzc2FnZSB3aXRoIHJlc3BlY3QgdG8gc3RhdGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXRlTWVzc2FnZTogc3RyaW5nIHwgU2FmZUh0bWw7XG5cbiAgICAvKiogQ3VzdG9tIHVuaXQgZGlzcGxheWVkIGFzIGEgbGFiZWwgbmV4dCB0byB0aGUgaW5wdXQgKi9cbiAgICBASW5wdXQoKVxuICAgIHVuaXQ6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRvIHVzZSBncm91cGluZyB3aGVuIGZvcm1hdHRpbmcgdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIHVzZUdyb3VwaW5nID0gdHJ1ZTtcblxuICAgIC8qKiBEZWZpbmVzIG1pbmltYWwgbnVtYmVyIG9mIGZyYWN0aW9uYWwgZGlnaXRzIGZvciBjb250cm9sIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBtaW5GcmFjdGlvbkRpZ2l0czogbnVtYmVyO1xuXG4gICAgLyoqIERlZmluZXMgbWF4aW1hbCBudW1iZXIgb2YgZnJhY3Rpb25hbCBkaWdpdHMgZm9yIGNvbnRyb2wgdmFsdWUgKi9cbiAgICBASW5wdXQoKVxuICAgIG1heEZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG5cbiAgICAvKiogQ3VycmVuY3kgdXNlZCB0byBmb3JtYXQgdmFsdWUuIENoZWNrIEludGwuTnVtYmVyRm9ybWF0IGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24qL1xuICAgIEBJbnB1dCgpXG4gICAgY3VycmVuY3k6IHN0cmluZztcblxuICAgIC8qKiBDdXJyZW5jeSB1c2VkIHRvIGZvcm1hdCB2YWx1ZS4gQ2hlY2sgSW50bC5OdW1iZXJGb3JtYXQgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY3VycmVuY3lEaXNwbGF5OiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciBTdGVwSW5wdXQgc2hvdWxkIGRpc3BsYXkgSW5jcmVhc2UvRGVjcmVhc2UgYnV0dG9ucyAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGFzU3RlcEJ1dHRvbnMgPSB0cnVlO1xuXG4gICAgLyoqIEhvcml6b250YWxseSBhbGlnbnMgdmFsdWUgaW5zaWRlIGlucHV0ICovXG4gICAgQElucHV0KClcbiAgICB0ZXh0QWxpZ246ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcblxuICAgIC8qKiBIaW50IGRpc3BsYXllZCBpbnNpZGUgaW5wdXQgYmVmb3JlIHVzZXIgd3JpdGVzIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgLyoqIEVtaXRzIGV2ZW50IHdoZW4gaW5wdXQgZ2V0cyBmb2N1c2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25Gb2N1c0luID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEVtaXRzIGV2ZW50IHdoZW4gaW5wdXQgbG9zZXMgZm9jdXMgKi9cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBvbkZvY3VzT3V0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEVtaXRzIG5ldyB2YWx1ZSB3aGVuIGNvbnRyb2wgdmFsdWUgaGFzIGNoYW5nZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgbnVsbD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnaW5jcmVtZW50QnRuJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgaW5jcmVtZW50QnV0dG9uOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnZGVjcmVtZW50QnRuJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgZGVjcmVtZW50QnV0dG9uOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGxhc3RFbWl0dGVkVmFsdWU6IE51bGxhYmxlPG51bWJlcj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGN1cnJlbmN5U2lnbjogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmb2N1c2VkOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92YWx1ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX251bWVyYWxzOiBSZWdFeHA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlY2ltYWxTZXBhcmF0b3I6IFJlZ0V4cDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3VycmVuY3k6IFJlZ0V4cDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWludXNTaWduOiBSZWdFeHA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dyb3VwU2VwYXJhdG9yOiBSZWdFeHA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX251bWJlckZvcm1hdDogTnVtYmVyRm9ybWF0O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbmRleDogYW55O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9maXJzdEVtaXR0ZWRWYWx1ZTogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChMT0NBTEVfSUQpIGxvY2FsZSxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9saXZlQW5ub3VuY2VyOiBMaXZlQW5ub3VuY2VyLFxuICAgICAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICAgICkge1xuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlOiAodmFsdWU6IE51bGxhYmxlPG51bWJlcj4pID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9udW1iZXJGb3JtYXQgPSB0aGlzLl9nZXROdW1iZXJGb3JtYXQoKTtcbiAgICAgICAgdGhpcy5fYnVpbGRSZWdFeHBzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVZpZXdWYWx1ZSgpO1xuICAgICAgICB0aGlzLl9saXN0ZW5PbkJ1dHRvbnNDbGljaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogTnVsbGFibGU8bnVtYmVyPikgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgY2FuSW5jcmVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PSBudWxsIHx8IHRoaXMudmFsdWUgKyB0aGlzLnN0ZXAgPD0gdGhpcy5fbWF4O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGNhbkRlY3JlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT0gbnVsbCB8fCB0aGlzLnZhbHVlIC0gdGhpcy5zdGVwID49IHRoaXMuX21pbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBjYW5EaXNwbGF5TGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudW5pdCB8fCAhIXRoaXMuY3VycmVuY3lTaWduO1xuICAgIH1cblxuICAgIC8qKiBJbmNyZW1lbnQgaW5wdXQgdmFsdWUgYnkgc3RlcCB2YWx1ZSAqL1xuICAgIGluY3JlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5jcmVtZW50T3JEZWNyZW1lbnQoJ2luY3JlbWVudCcpO1xuICAgIH1cblxuICAgIC8qKiBEZWNyZW1lbnQgaW5wdXQgdmFsdWUgYnkgc3RlcCB2YWx1ZSAqL1xuICAgIGRlY3JlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5jcmVtZW50T3JEZWNyZW1lbnQoJ2RlY3JlbWVudCcpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtdXRlRXZlbnQgPSAoZXZudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGV2bnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBldm50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCF0aGlzLl9jYW5DaGFuZ2VWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBVUF9BUlJPVykpIHtcbiAgICAgICAgICAgIHRoaXMuaW5jcmVtZW50KCk7XG4gICAgICAgICAgICBtdXRlRXZlbnQoZXZlbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSkge1xuICAgICAgICAgICAgdGhpcy5kZWNyZW1lbnQoKTtcbiAgICAgICAgICAgIG11dGVFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGhhbmRsZUZvY3VzSW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25Gb2N1c0luLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGhhbmRsZUZvY3VzT3V0KGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uRm9jdXNPdXQuZW1pdCgpO1xuICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGFuZGxlU2Nyb2xsKGV2ZW50OiBXaGVlbEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jYW5DaGFuZ2VWYWx1ZSAmJiB0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWx0YVkgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWNyZW1lbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmNyZW1lbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBVcGRhdGVzIHZpZXdWYWx1ZSBhbmQgY29uZGl0aW9uYWxseSBlbWl0cyBuZXcgdmFsdWUuXG4gICAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uIChjaGFuZ2UpIGV2ZW50LCB3aGVuIHVzZXIgbGVhdmVzIGlucHV0IGNvbnRyb2wuICovXG4gICAgdXBkYXRlT25JbnB1dENoYW5nZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICE9PSB0aGlzLmxhc3RFbWl0dGVkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VkVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl91cGRhdGVWaWV3VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBUcmFjayBwYXJzZWQgdmFsdWUgd2hlbiB1c2VyIGNoYW5nZXMgdmFsdWUgb2YgdGhlIGlucHV0IGNvbnRyb2wuICovXG4gICAgdHJhY2tJbnB1dFZhbHVlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSB0aGlzLl9wYXJzZVZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gcGFyc2VkVmFsdWUgIT0gbnVsbCA/IHRoaXMuX2NoZWNrVmFsdWVMaW1pdHMocGFyc2VkVmFsdWUpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2luY3JlbWVudE9yRGVjcmVtZW50KGRpcmVjdGlvbjogJ2luY3JlbWVudCcgfCAnZGVjcmVtZW50Jyk6IHZvaWQge1xuICAgICAgICBpZiAoKGRpcmVjdGlvbiA9PT0gJ2luY3JlbWVudCcgJiYgdGhpcy5jYW5JbmNyZW1lbnQpIHx8IChkaXJlY3Rpb24gPT09ICdkZWNyZW1lbnQnICYmIHRoaXMuY2FuRGVjcmVtZW50KSkge1xuICAgICAgICAgICAgbGV0IF9zaG91bGRDaGFuZ2UgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgPT0gbnVsbCAmJiB0aGlzLl9maXJzdEVtaXR0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fZmlyc3RFbWl0dGVkVmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IF9saW1pdDogbnVtYmVyO1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9PT0gJ2luY3JlbWVudCcgPyAoX2xpbWl0ID0gdGhpcy5tYXgpIDogKF9saW1pdCA9IHRoaXMubWluKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZmlyc3RFbWl0dGVkVmFsdWUgPT09IF9saW1pdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IF9saW1pdDtcbiAgICAgICAgICAgICAgICAgICAgX3Nob3VsZENoYW5nZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChfc2hvdWxkQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPT09ICdpbmNyZW1lbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX2N1dEZsb2F0aW5nTnVtYmVyRGlzdG9ydGlvbih0aGlzLnZhbHVlISwgdGhpcy5zdGVwKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLl9jdXRGbG9hdGluZ051bWJlckRpc3RvcnRpb24odGhpcy52YWx1ZSEsIC10aGlzLnN0ZXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZWRWYWx1ZSgpO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlVmlld1ZhbHVlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9jYW5DaGFuZ2VWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2N1dEZsb2F0aW5nTnVtYmVyRGlzdG9ydGlvbih2YWx1ZTogbnVtYmVyLCBzdGVwOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBzdGVwRGVjaW1hbHMgPSBgJHtzdGVwfWAuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgY29uc3QgdmFsdWVEZWNpbWFscyA9IGAke3ZhbHVlfWAuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgY29uc3Qgc3RlcERlY2ltYWxzTGVuZ3RoID0gc3RlcERlY2ltYWxzID8gc3RlcERlY2ltYWxzLmxlbmd0aCA6IDA7XG4gICAgICAgIGNvbnN0IHZhbHVlRGVjaW1hbHNMZW5ndGggPSB2YWx1ZURlY2ltYWxzID8gdmFsdWVEZWNpbWFscy5sZW5ndGggOiAwO1xuICAgICAgICBjb25zdCBsb25nZXN0RGVjaW1hbCA9IHZhbHVlRGVjaW1hbHNMZW5ndGggPiBzdGVwRGVjaW1hbHNMZW5ndGggPyB2YWx1ZURlY2ltYWxzTGVuZ3RoIDogc3RlcERlY2ltYWxzTGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBOdW1iZXIoKHZhbHVlICsgc3RlcCkudG9GaXhlZChsb25nZXN0RGVjaW1hbCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hlY2tWYWx1ZUxpbWl0cyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHZhbHVlID4gdGhpcy5fbWF4KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWF4O1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA8IHRoaXMuX21pbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX21pbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTmFOKHRoaXMubWF4RnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZS50b0ZpeGVkKHRoaXMubWF4RnJhY3Rpb25EaWdpdHMpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTmFOKHRoaXMubWluRnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZS50b0ZpeGVkKHRoaXMubWluRnJhY3Rpb25EaWdpdHMpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlZFZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxhc3RFbWl0dGVkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfbWF4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhaXNOYU4odGhpcy5tYXgpID8gdGhpcy5tYXggOiBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX21pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gIWlzTmFOKHRoaXMubWluKSA/IHRoaXMubWluIDogLU51bWJlci5NQVhfVkFMVUU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91cGRhdGVWaWV3VmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fZm9ybWF0VG9WaWV3VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fbGl2ZUFubm91bmNlci5hbm5vdW5jZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PbkJ1dHRvbnNDbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzU3RlcEJ1dHRvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgICAgIHRoaXMuX3NldHVwQnV0dG9uTGlzdGVuZXIodGhpcy5pbmNyZW1lbnRCdXR0b24pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5jcmVtZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0dXBCdXR0b25MaXN0ZW5lcih0aGlzLmRlY3JlbWVudEJ1dHRvbikuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWNyZW1lbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIExpc3RlbnMgZm9yIGNsaWNrIG9yIHNwYWNlL2VudGVyIGtleWRvd24gZXZlbnRzLlxuICAgICAqXG4gICAgICogRm9yIGxvbmcgY2xpY2tzIHdpbGwgY29udGludW91c2x5IGVtaXQgZXZlbnQgdW50aWwgXCJtb3VzZXVwXCIgZXZlbnQgaXMgZGV0ZWN0ZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9zZXR1cEJ1dHRvbkxpc3RlbmVyKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBvbk1vdXNlRG93biQgPSBmcm9tRXZlbnQoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJyk7XG4gICAgICAgIGNvbnN0IG9uTW91c2VVcCQgPSBmcm9tRXZlbnQod2luZG93LCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCBvbktleURvd24kID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2tleWRvd24nKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtTUEFDRSwgRU5URVJdKSlcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB0aW1lckZhY3RvcnkkID0gZGVmZXIoKCkgPT5cbiAgICAgICAgICAgIHRpbWVyKDUwMCkucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gaW50ZXJ2YWwoNDApKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwob25Nb3VzZVVwJClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICBvbk1vdXNlRG93biQsXG4gICAgICAgICAgICBvbk1vdXNlRG93biQucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGltZXJGYWN0b3J5JCkpLFxuICAgICAgICAgICAgLy8gd2hpbGUga2V5IGlzIHByZXNzZWQsIGV2ZW50IHdpbGwgYmUgZW1pdHRlZCBjb250aW51b3VzbHksIHNvIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgdGltZXJGYWN0b3J5JFxuICAgICAgICAgICAgb25LZXlEb3duJFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcGFyc2VWYWx1ZSh0ZXh0OiBzdHJpbmcpOiBOdWxsYWJsZTxudW1iZXI+IHtcbiAgICAgICAgY29uc3QgdHJpbW1lZFRleHQgPSB0ZXh0LnRyaW0oKTtcblxuICAgICAgICBpZiAodHJpbW1lZFRleHQgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkVGV4dCA9IHRyaW1tZWRUZXh0XG4gICAgICAgICAgICAucmVwbGFjZSgvXFxzL2csICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UodGhpcy5fY3VycmVuY3ksICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UodGhpcy5fZ3JvdXBTZXBhcmF0b3IsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UodGhpcy5fbWludXNTaWduLCAnLScpXG4gICAgICAgICAgICAucmVwbGFjZSh0aGlzLl9kZWNpbWFsU2VwYXJhdG9yLCAnLicpXG4gICAgICAgICAgICAucmVwbGFjZSh0aGlzLl9udW1lcmFscywgdGhpcy5faW5kZXgpO1xuXG4gICAgICAgIGlmIChmaWx0ZXJlZFRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gTnVtYmVyKGZpbHRlcmVkVGV4dCk7XG4gICAgICAgICAgICByZXR1cm4gaXNOYU4ocGFyc2VkVmFsdWUpID8gdGhpcy5sYXN0RW1pdHRlZFZhbHVlIDogcGFyc2VkVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldE51bWJlckZvcm1hdCgpOiBOdW1iZXJGb3JtYXQge1xuICAgICAgICBpZiAoaXNEZXZNb2RlKCkgJiYgdGhpcy5taW5GcmFjdGlvbkRpZ2l0cyA+IHRoaXMubWF4RnJhY3Rpb25EaWdpdHMpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlJhbmdlIGVycm9yIC0gbWluRnJhY3Rpb25EaWdpdHMgY2FuJ3QgYmUgYmlnZ2VyIHRoYW4gbWF4RnJhY3Rpb25EaWdpdHNcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IE51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwge1xuICAgICAgICAgICAgbG9jYWxlTWF0Y2hlcjogdGhpcy5sb2NhbGVNYXRjaGVyID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHN0eWxlOiB0aGlzLm1vZGUsXG4gICAgICAgICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeSxcbiAgICAgICAgICAgIC8vIG9ubHkgYXZhaWxhYmxlIGluIEVTMjAyMCBhbmQgbGF0ZXJcbiAgICAgICAgICAgIFsnY3VycmVuY3lEaXNwbGF5JyBhcyBhbnldOiB0aGlzLmN1cnJlbmN5RGlzcGxheSxcbiAgICAgICAgICAgIHVzZUdyb3VwaW5nOiB0aGlzLnVzZUdyb3VwaW5nLFxuICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLm1pbkZyYWN0aW9uRGlnaXRzLFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLm1heEZyYWN0aW9uRGlnaXRzXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0TnVtZXJhbHNFeHByZXNzaW9ucygpOiBSZWdFeHAge1xuICAgICAgICBjb25zdCBudW1lcmFscyA9IFtcbiAgICAgICAgICAgIC4uLm5ldyBOdW1iZXJGb3JtYXQodGhpcy5sb2NhbGUsIHsgdXNlR3JvdXBpbmc6IGZhbHNlIH0pLmZvcm1hdCg5ODc2NTQzMjEwKS5zcGxpdCgnJylcbiAgICAgICAgXS5yZXZlcnNlKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gbmV3IE1hcChudW1lcmFscy5tYXAoKGQsIGkpID0+IFtkLCBpXSkpO1xuICAgICAgICB0aGlzLl9pbmRleCA9IChkKSA9PiBpbmRleC5nZXQoZCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoYFske251bWVyYWxzLmpvaW4oJycpfV1gLCAnZycpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0RGVjaW1hbFNlcGFyYXRvcigpOiBSZWdFeHAge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoYFske2Zvcm1hdHRlci5mb3JtYXQoMS4xKS50cmltKCkucmVwbGFjZSh0aGlzLl9udW1lcmFscywgJycpfV1gLCAnZycpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKTogUmVnRXhwIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVyID0gbmV3IE51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwgeyB1c2VHcm91cGluZzogdHJ1ZSB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoYFske2Zvcm1hdHRlci5mb3JtYXQoMTAwMCkudHJpbSgpLnJlcGxhY2UodGhpcy5fbnVtZXJhbHMsICcnKX1dYCwgJ2cnKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldE1pbnVzU2lnbkV4cHJlc3Npb24oKTogUmVnRXhwIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVyID0gbmV3IE51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwgeyB1c2VHcm91cGluZzogZmFsc2UgfSk7XG4gICAgICAgIHJldHVybiBuZXcgUmVnRXhwKGBbJHtmb3JtYXR0ZXIuZm9ybWF0KC0xKS50cmltKCkucmVwbGFjZSh0aGlzLl9udW1lcmFscywgJycpfV1gLCAnZycpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Q3VycmVuY3lFeHByZXNzaW9uKCk6IFJlZ0V4cCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbmN5KSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7XG4gICAgICAgICAgICAgICAgc3R5bGU6ICdjdXJyZW5jeScsXG4gICAgICAgICAgICAgICAgY3VycmVuY3k6IHRoaXMuY3VycmVuY3ksXG4gICAgICAgICAgICAgICAgLy8gb25seSBhdmFpbGFibGUgaW4gRVMyMDIwIGFuZCBsYXRlclxuICAgICAgICAgICAgICAgIFsnY3VycmVuY3lEaXNwbGF5JyBhcyBhbnldOiB0aGlzLmN1cnJlbmN5RGlzcGxheVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbmN5U2lnbiA9IGAke2Zvcm1hdHRlclxuICAgICAgICAgICAgICAgIC5mb3JtYXQoMSlcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxzL2csICcnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKHRoaXMuX251bWVyYWxzLCAnJylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSh0aGlzLl9kZWNpbWFsU2VwYXJhdG9yLCAnJylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSh0aGlzLl9ncm91cFNlcGFyYXRvciwgJycpfWA7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKGBbJHt0aGlzLmN1cnJlbmN5U2lnbn1dYCwgJ2cnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgUmVnRXhwKGBbXWAsICdnJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9idWlsZFJlZ0V4cHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX251bWVyYWxzID0gdGhpcy5fZ2V0TnVtZXJhbHNFeHByZXNzaW9ucygpO1xuICAgICAgICB0aGlzLl9kZWNpbWFsU2VwYXJhdG9yID0gdGhpcy5fZ2V0RGVjaW1hbFNlcGFyYXRvcigpO1xuICAgICAgICB0aGlzLl9taW51c1NpZ24gPSB0aGlzLl9nZXRNaW51c1NpZ25FeHByZXNzaW9uKCk7XG4gICAgICAgIHRoaXMuX2dyb3VwU2VwYXJhdG9yID0gdGhpcy5fZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKTtcbiAgICAgICAgdGhpcy5fY3VycmVuY3kgPSB0aGlzLl9nZXRDdXJyZW5jeUV4cHJlc3Npb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Zvcm1hdFRvVmlld1ZhbHVlKG51bWJlcjogTnVsbGFibGU8bnVtYmVyPik6IHN0cmluZyB7XG4gICAgICAgIGlmIChudW1iZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3lcbiAgICAgICAgICAgICAgICA/IHRoaXMuX251bWJlckZvcm1hdC5mb3JtYXQobnVtYmVyKS5yZXBsYWNlKHRoaXMuX2N1cnJlbmN5LCAnJylcbiAgICAgICAgICAgICAgICA6IHRoaXMuX251bWJlckZvcm1hdC5mb3JtYXQobnVtYmVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmZC1mb3JtLWlucHV0LW1lc3NhZ2UtZ3JvdXA+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZkLXN0ZXAtaW5wdXRcIlxuICAgICAgICBbY2xhc3NdPVwic3RhdGUgPyAnaXMtJyArIHN0YXRlIDogJydcIlxuICAgICAgICBbY2xhc3MuaXMtZm9jdXNdPVwiZm9jdXNlZFwiXG4gICAgICAgIFtjbGFzcy5pcy1yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtjbGFzcy5pcy1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5mZC1zdGVwLWlucHV0LS13aXRob3V0LWJ1dHRvbnNdPVwiIWhhc1N0ZXBCdXR0b25zXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaGFzU3RlcEJ1dHRvbnNcIlxuICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAjZGVjcmVtZW50QnRuXG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXN0ZXAtaW5wdXRfX2J1dHRvblwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5EZWNyZW1lbnRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidjb3JlU3RlcElucHV0LmRlY3JlbWVudEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJkZWNyZW1lbnRCdXR0b25JY29uXCJcbiAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVTdGVwSW5wdXQuZGVjcmVtZW50QnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpbnB1dElkXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dEVsZW1lbnRcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2lkXT1cImlucHV0SWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImlucHV0VGl0bGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwidmFsdWVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW1heF09XCJtYXhcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJtaW5cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJjYW5EaXNwbGF5TGFiZWwgPyBpbnB1dElkICsgJ19fZGVzY3JpcHRpb24nIDogJydcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXJvbGVkZXNjcmlwdGlvbl09XCJhcmlhUm9sZURlc2NyaXB0aW9uIHx8ICgnY29yZVN0ZXBJbnB1dC5hcmlhUm9sZURlc2NyaXB0aW9uJyB8IGZkVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAoZm9jdXNpbik9XCJoYW5kbGVGb2N1c0luKClcIlxuICAgICAgICAgICAgKHdoZWVsKT1cImhhbmRsZVNjcm9sbCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoaW5wdXQpPVwidHJhY2tJbnB1dFZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVPbklucHV0Q2hhbmdlZCgpXCJcbiAgICAgICAgICAgIFtzdHlsZS50ZXh0QWxpZ25dPVwidGV4dEFsaWduXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXQgZmQtaW5wdXQtLW5vLW51bWJlci1zcGlubmVyIGZkLXN0ZXAtaW5wdXRfX2lucHV0XCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImhhc1N0ZXBCdXR0b25zXCJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgI2luY3JlbWVudEJ0blxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1zdGVwLWlucHV0X19idXR0b25cIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuSW5jcmVtZW50XCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInY29yZVN0ZXBJbnB1dC5pbmNyZW1lbnRCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiaW5jcmVtZW50QnV0dG9uSWNvblwiXG4gICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlU3RlcElucHV0LmluY3JlbWVudEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaW5wdXRJZFwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxmZC1mb3JtLW1lc3NhZ2UgKm5nSWY9XCIhIXN0YXRlTWVzc2FnZVwiIFt0eXBlXT1cInN0YXRlXCIgW2lubmVySFRNTF09XCJzdGF0ZU1lc3NhZ2VcIj48L2ZkLWZvcm0tbWVzc2FnZT5cbjwvZmQtZm9ybS1pbnB1dC1tZXNzYWdlLWdyb3VwPlxuXG48c3BhbiAqbmdJZj1cImNhbkRpc3BsYXlMYWJlbFwiIFtpZF09XCJpbnB1dElkICsgJ19fZGVzY3JpcHRpb24nXCIgY2xhc3M9XCJmZC1mb3JtLWxhYmVsIGZkLWZvcm0tbGFiZWwtLXVuaXQtZGVzY3JpcHRpb25cIj5cbiAgICB7eyB1bml0IHx8IGN1cnJlbmN5U2lnbiB9fVxuPC9zcGFuPlxuIl19