@eui/components 17.0.0-next.7 → 17.0.0-next.9

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 (390) hide show
  1. package/directives/eui-clearable.directive.d.ts.map +1 -1
  2. package/esm2022/directives/eui-clearable.directive.mjs +10 -9
  3. package/esm2022/directives/eui-has-permission.directive.mjs +9 -9
  4. package/esm2022/directives/eui-loading.directive.mjs +5 -5
  5. package/esm2022/directives/eui-maxlength.directive.mjs +10 -10
  6. package/esm2022/directives/eui-resizable/eui-resizable.component.mjs +3 -3
  7. package/esm2022/directives/eui-resizable/eui-resizable.directive.mjs +6 -6
  8. package/esm2022/directives/eui-resizable/eui-resizable.module.mjs +4 -4
  9. package/esm2022/directives/eui-scroll-handler.directive.mjs +15 -15
  10. package/esm2022/directives/eui-smooth-scroll.directive.mjs +13 -13
  11. package/esm2022/directives/eui-template.directive.mjs +9 -9
  12. package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +6 -6
  13. package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +5 -5
  14. package/esm2022/directives/eui-tooltip/eui-tooltip.module.mjs +4 -4
  15. package/esm2022/eui-alert/eui-alert.component.mjs +9 -9
  16. package/esm2022/eui-all/eui-all.module.mjs +10 -9
  17. package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +11 -9
  18. package/esm2022/eui-autocomplete/eui-autocomplete.module.mjs +4 -4
  19. package/esm2022/eui-badge/eui-badge.component.mjs +9 -9
  20. package/esm2022/eui-block-content/eui-block-content.component.mjs +5 -5
  21. package/esm2022/eui-block-content/eui-block-content.module.mjs +4 -4
  22. package/esm2022/eui-block-document/eui-block-document.component.mjs +5 -5
  23. package/esm2022/eui-block-document/eui-block-document.module.mjs +4 -4
  24. package/esm2022/eui-button/eui-button.component.mjs +9 -9
  25. package/esm2022/eui-button-group/eui-button-group.component.mjs +9 -9
  26. package/esm2022/eui-buttons/eui-buttons.component.mjs +15 -15
  27. package/esm2022/eui-card/components/eui-card-content/eui-card-content.component.mjs +3 -3
  28. package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-buttons.component.mjs +3 -3
  29. package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-icons.component.mjs +3 -3
  30. package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.mjs +3 -3
  31. package/esm2022/eui-card/components/eui-card-footer/eui-card-footer.component.mjs +4 -4
  32. package/esm2022/eui-card/components/eui-card-header/eui-card-header-left-content.component.mjs +3 -3
  33. package/esm2022/eui-card/components/eui-card-header/eui-card-header-right-content.component.mjs +3 -3
  34. package/esm2022/eui-card/components/eui-card-header/eui-card-header-subtitle.component.mjs +3 -3
  35. package/esm2022/eui-card/components/eui-card-header/eui-card-header-title.component.mjs +3 -3
  36. package/esm2022/eui-card/components/eui-card-header/eui-card-header.component.mjs +5 -5
  37. package/esm2022/eui-card/components/eui-card-header-body/eui-card-header-body.component.mjs +3 -3
  38. package/esm2022/eui-card/components/eui-card-media/eui-card-media.component.mjs +3 -3
  39. package/esm2022/eui-card/eui-card.component.mjs +5 -5
  40. package/esm2022/eui-card/eui-card.module.mjs +4 -4
  41. package/esm2022/eui-card/services/ui-state.service.mjs +3 -3
  42. package/esm2022/eui-chip/eui-chip.component.mjs +5 -5
  43. package/esm2022/eui-chip/eui-chip.module.mjs +4 -4
  44. package/esm2022/eui-chip-list/eui-chip-list.component.mjs +8 -8
  45. package/esm2022/eui-chip-list/eui-chip-list.module.mjs +4 -4
  46. package/esm2022/eui-chip-list/services/eui-chip-list-drag.service.mjs +3 -3
  47. package/esm2022/eui-dashboard-button/eui-dashboard-button.component.mjs +15 -15
  48. package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +9 -9
  49. package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +7 -7
  50. package/esm2022/eui-date-range-selector/eui-date-range-selector.module.mjs +4 -4
  51. package/esm2022/eui-datepicker/eui-datepicker.component.mjs +19 -19
  52. package/esm2022/eui-datepicker/eui-datepicker.module.mjs +4 -4
  53. package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +21 -7
  54. package/esm2022/eui-dialog/eui-dialog.component.mjs +11 -11
  55. package/esm2022/eui-dialog/eui-dialog.module.mjs +4 -4
  56. package/esm2022/eui-dialog/services/eui-dialog.service.mjs +4 -4
  57. package/esm2022/eui-dimmer/dimmer.component.mjs +5 -5
  58. package/esm2022/eui-dimmer/dimmer.module.mjs +4 -4
  59. package/esm2022/eui-disable-content/eui-disable-content.component.mjs +9 -9
  60. package/esm2022/eui-discussion-thread/eui-discussion-thread-item.component.mjs +3 -3
  61. package/esm2022/eui-discussion-thread/eui-discussion-thread.component.mjs +3 -3
  62. package/esm2022/eui-discussion-thread/eui-discussion-thread.module.mjs +4 -4
  63. package/esm2022/eui-dropdown/directives/eui-dropdown-content.directive.mjs +3 -3
  64. package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +6 -6
  65. package/esm2022/eui-dropdown/eui-dropdown.component.mjs +7 -7
  66. package/esm2022/eui-dropdown/eui-dropdown.module.mjs +8 -8
  67. package/esm2022/eui-dropdown/eui-dropdown.service.mjs +3 -3
  68. package/esm2022/eui-feedback-message/eui-feedback-message.component.mjs +5 -5
  69. package/esm2022/eui-feedback-message/eui-feedback-message.module.mjs +4 -4
  70. package/esm2022/eui-fieldset/eui-fieldset.component.mjs +11 -11
  71. package/esm2022/eui-fieldset/eui-fieldset.module.mjs +4 -4
  72. package/esm2022/eui-file-upload/eui-file-upload.component.mjs +3 -3
  73. package/esm2022/eui-file-upload/eui-file-upload.module.mjs +4 -4
  74. package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +5 -5
  75. package/esm2022/eui-file-upload/pipes/filesize.pipe.mjs +3 -3
  76. package/esm2022/eui-file-upload/progress/eui-file-upload-progress.component.mjs +3 -3
  77. package/esm2022/eui-file-upload/utils/eui-file-upload.utils.mjs +4 -4
  78. package/esm2022/eui-growl/eui-growl.component.mjs +5 -5
  79. package/esm2022/eui-growl/eui-growl.module.mjs +4 -4
  80. package/esm2022/eui-icon/eui-icon-color.component.mjs +3 -3
  81. package/esm2022/eui-icon/eui-icon-svg.component.mjs +6 -6
  82. package/esm2022/eui-icon/eui-icon.component.mjs +5 -5
  83. package/esm2022/eui-icon/eui-icon.module.mjs +4 -4
  84. package/esm2022/eui-icon-toggle/eui-icon-toggle.component.mjs +3 -3
  85. package/esm2022/eui-icon-toggle/eui-icon-toggle.module.mjs +4 -4
  86. package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +6 -6
  87. package/esm2022/eui-input-checkbox/eui-input-checkbox.module.mjs +4 -4
  88. package/esm2022/eui-input-group/eui-input-group.component.mjs +4 -4
  89. package/esm2022/eui-input-group/eui-input-group.module.mjs +4 -4
  90. package/esm2022/eui-input-number/eui-input-number.component.mjs +7 -7
  91. package/esm2022/eui-input-number/eui-input-number.module.mjs +4 -4
  92. package/esm2022/eui-input-number/eui-number-control.directive.mjs +5 -5
  93. package/esm2022/eui-input-radio/eui-input-radio.component.mjs +6 -6
  94. package/esm2022/eui-input-radio/eui-input-radio.module.mjs +4 -4
  95. package/esm2022/eui-input-text/eui-input-text.component.mjs +7 -7
  96. package/esm2022/eui-input-text/eui-input-text.module.mjs +4 -4
  97. package/esm2022/eui-label/eui-label.component.mjs +5 -5
  98. package/esm2022/eui-label/eui-label.module.mjs +4 -4
  99. package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +5 -5
  100. package/esm2022/eui-list/eui-list.component.mjs +5 -5
  101. package/esm2022/eui-list/eui-list.module.mjs +4 -4
  102. package/esm2022/eui-list/services/eui-list.service.mjs +3 -3
  103. package/esm2022/eui-menu/eui-menu-item.component.mjs +5 -5
  104. package/esm2022/eui-menu/eui-menu.component.mjs +5 -5
  105. package/esm2022/eui-menu/eui-menu.module.mjs +4 -4
  106. package/esm2022/eui-message-box/eui-message-box.component.mjs +18 -9
  107. package/esm2022/eui-message-box/eui-message-box.module.mjs +4 -4
  108. package/esm2022/eui-message-box/services/eui-message-box.service.mjs +6 -6
  109. package/esm2022/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.mjs +5 -5
  110. package/esm2022/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.mjs +5 -5
  111. package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.mjs +5 -5
  112. package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.mjs +5 -5
  113. package/esm2022/eui-overlay/eui-overlay.component.mjs +31 -16
  114. package/esm2022/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.mjs +3 -3
  115. package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +23 -23
  116. package/esm2022/eui-page/components/eui-page-columns/eui-page-columns.component.mjs +3 -3
  117. package/esm2022/eui-page/components/eui-page-content/eui-page-content.component.mjs +3 -3
  118. package/esm2022/eui-page/components/eui-page-footer/eui-page-footer.component.mjs +5 -5
  119. package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +10 -10
  120. package/esm2022/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.mjs +3 -3
  121. package/esm2022/eui-page/components/eui-page-top-content/eui-page-top-content.component.mjs +5 -5
  122. package/esm2022/eui-page/eui-page.component.mjs +4 -4
  123. package/esm2022/eui-page/eui-page.module.mjs +4 -4
  124. package/esm2022/eui-paginator/eui-paginator.component.mjs +5 -5
  125. package/esm2022/eui-paginator/eui-paginator.module.mjs +4 -4
  126. package/esm2022/eui-picker/eui-picker.component.mjs +5 -5
  127. package/esm2022/eui-picker/eui-picker.module.mjs +4 -4
  128. package/esm2022/eui-picker/modal-picker/eui-modal-picker.component.mjs +5 -5
  129. package/esm2022/eui-popover/directives/eui-popover-arrow-position.directive.mjs +6 -6
  130. package/esm2022/eui-popover/eui-popover.component.mjs +5 -5
  131. package/esm2022/eui-popover/eui-popover.module.mjs +4 -4
  132. package/esm2022/eui-progress-bar/eui-progress-bar.component.mjs +5 -5
  133. package/esm2022/eui-progress-bar/eui-progress-bar.module.mjs +4 -4
  134. package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +9 -9
  135. package/esm2022/eui-select/eui-select-control.directive.mjs +6 -6
  136. package/esm2022/eui-select/eui-select-multiple.directive.mjs +6 -6
  137. package/esm2022/eui-select/eui-select-mutli-option.directive.mjs +6 -6
  138. package/esm2022/eui-select/eui-select-option.directive.mjs +6 -6
  139. package/esm2022/eui-select/eui-select.component.mjs +6 -6
  140. package/esm2022/eui-select/eui-select.module.mjs +4 -4
  141. package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +3 -3
  142. package/esm2022/eui-sidebar-menu/eui-sidebar-menu.module.mjs +4 -4
  143. package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +6 -6
  144. package/esm2022/eui-slide-toggle/eui-slide-toggle.module.mjs +4 -4
  145. package/esm2022/eui-table/directives/eui-table-sticky-columns.directive.mjs +3 -3
  146. package/esm2022/eui-table/eui-table.component.mjs +39 -9
  147. package/esm2022/eui-table/eui-table.module.mjs +4 -4
  148. package/esm2022/eui-table/expandable-row/eui-table-expandable-row.component.mjs +3 -3
  149. package/esm2022/eui-table/filter/eui-table-filter.component.mjs +5 -5
  150. package/esm2022/eui-table/pipes/eui-table-highlight-filter.pipe.mjs +3 -3
  151. package/esm2022/eui-table/selectable-header/eui-table-selectable-header.component.mjs +5 -5
  152. package/esm2022/eui-table/selectable-row/eui-table-selectable-row.component.mjs +5 -5
  153. package/esm2022/eui-table/services/eui-table-selectable-row.service.mjs +3 -3
  154. package/esm2022/eui-table/services/eui-table-sort.service.mjs +3 -3
  155. package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +5 -5
  156. package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +5 -5
  157. package/esm2022/eui-tabs/eui-tab-content/eui-tab-content.component.mjs +5 -5
  158. package/esm2022/eui-tabs/eui-tab-label/eui-tab-label.component.mjs +8 -8
  159. package/esm2022/eui-tabs/eui-tabs.component.mjs +8 -8
  160. package/esm2022/eui-tabs/eui-tabs.module.mjs +4 -4
  161. package/esm2022/eui-textarea/auto-resize.directive.mjs +6 -6
  162. package/esm2022/eui-textarea/eui-textarea.component.mjs +6 -6
  163. package/esm2022/eui-textarea/eui-textarea.module.mjs +4 -4
  164. package/esm2022/eui-timebar/eui-timebar.component.mjs +9 -9
  165. package/esm2022/eui-timeline/eui-timeline-item.component.mjs +6 -6
  166. package/esm2022/eui-timeline/eui-timeline.component.mjs +3 -3
  167. package/esm2022/eui-timeline/eui-timeline.module.mjs +4 -4
  168. package/esm2022/eui-timepicker/eui-timepicker.component.mjs +6 -6
  169. package/esm2022/eui-timepicker/eui-timepicker.module.mjs +4 -4
  170. package/esm2022/eui-tree/eui-dropdown-tree.directive.mjs +10 -10
  171. package/esm2022/eui-tree/eui-tree-form-control.directive.mjs +10 -10
  172. package/esm2022/eui-tree/eui-tree.component.mjs +9 -9
  173. package/esm2022/eui-wizard/eui-wizard-step.component.mjs +3 -3
  174. package/esm2022/eui-wizard/eui-wizard.component.mjs +3 -3
  175. package/esm2022/eui-wizard/eui-wizard.module.mjs +4 -4
  176. package/esm2022/eui-wizard/services/eui-wizard.service.mjs +4 -4
  177. package/esm2022/externals/charts/chart/chart.component.mjs +3 -3
  178. package/esm2022/externals/charts/eui-charts.module.mjs +4 -4
  179. package/esm2022/externals/eui-editor/counters/eui-editor-counters.component.mjs +3 -3
  180. package/esm2022/externals/eui-editor/directives/eui-editor-maxlength.directive.mjs +6 -6
  181. package/esm2022/externals/eui-editor/eui-editor.component.mjs +10 -10
  182. package/esm2022/externals/eui-editor/eui-editor.module.mjs +4 -4
  183. package/esm2022/externals/eui-editor/html-view/eui-editor-html-view.component.mjs +5 -5
  184. package/esm2022/externals/eui-editor/image-url-dialog/image-url-dialog.component.mjs +5 -5
  185. package/esm2022/externals/eui-editor/json-view/eui-editor-json-view.component.mjs +6 -6
  186. package/esm2022/externals/quill/quill-editor.component.mjs +6 -6
  187. package/esm2022/externals/quill/quill.module.mjs +4 -4
  188. package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.component.mjs +5 -5
  189. package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.module.mjs +4 -4
  190. package/esm2022/layout/eui-app/eui-app-footer/footer.component.mjs +3 -3
  191. package/esm2022/layout/eui-app/eui-app-footer/footer.module.mjs +4 -4
  192. package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +5 -5
  193. package/esm2022/layout/eui-app/eui-app-header/header.module.mjs +4 -4
  194. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-body/sidebar-body.component.mjs +3 -3
  195. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-drawer/sidebar-drawer.component.mjs +3 -3
  196. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.mjs +5 -5
  197. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.mjs +5 -5
  198. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +5 -5
  199. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.mjs +5 -5
  200. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +6 -6
  201. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.module.mjs +4 -4
  202. package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +5 -5
  203. package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.module.mjs +4 -4
  204. package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +5 -5
  205. package/esm2022/layout/eui-app/eui-app-top-message/top-message.module.mjs +4 -4
  206. package/esm2022/layout/eui-app/eui-app.component.mjs +9 -9
  207. package/esm2022/layout/eui-app/eui-app.module.mjs +4 -4
  208. package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +5 -5
  209. package/esm2022/layout/eui-breadcrumb/breadcrumb.module.mjs +4 -4
  210. package/esm2022/layout/eui-breadcrumb/breadcrumb.service.mjs +4 -4
  211. package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +8 -8
  212. package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +6 -6
  213. package/esm2022/layout/eui-footer/footer.component.mjs +5 -5
  214. package/esm2022/layout/eui-footer/footer.module.mjs +4 -4
  215. package/esm2022/layout/eui-header/header-app/header-app.component.mjs +15 -15
  216. package/esm2022/layout/eui-header/header-app-name/header-app-name.component.mjs +6 -6
  217. package/esm2022/layout/eui-header/header-app-name-logo/header-app-name-logo.component.mjs +6 -6
  218. package/esm2022/layout/eui-header/header-app-subtitle/header-app-subtitle.component.mjs +6 -6
  219. package/esm2022/layout/eui-header/header-environment/header-environment.component.mjs +6 -6
  220. package/esm2022/layout/eui-header/header-logo/header-logo.component.mjs +6 -6
  221. package/esm2022/layout/eui-header/header-user-profile/header-user-profile.component.mjs +4 -4
  222. package/esm2022/layout/eui-header/header.component.mjs +3 -3
  223. package/esm2022/layout/eui-header/header.module.mjs +4 -4
  224. package/esm2022/layout/eui-language-selector/language-selector.component.mjs +5 -5
  225. package/esm2022/layout/eui-language-selector/language-selector.module.mjs +4 -4
  226. package/esm2022/layout/eui-language-selector/modal-selector/modal-selector.component.mjs +5 -5
  227. package/esm2022/layout/eui-layout.module.mjs +4 -4
  228. package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +3 -3
  229. package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +3 -3
  230. package/esm2022/layout/eui-notifications/eui-notifications.module.mjs +4 -4
  231. package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +3 -3
  232. package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +3 -3
  233. package/esm2022/layout/eui-notifications-v2/eui-notifications.module.mjs +4 -4
  234. package/esm2022/layout/eui-search/search.component.mjs +5 -5
  235. package/esm2022/layout/eui-search/search.module.mjs +4 -4
  236. package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.component.mjs +5 -5
  237. package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.module.mjs +4 -4
  238. package/esm2022/layout/eui-toolbar/toolbar-app/toolbar-app.component.mjs +3 -3
  239. package/esm2022/layout/eui-toolbar/toolbar-center/toolbar-center.component.mjs +3 -3
  240. package/esm2022/layout/eui-toolbar/toolbar-environment/toolbar-environment.component.mjs +3 -3
  241. package/esm2022/layout/eui-toolbar/toolbar-item/toolbar-item.component.mjs +3 -3
  242. package/esm2022/layout/eui-toolbar/toolbar-item-notifications/toolbar-item-notifications.component.mjs +3 -3
  243. package/esm2022/layout/eui-toolbar/toolbar-item-search/toolbar-item-search.component.mjs +3 -3
  244. package/esm2022/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.mjs +4 -4
  245. package/esm2022/layout/eui-toolbar/toolbar-items/toolbar-items.component.mjs +5 -5
  246. package/esm2022/layout/eui-toolbar/toolbar-logo/toolbar-logo.component.mjs +5 -5
  247. package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +5 -5
  248. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +5 -5
  249. package/esm2022/layout/eui-toolbar/toolbar.module.mjs +4 -4
  250. package/esm2022/layout/eui-user-profile/user-profile-card/user-profile-card.component.mjs +5 -5
  251. package/esm2022/layout/eui-user-profile/user-profile-menu/user-profile-menu.component.mjs +5 -5
  252. package/esm2022/layout/eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.mjs +5 -5
  253. package/esm2022/layout/eui-user-profile/user-profile.component.mjs +5 -5
  254. package/esm2022/layout/eui-user-profile/user-profile.module.mjs +4 -4
  255. package/esm2022/pipes/eui-is-empty.pipe.mjs +7 -7
  256. package/esm2022/pipes/eui-truncate.pipe.mjs +7 -7
  257. package/esm2022/shared/base/base-states.directive.mjs +3 -3
  258. package/esm2022/shared/base/base.directive.mjs +3 -3
  259. package/esm2022/shared/eui-common-header/common-header.component.mjs +7 -7
  260. package/esm2022/shared/eui-expand-content/eui-expand-content.component.mjs +7 -7
  261. package/esm2022/shared/input.directive.mjs +5 -5
  262. package/eui-all/eui-all.module.d.ts +20 -19
  263. package/eui-all/eui-all.module.d.ts.map +1 -1
  264. package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
  265. package/eui-dialog/container/eui-dialog-container.component.d.ts +4 -0
  266. package/eui-dialog/container/eui-dialog-container.component.d.ts.map +1 -1
  267. package/eui-message-box/eui-message-box.component.d.ts +4 -1
  268. package/eui-message-box/eui-message-box.component.d.ts.map +1 -1
  269. package/eui-overlay/eui-overlay.component.d.ts +5 -2
  270. package/eui-overlay/eui-overlay.component.d.ts.map +1 -1
  271. package/eui-table/eui-table.component.d.ts +1 -0
  272. package/eui-table/eui-table.component.d.ts.map +1 -1
  273. package/fesm2022/eui-components-directives.mjs +89 -88
  274. package/fesm2022/eui-components-directives.mjs.map +1 -1
  275. package/fesm2022/eui-components-eui-alert.mjs +8 -8
  276. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  277. package/fesm2022/eui-components-eui-all.mjs +9 -8
  278. package/fesm2022/eui-components-eui-all.mjs.map +1 -1
  279. package/fesm2022/eui-components-eui-autocomplete.mjs +14 -12
  280. package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
  281. package/fesm2022/eui-components-eui-badge.mjs +8 -8
  282. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  283. package/fesm2022/eui-components-eui-block-content.mjs +8 -8
  284. package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
  285. package/fesm2022/eui-components-eui-block-document.mjs +8 -8
  286. package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
  287. package/fesm2022/eui-components-eui-button-group.mjs +8 -8
  288. package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
  289. package/fesm2022/eui-components-eui-button.mjs +8 -8
  290. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  291. package/fesm2022/eui-components-eui-buttons.mjs +14 -14
  292. package/fesm2022/eui-components-eui-buttons.mjs.map +1 -1
  293. package/fesm2022/eui-components-eui-card.mjs +48 -48
  294. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  295. package/fesm2022/eui-components-eui-chip-list.mjs +14 -14
  296. package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
  297. package/fesm2022/eui-components-eui-chip.mjs +8 -8
  298. package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
  299. package/fesm2022/eui-components-eui-dashboard-button.mjs +14 -14
  300. package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
  301. package/fesm2022/eui-components-eui-dashboard-card.mjs +8 -8
  302. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  303. package/fesm2022/eui-components-eui-date-range-selector.mjs +10 -10
  304. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  305. package/fesm2022/eui-components-eui-datepicker.mjs +22 -22
  306. package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
  307. package/fesm2022/eui-components-eui-dialog.mjs +38 -24
  308. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  309. package/fesm2022/eui-components-eui-dimmer.mjs +8 -8
  310. package/fesm2022/eui-components-eui-dimmer.mjs.map +1 -1
  311. package/fesm2022/eui-components-eui-disable-content.mjs +8 -8
  312. package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
  313. package/fesm2022/eui-components-eui-discussion-thread.mjs +10 -10
  314. package/fesm2022/eui-components-eui-dropdown.mjs +25 -25
  315. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  316. package/fesm2022/eui-components-eui-feedback-message.mjs +8 -8
  317. package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
  318. package/fesm2022/eui-components-eui-fieldset.mjs +14 -14
  319. package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
  320. package/fesm2022/eui-components-eui-file-upload.mjs +21 -21
  321. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  322. package/fesm2022/eui-components-eui-growl.mjs +8 -8
  323. package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
  324. package/fesm2022/eui-components-eui-icon-toggle.mjs +7 -7
  325. package/fesm2022/eui-components-eui-icon.mjs +16 -16
  326. package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
  327. package/fesm2022/eui-components-eui-input-checkbox.mjs +9 -9
  328. package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
  329. package/fesm2022/eui-components-eui-input-group.mjs +8 -8
  330. package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
  331. package/fesm2022/eui-components-eui-input-number.mjs +15 -15
  332. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  333. package/fesm2022/eui-components-eui-input-radio.mjs +9 -9
  334. package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
  335. package/fesm2022/eui-components-eui-input-text.mjs +10 -10
  336. package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
  337. package/fesm2022/eui-components-eui-label.mjs +8 -8
  338. package/fesm2022/eui-components-eui-label.mjs.map +1 -1
  339. package/fesm2022/eui-components-eui-list.mjs +15 -15
  340. package/fesm2022/eui-components-eui-list.mjs.map +1 -1
  341. package/fesm2022/eui-components-eui-menu.mjs +12 -12
  342. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  343. package/fesm2022/eui-components-eui-message-box.mjs +26 -17
  344. package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
  345. package/fesm2022/eui-components-eui-overlay.mjs +46 -31
  346. package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
  347. package/fesm2022/eui-components-eui-page.mjs +59 -59
  348. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  349. package/fesm2022/eui-components-eui-paginator.mjs +8 -8
  350. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  351. package/fesm2022/eui-components-eui-picker.mjs +13 -13
  352. package/fesm2022/eui-components-eui-picker.mjs.map +1 -1
  353. package/fesm2022/eui-components-eui-popover.mjs +13 -13
  354. package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
  355. package/fesm2022/eui-components-eui-progress-bar.mjs +8 -8
  356. package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
  357. package/fesm2022/eui-components-eui-progress-circle.mjs +8 -8
  358. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  359. package/fesm2022/eui-components-eui-select.mjs +29 -29
  360. package/fesm2022/eui-components-eui-select.mjs.map +1 -1
  361. package/fesm2022/eui-components-eui-sidebar-menu.mjs +7 -7
  362. package/fesm2022/eui-components-eui-slide-toggle.mjs +9 -9
  363. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  364. package/fesm2022/eui-components-eui-table.mjs +73 -43
  365. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  366. package/fesm2022/eui-components-eui-tabs.mjs +26 -26
  367. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  368. package/fesm2022/eui-components-eui-textarea.mjs +14 -14
  369. package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
  370. package/fesm2022/eui-components-eui-timebar.mjs +8 -8
  371. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  372. package/fesm2022/eui-components-eui-timeline.mjs +12 -12
  373. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  374. package/fesm2022/eui-components-eui-timepicker.mjs +9 -9
  375. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  376. package/fesm2022/eui-components-eui-tree.mjs +26 -26
  377. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  378. package/fesm2022/eui-components-eui-wizard.mjs +14 -14
  379. package/fesm2022/eui-components-externals-charts.mjs +7 -7
  380. package/fesm2022/eui-components-externals-eui-editor.mjs +35 -35
  381. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  382. package/fesm2022/eui-components-externals-quill.mjs +9 -9
  383. package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
  384. package/fesm2022/eui-components-layout.mjs +277 -277
  385. package/fesm2022/eui-components-layout.mjs.map +1 -1
  386. package/fesm2022/eui-components-pipes.mjs +14 -14
  387. package/fesm2022/eui-components-shared-base.mjs +6 -6
  388. package/fesm2022/eui-components-shared.mjs +18 -18
  389. package/fesm2022/eui-components-shared.mjs.map +1 -1
  390. package/package.json +7 -7
@@ -512,10 +512,10 @@ export class EuiInputNumberComponent extends InputDirective {
512
512
  cleaned = value.toString().split('e');
513
513
  return +(cleaned[0] + 'e' + (cleaned[1] ? +cleaned[1] + exp : exp));
514
514
  }
515
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocaleService, optional: true }, { token: LOCALE_ID }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
516
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiInputNumberComponent, selector: "input[euiInputNumber]", inputs: { min: "min", max: "max", leadingZero: "leadingZero", isInvalid: "isInvalid", fractionDigits: "fractionDigits", digits: "digits", fillFraction: "fillFraction", roundUp: "roundUp", noFormat: "noFormat", styleClass: "styleClass", value: "value" }, host: { listeners: { "blur": "onTouched()", "paste": "onPaste($event)", "keydown": "onKeyDown($event)", "focusout": "onFocusout()" }, properties: { "class": "this.cssClasses", "attr.type": "this.type" } }, usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i2.EuiClearableDirective, inputs: ["euiClearable", "euiClearable", "readonly", "readonly", "disabled", "disabled"] }, { directive: i2.EuiLoadingDirective, inputs: ["euiLoading", "euiLoading", "readonly", "readonly"] }], ngImport: i0, template: '', isInline: true, styles: [".eui-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%}.eui-input-number:active:not([readonly]),.eui-input-number:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-input-number .eui-clearable-wrapper{align-items:center;display:flex;position:relative;width:100%}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible;z-index:var(--eui-base-z-index-clearable-icon)}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-input-number::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-input-number[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-input-number[readonly]+.eui-feedback-message,.eui-input-number[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-input-number[disabled]:not([readonly]),.eui-input-number--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-input-number--invalid,.eui-input-number--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-input-number--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-input-number--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-input-number--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-input-number--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-input-number--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--loading-icon{align-items:center;display:flex}.eui-input-number--loading-icon:after,.eui-input-number--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-input-number--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-input-number--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-input-number--loading-icon--sm:after,.eui-input-number--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-input-number[readonly]{pointer-events:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
515
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocaleService, optional: true }, { token: LOCALE_ID }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
516
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EuiInputNumberComponent, selector: "input[euiInputNumber]", inputs: { min: "min", max: "max", leadingZero: "leadingZero", isInvalid: "isInvalid", fractionDigits: "fractionDigits", digits: "digits", fillFraction: "fillFraction", roundUp: "roundUp", noFormat: "noFormat", styleClass: "styleClass", value: "value" }, host: { listeners: { "blur": "onTouched()", "paste": "onPaste($event)", "keydown": "onKeyDown($event)", "focusout": "onFocusout()" }, properties: { "class": "this.cssClasses", "attr.type": "this.type" } }, usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i2.EuiClearableDirective, inputs: ["euiClearable", "euiClearable", "readonly", "readonly", "disabled", "disabled"] }, { directive: i2.EuiLoadingDirective, inputs: ["euiLoading", "euiLoading", "readonly", "readonly"] }], ngImport: i0, template: '', isInline: true, styles: [".eui-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%}.eui-input-number:active:not([readonly]),.eui-input-number:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-input-number::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-input-number[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-input-number[readonly]+.eui-feedback-message,.eui-input-number[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-input-number[disabled]:not([readonly]),.eui-input-number--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-input-number--invalid,.eui-input-number--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-input-number--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-input-number--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-input-number--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-input-number--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-input-number--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--loading-icon{align-items:center;display:flex}.eui-input-number--loading-icon:after,.eui-input-number--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-input-number--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-input-number--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-input-number--loading-icon--sm:after,.eui-input-number--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-input-number[readonly]{pointer-events:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
517
517
  }
518
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberComponent, decorators: [{
518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberComponent, decorators: [{
519
519
  type: Component,
520
520
  args: [{ selector: 'input[euiInputNumber]', template: '', encapsulation: ViewEncapsulation.None, hostDirectives: [
521
521
  {
@@ -528,13 +528,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
528
528
  },
529
529
  ], host: {
530
530
  '(blur)': 'onTouched()',
531
- }, styles: [".eui-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%}.eui-input-number:active:not([readonly]),.eui-input-number:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-input-number .eui-clearable-wrapper{align-items:center;display:flex;position:relative;width:100%}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible;z-index:var(--eui-base-z-index-clearable-icon)}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-input-number .eui-clearable-wrapper .eui-input-text--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-input-number::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-input-number[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-input-number[readonly]+.eui-feedback-message,.eui-input-number[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-input-number[disabled]:not([readonly]),.eui-input-number--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-input-number--invalid,.eui-input-number--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-input-number--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-input-number--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-input-number--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-input-number--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-input-number--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--loading-icon{align-items:center;display:flex}.eui-input-number--loading-icon:after,.eui-input-number--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-input-number--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-input-number--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-input-number--loading-icon--sm:after,.eui-input-number--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-input-number[readonly]{pointer-events:auto}\n"] }]
532
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocaleService, decorators: [{
531
+ }, styles: [".eui-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%}.eui-input-number:active:not([readonly]),.eui-input-number:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-input-number::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-input-number[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-input-number[readonly]+.eui-feedback-message,.eui-input-number[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-input-number[disabled]:not([readonly]),.eui-input-number--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-input-number--invalid,.eui-input-number--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-input-number--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-input-number--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-input-number--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-input-number--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-input-number--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--loading-icon{align-items:center;display:flex}.eui-input-number--loading-icon:after,.eui-input-number--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-input-number--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-input-number--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-input-number--loading-icon--sm:after,.eui-input-number--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-input-number[readonly]{pointer-events:auto}\n"] }]
532
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocaleService, decorators: [{
533
533
  type: Optional
534
534
  }] }, { type: undefined, decorators: [{
535
535
  type: Inject,
536
536
  args: [LOCALE_ID]
537
- }] }, { type: i0.Injector }]; }, propDecorators: { min: [{
537
+ }] }, { type: i0.Injector }], propDecorators: { min: [{
538
538
  type: Input
539
539
  }], max: [{
540
540
  type: Input
@@ -572,4 +572,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
572
572
  type: HostListener,
573
573
  args: ['focusout']
574
574
  }] } });
575
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktaW5wdXQtbnVtYmVyL2V1aS1pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEVBR1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBTUwsaUJBQWlCLEdBRXBCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBNkIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRyxPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUM7QUFFL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUE0QzNDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjO0lBQ3ZEOztPQUVHO0lBQ0gsSUFDVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxLQUFrQjtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQ1csR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxJQUNXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFXLFdBQVcsQ0FBQyxLQUFrQjtRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxJQUNXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxTQUFTLENBQUMsS0FBbUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFDVyxVQUFVO1FBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxSCxDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLElBQ0ksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxjQUFjLENBQUMsS0FBa0I7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsMkNBQTJDO0lBQzNDLElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBa0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxLQUFtQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxxREFBcUQ7SUFDckQsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBbUJELFlBQ2MsV0FBdUIsRUFDdkIsU0FBb0IsRUFDdEIsRUFBcUIsRUFDVCxhQUE0QixFQUNyQixTQUFpQixFQUM1QyxRQUFrQjtRQUVsQixLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQVA5QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ1Qsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQXJCWixTQUFJLEdBQUcsWUFBWSxDQUFDO1FBUWhELGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBSWpCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBaUc1QixhQUFRLEdBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRTtnQkFDakQsZUFBZTtnQkFDZiwyQkFBMkI7Z0JBQzNCLHlFQUF5RTtnQkFDekUsdUVBQXVFO2dCQUN2RSxpQ0FBaUM7Z0JBQ2pDLG1IQUFtSDthQUN0SDtRQUNMLENBQUMsQ0FBQztRQUNGLGNBQVMsR0FBUSxHQUFHLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDO1FBL0ZFLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTNFLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtRQUVELGdIQUFnSDtRQUNoSCxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFMUQsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDOUU7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ25HLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNsRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMvQztTQUNKO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QjtRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QjtRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDeEI7UUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQy9CLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDckIsK0JBQStCO29CQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRzthQUNKO1NBQ0o7UUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ25DLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDckIsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7b0JBQ2xFLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2lCQUN0RDthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBaUJELE9BQU8sQ0FBQyxLQUFxQjtRQUN6QiwrQkFBK0I7UUFDL0IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRSw4QkFBOEI7UUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNuQixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLG1DQUFtQztZQUNuQyxNQUFNLGFBQWEsR0FBbUIsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM1QyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzVELE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCwwREFBMEQ7Z0JBQzFELFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osc0NBQXNDO2dCQUMxQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDVDtTQUNKO0lBQ0wsQ0FBQztJQUdTLFNBQVMsQ0FBQyxDQUFnQjtRQUNoQywyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDN0QsMEZBQTBGO1lBQzFGLElBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLEdBQUcsS0FBSyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFDNUc7Z0JBQ0UsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ25CLHdFQUF3RTthQUMzRTtpQkFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM1RSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN0QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQy9CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3RCO1NBQ0o7UUFFRCw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUMvQyxvQkFBb0I7WUFDcEIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUNuQyxvQ0FBb0M7WUFDcEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNDLGtGQUFrRjtZQUNsRixJQUFJLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDM0csQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUMvQztpQkFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQy9CLDBEQUEwRDtnQkFDMUQsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdEI7U0FDSjtJQUNMLENBQUM7SUFHUyxVQUFVO1FBQ2hCLCtFQUErRTtRQUMvRSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDNUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUM1RTtRQUVELDhCQUE4QjtRQUM5QixJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzdGO0lBQ0wsQ0FBQztJQUVTLFVBQVUsQ0FBQyxLQUFvQjtRQUNyQyxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0csOEJBQThCO1FBQzlCLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7U0FJSztJQUNLLHVCQUF1QixDQUFDLFFBQXlCLFdBQVc7UUFDbEUsd0VBQXdFO1FBQ3hFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsbUNBQW1DO1lBQ25DLE1BQU0sYUFBYSxHQUFtQixJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLDBGQUEwRjtZQUMxRixhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLG1EQUFtRDtZQUNuRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztTQUNwRTthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ2xDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNuRDthQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7WUFDbkQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVSxDQUFDLGdCQUFvQztRQUNuRCxtRUFBbUU7UUFDbkUsMkRBQTJEO1FBQzNELG1FQUFtRTtRQUNuRSx5RUFBeUU7UUFDekUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBUTtZQUMxQywyQ0FBMkM7WUFDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDM0MsMkNBQTJDO2dCQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQztRQUVGLCtCQUErQjtRQUMvQixNQUFNLElBQUksR0FBa0IsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoRCxnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSw4QkFBOEI7UUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNuQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEY7UUFFRCw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYSxDQUFDLGdCQUF5QixLQUFLO1FBQ2hELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQiw4Q0FBOEM7WUFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUV4RCw2REFBNkQ7WUFDN0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEdBQUc7Z0JBQzdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVO2dCQUNqQyxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUNmLFNBQVMsRUFBRSxhQUFhO2FBQzNCLENBQUM7WUFFRiw2Q0FBNkM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBRTNDLGlHQUFpRztZQUNqRyx5R0FBeUc7WUFDekcsc0dBQXNHO1lBQ3RHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRS9DLGVBQWU7WUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDeEcsMkNBQTJDO1lBQzNDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssY0FBYyxDQUFDLEtBQTBCO1FBQzdDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbEQsb0JBQW9CO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDaEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEY7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLDBCQUEwQixDQUFDLEVBQVU7UUFDekMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUM3RDtRQUNELE1BQU0sSUFBSSxHQUFrQjtZQUN4QixPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUN4RCxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNuRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsY0FBYztZQUN4QyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNoQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxrQ0FBa0M7U0FDdEcsQ0FBQztRQUVGLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxpQkFBaUMsSUFBSSxDQUFDLGNBQWM7UUFDMUYsMERBQTBEO1FBQzFELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLE1BQU0sR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQzVCLElBQUksTUFBTSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDMUIsT0FBTztpQkFDVjtnQkFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hELGtEQUFrRDtnQkFDbEQsSUFBSSxVQUFVLEVBQUU7b0JBQ1osTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ2hELHlFQUF5RTtvQkFDekUsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRTt3QkFDcEMsTUFBTSxHQUFHLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ2pGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQzt3QkFDMUQsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUM5RDtvQkFDRCxrRkFBa0Y7aUJBQ3JGO3FCQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUU7b0JBQ2hDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUN6RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7b0JBQzFELGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDOUQ7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFdBQVcsQ0FBQyxLQUFhLEVBQUUsc0JBQStCLEtBQUs7UUFDbkUsZUFBZTtRQUNmLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5SCxnQ0FBZ0M7UUFDaEMsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRSxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLGtDQUFrQztRQUNsQyxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJO1FBQ3JCLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckIsK0JBQStCO1FBQy9CLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsT0FBTyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtZQUMxQixPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztTQUMzQjtRQUNELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGNBQWMsQ0FBQyxHQUFXO1FBQzlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssY0FBYyxDQUFDLENBQWdCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QscUJBQXFCO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2QyxxREFBcUQ7UUFDckQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxnQ0FBZ0M7UUFDaEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5Qix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUM3QyxtREFBbUQ7WUFDbkQsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFO2dCQUNoQixLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9HO2lCQUFNO2dCQUNILEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25IO1NBQ0o7YUFBTTtZQUNILHVCQUF1QjtZQUN2QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdEU7UUFFRCxzRUFBc0U7UUFDdEUsTUFBTSxNQUFNLEdBQW1CLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLDBCQUEwQjtRQUMxQixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssYUFBYSxDQUFDLEtBQWEsRUFBRSxHQUFXO1FBQzVDLHFDQUFxQztRQUNyQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFdBQVcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ2YsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ1gsK0RBQStEO1FBQy9ELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM3RCxPQUFPLEdBQUcsQ0FBQztTQUNkO1FBQ0QsUUFBUTtRQUNSLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEYsYUFBYTtRQUNiLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO3dJQTFqQlEsdUJBQXVCLG1KQTZHcEIsU0FBUzs0SEE3R1osdUJBQXVCLCt5QkFqQnRCLEVBQUU7O2tHQWlCSCx1QkFBdUI7a0JBckJuQyxTQUFTOytCQUVJLHVCQUF1QixZQUV2QixFQUFFLGlCQUNHLGlCQUFpQixDQUFDLElBQUksa0JBQ3JCO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSxxQkFBcUI7NEJBQ2hDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO3lCQUNuRDt3QkFDRDs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO3lCQUNyQztxQkFDSixRQUVLO3dCQUNGLFFBQVEsRUFBRSxhQUFhO3FCQUMxQjs7MEJBOEdJLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsU0FBUzttRUF4R1YsR0FBRztzQkFEYixLQUFLO2dCQVdLLEdBQUc7c0JBRGIsS0FBSztnQkFXSyxXQUFXO3NCQURyQixLQUFLO2dCQVFLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBU0ssVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPO2dCQU9oQixjQUFjO3NCQURqQixLQUFLO2dCQVNGLE1BQU07c0JBRFQsS0FBSztnQkFRRixZQUFZO3NCQURmLEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVlGLFFBQVE7c0JBRFgsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQUM4QixJQUFJO3NCQUF2QyxXQUFXO3VCQUFDLFdBQVc7Z0JBQ2YsS0FBSztzQkFBYixLQUFLO2dCQTJITixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXVCdkIsU0FBUztzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkN6QixVQUFVO3NCQURuQixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE9wdGlvbmFsLFxuICAgIExPQ0FMRV9JRCxcbiAgICBJbmplY3QsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5qZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSwgTG9jYWxlU3RhdGUgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyB0eXBlIENsZWF2ZU9wdGlvbnMgfSBmcm9tICdjbGVhdmUuanMvb3B0aW9ucyc7XG5pbXBvcnQgQ2xlYXZlIGZyb20gJ2NsZWF2ZS5qcyc7XG5pbXBvcnQgeyBDbGVhdmVFdmVudE9uQ2hhbmdlIH0gZnJvbSAnLi9tb2RlbHMvY2xlYXZlLWV2ZW50LW9uY2hhbmdlLm1vZGVsJztcbmltcG9ydCB7IElucHV0RGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBnZXRMb2NhbGVOdW1iZXJTeW1ib2wsIE51bWJlclN5bWJvbCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdWlDbGVhcmFibGVEaXJlY3RpdmUsIEV1aUxvYWRpbmdEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYXZlSW5zdGFuY2UgZXh0ZW5kcyBDbGVhdmUge1xuICAgIGluaXRTd2FwSGlkZGVuSW5wdXQ/OiAoKSA9PiB2b2lkO1xuICAgIGluaXROdW1lcmFsRm9ybWF0dGVyPzogKCkgPT4gdm9pZDtcbiAgICBpbml0VGltZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgaW5pdERhdGVGb3JtYXR0ZXI/OiAoKSA9PiB2b2lkO1xuICAgIGluaXRQaG9uZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlQ3JlZGl0Q2FyZFByb3BzQnlWYWx1ZT86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlVmFsdWVTdGF0ZT86ICgpID0+IHZvaWQ7XG4gICAgY2FsbE9uVmFsdWVDaGFuZ2VkPzogKCkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0PzogKGV2ZW50PzogRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Gb2N1cz86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29weT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uS2V5RG93bj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ2hhbmdlTGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbktleURvd25MaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uRm9jdXNMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0TGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbkNvcHlMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbZXVpSW5wdXROdW1iZXJdJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEV1aUNsZWFyYWJsZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydldWlDbGVhcmFibGUnLCAncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBFdWlMb2FkaW5nRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2V1aUxvYWRpbmcnLCAncmVhZG9ubHknXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXROdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrLCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIG51bWJlciBjYW4gYmUgZW50ZXJlZC4gQmxvY2tzIHVzZXIncyBpbnB1dCBpZiBub3QgaW4gcmFuZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1pbih2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fbWluID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBudW1iZXIgY2FuIGJlIGVudGVyZWQuIEJsb2NrcyB1c2VyJ3MgaW5wdXQgaWYgbm90IGluIHJhbmdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBtYXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heDtcbiAgICB9XG4gICAgcHVibGljIHNldCBtYXgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX21heCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIEFkZHMgbGVhZGluZyB6ZXJvIHRvIGEgbnVtYmVyLiBGb3JtYXR0aW5nIHdpbGwgbm90IHdvcmsuXG4gICAgICogICAgICBlLmcuIHdpdGggbGVhZGluZ1plcm89MyBpbnB1dCBudW1iZXIgNSA9PiAwMDVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbGVhZGluZ1plcm8oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xlYWRpbmdaZXJvO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGxlYWRpbmdaZXJvKHZhbHVlOiBOdW1iZXJJbnB1dCkge1xuICAgICAgICB0aGlzLl9sZWFkaW5nWmVybyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZCB8fCBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaXNJbnZhbGlkKHN0YXRlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZXRJbnZhbGlkKHN0YXRlKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZXVpLWlucHV0LW51bWJlcicpLCB0aGlzLl9pc0ludmFsaWQgPyBgZXVpLWlucHV0LW51bWJlci0taW52YWxpZGAgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgZGVjaW1hbCBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZnJhY3Rpb25EaWdpdHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZyYWN0aW9uRGlnaXRzO1xuICAgIH1cbiAgICBzZXQgZnJhY3Rpb25EaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2ZyYWN0aW9uRGlnaXRzID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgaW50ZWdlciBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlnaXRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWdpdHM7XG4gICAgfVxuICAgIHNldCBkaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2RpZ2l0cyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgZmlsbEZyYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsbEZyYWN0aW9uO1xuICAgIH1cbiAgICBzZXQgZmlsbEZyYWN0aW9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZmlsbEZyYWN0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIHJvdW5kcyBhIG51bWJlciB3aXRoIG1vcmUgdGhhbiB0d28gZGVjaW1hbHMgVVAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCByb3VuZFVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3VuZFVwO1xuICAgIH1cbiAgICBzZXQgcm91bmRVcCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fcm91bmRVcCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogZG9lcyBub3QgZm9ybWF0IHRoZSBhbmQgZG8gYSB0aG91c2FuZCBncm91cGluZyBvZiBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBub0Zvcm1hdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vRm9ybWF0O1xuICAgIH1cbiAgICBzZXQgbm9Gb3JtYXQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub0Zvcm1hdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfbm9Gb3JtYXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlJykgcHJvdGVjdGVkIHR5cGUgPSAnZXVpLW51bWJlcic7XG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3JvdW5kVXA6IG51bWJlcjtcbiAgICBwdWJsaWMgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZDtcbiAgICBjbGVhdmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2U7XG4gICAgcHJpdmF0ZSBfbWluOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbWF4OiBudW1iZXI7XG5cbiAgICBwcml2YXRlIF9sZWFkaW5nWmVybyA9IDA7XG4gICAgLyoqIGhvbGRzIGluc3RhbmNlIG9mIGNsZWF2ZSAqL1xuICAgIC8qKiBvcHRpb25zIGZvciB0aGUgQ2xlYXZlIGluc3RhbmNlICovXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBDbGVhdmVPcHRpb25zO1xuICAgIHByaXZhdGUgX2ZyYWN0aW9uRGlnaXRzID0gMDtcbiAgICBwcml2YXRlIF9kaWdpdHM6IG51bWJlcjtcbiAgICBwcml2YXRlIF9maWxsRnJhY3Rpb246IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZV9pZDogc3RyaW5nLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9yZW5kZXJlciwgaW5qZWN0b3IpO1xuXG4gICAgICAgIC8vIHNldCBkZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgbnVtZXJhbDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIHVuZGVmaW5lZCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgICAgICAvLyBpbnN0YW50aWF0ZSBjbGVhdmVcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdENsZWF2ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIGxvY2FsaXphdGlvbiBzZXJ2aWNlIGFuZCBsaXN0ZW4gZm9yIGxvY2FsZSBjaGFuZ2UuIERlLWNvbnN0cnVjdGlvbiBvZiBsb2NhbGUgc2hvdWxkIGhhcHBlbiBoZXJlIVxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmdldFN0YXRlKCkuc3Vic2NyaWJlKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZ2V0Q2xlYXZlT3B0c0Jhc2VkT25Mb2NhbGUoc3RhdGU/LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBvcHRpb25zIG9uIHRoZSBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucyh0cnVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAncm9vdENsYXNzTmFtZScsICdldWktaW5wdXQtbnVtYmVyJyk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCA6IHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICd2YWx1ZScpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdmcmFjdGlvbkRpZ2l0cycpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbERlY2ltYWxTY2FsZTogdGhpcy5mcmFjdGlvbkRpZ2l0cyB9O1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ25vRm9ybWF0JykpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCBudW1lcmFsVGhvdXNhbmRzR3JvdXBTdHlsZTogdGhpcy5ub0Zvcm1hdCA/ICdub25lJyA6ICd0aG91c2FuZCcgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdmaWxsRnJhY3Rpb24nKSAmJiB0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5RnJhY3Rpb25GaWxsKHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ2RpZ2l0cycpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbEludGVnZXJTY2FsZTogdGhpcy5kaWdpdHMgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdtaW4nKSkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ21pbiddLmN1cnJlbnRWYWx1ZSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGFrZSBjYXJlIG9mIHRoZSBzaWduIHN5bWJvbFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKE1hdGguYWJzKE51bWJlcih0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpKS50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ3JvdW5kVXAnKSkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ3JvdW5kVXAnXS5jdXJyZW50VmFsdWUgPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IHRoaXMuZGVjaW1hbEFkanVzdChudW1iZXIsIHRoaXMucm91bmRVcCAqIC0xKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIC8vIGRlc3Ryb3kgY2xlYXZlIGluc3RhbmNlXG4gICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoXykgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sICYmIChfICE9PSBudWxsIHx8IF8gIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIC8vIHBhcnNlIG51bWJlclxuICAgICAgICAgICAgLy8gY29uc3QgdmFsdWUgPSBOdW1iZXIoXyk7XG4gICAgICAgICAgICAvLyBydW4gb24gbmV4dCBNaWNyb1Rhc2sgdG8gYXZvaWQgTkcwMTAwIGVycm9yIFRPRE86IGRlZXBlciBpbnZlc3RpZ2F0aW9uXG4gICAgICAgICAgICAvLyBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuY29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh2YWx1ZSkpO1xuICAgICAgICAgICAgLy8gaW4gY2FzZSBjb250cm9sIGlzIEZvcm1Db250cm9sXG4gICAgICAgICAgICAvLyB0aGlzLmNvbnRyb2w/LmNvbnRyb2wuc2V0VmFsdWUoaXNOYU4odmFsdWUpID8gbnVsbCA6IHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UsIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH07XG5cbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pXG4gICAgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gZ2V0IHRoZSB2YWx1ZSBmcm9tIGNsaXBib2FyZFxuICAgICAgICBjb25zdCB2YWx1ZSA9IChldmVudC5jbGlwYm9hcmREYXRhIHx8IHdpbmRvd1snY2xpcGJvYXJkRGF0YSddKS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgIC8vIGluIGNhc2Ugcm91bmQgVVAgaXMgZW5hYmxlZFxuICAgICAgICBpZiAodGhpcy5fcm91bmRVcCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgICAgICAvLyBjcmVhdGUgYSBjbG9uZSBvZiBjbGVhdmVJbnN0YW5jZVxuICAgICAgICAgICAgY29uc3QgY2xvbmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2UgPSBuZXcgQ2xlYXZlKGRpdiwgeyAuLi50aGlzLm9wdGlvbnMsIG51bWVyYWxEZWNpbWFsU2NhbGU6IDggfSk7XG4gICAgICAgICAgICBjbG9uZUluc3RhbmNlLnNldFJhd1ZhbHVlKHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgbGV0IG51bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KGNsb25lSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgICAgICBudW1iZXIgPSB0aGlzLmRlY2ltYWxBZGp1c3QobnVtYmVyLCB0aGlzLnJvdW5kVXAgKiAtMSk7XG4gICAgICAgICAgICBpZiAoIU51bWJlci5pc05hTihudW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgaW4gdGhlIGZ1dHVyZSBob3cgY2FuIHRoaXMgYmUgYXZvaWRlZFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLndyaXRlVmFsdWUobnVtYmVyLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHJvdGVjdGVkIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGl0J3MgYSBzaW5nbGUgc3ltYm9sIGFuZCBub3QgU3BlY2lhbCBsaWtlIChDdHJsLCBiYWNrc3BhY2UgZXRjKVxuICAgICAgICBpZiAoZT8ua2V5Lmxlbmd0aCA8PSAxICYmICFlLmN0cmxLZXkgJiYgIWUuYWx0S2V5ICYmICFlLm1ldGFLZXkpIHtcbiAgICAgICAgICAgIC8vIHN0b3AgZXZlbnQgcHJvcGFnYXRpb24gaWYga2V5IHByZXNzZWQgaXMgbm90IGEgbnVtYmVyIG9yIGxvY2FsZSBjaGFyYWN0ZXIgb3IgbWludXMgc2lnblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIE51bWJlci5pc05hTihOdW1iZXIucGFyc2VJbnQoZS5rZXksIDEwKSkgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmlzTWludXNBbGxvd2VkKGUua2V5KSAmJlxuICAgICAgICAgICAgICAgIGUua2V5ICE9PSBnZXRMb2NhbGVOdW1iZXJTeW1ib2wodGhpcy5sb2NhbGVTZXJ2aWNlPy5jdXJyZW50TG9jYWxlIHx8IHRoaXMubG9jYWxlX2lkLCBOdW1iZXJTeW1ib2wuRGVjaW1hbClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIC8vIHN0b3AgZXZlbnQgcHJvcGFnYXRpb24gaWYga2V5IHByZXNzZWQgZXhjZWVkcyB0aGUgbWluL21heCB2YWx1ZSByYW5nZVxuICAgICAgICAgICAgfSBlbHNlIGlmICghTnVtYmVyLmlzTmFOKE51bWJlci5wYXJzZUludChlLmtleSwgMTApKSAmJiB0aGlzLmlzT3V0U2lkZVJhbmdlKGUpKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNPdXRTaWRlUmFuZ2UoZSkpIHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHByb3RlY3QgZGVjaW1hbCBzeW1ib2wgZGVsZXRpb24gaW4gY2FzZSBmaWxsRnJhY3Rpb24gaXMgb25cbiAgICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJyB8fCBlLmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAvLyBwb3NpdGlvbiBvZiBjYXJldFxuICAgICAgICAgICAgY29uc3QgcG9zID0gZWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgIC8vIGdldCBjaGFyYWN0ZXIgYWJvdXQgdG8gYmUgZGVsZXRlZFxuICAgICAgICAgICAgY29uc3QgY2hhciA9IGVsZW1lbnQudmFsdWUuY2hhckF0KHBvcyAtIDEpO1xuICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGUgY2hhciBpcyB0aGUgZGVjaW1hbCBzeW1ib2wgcHJldmVudCBkZWxldGlvbiBhbmQgbW92ZSBjYXJldCBpbiBmcm9udFxuICAgICAgICAgICAgaWYgKGNoYXIgPT09IGdldExvY2FsZU51bWJlclN5bWJvbCh0aGlzLmxvY2FsZVNlcnZpY2U/LmN1cnJlbnRMb2NhbGUgfHwgdGhpcy5sb2NhbGVfaWQsIE51bWJlclN5bWJvbC5EZWNpbWFsKSkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zIC0gMSwgcG9zIC0gMSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNPdXRTaWRlUmFuZ2UoZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBkb24ndCBhbGxvdyBpbnNlcnRpb24gdGhhdCB3aWxsIHB1dCBudW1iZXIgb3V0IG9mIHJhbmdlXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNvdXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGluIGNhc2UgZmlsbEZyYWN0aW9uIGZlYXR1cmUgaXMgb24gYW5kIHRoZXJlJ3Mgbm8gaW50ZWdlciBwYXJ0IGFkZCBsZWFkaW5nIDBcbiAgICAgICAgaWYgKHRoaXMuZmlsbEZyYWN0aW9uICYmIHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKS5tYXRjaCgvXlxcLlswLTldKy9nKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZSgnMCcgKyB0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW4gY2FzZSByb3VuZCBVUCBpcyBlbmFibGVkXG4gICAgICAgIGlmICh0aGlzLl9yb3VuZFVwID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyLnBhcnNlRmxvYXQodGhpcy5jbGVhdmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXZlSW5zdGFuY2Uuc2V0UmF3VmFsdWUodGhpcy5kZWNpbWFsQWRqdXN0KG51bWJlciwgdGhpcy5yb3VuZFVwICogLTEpLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEludmFsaWQoc3RhdGU/OiBCb29sZWFuSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgLy8gaW4gY2FzZSBpdCdzIGNvbnRyb2xsZWQgYnkgTmdDb250cm9sIG92ZXJyaWRlXG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkIDogY29lcmNlQm9vbGVhblByb3BlcnR5KHN0YXRlKTtcblxuICAgICAgICAvLyBzZXQgQmFzZURpcmVjdGl2ZSBBdHRyaWJ1dGVcbiAgICAgICAgc3VwZXIuZXVpRGFuZ2VyID0gdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBPdmVycmlkZSBzZXRQbGFjZWhvbGRlciBzZXRQbGFjZWhvbGRlckF0dHJpYnV0ZSBvZiBJbnB1dERpcmVjdGl2ZVxuICAgICAqIFVwZGF0ZXMgdGhlIHBsYWNlaG9sZGVyIHZhbHVlIGJhc2VkIG9uIGN1cnJlbnQgbnVtYmVyIGZvcm1hdCBhbmQgZ2l2ZW4gdmFsdWUuXG4gICAgICogSWYgdmFsdWUgcGFzc2VkIGNvbnRhaW5zIGNoYXJhY3RlcnMgaXQgZG9lc24ndCBmb3JtYXQgcGxhY2Vob2xkZXIuXG4gICAgICogKi9cbiAgICBwcm90ZWN0ZWQgc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUodmFsdWU6IHN0cmluZyB8IG51bWJlciA9IDk5OTk5OS45OTk5KTogdm9pZCB7XG4gICAgICAgIC8vIGlmIHZhbHVlIGlzIGEgbnVtYmVyLCBmb3JtYXQgdGhlIHZhbHVlIGJhc2VkIG9uIGN1cnJlbnQgbnVtYmVyIGZvcm1hdFxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgLy8gY3JlYXRlIGEgY2xvbmUgb2YgY2xlYXZlSW5zdGFuY2VcbiAgICAgICAgICAgIGNvbnN0IGNsb25lSW5zdGFuY2U6IENsZWF2ZUluc3RhbmNlID0gbmV3IENsZWF2ZShkaXYsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICAvLyBCRVdBUkU6IGJ5IHRoZSB0aW1lIHlvdXIgc2V0UmF3VmFsdWUgY2xlYXZlIG9wdGlvbnMgaGF2ZSBjaGFuZ2VkIHRodXMgbnVtYmVyIGZvcm1hdHRpbmdcbiAgICAgICAgICAgIGNsb25lSW5zdGFuY2Uuc2V0UmF3VmFsdWUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAvLyBzZXQgdGhlIHZhbHVlIHdpdGggY3VycmVudCBmb3JtYXQgYXMgcGxhY2Vob2xkZXJcbiAgICAgICAgICAgIHN1cGVyLnNldFBsYWNlaG9sZGVyQXR0cmlidXRlKGNsb25lSW5zdGFuY2UuZ2V0Rm9ybWF0dGVkVmFsdWUoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgc3VwZXIuc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIHN1cGVyLnNldFBsYWNlaG9sZGVyQXR0cmlidXRlKHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaW5zdGFudGlhdGUgQ2xlYXZlLmpzXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbml0Q2xlYXZlKG9uQ2hhbmdlQ2FsbGJhY2s/OiAob2JqOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBjaGFuZ2UgdGhlIGNsZWF2ZSBwcm90b3R5cGUgZnVuY3Rpb24gdG8gaW50ZXJjZXB0IG9uQ3V0IGNhbGxiYWNrXG4gICAgICAgIC8vIGFuZCBhbGxvdyBiYXNlZCBvbiB0aGUgZXZlbnQgYnViYmxpbmcgYW5kIGRpc2FibGVkIHN0YXRlXG4gICAgICAgIC8vIFRJUDogY2hhbmdlIGJlaGF2aW9yIG9mIG9uQ3V0IHRvIHN0b3AgaW4gY2FzZSBidWJibGUgaXMgY2FuY2VsZWRcbiAgICAgICAgLy8gVE9ETzogU2VlIHJlbGV2YW50IGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ub3Npci9jbGVhdmUuanMvaXNzdWVzLzY3NVxuICAgICAgICBjb25zdCBfb25DdXQgPSBDbGVhdmUucHJvdG90eXBlWydvbkN1dCddO1xuICAgICAgICBDbGVhdmUucHJvdG90eXBlWydvbkN1dCddID0gZnVuY3Rpb24gKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW52YWxpZC10aGlzXG4gICAgICAgICAgICBpZiAoIWUuY2FuY2VsQnViYmxlICYmICF0aGlzLmVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW52YWxpZC10aGlzXG4gICAgICAgICAgICAgICAgX29uQ3V0LmNhbGwodGhpcywgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gaW4gY2FzZSBvcHRpb25zIGlzIHVuZGVmaW5lZFxuICAgICAgICBjb25zdCBvcHRzOiBDbGVhdmVPcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMgfTtcblxuICAgICAgICAvLyBzZXQgdGhlIG9uVmFsdWUgY2hhbmdlIGxpc3RlbmVyIHRvIGtlZXAgdGhlIHZhbHVlIGF0IHJlYWRPbmx5IGVsZW1lbnQgaW4gc3luY1xuICAgICAgICBvcHRzLm9uVmFsdWVDaGFuZ2VkID0gb25DaGFuZ2VDYWxsYmFjayB8fCB0aGlzLm9uVmFsdWVDaGFuZ2VkLmJpbmQodGhpcyk7XG5cbiAgICAgICAgLy8gaW4gY2FzZSByb3VuZCBVUCBpcyBlbmFibGVkXG4gICAgICAgIGlmICh0aGlzLl9yb3VuZFVwID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyLnBhcnNlRmxvYXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZGVjaW1hbEFkanVzdChudW1iZXIsIHRoaXMucm91bmRVcCAqIC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgQ2xlYXZlIGluc3RhbmNlIHdpdGggdGhlIG5ldyBvciB1cGRhdGVkIG9wdGlvbnNcbiAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZSA9IG5ldyBDbGVhdmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBvcHRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBjbGVhdmUgb3B0aW9ucyBieSBkZXN0cm95aW5nIHRoZSBjdXJyZW50IGluc3RhbmNlIGFuZCBjcmVhdGluZyBhbm90aGVyIG9uZSB3aGlsZSBrZWVwaW5nIHRoZSBwcmV2aW91c1xuICAgICAqIHZhbHVlLlxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlT3B0aW9ucyhsb2NhbGVVcGRhdGVkOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgIC8vIHRoZSB2YWx1ZSBiZWZvcmUgZGVzdHJveWluZyBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSB0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCk7XG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgQ2xlYXZlIGluc3RhbmNlIHdpdGggdGhlIG5ldyBvciB1cGRhdGVkIG9wdGlvbnNcbiAgICAgICAgICAgIHRoaXMuY2xlYXZlSW5zdGFuY2UucHJvcGVydGllcyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmNsZWF2ZUluc3RhbmNlLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIGluaXRWYWx1ZTogcHJldmlvdXNWYWx1ZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vIGluaXQgbnVtYmVyIGZvcm1hdHRlciB3aXRoIHVwZGF0ZWQgb3B0aW9uc1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5pbml0TnVtZXJhbEZvcm1hdHRlcigpO1xuXG4gICAgICAgICAgICAvLyBJbiBjYXNlIHByZXZpb3VzIHNldHRpbmdzIHdoZXJlIG51bWVyYWxEZWNpbWFsTWFyaz0nLicgd2l0aCB2YWx1ZSAxMDAwLjk5LCBhbmQgdGhleSBjaGFuZ2VkIHRvXG4gICAgICAgICAgICAvLyBudW1lcmFsRGVjaW1hbE1hcms9JywnOyBzZXQgaW5pdFZhbHVlIHRvIDEwMDAuOTkgb3IgZXZlbiAxMDAwLDk5IHdpbGwgbm90IGJlIHJlZmxlY3RlZCBhbmQgY2xlYXZlIHdpbGxcbiAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgZGVjaW1hbCBwYXJ0LiBTZXQgb2YgdGhlIHZhbHVlIGFmdGVyIGluaXRpYWxpemF0aW9uIGNhdXNlcyByZWZvcm1hdCBvZiBudW1iZXIgYW5kIHdvcmtzLlxuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShwcmV2aW91c1ZhbHVlKTtcblxuICAgICAgICAgICAgLy8gcGFyc2UgbnVtYmVyXG4gICAgICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLnBhcnNlTnVtYmVyKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciB8fCB1bmRlZmluZWQsIGxvY2FsZVVwZGF0ZWQpO1xuICAgICAgICAgICAgLy8gc2V0IHBsYWNlaG9sZGVyIGluIGNhc2Ugbm9uZSBpcyBwcm92aWRlZFxuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlckF0dHJpYnV0ZShudW1iZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gb2YgdGhlIENsZWF2ZSBpbnN0YW5jZSB0aGF0IGlzIGludm9rZWQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50IHR5cGUgb2YgQ2xlYXZlRXZlbnRPbkNoYW5nZVxuICAgICAqL1xuICAgIHByaXZhdGUgb25WYWx1ZUNoYW5nZWQoZXZlbnQ6IENsZWF2ZUV2ZW50T25DaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0YXJnZXQgfSA9IGV2ZW50O1xuXG4gICAgICAgIGlmICh0aGlzLmZpbGxGcmFjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5hcHBseUZyYWN0aW9uRmlsbCh0YXJnZXQucmF3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25DaGFuZ2UoTnVtYmVyLnBhcnNlRmxvYXQodGFyZ2V0LnJhd1ZhbHVlKSk7XG4gICAgICAgIC8vIGZpbGwgbGVhZGluZyB6ZXJvXG4gICAgICAgIGlmICh0aGlzLmxlYWRpbmdaZXJvKSB7XG4gICAgICAgICAgICBjb25zdCBzaXplID0gdGhpcy5sZWFkaW5nWmVybyA+IHRoaXMuZGlnaXRzICYmIHRoaXMuZGlnaXRzID4gMCA/IHRoaXMuZGlnaXRzIDogdGhpcy5sZWFkaW5nWmVybztcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMucGFkWmVybyhldmVudC50YXJnZXQucmF3VmFsdWUsIHNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVzcG9uc2libGUgdG8gZXh0cmFjdCBhbGwgbG9jYWxlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBidWlsZCBDbGVhdmVPcHRpb25zIHJlbGF0ZWQgdG8gbnVtYmVyIGZvcm1hdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIGxvY2FsZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Q2xlYXZlT3B0c0Jhc2VkT25Mb2NhbGUoaWQ6IHN0cmluZyk6IENsZWF2ZU9wdGlvbnMge1xuICAgICAgICBpZiAoIWlkIHx8IGlkID09PSAnJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdMb2NhbGUgaWQgY2Fubm90IGJlIGVtcHR5IG9yIHVuZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdHM6IENsZWF2ZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICBudW1lcmFsOiB0cnVlLFxuICAgICAgICAgICAgZGVsaW1pdGVyOiBnZXRMb2NhbGVOdW1iZXJTeW1ib2woaWQsIE51bWJlclN5bWJvbC5Hcm91cCksXG4gICAgICAgICAgICBudW1lcmFsRGVjaW1hbE1hcms6IGdldExvY2FsZU51bWJlclN5bWJvbChpZCwgTnVtYmVyU3ltYm9sLkRlY2ltYWwpLFxuICAgICAgICAgICAgbnVtZXJhbERlY2ltYWxTY2FsZTogdGhpcy5mcmFjdGlvbkRpZ2l0cyxcbiAgICAgICAgICAgIG51bWVyYWxJbnRlZ2VyU2NhbGU6IHRoaXMuZGlnaXRzLFxuICAgICAgICAgICAgbnVtZXJhbFRob3VzYW5kc0dyb3VwU3R5bGU6IHRoaXMubm9Gb3JtYXQgPyAnbm9uZScgOiAndGhvdXNhbmQnLCAvLyBUT0RPOiBpbXBsZW1lbnQgYmFzZWQgb24gbG9jYWxlXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRzIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwbGllcyB0aGUgZmlsbCBvZiBkZWNpbWFsIHBhcnQgd2l0aCB6ZXJvcyBpbiBjYXNlIGRlY2ltYWwgcGFydCBvZiBnaXZlbiBudW1iZXIgaGFzXG4gICAgICogc2l6ZSBsZXNzIHRoYW4gdGhlIG1heCBmcmFjdGlvbiBkaWdpdHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbnVtYmVyXG4gICAgICogQHBhcmFtIGNsZWF2ZUluc3RhbmNlXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGFwcGx5RnJhY3Rpb25GaWxsKG51bWJlcjogc3RyaW5nLCBjbGVhdmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2UgPSB0aGlzLmNsZWF2ZUluc3RhbmNlKTogdm9pZCB7XG4gICAgICAgIC8vIGlmIGZpbGwgZnJhY3Rpb24gaXMgZW5hYmxlZCBhbmQgdGhlcmUncyBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgaWYgKHRoaXMuZmlsbEZyYWN0aW9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jbGVhdmVJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgIG51bWJlciA9IG51bWJlcj8udG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICBpZiAobnVtYmVyID09PSAnJyB8fCAhbnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IG51bWJlci5zcGxpdCgnLicpLmxlbmd0aCA+IDE7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGVyZSdzIGFscmVhZHkgZGVjaW1hbCBwb2ludCBpbiBudW1iZXJcbiAgICAgICAgICAgICAgICBpZiAoaGFzRGVjaW1hbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNpbWFsU2l6ZSA9IG51bWJlci5zcGxpdCgnLicpWzFdLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgc2l6ZSBvZiBkZWNpbWFsIHBhcnQgb2YgbnVtYmVyIGlzIGxlc3MgdGhhbiB0aGUgbWF4IGZyYWN0aW9uIGRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVjaW1hbFNpemUgPCB0aGlzLl9mcmFjdGlvbkRpZ2l0cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyICsgbmV3IEFycmF5KHRoaXMuX2ZyYWN0aW9uRGlnaXRzIC0gZGVjaW1hbFNpemUpLmZpbGwoMCkuam9pbignJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIHRoZXJlJ3Mgbm90LCBmb3JjZSBpdCBieSBmaWxsaW5nIGl0IGFzIG11Y2ggemVybyBhcyB0aGUgZnJhY3Rpb24gZGlnaXRzXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZyYWN0aW9uRGlnaXRzID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBgJHtudW1iZXJ9LiR7bmV3IEFycmF5KHRoaXMuX2ZyYWN0aW9uRGlnaXRzKS5maWxsKDApLmpvaW4oJycpfWA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXZlSW5zdGFuY2Uuc2V0UmF3VmFsdWUobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXJzZXMgYSBnaXZlbiBmb3JtYXR0ZWQgbnVtYmVyIGFuZCByZXR1cm5zIGl0IGFzIGEgbnVtYmVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBmb3JtYXR0ZWQgbnVtYmVyIHlvdSB3YW50IHRvIHBhcnNlIGUuZy4gMTExLDg4OC4yMlxuICAgICAqIEBwYXJhbSB1c2VyUHJldkxvY2FsZVN0YXRlIFVzZSBwcmV2aW91cyBsb2NhbGUgc3RhdGUgdG8gcGFyc2UgdGhlIHZhbHVlLiBCeSBkZWZhdWx0LCBpcyBmYWxzZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYXJzZU51bWJlcih2YWx1ZTogc3RyaW5nLCB1c2VyUHJldkxvY2FsZVN0YXRlOiBib29sZWFuID0gZmFsc2UpOiBudW1iZXIge1xuICAgICAgICAvLyBsb2NhbGUgc3RhdGVcbiAgICAgICAgY29uc3QgbG9jYWxlID0gdXNlclByZXZMb2NhbGVTdGF0ZSA/IHRoaXMubG9jYWxlU2VydmljZT8ucHJldmlvdXNMb2NhbGUgOiB0aGlzLmxvY2FsZVNlcnZpY2U/LmN1cnJlbnRMb2NhbGUgfHwgdGhpcy5sb2NhbGVfaWQ7XG4gICAgICAgIC8vIGdldCBkZWNpbWFsIGFuZCBncm91cCBzeW1ib2xzXG4gICAgICAgIGNvbnN0IGRlY2ltYWxTeW1ib2wgPSBnZXRMb2NhbGVOdW1iZXJTeW1ib2wobG9jYWxlLCBOdW1iZXJTeW1ib2wuRGVjaW1hbCk7XG4gICAgICAgIGNvbnN0IGdyb3VwU3ltYm9sID0gZ2V0TG9jYWxlTnVtYmVyU3ltYm9sKGxvY2FsZSwgTnVtYmVyU3ltYm9sLkdyb3VwKTtcbiAgICAgICAgLy8gcmVwbGFjZSBzeW1ib2xzIHRvIHBhcnNlIG51bWJlclxuICAgICAgICBjb25zdCBwYXJzZWROdW1iZXIgPSB2YWx1ZT8uc3BsaXQoZ3JvdXBTeW1ib2wpLmpvaW4oJycpLnNwbGl0KGRlY2ltYWxTeW1ib2wpLmpvaW4oJy4nKTtcbiAgICAgICAgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KHBhcnNlZE51bWJlcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFkIGxlYWRpbmcgemVybyB0byB0aGUgbnVtYmVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbnVtIFRoZSBudW1iZXIgdG8gYWRkIGxlYWRpbmcgemVybyB0b1xuICAgICAqIEBwYXJhbSBzaXplIE51bWJlciBvZiBudW1iZXIncyBsZWFkaW5nIHplcm9cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcGFkWmVybyhudW0sIHNpemUpOiBzdHJpbmcge1xuICAgICAgICBudW0gPSBudW0udG9TdHJpbmcoKTtcbiAgICAgICAgLy8gZ2V0IGludGVnZXIgYW5kIGRlY2ltYWwgcGFydFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICAgIGxldCBbaW50ZWdlciwgZGVjaW1hbF0gPSBudW0uc3BsaXQoJy4nKTtcbiAgICAgICAgd2hpbGUgKGludGVnZXIubGVuZ3RoIDwgc2l6ZSkge1xuICAgICAgICAgICAgaW50ZWdlciA9ICcwJyArIGludGVnZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlY2ltYWwgPyBgJHtpbnRlZ2VyfS4ke2RlY2ltYWx9YCA6IGludGVnZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2tzIHdoZXRoZXIgdGhlIG1pbiBzeW1ib2wgaXMgYWxsb3dlZC4gSXQgaXMgYWxsb3dlZCB3aGVuIG1pbnVzIHN5bWJvbFxuICAgICAqIHByb3ZpZGVkIGFuZCBtaW4gaW5wdXQgaXMgdW5kZWZpbmVkIG9yIG1pbiBwcm92aWRlZCBhbmQgaXMgbmVnYXRpdmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgc3RyaW5nIGNvbWluZyBmcm9tIGFuIGV2ZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBpc01pbnVzQWxsb3dlZChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubWluIHx8IHRoaXMubWluIDwgMCA/IGtleSAhPT0gJy0nIDogdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayB3aGV0aGVyIHRoZSBrZXkgZW50ZXJlZCBpcyBpbnNpZGUgdGhlIG1pbiBhbmRcbiAgICAgKiBtYXggcmFuZ2UuIFJldHVybnMgdHJ1ZSBpZiBpdCdzIG91dCBvZiByYW5nZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlIEEga2V5Ym9hcmQgZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGlzT3V0U2lkZVJhbmdlKGU6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZ2V0IGNhcmV0IHBvc2l0aW9uXG4gICAgICAgIGNvbnN0IHBvcyA9IGUudGFyZ2V0WydzZWxlY3Rpb25TdGFydCddO1xuICAgICAgICAvLyBnZXQgY2FyZXQgcG9zaXRpb24gKGluIGNhc2UgdGhlcmUncyB0ZXh0IHNlbGVjdGVkKVxuICAgICAgICBjb25zdCBlbmRQb3MgPSBlLnRhcmdldFsnc2VsZWN0aW9uRW5kJ107XG4gICAgICAgIC8vIGdldCBjdXJyZW50IHZhbHVlIChmb3JtYXR0ZWQpXG4gICAgICAgIGxldCB2YWx1ZSA9IGUudGFyZ2V0Wyd2YWx1ZSddO1xuICAgICAgICAvLyByZW1vdmUga2V5IGZyb20gdmFsdWVcbiAgICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJyB8fCBlLmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXJlJ3Mgc2VsZWN0aW9uIG9mIHRleHQgdG8gYmUgcmVtb3ZlZFxuICAgICAgICAgICAgaWYgKHBvcyAhPT0gZW5kUG9zKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBlLnRhcmdldFsndmFsdWUnXS5zdWJzdHJpbmcoMCwgcG9zKSArIGUudGFyZ2V0Wyd2YWx1ZSddLnN1YnN0cmluZyhlbmRQb3MsIGUudGFyZ2V0Wyd2YWx1ZSddLmxlbmd0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gZS50YXJnZXRbJ3ZhbHVlJ10uc3Vic3RyaW5nKDAsIHBvcyAtIDEpICsgZS50YXJnZXRbJ3ZhbHVlJ10uc3Vic3RyaW5nKGVuZFBvcywgZS50YXJnZXRbJ3ZhbHVlJ10ubGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGFkZCBrZXkgdG8gdGhlIHZhbHVlXG4gICAgICAgICAgICB2YWx1ZSA9IFt2YWx1ZS5zbGljZSgwLCBwb3MpLCBlLmtleSwgdmFsdWUuc2xpY2UoZW5kUG9zKV0uam9pbignJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjcmVhdGUgYSBDbGVhdmUgaW5zdGFuY2UgdG8gZXh0cmFjdCB0aGUgbnVtYmVyIGZyb20gZm9ybWF0dGVkIHZhbHVlXG4gICAgICAgIGNvbnN0IGNsZWF2ZTogQ2xlYXZlSW5zdGFuY2UgPSBuZXcgQ2xlYXZlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JyksIHsgLi4udGhpcy5vcHRpb25zIH0pO1xuICAgICAgICBjbGVhdmUuc2V0UmF3VmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIoY2xlYXZlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICAvLyBkZXN0cm95IGNsZWF2ZSBpbnN0YW5jZVxuICAgICAgICBjbGVhdmUuZGVzdHJveSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPiBudW1iZXIgfHwgdGhpcy5tYXggPCBudW1iZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjaW1hbCBhZGp1c3RtZW50IG9mIGEgbnVtYmVyLlxuICAgICAqXG4gICAgICogQHBhcmFtICB2YWx1ZSBUaGUgbnVtYmVyLlxuICAgICAqIEBwYXJhbSBleHAgICBUaGUgZXhwb25lbnQgKHRoZSAxMCBsb2dhcml0aG0gb2YgdGhlIGFkanVzdG1lbnQgYmFzZSkuXG4gICAgICogQHJldHVybnMgVGhlIGFkanVzdGVkIHZhbHVlLlxuICAgICAqL1xuICAgIHByaXZhdGUgZGVjaW1hbEFkanVzdCh2YWx1ZTogbnVtYmVyLCBleHA6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIC8vIElmIHRoZSBleHAgaXMgdW5kZWZpbmVkIG9yIHplcm8uLi5cbiAgICAgICAgaWYgKHR5cGVvZiBleHAgPT09ICd1bmRlZmluZWQnIHx8ICtleHAgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZSA9ICt2YWx1ZTtcbiAgICAgICAgZXhwID0gK2V4cDtcbiAgICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIG5vdCBhIG51bWJlciBvciB0aGUgZXhwIGlzIG5vdCBhbiBpbnRlZ2VyLi4uXG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkgfHwgISh0eXBlb2YgZXhwID09PSAnbnVtYmVyJyAmJiBleHAgJSAxID09PSAwKSkge1xuICAgICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgfVxuICAgICAgICAvLyBTaGlmdFxuICAgICAgICBsZXQgY2xlYW5lZCA9IHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJ2UnKTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLnJvdW5kKCsoY2xlYW5lZFswXSArICdlJyArIChjbGVhbmVkWzFdID8gK2NsZWFuZWRbMV0gLSBleHAgOiAtZXhwKSkpO1xuICAgICAgICAvLyBTaGlmdCBiYWNrXG4gICAgICAgIGNsZWFuZWQgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCdlJyk7XG4gICAgICAgIHJldHVybiArKGNsZWFuZWRbMF0gKyAnZScgKyAoY2xlYW5lZFsxXSA/ICtjbGVhbmVkWzFdICsgZXhwIDogZXhwKSk7XG4gICAgfVxufVxuIl19
575
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktaW5wdXQtbnVtYmVyL2V1aS1pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEVBR1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBTUwsaUJBQWlCLEdBRXBCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBNkIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRyxPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUM7QUFFL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUE0QzNDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjO0lBQ3ZEOztPQUVHO0lBQ0gsSUFDVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxLQUFrQjtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQ1csR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FB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QUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVlGLFFBQVE7c0JBRFgsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQUM4QixJQUFJO3NCQUF2QyxXQUFXO3VCQUFDLFdBQVc7Z0JBQ2YsS0FBSztzQkFBYixLQUFLO2dCQTJITixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXVCdkIsU0FBUztzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkN6QixVQUFVO3NCQURuQixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE9wdGlvbmFsLFxuICAgIExPQ0FMRV9JRCxcbiAgICBJbmplY3QsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5qZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSwgTG9jYWxlU3RhdGUgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyB0eXBlIENsZWF2ZU9wdGlvbnMgfSBmcm9tICdjbGVhdmUuanMvb3B0aW9ucyc7XG5pbXBvcnQgQ2xlYXZlIGZyb20gJ2NsZWF2ZS5qcyc7XG5pbXBvcnQgeyBDbGVhdmVFdmVudE9uQ2hhbmdlIH0gZnJvbSAnLi9tb2RlbHMvY2xlYXZlLWV2ZW50LW9uY2hhbmdlLm1vZGVsJztcbmltcG9ydCB7IElucHV0RGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBnZXRMb2NhbGVOdW1iZXJTeW1ib2wsIE51bWJlclN5bWJvbCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdWlDbGVhcmFibGVEaXJlY3RpdmUsIEV1aUxvYWRpbmdEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYXZlSW5zdGFuY2UgZXh0ZW5kcyBDbGVhdmUge1xuICAgIGluaXRTd2FwSGlkZGVuSW5wdXQ/OiAoKSA9PiB2b2lkO1xuICAgIGluaXROdW1lcmFsRm9ybWF0dGVyPzogKCkgPT4gdm9pZDtcbiAgICBpbml0VGltZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgaW5pdERhdGVGb3JtYXR0ZXI/OiAoKSA9PiB2b2lkO1xuICAgIGluaXRQaG9uZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlQ3JlZGl0Q2FyZFByb3BzQnlWYWx1ZT86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlVmFsdWVTdGF0ZT86ICgpID0+IHZvaWQ7XG4gICAgY2FsbE9uVmFsdWVDaGFuZ2VkPzogKCkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0PzogKGV2ZW50PzogRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Gb2N1cz86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29weT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uS2V5RG93bj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ2hhbmdlTGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbktleURvd25MaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uRm9jdXNMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0TGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbkNvcHlMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbZXVpSW5wdXROdW1iZXJdJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEV1aUNsZWFyYWJsZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydldWlDbGVhcmFibGUnLCAncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBFdWlMb2FkaW5nRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2V1aUxvYWRpbmcnLCAncmVhZG9ubHknXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXROdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrLCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIG51bWJlciBjYW4gYmUgZW50ZXJlZC4gQmxvY2tzIHVzZXIncyBpbnB1dCBpZiBub3QgaW4gcmFuZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1pbih2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fbWluID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBudW1iZXIgY2FuIGJlIGVudGVyZWQuIEJsb2NrcyB1c2VyJ3MgaW5wdXQgaWYgbm90IGluIHJhbmdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBtYXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heDtcbiAgICB9XG4gICAgcHVibGljIHNldCBtYXgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX21heCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIEFkZHMgbGVhZGluZyB6ZXJvIHRvIGEgbnVtYmVyLiBGb3JtYXR0aW5nIHdpbGwgbm90IHdvcmsuXG4gICAgICogICAgICBlLmcuIHdpdGggbGVhZGluZ1plcm89MyBpbnB1dCBudW1iZXIgNSA9PiAwMDVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbGVhZGluZ1plcm8oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xlYWRpbmdaZXJvO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGxlYWRpbmdaZXJvKHZhbHVlOiBOdW1iZXJJbnB1dCkge1xuICAgICAgICB0aGlzLl9sZWFkaW5nWmVybyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZCB8fCBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaXNJbnZhbGlkKHN0YXRlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZXRJbnZhbGlkKHN0YXRlKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZXVpLWlucHV0LW51bWJlcicpLCB0aGlzLl9pc0ludmFsaWQgPyBgZXVpLWlucHV0LW51bWJlci0taW52YWxpZGAgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgZGVjaW1hbCBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZnJhY3Rpb25EaWdpdHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZyYWN0aW9uRGlnaXRzO1xuICAgIH1cbiAgICBzZXQgZnJhY3Rpb25EaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2ZyYWN0aW9uRGlnaXRzID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgaW50ZWdlciBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlnaXRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWdpdHM7XG4gICAgfVxuICAgIHNldCBkaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2RpZ2l0cyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgZmlsbEZyYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsbEZyYWN0aW9uO1xuICAgIH1cbiAgICBzZXQgZmlsbEZyYWN0aW9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZmlsbEZyYWN0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIHJvdW5kcyBhIG51bWJlciB3aXRoIG1vcmUgdGhhbiB0d28gZGVjaW1hbHMgVVAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCByb3VuZFVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3VuZFVwO1xuICAgIH1cbiAgICBzZXQgcm91bmRVcCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fcm91bmRVcCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogZG9lcyBub3QgZm9ybWF0IHRoZSBhbmQgZG8gYSB0aG91c2FuZCBncm91cGluZyBvZiBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBub0Zvcm1hdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vRm9ybWF0O1xuICAgIH1cbiAgICBzZXQgbm9Gb3JtYXQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub0Zvcm1hdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfbm9Gb3JtYXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlJykgcHJvdGVjdGVkIHR5cGUgPSAnZXVpLW51bWJlcic7XG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3JvdW5kVXA6IG51bWJlcjtcbiAgICBwdWJsaWMgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZDtcbiAgICBjbGVhdmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2U7XG4gICAgcHJpdmF0ZSBfbWluOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbWF4OiBudW1iZXI7XG5cbiAgICBwcml2YXRlIF9sZWFkaW5nWmVybyA9IDA7XG4gICAgLyoqIGhvbGRzIGluc3RhbmNlIG9mIGNsZWF2ZSAqL1xuICAgIC8qKiBvcHRpb25zIGZvciB0aGUgQ2xlYXZlIGluc3RhbmNlICovXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBDbGVhdmVPcHRpb25zO1xuICAgIHByaXZhdGUgX2ZyYWN0aW9uRGlnaXRzID0gMDtcbiAgICBwcml2YXRlIF9kaWdpdHM6IG51bWJlcjtcbiAgICBwcml2YXRlIF9maWxsRnJhY3Rpb246IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZV9pZDogc3RyaW5nLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9yZW5kZXJlciwgaW5qZWN0b3IpO1xuXG4gICAgICAgIC8vIHNldCBkZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgbnVtZXJhbDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIHVuZGVmaW5lZCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgICAgICAvLyBpbnN0YW50aWF0ZSBjbGVhdmVcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdENsZWF2ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIGxvY2FsaXphdGlvbiBzZXJ2aWNlIGFuZCBsaXN0ZW4gZm9yIGxvY2FsZSBjaGFuZ2UuIERlLWNvbnN0cnVjdGlvbiBvZiBsb2NhbGUgc2hvdWxkIGhhcHBlbiBoZXJlIVxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmdldFN0YXRlKCkuc3Vic2NyaWJlKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZ2V0Q2xlYXZlT3B0c0Jhc2VkT25Mb2NhbGUoc3RhdGU/LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBvcHRpb25zIG9uIHRoZSBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucyh0cnVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAncm9vdENsYXNzTmFtZScsICdldWktaW5wdXQtbnVtYmVyJyk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCA6IHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICd2YWx1ZScpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdmcmFjdGlvbkRpZ2l0cycpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbERlY2ltYWxTY2FsZTogdGhpcy5mcmFjdGlvbkRpZ2l0cyB9O1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ25vRm9ybWF0JykpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCBudW1lcmFsVGhvdXNhbmRzR3JvdXBTdHlsZTogdGhpcy5ub0Zvcm1hdCA/ICdub25lJyA6ICd0aG91c2FuZCcgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdmaWxsRnJhY3Rpb24nKSAmJiB0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5RnJhY3Rpb25GaWxsKHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ2RpZ2l0cycpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbEludGVnZXJTY2FsZTogdGhpcy5kaWdpdHMgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdtaW4nKSkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ21pbiddLmN1cnJlbnRWYWx1ZSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGFrZSBjYXJlIG9mIHRoZSBzaWduIHN5bWJvbFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKE1hdGguYWJzKE51bWJlcih0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpKS50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ3JvdW5kVXAnKSkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ3JvdW5kVXAnXS5jdXJyZW50VmFsdWUgPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IHRoaXMuZGVjaW1hbEFkanVzdChudW1iZXIsIHRoaXMucm91bmRVcCAqIC0xKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIC8vIGRlc3Ryb3kgY2xlYXZlIGluc3RhbmNlXG4gICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoXykgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sICYmIChfICE9PSBudWxsIHx8IF8gIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIC8vIHBhcnNlIG51bWJlclxuICAgICAgICAgICAgLy8gY29uc3QgdmFsdWUgPSBOdW1iZXIoXyk7XG4gICAgICAgICAgICAvLyBydW4gb24gbmV4dCBNaWNyb1Rhc2sgdG8gYXZvaWQgTkcwMTAwIGVycm9yIFRPRE86IGRlZXBlciBpbnZlc3RpZ2F0aW9uXG4gICAgICAgICAgICAvLyBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuY29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh2YWx1ZSkpO1xuICAgICAgICAgICAgLy8gaW4gY2FzZSBjb250cm9sIGlzIEZvcm1Db250cm9sXG4gICAgICAgICAgICAvLyB0aGlzLmNvbnRyb2w/LmNvbnRyb2wuc2V0VmFsdWUoaXNOYU4odmFsdWUpID8gbnVsbCA6IHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UsIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH07XG5cbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pXG4gICAgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gZ2V0IHRoZSB2YWx1ZSBmcm9tIGNsaXBib2FyZFxuICAgICAgICBjb25zdCB2YWx1ZSA9IChldmVudC5jbGlwYm9hcmREYXRhIHx8IHdpbmRvd1snY2xpcGJvYXJkRGF0YSddKS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgIC8vIGluIGNhc2Ugcm91bmQgVVAgaXMgZW5hYmxlZFxuICAgICAgICBpZiAodGhpcy5fcm91bmRVcCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgICAgICAvLyBjcmVhdGUgYSBjbG9uZSBvZiBjbGVhdmVJbnN0YW5jZVxuICAgICAgICAgICAgY29uc3QgY2xvbmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2UgPSBuZXcgQ2xlYXZlKGRpdiwgeyAuLi50aGlzLm9wdGlvbnMsIG51bWVyYWxEZWNpbWFsU2NhbGU6IDggfSk7XG4gICAgICAgICAgICBjbG9uZUluc3RhbmNlLnNldFJhd1ZhbHVlKHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgbGV0IG51bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KGNsb25lSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgICAgICBudW1iZXIgPSB0aGlzLmRlY2ltYWxBZGp1c3QobnVtYmVyLCB0aGlzLnJvdW5kVXAgKiAtMSk7XG4gICAgICAgICAgICBpZiAoIU51bWJlci5pc05hTihudW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgaW4gdGhlIGZ1dHVyZSBob3cgY2FuIHRoaXMgYmUgYXZvaWRlZFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLndyaXRlVmFsdWUobnVtYmVyLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHJvdGVjdGVkIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGl0J3MgYSBzaW5nbGUgc3ltYm9sIGFuZCBub3QgU3BlY2lhbCBsaWtlIChDdHJsLCBiYWNrc3BhY2UgZXRjKVxuICAgICAgICBpZiAoZT8ua2V5Lmxlbmd0aCA8PSAxICYmICFlLmN0cmxLZXkgJiYgIWUuYWx0S2V5ICYmICFlLm1ldGFLZXkpIHtcbiAgICAgICAgICAgIC8vIHN0b3AgZXZlbnQgcHJvcGFnYXRpb24gaWYga2V5IHByZXNzZWQgaXMgbm90IGEgbnVtYmVyIG9yIGxvY2FsZSBjaGFyYWN0ZXIgb3IgbWludXMgc2lnblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIE51bWJlci5pc05hTihOdW1iZXIucGFyc2VJbnQoZS5rZXksIDEwKSkgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmlzTWludXNBbGxvd2VkKGUua2V5KSAmJlxuICAgICAgICAgICAgICAgIGUua2V5ICE9PSBnZXRMb2NhbGVOdW1iZXJTeW1ib2wodGhpcy5sb2NhbGVTZXJ2aWNlPy5jdXJyZW50TG9jYWxlIHx8IHRoaXMubG9jYWxlX2lkLCBOdW1iZXJTeW1ib2wuRGVjaW1hbClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIC8vIHN0b3AgZXZlbnQgcHJvcGFnYXRpb24gaWYga2V5IHByZXNzZWQgZXhjZWVkcyB0aGUgbWluL21heCB2YWx1ZSByYW5nZVxuICAgICAgICAgICAgfSBlbHNlIGlmICghTnVtYmVyLmlzTmFOKE51bWJlci5wYXJzZUludChlLmtleSwgMTApKSAmJiB0aGlzLmlzT3V0U2lkZVJhbmdlKGUpKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNPdXRTaWRlUmFuZ2UoZSkpIHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHByb3RlY3QgZGVjaW1hbCBzeW1ib2wgZGVsZXRpb24gaW4gY2FzZSBmaWxsRnJhY3Rpb24gaXMgb25cbiAgICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJyB8fCBlLmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAvLyBwb3NpdGlvbiBvZiBjYXJldFxuICAgICAgICAgICAgY29uc3QgcG9zID0gZWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgIC8vIGdldCBjaGFyYWN0ZXIgYWJvdXQgdG8gYmUgZGVsZXRlZFxuICAgICAgICAgICAgY29uc3QgY2hhciA9IGVsZW1lbnQudmFsdWUuY2hhckF0KHBvcyAtIDEpO1xuICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGUgY2hhciBpcyB0aGUgZGVjaW1hbCBzeW1ib2wgcHJldmVudCBkZWxldGlvbiBhbmQgbW92ZSBjYXJldCBpbiBmcm9udFxuICAgICAgICAgICAgaWYgKGNoYXIgPT09IGdldExvY2FsZU51bWJlclN5bWJvbCh0aGlzLmxvY2FsZVNlcnZpY2U/LmN1cnJlbnRMb2NhbGUgfHwgdGhpcy5sb2NhbGVfaWQsIE51bWJlclN5bWJvbC5EZWNpbWFsKSkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zIC0gMSwgcG9zIC0gMSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNPdXRTaWRlUmFuZ2UoZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBkb24ndCBhbGxvdyBpbnNlcnRpb24gdGhhdCB3aWxsIHB1dCBudW1iZXIgb3V0IG9mIHJhbmdlXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNvdXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGluIGNhc2UgZmlsbEZyYWN0aW9uIGZlYXR1cmUgaXMgb24gYW5kIHRoZXJlJ3Mgbm8gaW50ZWdlciBwYXJ0IGFkZCBsZWFkaW5nIDBcbiAgICAgICAgaWYgKHRoaXMuZmlsbEZyYWN0aW9uICYmIHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKS5tYXRjaCgvXlxcLlswLTldKy9nKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZSgnMCcgKyB0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW4gY2FzZSByb3VuZCBVUCBpcyBlbmFibGVkXG4gICAgICAgIGlmICh0aGlzLl9yb3VuZFVwID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyLnBhcnNlRmxvYXQodGhpcy5jbGVhdmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXZlSW5zdGFuY2Uuc2V0UmF3VmFsdWUodGhpcy5kZWNpbWFsQWRqdXN0KG51bWJlciwgdGhpcy5yb3VuZFVwICogLTEpLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEludmFsaWQoc3RhdGU/OiBCb29sZWFuSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgLy8gaW4gY2FzZSBpdCdzIGNvbnRyb2xsZWQgYnkgTmdDb250cm9sIG92ZXJyaWRlXG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkIDogY29lcmNlQm9vbGVhblByb3BlcnR5KHN0YXRlKTtcblxuICAgICAgICAvLyBzZXQgQmFzZURpcmVjdGl2ZSBBdHRyaWJ1dGVcbiAgICAgICAgc3VwZXIuZXVpRGFuZ2VyID0gdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBPdmVycmlkZSBzZXRQbGFjZWhvbGRlciBzZXRQbGFjZWhvbGRlckF0dHJpYnV0ZSBvZiBJbnB1dERpcmVjdGl2ZVxuICAgICAqIFVwZGF0ZXMgdGhlIHBsYWNlaG9sZGVyIHZhbHVlIGJhc2VkIG9uIGN1cnJlbnQgbnVtYmVyIGZvcm1hdCBhbmQgZ2l2ZW4gdmFsdWUuXG4gICAgICogSWYgdmFsdWUgcGFzc2VkIGNvbnRhaW5zIGNoYXJhY3RlcnMgaXQgZG9lc24ndCBmb3JtYXQgcGxhY2Vob2xkZXIuXG4gICAgICogKi9cbiAgICBwcm90ZWN0ZWQgc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUodmFsdWU6IHN0cmluZyB8IG51bWJlciA9IDk5OTk5OS45OTk5KTogdm9pZCB7XG4gICAgICAgIC8vIGlmIHZhbHVlIGlzIGEgbnVtYmVyLCBmb3JtYXQgdGhlIHZhbHVlIGJhc2VkIG9uIGN1cnJlbnQgbnVtYmVyIGZvcm1hdFxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgLy8gY3JlYXRlIGEgY2xvbmUgb2YgY2xlYXZlSW5zdGFuY2VcbiAgICAgICAgICAgIGNvbnN0IGNsb25lSW5zdGFuY2U6IENsZWF2ZUluc3RhbmNlID0gbmV3IENsZWF2ZShkaXYsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICAvLyBCRVdBUkU6IGJ5IHRoZSB0aW1lIHlvdXIgc2V0UmF3VmFsdWUgY2xlYXZlIG9wdGlvbnMgaGF2ZSBjaGFuZ2VkIHRodXMgbnVtYmVyIGZvcm1hdHRpbmdcbiAgICAgICAgICAgIGNsb25lSW5zdGFuY2Uuc2V0UmF3VmFsdWUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAvLyBzZXQgdGhlIHZhbHVlIHdpdGggY3VycmVudCBmb3JtYXQgYXMgcGxhY2Vob2xkZXJcbiAgICAgICAgICAgIHN1cGVyLnNldFBsYWNlaG9sZGVyQXR0cmlidXRlKGNsb25lSW5zdGFuY2UuZ2V0Rm9ybWF0dGVkVmFsdWUoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgc3VwZXIuc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIHN1cGVyLnNldFBsYWNlaG9sZGVyQXR0cmlidXRlKHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaW5zdGFudGlhdGUgQ2xlYXZlLmpzXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbml0Q2xlYXZlKG9uQ2hhbmdlQ2FsbGJhY2s/OiAob2JqOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBjaGFuZ2UgdGhlIGNsZWF2ZSBwcm90b3R5cGUgZnVuY3Rpb24gdG8gaW50ZXJjZXB0IG9uQ3V0IGNhbGxiYWNrXG4gICAgICAgIC8vIGFuZCBhbGxvdyBiYXNlZCBvbiB0aGUgZXZlbnQgYnViYmxpbmcgYW5kIGRpc2FibGVkIHN0YXRlXG4gICAgICAgIC8vIFRJUDogY2hhbmdlIGJlaGF2aW9yIG9mIG9uQ3V0IHRvIHN0b3AgaW4gY2FzZSBidWJibGUgaXMgY2FuY2VsZWRcbiAgICAgICAgLy8gVE9ETzogU2VlIHJlbGV2YW50IGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ub3Npci9jbGVhdmUuanMvaXNzdWVzLzY3NVxuICAgICAgICBjb25zdCBfb25DdXQgPSBDbGVhdmUucHJvdG90eXBlWydvbkN1dCddO1xuICAgICAgICBDbGVhdmUucHJvdG90eXBlWydvbkN1dCddID0gZnVuY3Rpb24gKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW52YWxpZC10aGlzXG4gICAgICAgICAgICBpZiAoIWUuY2FuY2VsQnViYmxlICYmICF0aGlzLmVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW52YWxpZC10aGlzXG4gICAgICAgICAgICAgICAgX29uQ3V0LmNhbGwodGhpcywgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gaW4gY2FzZSBvcHRpb25zIGlzIHVuZGVmaW5lZFxuICAgICAgICBjb25zdCBvcHRzOiBDbGVhdmVPcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMgfTtcblxuICAgICAgICAvLyBzZXQgdGhlIG9uVmFsdWUgY2hhbmdlIGxpc3RlbmVyIHRvIGtlZXAgdGhlIHZhbHVlIGF0IHJlYWRPbmx5IGVsZW1lbnQgaW4gc3luY1xuICAgICAgICBvcHRzLm9uVmFsdWVDaGFuZ2VkID0gb25DaGFuZ2VDYWxsYmFjayB8fCB0aGlzLm9uVmFsdWVDaGFuZ2VkLmJpbmQodGhpcyk7XG5cbiAgICAgICAgLy8gaW4gY2FzZSByb3VuZCBVUCBpcyBlbmFibGVkXG4gICAgICAgIGlmICh0aGlzLl9yb3VuZFVwID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyLnBhcnNlRmxvYXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZGVjaW1hbEFkanVzdChudW1iZXIsIHRoaXMucm91bmRVcCAqIC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgQ2xlYXZlIGluc3RhbmNlIHdpdGggdGhlIG5ldyBvciB1cGRhdGVkIG9wdGlvbnNcbiAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZSA9IG5ldyBDbGVhdmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBvcHRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBjbGVhdmUgb3B0aW9ucyBieSBkZXN0cm95aW5nIHRoZSBjdXJyZW50IGluc3RhbmNlIGFuZCBjcmVhdGluZyBhbm90aGVyIG9uZSB3aGlsZSBrZWVwaW5nIHRoZSBwcmV2aW91c1xuICAgICAqIHZhbHVlLlxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlT3B0aW9ucyhsb2NhbGVVcGRhdGVkOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgIC8vIHRoZSB2YWx1ZSBiZWZvcmUgZGVzdHJveWluZyBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSB0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCk7XG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgQ2xlYXZlIGluc3RhbmNlIHdpdGggdGhlIG5ldyBvciB1cGRhdGVkIG9wdGlvbnNcbiAgICAgICAgICAgIHRoaXMuY2xlYXZlSW5zdGFuY2UucHJvcGVydGllcyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmNsZWF2ZUluc3RhbmNlLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIGluaXRWYWx1ZTogcHJldmlvdXNWYWx1ZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vIGluaXQgbnVtYmVyIGZvcm1hdHRlciB3aXRoIHVwZGF0ZWQgb3B0aW9uc1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5pbml0TnVtZXJhbEZvcm1hdHRlcigpO1xuXG4gICAgICAgICAgICAvLyBJbiBjYXNlIHByZXZpb3VzIHNldHRpbmdzIHdoZXJlIG51bWVyYWxEZWNpbWFsTWFyaz0nLicgd2l0aCB2YWx1ZSAxMDAwLjk5LCBhbmQgdGhleSBjaGFuZ2VkIHRvXG4gICAgICAgICAgICAvLyBudW1lcmFsRGVjaW1hbE1hcms9JywnOyBzZXQgaW5pdFZhbHVlIHRvIDEwMDAuOTkgb3IgZXZlbiAxMDAwLDk5IHdpbGwgbm90IGJlIHJlZmxlY3RlZCBhbmQgY2xlYXZlIHdpbGxcbiAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgZGVjaW1hbCBwYXJ0LiBTZXQgb2YgdGhlIHZhbHVlIGFmdGVyIGluaXRpYWxpemF0aW9uIGNhdXNlcyByZWZvcm1hdCBvZiBudW1iZXIgYW5kIHdvcmtzLlxuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShwcmV2aW91c1ZhbHVlKTtcblxuICAgICAgICAgICAgLy8gcGFyc2UgbnVtYmVyXG4gICAgICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLnBhcnNlTnVtYmVyKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciB8fCB1bmRlZmluZWQsIGxvY2FsZVVwZGF0ZWQpO1xuICAgICAgICAgICAgLy8gc2V0IHBsYWNlaG9sZGVyIGluIGNhc2Ugbm9uZSBpcyBwcm92aWRlZFxuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlckF0dHJpYnV0ZShudW1iZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gb2YgdGhlIENsZWF2ZSBpbnN0YW5jZSB0aGF0IGlzIGludm9rZWQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50IHR5cGUgb2YgQ2xlYXZlRXZlbnRPbkNoYW5nZVxuICAgICAqL1xuICAgIHByaXZhdGUgb25WYWx1ZUNoYW5nZWQoZXZlbnQ6IENsZWF2ZUV2ZW50T25DaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0YXJnZXQgfSA9IGV2ZW50O1xuXG4gICAgICAgIGlmICh0aGlzLmZpbGxGcmFjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5hcHBseUZyYWN0aW9uRmlsbCh0YXJnZXQucmF3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25DaGFuZ2UoTnVtYmVyLnBhcnNlRmxvYXQodGFyZ2V0LnJhd1ZhbHVlKSk7XG4gICAgICAgIC8vIGZpbGwgbGVhZGluZyB6ZXJvXG4gICAgICAgIGlmICh0aGlzLmxlYWRpbmdaZXJvKSB7XG4gICAgICAgICAgICBjb25zdCBzaXplID0gdGhpcy5sZWFkaW5nWmVybyA+IHRoaXMuZGlnaXRzICYmIHRoaXMuZGlnaXRzID4gMCA/IHRoaXMuZGlnaXRzIDogdGhpcy5sZWFkaW5nWmVybztcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMucGFkWmVybyhldmVudC50YXJnZXQucmF3VmFsdWUsIHNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVzcG9uc2libGUgdG8gZXh0cmFjdCBhbGwgbG9jYWxlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBidWlsZCBDbGVhdmVPcHRpb25zIHJlbGF0ZWQgdG8gbnVtYmVyIGZvcm1hdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIGxvY2FsZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Q2xlYXZlT3B0c0Jhc2VkT25Mb2NhbGUoaWQ6IHN0cmluZyk6IENsZWF2ZU9wdGlvbnMge1xuICAgICAgICBpZiAoIWlkIHx8IGlkID09PSAnJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdMb2NhbGUgaWQgY2Fubm90IGJlIGVtcHR5IG9yIHVuZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdHM6IENsZWF2ZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICBudW1lcmFsOiB0cnVlLFxuICAgICAgICAgICAgZGVsaW1pdGVyOiBnZXRMb2NhbGVOdW1iZXJTeW1ib2woaWQsIE51bWJlclN5bWJvbC5Hcm91cCksXG4gICAgICAgICAgICBudW1lcmFsRGVjaW1hbE1hcms6IGdldExvY2FsZU51bWJlclN5bWJvbChpZCwgTnVtYmVyU3ltYm9sLkRlY2ltYWwpLFxuICAgICAgICAgICAgbnVtZXJhbERlY2ltYWxTY2FsZTogdGhpcy5mcmFjdGlvbkRpZ2l0cyxcbiAgICAgICAgICAgIG51bWVyYWxJbnRlZ2VyU2NhbGU6IHRoaXMuZGlnaXRzLFxuICAgICAgICAgICAgbnVtZXJhbFRob3VzYW5kc0dyb3VwU3R5bGU6IHRoaXMubm9Gb3JtYXQgPyAnbm9uZScgOiAndGhvdXNhbmQnLCAvLyBUT0RPOiBpbXBsZW1lbnQgYmFzZWQgb24gbG9jYWxlXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRzIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwbGllcyB0aGUgZmlsbCBvZiBkZWNpbWFsIHBhcnQgd2l0aCB6ZXJvcyBpbiBjYXNlIGRlY2ltYWwgcGFydCBvZiBnaXZlbiBudW1iZXIgaGFzXG4gICAgICogc2l6ZSBsZXNzIHRoYW4gdGhlIG1heCBmcmFjdGlvbiBkaWdpdHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbnVtYmVyXG4gICAgICogQHBhcmFtIGNsZWF2ZUluc3RhbmNlXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGFwcGx5RnJhY3Rpb25GaWxsKG51bWJlcjogc3RyaW5nLCBjbGVhdmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2UgPSB0aGlzLmNsZWF2ZUluc3RhbmNlKTogdm9pZCB7XG4gICAgICAgIC8vIGlmIGZpbGwgZnJhY3Rpb24gaXMgZW5hYmxlZCBhbmQgdGhlcmUncyBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgaWYgKHRoaXMuZmlsbEZyYWN0aW9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jbGVhdmVJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgIG51bWJlciA9IG51bWJlcj8udG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICBpZiAobnVtYmVyID09PSAnJyB8fCAhbnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IG51bWJlci5zcGxpdCgnLicpLmxlbmd0aCA+IDE7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGVyZSdzIGFscmVhZHkgZGVjaW1hbCBwb2ludCBpbiBudW1iZXJcbiAgICAgICAgICAgICAgICBpZiAoaGFzRGVjaW1hbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNpbWFsU2l6ZSA9IG51bWJlci5zcGxpdCgnLicpWzFdLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgc2l6ZSBvZiBkZWNpbWFsIHBhcnQgb2YgbnVtYmVyIGlzIGxlc3MgdGhhbiB0aGUgbWF4IGZyYWN0aW9uIGRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVjaW1hbFNpemUgPCB0aGlzLl9mcmFjdGlvbkRpZ2l0cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyICsgbmV3IEFycmF5KHRoaXMuX2ZyYWN0aW9uRGlnaXRzIC0gZGVjaW1hbFNpemUpLmZpbGwoMCkuam9pbignJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIHRoZXJlJ3Mgbm90LCBmb3JjZSBpdCBieSBmaWxsaW5nIGl0IGFzIG11Y2ggemVybyBhcyB0aGUgZnJhY3Rpb24gZGlnaXRzXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZyYWN0aW9uRGlnaXRzID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBgJHtudW1iZXJ9LiR7bmV3IEFycmF5KHRoaXMuX2ZyYWN0aW9uRGlnaXRzKS5maWxsKDApLmpvaW4oJycpfWA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXZlSW5zdGFuY2Uuc2V0UmF3VmFsdWUobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXJzZXMgYSBnaXZlbiBmb3JtYXR0ZWQgbnVtYmVyIGFuZCByZXR1cm5zIGl0IGFzIGEgbnVtYmVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBmb3JtYXR0ZWQgbnVtYmVyIHlvdSB3YW50IHRvIHBhcnNlIGUuZy4gMTExLDg4OC4yMlxuICAgICAqIEBwYXJhbSB1c2VyUHJldkxvY2FsZVN0YXRlIFVzZSBwcmV2aW91cyBsb2NhbGUgc3RhdGUgdG8gcGFyc2UgdGhlIHZhbHVlLiBCeSBkZWZhdWx0LCBpcyBmYWxzZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYXJzZU51bWJlcih2YWx1ZTogc3RyaW5nLCB1c2VyUHJldkxvY2FsZVN0YXRlOiBib29sZWFuID0gZmFsc2UpOiBudW1iZXIge1xuICAgICAgICAvLyBsb2NhbGUgc3RhdGVcbiAgICAgICAgY29uc3QgbG9jYWxlID0gdXNlclByZXZMb2NhbGVTdGF0ZSA/IHRoaXMubG9jYWxlU2VydmljZT8ucHJldmlvdXNMb2NhbGUgOiB0aGlzLmxvY2FsZVNlcnZpY2U/LmN1cnJlbnRMb2NhbGUgfHwgdGhpcy5sb2NhbGVfaWQ7XG4gICAgICAgIC8vIGdldCBkZWNpbWFsIGFuZCBncm91cCBzeW1ib2xzXG4gICAgICAgIGNvbnN0IGRlY2ltYWxTeW1ib2wgPSBnZXRMb2NhbGVOdW1iZXJTeW1ib2wobG9jYWxlLCBOdW1iZXJTeW1ib2wuRGVjaW1hbCk7XG4gICAgICAgIGNvbnN0IGdyb3VwU3ltYm9sID0gZ2V0TG9jYWxlTnVtYmVyU3ltYm9sKGxvY2FsZSwgTnVtYmVyU3ltYm9sLkdyb3VwKTtcbiAgICAgICAgLy8gcmVwbGFjZSBzeW1ib2xzIHRvIHBhcnNlIG51bWJlclxuICAgICAgICBjb25zdCBwYXJzZWROdW1iZXIgPSB2YWx1ZT8uc3BsaXQoZ3JvdXBTeW1ib2wpLmpvaW4oJycpLnNwbGl0KGRlY2ltYWxTeW1ib2wpLmpvaW4oJy4nKTtcbiAgICAgICAgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KHBhcnNlZE51bWJlcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFkIGxlYWRpbmcgemVybyB0byB0aGUgbnVtYmVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbnVtIFRoZSBudW1iZXIgdG8gYWRkIGxlYWRpbmcgemVybyB0b1xuICAgICAqIEBwYXJhbSBzaXplIE51bWJlciBvZiBudW1iZXIncyBsZWFkaW5nIHplcm9cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcGFkWmVybyhudW0sIHNpemUpOiBzdHJpbmcge1xuICAgICAgICBudW0gPSBudW0udG9TdHJpbmcoKTtcbiAgICAgICAgLy8gZ2V0IGludGVnZXIgYW5kIGRlY2ltYWwgcGFydFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICAgIGxldCBbaW50ZWdlciwgZGVjaW1hbF0gPSBudW0uc3BsaXQoJy4nKTtcbiAgICAgICAgd2hpbGUgKGludGVnZXIubGVuZ3RoIDwgc2l6ZSkge1xuICAgICAgICAgICAgaW50ZWdlciA9ICcwJyArIGludGVnZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlY2ltYWwgPyBgJHtpbnRlZ2VyfS4ke2RlY2ltYWx9YCA6IGludGVnZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2tzIHdoZXRoZXIgdGhlIG1pbiBzeW1ib2wgaXMgYWxsb3dlZC4gSXQgaXMgYWxsb3dlZCB3aGVuIG1pbnVzIHN5bWJvbFxuICAgICAqIHByb3ZpZGVkIGFuZCBtaW4gaW5wdXQgaXMgdW5kZWZpbmVkIG9yIG1pbiBwcm92aWRlZCBhbmQgaXMgbmVnYXRpdmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgc3RyaW5nIGNvbWluZyBmcm9tIGFuIGV2ZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBpc01pbnVzQWxsb3dlZChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubWluIHx8IHRoaXMubWluIDwgMCA/IGtleSAhPT0gJy0nIDogdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayB3aGV0aGVyIHRoZSBrZXkgZW50ZXJlZCBpcyBpbnNpZGUgdGhlIG1pbiBhbmRcbiAgICAgKiBtYXggcmFuZ2UuIFJldHVybnMgdHJ1ZSBpZiBpdCdzIG91dCBvZiByYW5nZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlIEEga2V5Ym9hcmQgZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGlzT3V0U2lkZVJhbmdlKGU6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZ2V0IGNhcmV0IHBvc2l0aW9uXG4gICAgICAgIGNvbnN0IHBvcyA9IGUudGFyZ2V0WydzZWxlY3Rpb25TdGFydCddO1xuICAgICAgICAvLyBnZXQgY2FyZXQgcG9zaXRpb24gKGluIGNhc2UgdGhlcmUncyB0ZXh0IHNlbGVjdGVkKVxuICAgICAgICBjb25zdCBlbmRQb3MgPSBlLnRhcmdldFsnc2VsZWN0aW9uRW5kJ107XG4gICAgICAgIC8vIGdldCBjdXJyZW50IHZhbHVlIChmb3JtYXR0ZWQpXG4gICAgICAgIGxldCB2YWx1ZSA9IGUudGFyZ2V0Wyd2YWx1ZSddO1xuICAgICAgICAvLyByZW1vdmUga2V5IGZyb20gdmFsdWVcbiAgICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJyB8fCBlLmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXJlJ3Mgc2VsZWN0aW9uIG9mIHRleHQgdG8gYmUgcmVtb3ZlZFxuICAgICAgICAgICAgaWYgKHBvcyAhPT0gZW5kUG9zKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBlLnRhcmdldFsndmFsdWUnXS5zdWJzdHJpbmcoMCwgcG9zKSArIGUudGFyZ2V0Wyd2YWx1ZSddLnN1YnN0cmluZyhlbmRQb3MsIGUudGFyZ2V0Wyd2YWx1ZSddLmxlbmd0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gZS50YXJnZXRbJ3ZhbHVlJ10uc3Vic3RyaW5nKDAsIHBvcyAtIDEpICsgZS50YXJnZXRbJ3ZhbHVlJ10uc3Vic3RyaW5nKGVuZFBvcywgZS50YXJnZXRbJ3ZhbHVlJ10ubGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGFkZCBrZXkgdG8gdGhlIHZhbHVlXG4gICAgICAgICAgICB2YWx1ZSA9IFt2YWx1ZS5zbGljZSgwLCBwb3MpLCBlLmtleSwgdmFsdWUuc2xpY2UoZW5kUG9zKV0uam9pbignJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjcmVhdGUgYSBDbGVhdmUgaW5zdGFuY2UgdG8gZXh0cmFjdCB0aGUgbnVtYmVyIGZyb20gZm9ybWF0dGVkIHZhbHVlXG4gICAgICAgIGNvbnN0IGNsZWF2ZTogQ2xlYXZlSW5zdGFuY2UgPSBuZXcgQ2xlYXZlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JyksIHsgLi4udGhpcy5vcHRpb25zIH0pO1xuICAgICAgICBjbGVhdmUuc2V0UmF3VmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIoY2xlYXZlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICAvLyBkZXN0cm95IGNsZWF2ZSBpbnN0YW5jZVxuICAgICAgICBjbGVhdmUuZGVzdHJveSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPiBudW1iZXIgfHwgdGhpcy5tYXggPCBudW1iZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjaW1hbCBhZGp1c3RtZW50IG9mIGEgbnVtYmVyLlxuICAgICAqXG4gICAgICogQHBhcmFtICB2YWx1ZSBUaGUgbnVtYmVyLlxuICAgICAqIEBwYXJhbSBleHAgICBUaGUgZXhwb25lbnQgKHRoZSAxMCBsb2dhcml0aG0gb2YgdGhlIGFkanVzdG1lbnQgYmFzZSkuXG4gICAgICogQHJldHVybnMgVGhlIGFkanVzdGVkIHZhbHVlLlxuICAgICAqL1xuICAgIHByaXZhdGUgZGVjaW1hbEFkanVzdCh2YWx1ZTogbnVtYmVyLCBleHA6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIC8vIElmIHRoZSBleHAgaXMgdW5kZWZpbmVkIG9yIHplcm8uLi5cbiAgICAgICAgaWYgKHR5cGVvZiBleHAgPT09ICd1bmRlZmluZWQnIHx8ICtleHAgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZSA9ICt2YWx1ZTtcbiAgICAgICAgZXhwID0gK2V4cDtcbiAgICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIG5vdCBhIG51bWJlciBvciB0aGUgZXhwIGlzIG5vdCBhbiBpbnRlZ2VyLi4uXG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkgfHwgISh0eXBlb2YgZXhwID09PSAnbnVtYmVyJyAmJiBleHAgJSAxID09PSAwKSkge1xuICAgICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgfVxuICAgICAgICAvLyBTaGlmdFxuICAgICAgICBsZXQgY2xlYW5lZCA9IHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJ2UnKTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLnJvdW5kKCsoY2xlYW5lZFswXSArICdlJyArIChjbGVhbmVkWzFdID8gK2NsZWFuZWRbMV0gLSBleHAgOiAtZXhwKSkpO1xuICAgICAgICAvLyBTaGlmdCBiYWNrXG4gICAgICAgIGNsZWFuZWQgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCdlJyk7XG4gICAgICAgIHJldHVybiArKGNsZWFuZWRbMF0gKyAnZScgKyAoY2xlYW5lZFsxXSA/ICtjbGVhbmVkWzFdICsgZXhwIDogZXhwKSk7XG4gICAgfVxufVxuIl19
@@ -4,11 +4,11 @@ import { EuiInputNumberComponent } from './eui-input-number.component';
4
4
  import { EuiInputNumberDirective } from './eui-number-control.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  export class EuiInputNumberDirectiveModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberDirectiveModule, declarations: [EuiInputNumberComponent, EuiInputNumberDirective], imports: [CommonModule], exports: [EuiInputNumberComponent, EuiInputNumberDirective] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberDirectiveModule, imports: [CommonModule] }); }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberDirectiveModule, declarations: [EuiInputNumberComponent, EuiInputNumberDirective], imports: [CommonModule], exports: [EuiInputNumberComponent, EuiInputNumberDirective] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberDirectiveModule, imports: [CommonModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberDirectiveModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberDirectiveModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule],
@@ -55,8 +55,8 @@ export class EuiInputNumberDirective {
55
55
  this.onChange(isNaN(numberCoerce) ? null : numberCoerce);
56
56
  }
57
57
  }
58
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberDirective, deps: [{ token: i0.ElementRef }, { token: i1.EuiInputNumberComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
59
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiInputNumberDirective, selector: "input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]", providers: [
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberDirective, deps: [{ token: i0.ElementRef }, { token: i1.EuiInputNumberComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
59
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EuiInputNumberDirective, selector: "input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]", providers: [
60
60
  {
61
61
  provide: NG_VALUE_ACCESSOR,
62
62
  useExisting: forwardRef((() => EuiInputNumberDirective)),
@@ -64,7 +64,7 @@ export class EuiInputNumberDirective {
64
64
  },
65
65
  ], ngImport: i0 }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputNumberDirective, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputNumberDirective, decorators: [{
68
68
  type: Directive,
69
69
  args: [{
70
70
  selector: 'input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]',
@@ -76,7 +76,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
76
76
  },
77
77
  ],
78
78
  }]
79
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.EuiInputNumberComponent, decorators: [{
79
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.EuiInputNumberComponent, decorators: [{
80
80
  type: Optional
81
- }] }]; } });
81
+ }] }] });
82
82
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW51bWJlci1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS1pbnB1dC1udW1iZXIvZXVpLW51bWJlci1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sTUFBTSxNQUFNLFdBQVcsQ0FBQzs7O0FBWS9CLE1BQU0sT0FBTyx1QkFBdUI7SUFLaEMsWUFDWSxVQUFzQixFQUNWLGtCQUEyQztRQUR2RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ1YsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QjtJQUNoRSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNmLE1BQU0sTUFBTSxHQUFtQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFFO1lBQzNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM3RDtRQUNELElBQUksY0FBc0IsQ0FBQztRQUMzQixvQkFBb0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxHQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3RHLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTTtnQkFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7WUFDOUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN6RjthQUFNO1lBQ0gsY0FBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztRQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQVEsRUFBRTtZQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNWLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUNsRCxDQUFDO0lBRU8sU0FBUztRQUNiLDREQUE0RDtJQUNoRSxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQUs7UUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDNUQ7SUFDTCxDQUFDO3dJQS9EUSx1QkFBdUI7NEhBQXZCLHVCQUF1QixtSUFSckI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixFQUFDO2dCQUN0RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0o7O2tHQUVRLHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEdBQTBHO29CQUNwSCxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsd0JBQXdCLEVBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2lCQUNKOzswQkFRUSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDbGVhdmVJbnN0YW5jZSwgRXVpSW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2V1aS1pbnB1dC1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCBDbGVhdmUgZnJvbSAnY2xlYXZlLmpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFtldWlJbnB1dE51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W2V1aUlucHV0TnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W2V1aUlucHV0TnVtYmVyXVtuZ01vZGVsXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXVpSW5wdXROdW1iZXJEaXJlY3RpdmUpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXROdW1iZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgICAvKiogaG9sZCBhIGNvcHkgb2YgdGhlIHZhbHVlICovXG4gICAgcHJpdmF0ZSB2YWx1ZTogbnVtYmVyO1xuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh0OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGV1aU51bWJlckNvbXBvbmVudDogRXVpSW5wdXROdW1iZXJDb21wb25lbnRcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlOdW1iZXJDb21wb25lbnRbJ2luaXRDbGVhdmUnXSh0aGlzLnZhbHVlQ2hhbmdlcy5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsZWF2ZTogQ2xlYXZlSW5zdGFuY2UgPSBuZXcgQ2xlYXZlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JyksIHsgLi4udGhpcy5ldWlOdW1iZXJDb21wb25lbnRbJ29wdGlvbnMnXSB9KTtcbiAgICAgICAgY2xlYXZlLnNldFJhd1ZhbHVlKG9iaik7XG4gICAgICAgIGlmICh0aGlzLmV1aU51bWJlckNvbXBvbmVudC5maWxsRnJhY3Rpb24gJiYgb2JqICE9PSAnJyAmJiBvYmopIHtcbiAgICAgICAgICAgIHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50WydhcHBseUZyYWN0aW9uRmlsbCddKG9iaiwgY2xlYXZlKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdmFsdWVPZkVsZW1lbnQ6IHN0cmluZztcbiAgICAgICAgLy8gZmlsbCBsZWFkaW5nIHplcm9cbiAgICAgICAgaWYgKHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmxlYWRpbmdaZXJvKSB7XG4gICAgICAgICAgICBjb25zdCBzaXplID1cbiAgICAgICAgICAgICAgICB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5sZWFkaW5nWmVybyA+IHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmRpZ2l0cyAmJiB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5kaWdpdHMgPiAwXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5ldWlOdW1iZXJDb21wb25lbnQuZGlnaXRzXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5ldWlOdW1iZXJDb21wb25lbnQubGVhZGluZ1plcm87XG4gICAgICAgICAgICB2YWx1ZU9mRWxlbWVudCA9IHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50WydwYWRaZXJvJ10oY2xlYXZlLmdldEZvcm1hdHRlZFZhbHVlKCksIHNpemUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsdWVPZkVsZW1lbnQgPSBjbGVhdmUuZ2V0Rm9ybWF0dGVkVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlT2ZFbGVtZW50O1xuICAgICAgICB0aGlzLnZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQoY2xlYXZlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICBjbGVhdmUuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKHQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0O1xuICAgICAgICAgICAgZm4odCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmlzSW52YWxpZCA9IHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsdWVDaGFuZ2VzKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGFyZ2V0IH0gPSBldmVudDtcblxuICAgICAgICB0aGlzLmV1aU51bWJlckNvbXBvbmVudFsnb25WYWx1ZUNoYW5nZWQnXShldmVudCk7XG4gICAgICAgIGNvbnN0IG51bWJlckNvZXJjZSA9IE51bWJlci5wYXJzZUZsb2F0KHRhcmdldC5yYXdWYWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICE9PSBudW1iZXJDb2VyY2UgJiYgdGhpcy5vbkNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShpc05hTihudW1iZXJDb2VyY2UpID8gbnVsbCA6IG51bWJlckNvZXJjZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -132,17 +132,17 @@ export class EuiInputRadioComponent extends InputDirective {
132
132
  // set BaseDirective Attribute
133
133
  super.euiDanger = this._isInvalid;
134
134
  }
135
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputRadioComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
136
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiInputRadioComponent, selector: "input[euiInputRadio]", inputs: { isInvalid: "isInvalid", class: "class", defaultChecked: ["checked", "defaultChecked"], value: "value" }, host: { listeners: { "change": "onCheckedChanged($event)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.class", "attr.type": "this.type", "attr.checked": "this.defaultChecked" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [".eui-input-radio:not(.cdk-visually-hidden){-webkit-appearance:inherit;appearance:inherit;align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;margin-right:var(--eui-base-spacing-s);position:relative;vertical-align:middle;transition:all .25s ease;width:1.25rem;accent-color:var(--eui-base-color-white);background:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-75)}.eui-input-radio:not(.cdk-visually-hidden)+label,.eui-input-radio:not(.cdk-visually-hidden)+.eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-base-spacing-m);white-space:inherit}.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-base-color-white)}.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23004494' stroke='%23004494' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");align-items:center;background:var(--eui-base-color-primary-100);border-radius:50%;box-sizing:content-box;display:flex;justify-content:center;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-base-color-grey-25);border:2px solid var(--eui-base-color-grey-75);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23004494' stroke='%23004494' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");background:var(--eui-base-color-primary-100);border-radius:50%;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+label{pointer-events:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly] .eui-label{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+.eui-label{display:inline-flex;cursor:default;margin-bottom:0;pointer-events:none;position:initial}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger{border:2px solid var(--eui-base-color-danger-100)!important}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid:checked:before,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger:checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23da2131' stroke='%23da2131' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");background:var(--eui-base-color-danger-100)!important;border-radius:50%;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):active,.eui-input-radio:not(.cdk-visually-hidden):focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:0;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}\n"], encapsulation: i0.ViewEncapsulation.None }); }
135
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputRadioComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
136
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EuiInputRadioComponent, selector: "input[euiInputRadio]", inputs: { isInvalid: "isInvalid", class: "class", defaultChecked: ["checked", "defaultChecked"], value: "value" }, host: { listeners: { "change": "onCheckedChanged($event)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.class", "attr.type": "this.type", "attr.checked": "this.defaultChecked" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [".eui-input-radio:not(.cdk-visually-hidden){-webkit-appearance:inherit;appearance:inherit;align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;margin-right:var(--eui-base-spacing-s);position:relative;vertical-align:middle;transition:all .25s ease;width:1.25rem;accent-color:var(--eui-base-color-white);background:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-75)}.eui-input-radio:not(.cdk-visually-hidden)+label,.eui-input-radio:not(.cdk-visually-hidden)+.eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-base-spacing-m);white-space:inherit}.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-base-color-white)}.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23004494' stroke='%23004494' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");align-items:center;background:var(--eui-base-color-primary-100);border-radius:50%;box-sizing:content-box;display:flex;justify-content:center;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-base-color-grey-25);border:2px solid var(--eui-base-color-grey-75);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23004494' stroke='%23004494' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");background:var(--eui-base-color-primary-100);border-radius:50%;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+label{pointer-events:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly] .eui-label{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+.eui-label{display:inline-flex;cursor:default;margin-bottom:0;pointer-events:none;position:initial}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger{border:2px solid var(--eui-base-color-danger-100)!important}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid:checked:before,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger:checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23da2131' stroke='%23da2131' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");background:var(--eui-base-color-danger-100)!important;border-radius:50%;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):active,.eui-input-radio:not(.cdk-visually-hidden):focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:0;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}\n"], encapsulation: i0.ViewEncapsulation.None }); }
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputRadioComponent, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputRadioComponent, decorators: [{
139
139
  type: Component,
140
140
  args: [{ selector: 'input[euiInputRadio]', template: '', encapsulation: ViewEncapsulation.None, styles: [".eui-input-radio:not(.cdk-visually-hidden){-webkit-appearance:inherit;appearance:inherit;align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;margin-right:var(--eui-base-spacing-s);position:relative;vertical-align:middle;transition:all .25s ease;width:1.25rem;accent-color:var(--eui-base-color-white);background:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-75)}.eui-input-radio:not(.cdk-visually-hidden)+label,.eui-input-radio:not(.cdk-visually-hidden)+.eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-base-spacing-m);white-space:inherit}.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-base-color-white)}.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23004494' stroke='%23004494' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");align-items:center;background:var(--eui-base-color-primary-100);border-radius:50%;box-sizing:content-box;display:flex;justify-content:center;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-base-color-grey-25);border:2px solid var(--eui-base-color-grey-75);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23004494' stroke='%23004494' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");background:var(--eui-base-color-primary-100);border-radius:50%;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+label{pointer-events:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly] .eui-label{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+.eui-label{display:inline-flex;cursor:default;margin-bottom:0;pointer-events:none;position:initial}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger{border:2px solid var(--eui-base-color-danger-100)!important}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid:checked:before,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger:checked:before{height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23da2131' stroke='%23da2131' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");background:var(--eui-base-color-danger-100)!important;border-radius:50%;height:.75rem;width:.75rem}.eui-input-radio:not(.cdk-visually-hidden):active,.eui-input-radio:not(.cdk-visually-hidden):focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:0;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}\n"] }]
141
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
141
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
142
142
  type: Optional
143
143
  }, {
144
144
  type: Self
145
- }] }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }]; }, propDecorators: { isInvalid: [{
145
+ }] }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }], propDecorators: { isInvalid: [{
146
146
  type: Input
147
147
  }], class: [{
148
148
  type: HostBinding,
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
167
167
  type: HostListener,
168
168
  args: ['keydown.space', ['$event']]
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWlucHV0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS1pbnB1dC1yYWRpby9ldWktaW5wdXQtcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsRUFFUixJQUFJLEVBSUosU0FBUyxFQUNULGlCQUFpQixFQUNqQixZQUFZLEdBR2YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBVTVFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFjO0lBQ3RELElBQ1csU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLFNBQVMsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUVXLEtBQUssQ0FBQyxRQUFnQjtRQUM3QixLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBVyxLQUFLO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hILENBQUM7SUFHRCxJQUVXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFXLGNBQWMsQ0FBQyxLQUFtQjtRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLHFC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QUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENoYW5nZUV2ZW50IH0gZnJvbSAnY2xlYXZlLmpzL3JlYWN0L3Byb3BzJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lucHV0W2V1aUlucHV0UmFkaW9dJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXRSYWRpb0NvbXBvbmVudCBleHRlbmRzIElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrLCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNJbnZhbGlkIHx8IG51bGw7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNJbnZhbGlkKHN0YXRlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZXRJbnZhbGlkKHN0YXRlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY2xhc3MoY3NzQ2xhc3M6IHN0cmluZykge1xuICAgICAgICBzdXBlci5zdHlsZUNsYXNzID0gY3NzQ2xhc3M7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktaW5wdXQtcmFkaW8nKSwgdGhpcy5faXNJbnZhbGlkID8gJ2V1aS1pbnB1dC1yYWRpby0taW52YWxpZCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSBwcm90ZWN0ZWQgdHlwZSA9ICdyYWRpbyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY2hlY2tlZCcpXG4gICAgQElucHV0KCdjaGVja2VkJylcbiAgICBwdWJsaWMgZ2V0IGRlZmF1bHRDaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdENoZWNrZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGVmYXVsdENoZWNrZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9kZWZhdWx0Q2hlY2tlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZGVmYXVsdENoZWNrZWQ6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5jaGVja2VkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgc2V0IHZhbHVlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8ICEhdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX3ZhbHVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJvdGVjdGVkIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX3JlbmRlcmVyLCBpbmplY3Rvcik7XG5cbiAgICAgICAgLy8gRmlyZWZveCBmaXg6IHNldCB0eXBlIHRvIHJhZGlvIGJlZm9yZSBmaXJzdCBuZ0RvQ2hlY2sgcnVuc1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudHlwZSA9ICdyYWRpbyc7XG5cbiAgICAgICAgLy8gaWYgdGhlcmUncyBubyBpZCBhdHRyaWJ1dGUgc2V0IG9uZVxuICAgICAgICBpZiAoIXRoaXMuX2lkKSB7XG4gICAgICAgICAgICB0aGlzLnNldElkQXR0cmlidXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZWdpc3RlciBjb250cm9sIHZhbHVlQWNjZXNzb3JcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIC8vIGluIGNhc2UgY29udHJvbCB2YWx1ZSBpcyBudWxsIHNldCB0aGUgZGVmYXVsdCBvbmUgKGlzQ2hlY2tlZCkgYW5kIHN5bmMgQ29udHJvbCBTdGF0ZVxuICAgICAgICAvLyBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIC8vIHRoaXMubmdDb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoJycsIHsgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiBmYWxzZSB9KTtcbiAgICAgICAgLy8gY2hhbmdpbmcgTW9kZWwgRXhwcmVzc2lvbiBhZnRlciB2aWV3IGNoZWNrZWQsIHNvIGRldGVjdCBjaGFuZ2VzXG4gICAgICAgIC8vIFRPRE86IGNoZWNrIHdoeSBhbHRob3VnaCBpdCdzIGNoZWNrZWQgLmNoZWNrZWQgcmV0dXJucyBmYWxzZVxuICAgICAgICAvLyB0aGlzLm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh0aGlzLl9jaGVja2VkKTtcbiAgICAgICAgLy8gdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBzdGF0dXMgPT09ICdJTlZBTElEJztcbiAgICAgICAgICAgICAgICB0aGlzLmV1aURhbmdlciA9IHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLm5nQ29udHJvbC5pbnZhbGlkICYmIHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vIHdoZW4gcmVhZG9ubHkgY2hhbmdlcyBoaWRlIG90aGVyIHJhZGlvIChpbnB1dCtsYWJlbClcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3JlYWRvbmx5J10pIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXNbJ3JlYWRvbmx5J10/LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICBpZiAocmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCBudWxsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3JlYWRvbmx5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1snaXNJbnZhbGlkJ10pIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydpc0ludmFsaWQnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdldWktaW5wdXQtcmFkaW8tLWludmFsaWQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZXVpLWlucHV0LXJhZGlvLS1pbnZhbGlkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIHNldCBjaGVja2VkIHN0YXRlIGJhc2VkIGlmIHJhZGlvIHZhbHVlIG1hdGNoZXMgdGhlIGNvbnRyb2wncyBvbmVcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB0aGlzLl92YWx1ZSA9PT0gb2JqO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25DaGVja2VkQ2hhbmdlZChldmVudDogQ2hhbmdlRXZlbnQ8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZWZhdWx0Q2hlY2tlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LnRhcmdldC52YWx1ZSA9PT0gJ29uJyA/IG51bGwgOiBldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvblNwYWNlUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEludmFsaWQoc3RhdGUpOiB2b2lkIHtcbiAgICAgICAgLy8gaW4gY2FzZSBpdCdzIGNvbnRyb2xsZWQgYnkgTmdDb250cm9sIG92ZXJyaWRlXG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkIDogY29lcmNlQm9vbGVhblByb3BlcnR5KHN0YXRlKTtcblxuICAgICAgICAvLyBzZXQgQmFzZURpcmVjdGl2ZSBBdHRyaWJ1dGVcbiAgICAgICAgc3VwZXIuZXVpRGFuZ2VyID0gdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UgPSAoXyk6IHZvaWQgPT4ge1xuICAgICAgICAvKiBOb3RoaW5nIHRvIGJlIERvbmUgc28gZmFyICovXG4gICAgfTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwcm90ZWN0ZWQgb25Ub3VjaGVkID0gKF8pOiB2b2lkID0+IHtcbiAgICAgICAgLyogTm90aGluZyB0byBiZSBEb25lIHNvIGZhciAqL1xuICAgIH07XG59XG4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWlucHV0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS1pbnB1dC1yYWRpby9ldWktaW5wdXQtcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsRUFFUixJQUFJLEVBSUosU0FBUyxFQUNULGlCQUFpQixFQUNqQixZQUFZLEdBR2YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBVTVFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFjO0lBQ3RELElBQ1csU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLFNBQVMsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUVXLEtBQUssQ0FBQyxRQUFnQjtRQUM3QixLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBVyxLQUFLO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hILENBQUM7SUFHRCxJQUVXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFXLGNBQWMsQ0FBQyxLQUFtQjtRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLHFC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QUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENoYW5nZUV2ZW50IH0gZnJvbSAnY2xlYXZlLmpzL3JlYWN0L3Byb3BzJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lucHV0W2V1aUlucHV0UmFkaW9dJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXRSYWRpb0NvbXBvbmVudCBleHRlbmRzIElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrLCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNJbnZhbGlkIHx8IG51bGw7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNJbnZhbGlkKHN0YXRlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZXRJbnZhbGlkKHN0YXRlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY2xhc3MoY3NzQ2xhc3M6IHN0cmluZykge1xuICAgICAgICBzdXBlci5zdHlsZUNsYXNzID0gY3NzQ2xhc3M7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktaW5wdXQtcmFkaW8nKSwgdGhpcy5faXNJbnZhbGlkID8gJ2V1aS1pbnB1dC1yYWRpby0taW52YWxpZCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSBwcm90ZWN0ZWQgdHlwZSA9ICdyYWRpbyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY2hlY2tlZCcpXG4gICAgQElucHV0KCdjaGVja2VkJylcbiAgICBwdWJsaWMgZ2V0IGRlZmF1bHRDaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdENoZWNrZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGVmYXVsdENoZWNrZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9kZWZhdWx0Q2hlY2tlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZGVmYXVsdENoZWNrZWQ6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5jaGVja2VkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgc2V0IHZhbHVlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8ICEhdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX3ZhbHVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJvdGVjdGVkIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX3JlbmRlcmVyLCBpbmplY3Rvcik7XG5cbiAgICAgICAgLy8gRmlyZWZveCBmaXg6IHNldCB0eXBlIHRvIHJhZGlvIGJlZm9yZSBmaXJzdCBuZ0RvQ2hlY2sgcnVuc1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudHlwZSA9ICdyYWRpbyc7XG5cbiAgICAgICAgLy8gaWYgdGhlcmUncyBubyBpZCBhdHRyaWJ1dGUgc2V0IG9uZVxuICAgICAgICBpZiAoIXRoaXMuX2lkKSB7XG4gICAgICAgICAgICB0aGlzLnNldElkQXR0cmlidXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZWdpc3RlciBjb250cm9sIHZhbHVlQWNjZXNzb3JcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIC8vIGluIGNhc2UgY29udHJvbCB2YWx1ZSBpcyBudWxsIHNldCB0aGUgZGVmYXVsdCBvbmUgKGlzQ2hlY2tlZCkgYW5kIHN5bmMgQ29udHJvbCBTdGF0ZVxuICAgICAgICAvLyBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIC8vIHRoaXMubmdDb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoJycsIHsgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiBmYWxzZSB9KTtcbiAgICAgICAgLy8gY2hhbmdpbmcgTW9kZWwgRXhwcmVzc2lvbiBhZnRlciB2aWV3IGNoZWNrZWQsIHNvIGRldGVjdCBjaGFuZ2VzXG4gICAgICAgIC8vIFRPRE86IGNoZWNrIHdoeSBhbHRob3VnaCBpdCdzIGNoZWNrZWQgLmNoZWNrZWQgcmV0dXJucyBmYWxzZVxuICAgICAgICAvLyB0aGlzLm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh0aGlzLl9jaGVja2VkKTtcbiAgICAgICAgLy8gdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBzdGF0dXMgPT09ICdJTlZBTElEJztcbiAgICAgICAgICAgICAgICB0aGlzLmV1aURhbmdlciA9IHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLm5nQ29udHJvbC5pbnZhbGlkICYmIHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vIHdoZW4gcmVhZG9ubHkgY2hhbmdlcyBoaWRlIG90aGVyIHJhZGlvIChpbnB1dCtsYWJlbClcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3JlYWRvbmx5J10pIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXNbJ3JlYWRvbmx5J10/LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICBpZiAocmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCBudWxsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3JlYWRvbmx5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1snaXNJbnZhbGlkJ10pIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydpc0ludmFsaWQnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdldWktaW5wdXQtcmFkaW8tLWludmFsaWQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZXVpLWlucHV0LXJhZGlvLS1pbnZhbGlkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIHNldCBjaGVja2VkIHN0YXRlIGJhc2VkIGlmIHJhZGlvIHZhbHVlIG1hdGNoZXMgdGhlIGNvbnRyb2wncyBvbmVcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB0aGlzLl92YWx1ZSA9PT0gb2JqO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25DaGVja2VkQ2hhbmdlZChldmVudDogQ2hhbmdlRXZlbnQ8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZWZhdWx0Q2hlY2tlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LnRhcmdldC52YWx1ZSA9PT0gJ29uJyA/IG51bGwgOiBldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvblNwYWNlUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEludmFsaWQoc3RhdGUpOiB2b2lkIHtcbiAgICAgICAgLy8gaW4gY2FzZSBpdCdzIGNvbnRyb2xsZWQgYnkgTmdDb250cm9sIG92ZXJyaWRlXG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkIDogY29lcmNlQm9vbGVhblByb3BlcnR5KHN0YXRlKTtcblxuICAgICAgICAvLyBzZXQgQmFzZURpcmVjdGl2ZSBBdHRyaWJ1dGVcbiAgICAgICAgc3VwZXIuZXVpRGFuZ2VyID0gdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UgPSAoXyk6IHZvaWQgPT4ge1xuICAgICAgICAvKiBOb3RoaW5nIHRvIGJlIERvbmUgc28gZmFyICovXG4gICAgfTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwcm90ZWN0ZWQgb25Ub3VjaGVkID0gKF8pOiB2b2lkID0+IHtcbiAgICAgICAgLyogTm90aGluZyB0byBiZSBEb25lIHNvIGZhciAqL1xuICAgIH07XG59XG4iXX0=
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { EuiInputRadioComponent } from './eui-input-radio.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class EuiInputRadioModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputRadioModule, declarations: [EuiInputRadioComponent], imports: [CommonModule], exports: [EuiInputRadioComponent] }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputRadioModule, imports: [CommonModule] }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputRadioModule, declarations: [EuiInputRadioComponent], imports: [CommonModule], exports: [EuiInputRadioComponent] }); }
8
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputRadioModule, imports: [CommonModule] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiInputRadioModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiInputRadioModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],