@coreui/angular-pro 4.5.20 → 4.5.21

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 (243) hide show
  1. package/esm2022/lib/accordion/accordion/accordion.component.mjs +3 -3
  2. package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
  3. package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
  4. package/esm2022/lib/accordion/accordion.module.mjs +4 -4
  5. package/esm2022/lib/accordion/accordion.service.mjs +3 -3
  6. package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
  7. package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
  8. package/esm2022/lib/alert/alert.component.mjs +3 -3
  9. package/esm2022/lib/alert/alert.module.mjs +4 -4
  10. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  11. package/esm2022/lib/avatar/avatar.module.mjs +4 -4
  12. package/esm2022/lib/backdrop/backdrop.service.mjs +3 -3
  13. package/esm2022/lib/badge/badge.component.mjs +3 -3
  14. package/esm2022/lib/badge/badge.module.mjs +4 -4
  15. package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
  16. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  17. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
  18. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +3 -3
  19. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
  20. package/esm2022/lib/button/button-close.directive.mjs +3 -3
  21. package/esm2022/lib/button/button.directive.mjs +3 -3
  22. package/esm2022/lib/button/button.module.mjs +4 -4
  23. package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
  24. package/esm2022/lib/button-group/button-group.module.mjs +4 -4
  25. package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
  26. package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
  27. package/esm2022/lib/calendar/calendar/calendar.component.mjs +3 -3
  28. package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
  29. package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
  30. package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
  31. package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
  32. package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +3 -3
  33. package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
  34. package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +3 -3
  35. package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
  36. package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +3 -3
  37. package/esm2022/lib/calendar/calendar.module.mjs +4 -4
  38. package/esm2022/lib/calendar/calendar.service.mjs +3 -3
  39. package/esm2022/lib/callout/callout.component.mjs +3 -3
  40. package/esm2022/lib/callout/callout.module.mjs +4 -4
  41. package/esm2022/lib/card/card-body.component.mjs +3 -3
  42. package/esm2022/lib/card/card-footer.component.mjs +3 -3
  43. package/esm2022/lib/card/card-group.component.mjs +3 -3
  44. package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
  45. package/esm2022/lib/card/card-header.component.mjs +3 -3
  46. package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
  47. package/esm2022/lib/card/card-img.directive.mjs +3 -3
  48. package/esm2022/lib/card/card-link.directive.mjs +3 -3
  49. package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
  50. package/esm2022/lib/card/card-text.directive.mjs +3 -3
  51. package/esm2022/lib/card/card-title.directive.mjs +3 -3
  52. package/esm2022/lib/card/card.component.mjs +3 -3
  53. package/esm2022/lib/card/card.module.mjs +4 -4
  54. package/esm2022/lib/carousel/carousel/carousel.component.mjs +3 -3
  55. package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
  56. package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
  57. package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
  58. package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
  59. package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
  60. package/esm2022/lib/carousel/carousel-state.mjs +3 -3
  61. package/esm2022/lib/carousel/carousel.config.mjs +3 -3
  62. package/esm2022/lib/carousel/carousel.module.mjs +4 -4
  63. package/esm2022/lib/carousel/carousel.service.mjs +3 -3
  64. package/esm2022/lib/collapse/collapse.directive.mjs +3 -3
  65. package/esm2022/lib/collapse/collapse.module.mjs +4 -4
  66. package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
  67. package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
  68. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +3 -3
  69. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  70. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +6 -6
  71. package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
  72. package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
  73. package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
  74. package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
  75. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +3 -3
  76. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
  77. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  78. package/esm2022/lib/dropdown/dropdown.service.mjs +3 -3
  79. package/esm2022/lib/element-cover/element-cover.component.mjs +3 -3
  80. package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
  81. package/esm2022/lib/footer/footer.component.mjs +3 -3
  82. package/esm2022/lib/footer/footer.module.mjs +4 -4
  83. package/esm2022/lib/form/form/form.directive.mjs +3 -3
  84. package/esm2022/lib/form/form-check/form-check-input.directive.mjs +3 -3
  85. package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
  86. package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
  87. package/esm2022/lib/form/form-control/form-control.directive.mjs +3 -3
  88. package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
  89. package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
  90. package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
  91. package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
  92. package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
  93. package/esm2022/lib/form/form.module.mjs +4 -4
  94. package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
  95. package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
  96. package/esm2022/lib/grid/col.component.mjs +3 -3
  97. package/esm2022/lib/grid/col.directive.mjs +3 -3
  98. package/esm2022/lib/grid/container.component.mjs +3 -3
  99. package/esm2022/lib/grid/grid.module.mjs +4 -4
  100. package/esm2022/lib/grid/gutter.directive.mjs +3 -3
  101. package/esm2022/lib/grid/row.component.mjs +3 -3
  102. package/esm2022/lib/grid/row.directive.mjs +3 -3
  103. package/esm2022/lib/header/header/header.component.mjs +3 -3
  104. package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
  105. package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
  106. package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
  107. package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
  108. package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
  109. package/esm2022/lib/header/header.module.mjs +4 -4
  110. package/esm2022/lib/image/img.directive.mjs +3 -3
  111. package/esm2022/lib/image/img.module.mjs +4 -4
  112. package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
  113. package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
  114. package/esm2022/lib/list-group/list-group.module.mjs +4 -4
  115. package/esm2022/lib/loading-button/loading-button.component.mjs +3 -3
  116. package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
  117. package/esm2022/lib/modal/modal/modal.component.mjs +3 -3
  118. package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
  119. package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
  120. package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
  121. package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
  122. package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
  123. package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
  124. package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
  125. package/esm2022/lib/modal/modal.module.mjs +4 -4
  126. package/esm2022/lib/modal/modal.service.mjs +3 -3
  127. package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +3 -3
  128. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +3 -3
  129. package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
  130. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
  131. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
  132. package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +8 -6
  133. package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +3 -3
  134. package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
  135. package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
  136. package/esm2022/lib/nav/nav-item.component.mjs +3 -3
  137. package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
  138. package/esm2022/lib/nav/nav.component.mjs +3 -3
  139. package/esm2022/lib/nav/nav.module.mjs +4 -4
  140. package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
  141. package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  142. package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
  143. package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
  144. package/esm2022/lib/navbar/navbar.component.mjs +3 -3
  145. package/esm2022/lib/navbar/navbar.module.mjs +4 -4
  146. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +3 -3
  147. package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
  148. package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
  149. package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
  150. package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
  151. package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
  152. package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
  153. package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
  154. package/esm2022/lib/pagination/page-item/page-item.directive.mjs +3 -3
  155. package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
  156. package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
  157. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  158. package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
  159. package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
  160. package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
  161. package/esm2022/lib/popover/popover/popover.component.mjs +3 -3
  162. package/esm2022/lib/popover/popover.directive.mjs +3 -3
  163. package/esm2022/lib/popover/popover.module.mjs +4 -4
  164. package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
  165. package/esm2022/lib/progress/progress.component.mjs +3 -3
  166. package/esm2022/lib/progress/progress.module.mjs +4 -4
  167. package/esm2022/lib/services/class-toggle.service.mjs +3 -3
  168. package/esm2022/lib/services/intersection.service.mjs +3 -3
  169. package/esm2022/lib/services/listeners.service.mjs +3 -3
  170. package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
  171. package/esm2022/lib/shared/shared.module.mjs +4 -4
  172. package/esm2022/lib/shared/template-id.directive.mjs +3 -3
  173. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +3 -3
  174. package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
  175. package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
  176. package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  177. package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  178. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
  179. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
  180. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
  181. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
  182. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
  183. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
  184. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +6 -6
  185. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
  186. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
  187. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +6 -6
  188. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
  189. package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
  190. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +3 -3
  191. package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
  192. package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
  193. package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +3 -3
  194. package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
  195. package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +3 -3
  196. package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
  197. package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
  198. package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
  199. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +3 -3
  200. package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
  201. package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
  202. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  203. package/esm2022/lib/spinner/spinner.module.mjs +4 -4
  204. package/esm2022/lib/table/table-active.directive.mjs +3 -3
  205. package/esm2022/lib/table/table-color.directive.mjs +3 -3
  206. package/esm2022/lib/table/table.directive.mjs +3 -3
  207. package/esm2022/lib/table/table.module.mjs +4 -4
  208. package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +3 -3
  209. package/esm2022/lib/tabs/tab-content-ref.directive.mjs +3 -3
  210. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +3 -3
  211. package/esm2022/lib/tabs/tab.service.mjs +3 -3
  212. package/esm2022/lib/tabs/tabs.module.mjs +4 -4
  213. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +6 -6
  214. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +6 -6
  215. package/esm2022/lib/time-picker/time-picker.component.mjs +3 -3
  216. package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
  217. package/esm2022/lib/toast/toast/toast.component.mjs +3 -3
  218. package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
  219. package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
  220. package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
  221. package/esm2022/lib/toast/toast.module.mjs +4 -4
  222. package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
  223. package/esm2022/lib/toast/toaster/toaster.component.mjs +3 -3
  224. package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
  225. package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
  226. package/esm2022/lib/tooltip/tooltip.directive.mjs +3 -3
  227. package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
  228. package/esm2022/lib/utilities/align.directive.mjs +3 -3
  229. package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
  230. package/esm2022/lib/utilities/border.directive.mjs +3 -3
  231. package/esm2022/lib/utilities/rounded.directive.mjs +3 -3
  232. package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
  233. package/esm2022/lib/utilities/utilities.module.mjs +4 -4
  234. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
  235. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
  236. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
  237. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
  238. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
  239. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
  240. package/esm2022/lib/widget/widget.module.mjs +4 -4
  241. package/fesm2022/coreui-angular-pro.mjs +786 -784
  242. package/fesm2022/coreui-angular-pro.mjs.map +1 -1
  243. package/package.json +1 -1
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { LoadingButtonComponent } from './loading-button.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class LoadingButtonModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LoadingButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: LoadingButtonModule, imports: [LoadingButtonComponent], exports: [LoadingButtonComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LoadingButtonModule }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: LoadingButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: LoadingButtonModule, imports: [LoadingButtonComponent], exports: [LoadingButtonComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: LoadingButtonModule }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LoadingButtonModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: LoadingButtonModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [LoadingButtonComponent],
@@ -212,8 +212,8 @@ export class ModalComponent {
212
212
  }, 300);
213
213
  }
214
214
  }
215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.ModalService }, { token: i2.BackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
216
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ModalComponent, isStandalone: true, selector: "c-modal", inputs: { alignment: "alignment", backdrop: "backdrop", fullscreen: "fullscreen", keyboard: "keyboard", id: "id", size: "size", transition: "transition", role: "role", ariaModal: "ariaModal", scrollable: "scrollable", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keyup": "onKeyDownHandler($event)", "mousedown": "onMouseDownHandler($event)", "click": "onClickHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, viewQueries: [{ propertyName: "modalContent", first: true, predicate: ModalContentComponent, descendants: true, read: ElementRef }], exportAs: ["cModal"], ngImport: i0, template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n", dependencies: [{ kind: "component", type: ModalDialogComponent, selector: "c-modal-dialog", inputs: ["alignment", "fullscreen", "scrollable", "size"] }, { kind: "component", type: ModalContentComponent, selector: "c-modal-content" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.ModalService }, { token: i2.BackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ModalComponent, isStandalone: true, selector: "c-modal", inputs: { alignment: "alignment", backdrop: "backdrop", fullscreen: "fullscreen", keyboard: "keyboard", id: "id", size: "size", transition: "transition", role: "role", ariaModal: "ariaModal", scrollable: "scrollable", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keyup": "onKeyDownHandler($event)", "mousedown": "onMouseDownHandler($event)", "click": "onClickHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, viewQueries: [{ propertyName: "modalContent", first: true, predicate: ModalContentComponent, descendants: true, read: ElementRef }], exportAs: ["cModal"], ngImport: i0, template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n", dependencies: [{ kind: "component", type: ModalDialogComponent, selector: "c-modal-dialog", inputs: ["alignment", "fullscreen", "scrollable", "size"] }, { kind: "component", type: ModalContentComponent, selector: "c-modal-content" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
217
217
  trigger('showHide', [
218
218
  state('visible', style({
219
219
  // display: 'block'
@@ -225,7 +225,7 @@ export class ModalComponent {
225
225
  ])
226
226
  ] }); }
227
227
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalComponent, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalComponent, decorators: [{
229
229
  type: Component,
230
230
  args: [{ selector: 'c-modal', animations: [
231
231
  trigger('showHide', [
@@ -6,10 +6,10 @@ export class ModalBodyComponent {
6
6
  'modal-body': true,
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ModalBodyComponent, isStandalone: true, selector: "c-modal-body", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ModalBodyComponent, isStandalone: true, selector: "c-modal-body", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalBodyComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalBodyComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'c-modal-body', template: '<ng-content></ng-content>', standalone: true, styles: [":host{display:block}\n"] }]
15
15
  }], propDecorators: { hostClasses: [{
@@ -6,10 +6,10 @@ export class ModalContentComponent {
6
6
  'modal-content': true
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ModalContentComponent, isStandalone: true, selector: "c-modal-content", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ModalContentComponent, isStandalone: true, selector: "c-modal-content", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalContentComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalContentComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{
15
15
  selector: 'c-modal-content',
@@ -11,10 +11,10 @@ export class ModalDialogComponent {
11
11
  [`modal-${this.size}`]: this.size
12
12
  };
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ModalDialogComponent, isStandalone: true, selector: "c-modal-dialog", inputs: { alignment: "alignment", fullscreen: "fullscreen", scrollable: "scrollable", size: "size" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}:host.modal-dialog-centered{display:flex}\n"] }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ModalDialogComponent, isStandalone: true, selector: "c-modal-dialog", inputs: { alignment: "alignment", fullscreen: "fullscreen", scrollable: "scrollable", size: "size" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}:host.modal-dialog-centered{display:flex}\n"] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalDialogComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalDialogComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'c-modal-dialog', template: '<ng-content></ng-content>', standalone: true, styles: [":host{display:block}:host.modal-dialog-centered{display:flex}\n"] }]
20
20
  }], propDecorators: { alignment: [{
@@ -9,10 +9,10 @@ export class ModalToggleDirective {
9
9
  $event.preventDefault();
10
10
  this.modalService.toggle({ show: 'toggle', id: this.id });
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalToggleDirective, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: ModalToggleDirective, isStandalone: true, selector: "[cModalToggle]", inputs: { id: ["cModalToggle", "id"] }, host: { listeners: { "click": "dismiss($event)" } }, ngImport: i0 }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalToggleDirective, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: ModalToggleDirective, isStandalone: true, selector: "[cModalToggle]", inputs: { id: ["cModalToggle", "id"] }, host: { listeners: { "click": "dismiss($event)" } }, ngImport: i0 }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalToggleDirective, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalToggleDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  selector: '[cModalToggle]',
@@ -6,10 +6,10 @@ export class ModalFooterComponent {
6
6
  'modal-footer': true,
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ModalFooterComponent, isStandalone: true, selector: "c-modal-footer", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ModalFooterComponent, isStandalone: true, selector: "c-modal-footer", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalFooterComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalFooterComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{
15
15
  selector: 'c-modal-footer',
@@ -6,10 +6,10 @@ export class ModalHeaderComponent {
6
6
  'modal-header': true
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ModalHeaderComponent, isStandalone: true, selector: "c-modal-header", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ModalHeaderComponent, isStandalone: true, selector: "c-modal-header", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalHeaderComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalHeaderComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{
15
15
  selector: 'c-modal-header',
@@ -6,10 +6,10 @@ export class ModalTitleDirective {
6
6
  'modal-title': true,
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: ModalTitleDirective, isStandalone: true, selector: "[cModalTitle]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: ModalTitleDirective, isStandalone: true, selector: "[cModalTitle]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalTitleDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalTitleDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[cModalTitle]',
@@ -10,8 +10,8 @@ import { ModalComponent } from './modal/modal.component';
10
10
  import { ModalService } from './modal.service';
11
11
  import * as i0 from "@angular/core";
12
12
  export class ModalModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: ModalModule, imports: [ModalBodyComponent,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: ModalModule, imports: [ModalBodyComponent,
15
15
  ModalComponent,
16
16
  ModalContentComponent,
17
17
  ModalDialogComponent,
@@ -26,9 +26,9 @@ export class ModalModule {
26
26
  ModalHeaderComponent,
27
27
  ModalTitleDirective,
28
28
  ModalToggleDirective] }); }
29
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalModule, providers: [ModalService], imports: [ModalComponent] }); }
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalModule, providers: [ModalService], imports: [ModalComponent] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  exports: [
@@ -9,10 +9,10 @@ export class ModalService {
9
9
  toggle(action) {
10
10
  this.modalState.next(action);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalService, providedIn: 'root' }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalService, providedIn: 'root' }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ModalService, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ModalService, decorators: [{
16
16
  type: Injectable,
17
17
  args: [{
18
18
  providedIn: 'root'
@@ -45,10 +45,10 @@ export class MultiSelectSearchDirective {
45
45
  }
46
46
  });
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectSearchDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
49
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: MultiSelectSearchDirective, isStandalone: true, selector: "[cMultiSelectSearch]", inputs: { delay: "delay", value: "value" }, outputs: { valueChange: "valueChange" }, exportAs: ["cMultiSelectSearch"], ngImport: i0 }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectSearchDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: MultiSelectSearchDirective, isStandalone: true, selector: "[cMultiSelectSearch]", inputs: { delay: "delay", value: "value" }, outputs: { valueChange: "valueChange" }, exportAs: ["cMultiSelectSearch"], ngImport: i0 }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectSearchDirective, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectSearchDirective, decorators: [{
52
52
  type: Directive,
53
53
  args: [{
54
54
  selector: '[cMultiSelectSearch]',
@@ -1045,15 +1045,15 @@ export class MultiSelectComponent {
1045
1045
  }
1046
1046
  this.activeOption = this.focusKeyManager?.activeItem ?? null;
1047
1047
  }
1048
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.FocusMonitor }, { token: i2.MultiSelectService }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
1049
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: MultiSelectComponent, isStandalone: true, selector: "c-multi-select", inputs: { allowCreateOptions: "allowCreateOptions", cleaner: "cleaner", clearSearchOnSelect: "clearSearchOnSelect", disabled: "disabled", loading: "loading", multiple: "multiple", nativeFormId: "nativeFormId", nativeId: "nativeId", nativeName: "nativeName", options: "options", optionsMaxHeight: "optionsMaxHeight", optionsStyle: "optionsStyle", placeholder: "placeholder", search: "search", searchNoResultsLabel: "searchNoResultsLabel", searchValue: "searchValue", selectAll: "selectAll", selectAllLabel: "selectAllLabel", selectionType: "selectionType", selectionTypeCounterText: "selectionTypeCounterText", selectionTypeCounterTextPluralMap: "selectionTypeCounterTextPluralMap", size: "size", value: "value", valid: "valid", virtualScroller: "virtualScroller", visibleItems: "visibleItems", itemSize: "itemSize", itemMinWidth: "itemMinWidth", visible: "visible", popperjsOptions: ["popperOptions", "popperjsOptions"] }, outputs: { searchValueChange: "searchValueChange", valueChange: "valueChange", visibleChange: "visibleChange" }, host: { listeners: { "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class": "this.hostClasses", "attr.aria-multiselectable": "this.ariaMultiSelectable", "attr.aria-expanded": "this.ariaExpanded", "attr.tabindex": "this.tabIndex" } }, providers: [
1048
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.FocusMonitor }, { token: i2.MultiSelectService }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
1049
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MultiSelectComponent, isStandalone: true, selector: "c-multi-select", inputs: { allowCreateOptions: "allowCreateOptions", cleaner: "cleaner", clearSearchOnSelect: "clearSearchOnSelect", disabled: "disabled", loading: "loading", multiple: "multiple", nativeFormId: "nativeFormId", nativeId: "nativeId", nativeName: "nativeName", options: "options", optionsMaxHeight: "optionsMaxHeight", optionsStyle: "optionsStyle", placeholder: "placeholder", search: "search", searchNoResultsLabel: "searchNoResultsLabel", searchValue: "searchValue", selectAll: "selectAll", selectAllLabel: "selectAllLabel", selectionType: "selectionType", selectionTypeCounterText: "selectionTypeCounterText", selectionTypeCounterTextPluralMap: "selectionTypeCounterTextPluralMap", size: "size", value: "value", valid: "valid", virtualScroller: "virtualScroller", visibleItems: "visibleItems", itemSize: "itemSize", itemMinWidth: "itemMinWidth", visible: "visible", popperjsOptions: ["popperOptions", "popperjsOptions"] }, outputs: { searchValueChange: "searchValueChange", valueChange: "valueChange", visibleChange: "visibleChange" }, host: { listeners: { "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class": "this.hostClasses", "attr.aria-multiselectable": "this.ariaMultiSelectable", "attr.aria-expanded": "this.ariaExpanded", "attr.tabindex": "this.tabIndex" } }, providers: [
1050
1050
  MultiSelectService,
1051
1051
  {
1052
1052
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true
1053
1053
  }
1054
1054
  ], queries: [{ propertyName: "multiSelectOptionsContent", predicate: MultiSelectOptionComponent, descendants: true }, { propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], viewQueries: [{ propertyName: "optionsElementRef", first: true, predicate: ["options"], descendants: true }, { propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "dropdownMenu", first: true, predicate: ["dropdownMenu"], descendants: true }, { propertyName: "dropdown", first: true, predicate: DropdownComponent, descendants: true, read: ElementRef }, { propertyName: "dropdownToggle", first: true, predicate: DropdownToggleDirective, descendants: true, read: ElementRef }, { propertyName: "multiSelectOptionsView", predicate: MultiSelectOptionComponent, descendants: true }, { propertyName: "scrollViewportView", predicate: ["scrollViewport"], descendants: true }], exportAs: ["cMultiSelect"], usesOnChanges: true, ngImport: i0, template: "<c-dropdown #dropdown=\"cDropdown\"\n [(visible)]=\"visible\"\n [autoClose]=\"'outside'\"\n [ngClass]=\"multiselectClasses\"\n [popperOptions]=\"popperjsOptions\"\n class=\"picker\">\n <div #dropdownToggle=\"cDropdownToggle\" [caret]=\"false\" [disabled]=\"disabled\" cDropdownToggle>\n <div class=\"form-multi-select-selection\">\n <ng-template [ngIf]=\"selectionType === 'tags'\">\n <ng-container *ngIf=\"(optionsSelected$ | async) as optionTags\">\n <c-multi-select-tag\n (remove)=\"handleTagRemove($event)\"\n *ngFor=\"let option of optionTags; index as i\"\n [disabled]=\"option.disabled ?? false\"\n [label]=\"option.label ?? option.value\"\n [option]=\"option\"\n [value]=\"option.value\"\n class=\"form-multi-select-tag\"\n tabindex=\"-1\">\n </c-multi-select-tag>\n </ng-container>\n </ng-template>\n <ng-template [ngIf]=\"selectionType === 'text' && !!selectedOptionsText\">\n <span class=\"form-multi-select-search\">{{ selectedOptionsText }}</span>\n </ng-template>\n <ng-template [ngIf]=\"selectionType === 'counter'\">\n <span *ngIf=\"counterTextType === 'string'; else pluralMap\">{{ counterText }}</span>\n <ng-template #pluralMap>\n <span>{{selectedOptions.length}} {{ selectedOptions.length | i18nPlural: selectionTypeCounterTextPluralMap ?? { other: counterText } }}</span>\n </ng-template>\n </ng-template>\n <!-- <ng-template [ngIf]=\"!search && selectedOptions.length === 0 && selectionType !== 'counter'\">-->\n <!-- <span class=\"form-multi-select-search\">{{ placeholder }}</span>-->\n <!-- </ng-template>-->\n </div>\n\n <input\n #inputElement\n (keydown)=\"handleSearchKeyDown($event)\"\n (valueChange)=\"handleSearchValueChange($event)\"\n [attr.placeholder]=\"optionsSelected.size === 0 && selectionType !== 'counter' ? placeholder : null\"\n [disabled]=\"disabled || !search\"\n [ngClass]=\"{ 'form-multi-select-search': true, disabled: (disabled || !search) }\"\n [ngModel]=\"searchValue\"\n [value]=\"searchValue\"\n autocomplete=\"off\"\n cMultiSelectSearch\n size=\"3\"\n tabindex=\"{{ disabled ? -1 : 0 }}\"\n type=\"text\"\n >\n\n <button\n (click)=\"clearAllOptions($event)\"\n *ngIf=\"cleaner && optionsSelected.size > 0 && !disabled\"\n [disabled]=\"disabled || !isDropdownVisible\"\n aria-label=\"Clear all\"\n class=\"form-multi-select-selection-cleaner\"\n type=\"button\"\n ></button>\n </div>\n <div #dropdownMenu=\"cDropdownMenu\" *ngIf=\"!disabled\" [visible]=\"dropdown.visible\" cDropdownMenu>\n <ng-template [ngIf]=\"(visibleOptions() && options.length > 0)\">\n <button\n (click)=\"selectAllOptions()\"\n *ngIf=\"selectAll && multiple && !virtualScroller\"\n class=\"form-multi-select-all\"\n type=\"button\"\n tabindex=\"0\"\n >\n {{ selectAllLabel }}\n </button>\n </ng-template>\n <ng-template [ngIfElse]=\"optionsEmpty\" [ngIf]=\"(visibleOptions() && options.length > 0) || isLoading()\">\n <ng-container *ngTemplateOutlet=\"virtualScroller ? multiselectVirtualScroller : multiselectOptionsDiv\" />\n </ng-template>\n <ng-template #optionsEmpty>\n <div class=\"form-multi-select-options-empty\">{{ searchNoResultsLabel }}</div>\n </ng-template>\n <ng-template [ngIf]=\"isLoading()\">\n <c-element-cover [ngStyle]=\"{'border-radius': '6px', 'z-index': 2}\" />\n </ng-template>\n </div>\n</c-dropdown>\n\n<ng-template #multiselectVirtualScroller>\n <cdk-virtual-scroll-viewport\n #scrollViewport\n (scrolledIndexChange)=\"handleScrolledIndexChange($event, scrollViewport)\"\n *ngIf=\"(optionsArray$ | async) as optionsArray\"\n [itemSize]=\"itemSize\"\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'height.px': optionsMaxHeight, 'maxHeight.px': optionsMaxHeight, 'minWidth.px': itemMinWidth ?? 196, overflowX: 'hidden' } : { 'minWidth.px': itemMinWidth ?? 196, overflowX: 'hidden'}\"\n maxBufferPx=\"{{itemSize * visibleItems}}\"\n minBufferPx=\"{{itemSize * visibleItems}}\"\n class=\"form-multi-select-options\"\n tabindex=\"-1\"\n >\n <ng-container\n #cdkVirtualFor\n *cdkVirtualFor=\"let option of optionsArray; trackBy: trackByFn; templateCacheSize: 0; even as even; odd as odd; index as index; count as count; first as first; last as last;\"\n [ngTemplateOutletContext]=\"{$implicit: option, even, odd, index, count, first, last}\"\n [ngTemplateOutlet]=\"templates['multiSelectOptionTemplate'] || defaultMultiSelectOptionTemplate\"\n />\n </cdk-virtual-scroll-viewport>\n\n</ng-template>\n\n<ng-template #multiselectOptionsDiv>\n <div\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'maxHeight.px': optionsMaxHeight, overflowY: 'scroll' } : {}\"\n [class]=\"{'form-multi-select-options': visibleOptions()}\"\n >\n <ng-content />\n <ng-container [ngTemplateOutlet]=\"userOptionsTemplate\" />\n </div>\n</ng-template>\n\n<ng-template #defaultMultiSelectOptionTemplate let-option>\n <c-multi-select-option\n [disabled]=\"option.disabled\"\n [label]=\"option.label\"\n [text]=\"option.text\"\n [value]=\"option.value\"\n [visible]=\"option.visible\"\n >\n {{option.text}}\n </c-multi-select-option>\n</ng-template>\n\n<ng-template #userOptionsTemplate>\n <ng-container\n *ngFor=\"let option of userOptionsArray$ | async; even as even; odd as odd; index as index; count as count; first as first; last as last;\"\n [ngTemplateOutlet]=\"templates['multiSelectOptionTemplate'] || defaultMultiSelectOptionTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: option, even, odd, index, count, first, last}\"\n />\n</ng-template>\n", styles: [":host{display:block}:host:focus-visible{outline:none}:host.cdk-focused:not(.disabled) .form-multi-select{color:var(--cui-form-multi-select-focus-color, rgba(44, 56, 74, .95));background-color:var(--cui-form-multi-select-focus-bg, #fff);border-color:var(--cui-form-multi-select-focus-border-color, #6557e4);box-shadow:0 0 0 .25rem #321fdb40}:host:not(.cdk-focused) .form-multi-select:not(.show) input.form-multi-select-search:not([placeholder]){width:.1rem;margin-inline-start:0}:host .form-multi-select-search[size]{display:inline-block}:host .form-multi-select-selection-tags .form-multi-select-search{height:1.5rem}:host ::ng-deep .cdk-virtual-scroll-content-wrapper{padding:var(--cui-form-multi-select-options-padding-y) var(--cui-form-multi-select-options-padding-x);font-size:1rem;color:var(--cui-form-multi-select-options-color)}:host .cdk-virtual-scroll-viewport{width:var(--cui-dropdown-min-width)}:host .dropdown-menu{--cui-dropdown-padding-y: 0}:host-context(.dark-theme)::ng-deep .form-multi-select-optgroup-label{color:var(--cui-form-multi-select-disabled-color)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPluralPipe, name: "i18nPlural" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MultiSelectTagComponent, selector: "c-multi-select-tag", inputs: ["option", "disabled", "label", "value"], outputs: ["remove"] }, { kind: "component", type: MultiSelectOptionComponent, selector: "c-multi-select-option", inputs: ["optionsStyle", "label", "text", "visible", "disabled", "selected", "value", "active", "role"], outputs: ["selectedChange", "focusChange"], exportAs: ["cMultiSelectOption"] }, { kind: "directive", type: MultiSelectSearchDirective, selector: "[cMultiSelectSearch]", inputs: ["delay", "value"], outputs: ["valueChange"], exportAs: ["cMultiSelectSearch"] }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "component", type: ElementCoverComponent, selector: "c-element-cover, [cElementCover]", inputs: ["boundaries", "opacity"] }] }); }
1055
1055
  }
1056
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectComponent, decorators: [{
1056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectComponent, decorators: [{
1057
1057
  type: Component,
1058
1058
  args: [{ selector: 'c-multi-select', exportAs: 'cMultiSelect', providers: [
1059
1059
  MultiSelectService,
@@ -7,10 +7,10 @@ export class MultiSelectNativeSelectComponent {
7
7
  this.form = '';
8
8
  this.id = '';
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectNativeSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: MultiSelectNativeSelectComponent, isStandalone: true, selector: "c-multi-select-native-select", inputs: { form: "form", id: "id", multiple: "multiple", name: "name", options: "options", disabled: "disabled" }, ngImport: i0, template: "<select [disabled]=\"disabled\" [id]=\"id\" [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\">\n <option\n *ngFor=\"let option of options\"\n [attr.selected]=\"option.selected ? '' : null\"\n [disabled]=\"disabled\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n</select>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectNativeSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MultiSelectNativeSelectComponent, isStandalone: true, selector: "c-multi-select-native-select", inputs: { form: "form", id: "id", multiple: "multiple", name: "name", options: "options", disabled: "disabled" }, ngImport: i0, template: "<select [disabled]=\"disabled\" [id]=\"id\" [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\">\n <option\n *ngFor=\"let option of options\"\n [attr.selected]=\"option.selected ? '' : null\"\n [disabled]=\"disabled\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n</select>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectNativeSelectComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectNativeSelectComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'c-multi-select-native-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgForOf], template: "<select [disabled]=\"disabled\" [id]=\"id\" [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\">\n <option\n *ngFor=\"let option of options\"\n [attr.selected]=\"option.selected ? '' : null\"\n [disabled]=\"disabled\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n</select>\n\n", styles: [":host{display:none}\n"] }]
16
16
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { form: [{
@@ -7,10 +7,10 @@ export class MultiSelectOptgroupLabelComponent {
7
7
  'form-multi-select-optgroup-label': true
8
8
  };
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectOptgroupLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: MultiSelectOptgroupLabelComponent, isStandalone: true, selector: "c-multi-select-optgroup-label", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectOptgroupLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MultiSelectOptgroupLabelComponent, isStandalone: true, selector: "c-multi-select-optgroup-label", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectOptgroupLabelComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectOptgroupLabelComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'c-multi-select-optgroup-label', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:block}\n"] }]
16
16
  }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
@@ -46,10 +46,10 @@ export class MultiSelectOptgroupComponent {
46
46
  this.visible.set(this.multiSelectOptions?.some(option => option.visible));
47
47
  }), takeUntilDestroyed(this.#destroyRef)).subscribe();
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectOptgroupComponent, deps: [{ token: i1.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: MultiSelectOptgroupComponent, isStandalone: true, selector: "c-multi-select-optgroup", inputs: { label: "label", disabled: "disabled" }, host: { properties: { "class": "this.hostClasses" } }, queries: [{ propertyName: "multiSelectOptions", predicate: MultiSelectOptionComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<c-multi-select-optgroup-label *ngIf=\"label && visible()\">{{label}}</c-multi-select-optgroup-label>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: MultiSelectOptgroupLabelComponent, selector: "c-multi-select-optgroup-label" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectOptgroupComponent, deps: [{ token: i1.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MultiSelectOptgroupComponent, isStandalone: true, selector: "c-multi-select-optgroup", inputs: { label: "label", disabled: "disabled" }, host: { properties: { "class": "this.hostClasses" } }, queries: [{ propertyName: "multiSelectOptions", predicate: MultiSelectOptionComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<c-multi-select-optgroup-label *ngIf=\"label && visible()\">{{label}}</c-multi-select-optgroup-label>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: MultiSelectOptgroupLabelComponent, selector: "c-multi-select-optgroup-label" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectOptgroupComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectOptgroupComponent, decorators: [{
53
53
  type: Component,
54
54
  args: [{ selector: 'c-multi-select-optgroup', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MultiSelectOptgroupLabelComponent, NgIf], template: "<c-multi-select-optgroup-label *ngIf=\"label && visible()\">{{label}}</c-multi-select-optgroup-label>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
55
55
  }], ctorParameters: function () { return [{ type: i1.MultiSelectService }]; }, propDecorators: { label: [{
@@ -226,8 +226,10 @@ export class MultiSelectOptionComponent {
226
226
  }
227
227
  setSubscriptions() {
228
228
  this.multiSelectService.multiSelectVisible$
229
- .pipe(takeUntilDestroyed(this.#destroyRef))
230
- .subscribe(this.#dropdownVisible.set);
229
+ .pipe(tap(visible => {
230
+ this.#dropdownVisible.set(visible);
231
+ }), takeUntilDestroyed(this.#destroyRef))
232
+ .subscribe();
231
233
  this.multiSelectService.multiSelectFocus$
232
234
  .pipe(distinctUntilChanged(), filter(option => this.active !== (this.value === option.value)), tap(option => {
233
235
  this.active = this.value === option.value;
@@ -246,10 +248,10 @@ export class MultiSelectOptionComponent {
246
248
  isSelected(value = this.value) {
247
249
  return (this.#selected() || this.multiSelectService.selectionModel?.isSelected(value)) ?? false;
248
250
  }
249
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
250
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: MultiSelectOptionComponent, isStandalone: true, selector: "c-multi-select-option", inputs: { optionsStyle: "optionsStyle", label: "label", text: "text", visible: "visible", disabled: "disabled", selected: "selected", value: "value", active: "active", role: "role" }, outputs: { selectedChange: "selectedChange", focusChange: "focusChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocus()", "keyup": "onKeyUp($event)", "click": "onClick($event)" }, properties: { "role": "this.role", "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.disabled": "this.ariaDisabled", "attr.aria-disabled": "this.ariaDisabled", "attr.aria-selected": "this.ariaSelected" } }, viewQueries: [{ propertyName: "contentDiv", first: true, predicate: ["contentDiv"], descendants: true }], exportAs: ["cMultiSelectOption"], ngImport: i0, template: "<div #contentDiv>\n <ng-content></ng-content>\n</div>\n<div *ngIf=\"!hasContent\">\n {{text ?? label ?? value}}\n</div>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MultiSelectOptionComponent, isStandalone: true, selector: "c-multi-select-option", inputs: { optionsStyle: "optionsStyle", label: "label", text: "text", visible: "visible", disabled: "disabled", selected: "selected", value: "value", active: "active", role: "role" }, outputs: { selectedChange: "selectedChange", focusChange: "focusChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocus()", "keyup": "onKeyUp($event)", "click": "onClick($event)" }, properties: { "role": "this.role", "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.disabled": "this.ariaDisabled", "attr.aria-disabled": "this.ariaDisabled", "attr.aria-selected": "this.ariaSelected" } }, viewQueries: [{ propertyName: "contentDiv", first: true, predicate: ["contentDiv"], descendants: true }], exportAs: ["cMultiSelectOption"], ngImport: i0, template: "<div #contentDiv>\n <ng-content></ng-content>\n</div>\n<div *ngIf=\"!hasContent\">\n {{text ?? label ?? value}}\n</div>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
251
253
  }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectOptionComponent, decorators: [{
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectOptionComponent, decorators: [{
253
255
  type: Component,
254
256
  args: [{ selector: 'c-multi-select-option', exportAs: 'cMultiSelectOption', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "<div #contentDiv>\n <ng-content></ng-content>\n</div>\n<div *ngIf=\"!hasContent\">\n {{text ?? label ?? value}}\n</div>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"] }]
255
257
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.MultiSelectService }]; }, propDecorators: { optionsStyle: [{
@@ -311,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
311
313
  type: HostListener,
312
314
  args: ['click', ['$event']]
313
315
  }] } });
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3Qtb3B0aW9uL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFhbkUsTUFBTSxPQUFPLDBCQUEwQjtJQUU1QixXQUFXLENBQXNCO0lBRTFDLFlBQ2tCLFVBQXNCLEVBQ3JCLGlCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixrQkFBc0M7UUFIdkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOaEQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFhMUM7Ozs7V0FJRztRQUNNLGlCQUFZLEdBQTBCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUE4QnBGLGFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFnQnhCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUF3QmxCLGNBQVMsR0FBRyxNQUFNLENBQXNCLFNBQVMsQ0FBQyxDQUFDO1FBRW5ELG9CQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLEVBQUU7Z0JBQ3JELFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzSCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUg7OztXQUdHO1FBQ2dCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQWtCaEUsV0FBTSxHQUF3QixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFHekMsZUFBVSxHQUFHLElBQUksQ0FBQztRQUV6QixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFjakMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFpQ2hGLGNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztRQW1CdkIsa0JBQWEsR0FBd0IsU0FBUyxDQUFDO0lBbk01QyxDQUFDO0lBMkJKOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQWdCO0lBRXhCOzs7O09BSUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFTO0lBRWxCOzs7O09BSUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUE0QjtRQUN2QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssUUFBUSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtvQkFDNUIsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDdEk7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLENBQTBDO0lBRW5ELGVBQWUsQ0FTWjtJQVFIOzs7O09BSUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUEwQztJQUtoRCxnQkFBZ0IsQ0FBaUI7SUFFakMsSUFDSSxNQUFNLENBQUMsS0FBNEI7UUFDckMsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLENBQWlCO0lBRXhCLGFBQWEsQ0FFVjtJQUVILFFBQVEsQ0FBUztJQUlqQixJQUVZLElBQUk7UUFDZCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLDBCQUEwQixFQUFFLElBQUk7WUFDaEMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDM0UsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFDWSxRQUFRO1FBQ2xCLGtEQUFrRDtRQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBWSxRQUFRLENBQUMsUUFBUTtRQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFjO0lBRXZCLElBRVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNZLFlBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFZLFlBQVksQ0FBQyxRQUFRO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsSUFBSSxTQUFTLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFrQztJQUcvQyxTQUFTLENBQUMsTUFBcUI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUdPLE1BQU07UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBR08sT0FBTztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFHTyxPQUFPLENBQUMsTUFBcUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzVDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQztJQUdPLE9BQU8sQ0FBQyxNQUFrQjtRQUNoQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFFYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckgsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUM7U0FDdEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUM7U0FDekM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUM7U0FDMUM7UUFFRCxJQUFJLENBQUUsSUFBSSxDQUFDLGlCQUE2QixDQUFDLFNBQVMsRUFBRTtZQUNsRCxxQkFBcUI7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEMsTUFBTTtTQUNQO0lBRUgsQ0FBQztJQUVELHlGQUF5RjtJQUN6RixRQUFRO1FBQ04sT0FBZSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBc0IsU0FBUztRQUNuQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFFdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQjthQUN4QyxJQUFJLENBQ0gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNyQzthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQjthQUN0QyxJQUFJLENBQ0gsb0JBQW9CLEVBQUUsRUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQy9ELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsRUFDRixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3JDO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUUsSUFBSSxDQUFDLGlCQUE2QixDQUFDLFNBQVMsRUFBRTtZQUNsRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLE9BQU87aUJBQzNDLElBQUksQ0FDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzFGLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxFQUNGLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDckM7aUJBQ0EsU0FBUyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSztRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ2xHLENBQUM7OEdBeFVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDIxQkNwQ3ZDLDZIQU1BLDZYRDRCWSxJQUFJOzsyRkFFSCwwQkFBMEI7a0JBVHRDLFNBQVM7K0JBQ0UsdUJBQXVCLFlBR3ZCLG9CQUFvQixtQkFDYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksQ0FBQzs2TEFzQk4sWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQVFGLE9BQU87c0JBRFYsS0FBSztnQkFpQkYsUUFBUTtzQkFEWCxLQUFLO2dCQWlCRixRQUFRO3NCQURYLEtBQUs7Z0JBa0NhLGNBQWM7c0JBQWhDLE1BQU07Z0JBUUgsS0FBSztzQkFEUixLQUFLO2dCQWEyQixVQUFVO3NCQUExQyxTQUFTO3VCQUFDLFlBQVk7Z0JBTW5CLE1BQU07c0JBRFQsS0FBSztnQkFvQmEsV0FBVztzQkFBN0IsTUFBTTtnQkFJSyxJQUFJO3NCQUZmLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsTUFBTTtnQkFNZixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFjUixRQUFRO3NCQURuQixXQUFXO3VCQUFDLGVBQWU7Z0JBZ0JoQixZQUFZO3NCQUZ2QixXQUFXO3VCQUFDLGVBQWU7O3NCQUMzQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFNckIsWUFBWTtzQkFEdkIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBY2pDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVzNCLE1BQU07c0JBRGIsWUFBWTt1QkFBQyxNQUFNO2dCQU1aLE9BQU87c0JBRGQsWUFBWTt1QkFBQyxPQUFPO2dCQU1iLE9BQU87c0JBRGQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYXpCLE9BQU87c0JBRGQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdSZWYsXG4gIFdyaXRhYmxlU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBGb2N1c2FibGVPcHRpb24sIEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE11bHRpU2VsZWN0U2VydmljZSB9IGZyb20gJy4uL211bHRpLXNlbGVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1tdWx0aS1zZWxlY3Qtb3B0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnY011bHRpU2VsZWN0T3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdE9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEZvY3VzYWJsZU9wdGlvbiB7XG5cbiAgcmVhZG9ubHkgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG11bHRpU2VsZWN0U2VydmljZTogTXVsdGlTZWxlY3RTZXJ2aWNlXG4gICkge31cblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NlbGVjdGVkOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV92aXNpYmxlOiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBzdHlsZVxuICAgKiBAdHlwZSAoJ2NoZWNrYm94JyB8ICd0ZXh0JylcbiAgICogQGRlZmF1bHQgJ2NoZWNrYm94J1xuICAgKi9cbiAgQElucHV0KCkgb3B0aW9uc1N0eWxlOiAoJ2NoZWNrYm94JyB8ICd0ZXh0JykgPSB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5vcHRpb25zU3R5bGU7XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBsYWJlbFxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uIGlubmVyIHRleHRcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uIHZpc2libGUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN2aXNpYmxlLnNldChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlKCk7XG4gIH1cblxuICAjdmlzaWJsZSA9IHNpZ25hbCh0cnVlKTtcblxuICAvKipcbiAgICogT3B0aW9uIGRpc2FibGVkLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNkaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2Rpc2FibGVkO1xuICB9XG5cbiAgI2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBzZWxlY3RlZC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiAoYm9vbGVhbiB8IHVuZGVmaW5lZCkpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgaWYgKHRoaXMuI3NlbGVjdGVkKCkgIT09IHNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuI3NlbGVjdGVkLnNldChzZWxlY3RlZCk7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZWxlY3RlZCA/IHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLnNlbGVjdGlvbk1vZGVsPy5zZWxlY3QodGhpcy52YWx1ZSkgOiB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5zZWxlY3Rpb25Nb2RlbD8uZGVzZWxlY3QodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgc2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3NlbGVjdGVkKCk7XG4gIH1cblxuICAjc2VsZWN0ZWQgPSBzaWduYWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAjc2VsZWN0ZWRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy4jdmFsdWUoKTtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuI3NlbGVjdGVkKCk7XG4gICAgaWYgKCh2YWx1ZSAhPT0gdW5kZWZpbmVkKSAmJiAoc2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIHNlbGVjdGVkID8gdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWw/LnNlbGVjdCh2YWx1ZSkgOiB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5zZWxlY3Rpb25Nb2RlbD8uZGVzZWxlY3QodmFsdWUpO1xuICAgICAgdGhpcy5hcmlhU2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIG9wdGlvbiBzZWxlY3RlZCBjaGFuZ2VcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBPcHRpb24gdmFsdWUuXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuI3ZhbHVlKCkgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLiN2YWx1ZS5zZXQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jdmFsdWUoKTtcbiAgfVxuXG4gICN2YWx1ZTogV3JpdGFibGVTaWduYWw8YW55PiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnREaXYnKSBwcml2YXRlIGNvbnRlbnREaXY/OiBFbGVtZW50UmVmO1xuICBwdWJsaWMgaGFzQ29udGVudCA9IHRydWU7XG5cbiAgI2Ryb3Bkb3duVmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgQElucHV0KClcbiAgc2V0IGFjdGl2ZSh2YWx1ZTogKGJvb2xlYW4gfCB1bmRlZmluZWQpKSB7XG4gICAgY29uc3QgYWN0aXZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSAmJiB0aGlzLiN2aXNpYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgaWYgKHRoaXMuI2FjdGl2ZSgpICE9PSBhY3RpdmUpIHtcbiAgICAgIHRoaXMuI2FjdGl2ZS5zZXQoYWN0aXZlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgYWN0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLiNhY3RpdmUoKSAmJiB0aGlzLiN2aXNpYmxlKCk7XG4gIH1cblxuICAjYWN0aXZlID0gc2lnbmFsKGZhbHNlKTtcblxuICAjYWN0aXZlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy4jYWN0aXZlKCkgJiYgdGhpcy4jdmlzaWJsZSgpID8gMCA6IC0xO1xuICB9KTtcblxuICAjZm9jdXNlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBmb2N1c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQ+KCk7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdyb2xlJylcbiAgcHJpdmF0ZSBnZXQgcm9sZSgpIHtcbiAgICByZXR1cm4gJ29wdGlvbic7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnZm9ybS1tdWx0aS1zZWxlY3Qtb3B0aW9uJzogdHJ1ZSxcbiAgICAgICdmb3JtLW11bHRpLXNlbGVjdGVkJzogdGhpcy4jc2VsZWN0ZWQoKSxcbiAgICAgIFtgZm9ybS1tdWx0aS1zZWxlY3Qtb3B0aW9uLXdpdGgtJHt0aGlzLm9wdGlvbnNTdHlsZX1gXTogISF0aGlzLm9wdGlvbnNTdHlsZSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgJ2Qtbm9uZSc6ICF0aGlzLiN2aXNpYmxlKCksXG4gICAgICBhY3RpdmU6IHRoaXMuI2FjdGl2ZSgpLFxuICAgICAgZm9jdXNlZDogdGhpcy4jZm9jdXNlZFxuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwcml2YXRlIGdldCB0YWJJbmRleCgpIHtcbiAgICAvLyByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5fYWN0aXZlID8gLTEgOiAwO1xuICAgIHJldHVybiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy4jdmlzaWJsZSgpKSA/IC0xIDogdGhpcy4jdGFiSW5kZXg7XG4gIH1cblxuICBwcml2YXRlIHNldCB0YWJJbmRleCh0YWJpbmRleCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jdGFiSW5kZXggPSB0YWJpbmRleDtcbiAgICB9KTtcbiAgfVxuXG4gICN0YWJJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICBwcml2YXRlIGdldCBhcmlhRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgcHJpdmF0ZSBnZXQgYXJpYVNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLiNhcmlhU2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldCBhcmlhU2VsZWN0ZWQoc2VsZWN0ZWQpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2FyaWFTZWxlY3RlZCA9IHNlbGVjdGVkIHx8IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgfVxuXG4gICNhcmlhU2VsZWN0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoWydTcGFjZSddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmIChbJ1RhYiddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHByaXZhdGUgb25CbHVyKCkge1xuICAgIHRoaXMuI2ZvY3VzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgcHJpdmF0ZSBvbkZvY3VzKCkge1xuICAgIHRoaXMuI2ZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBwcml2YXRlIG9uS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2Ryb3Bkb3duVmlzaWJsZSgpKSB7XG4gICAgICBpZiAoWydFbnRlcicsICdTcGFjZSddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgICAkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5kaXNhYmxlZCA/IHRoaXMuI3NlbGVjdGVkKCkgOiAhdGhpcy4jc2VsZWN0ZWQoKTtcbiAgICAgICAgdGhpcy5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25DbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZGlzYWJsZWQgPyB0aGlzLiNzZWxlY3RlZCgpIDogIXRoaXMuI3NlbGVjdGVkKCk7XG4gICAgdGhpcy5mb2N1cygnbW91c2UnKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuc2V0U3Vic2NyaXB0aW9ucygpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmhhc0NvbnRlbnQgPSAhIXRoaXMuY29udGVudERpdj8ubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aDtcbiAgICAgIGlmICghdGhpcy5oYXNDb250ZW50KSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy50ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGlubmVyVGV4dCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LnRyaW0oKSB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQudHJpbSgpO1xuICAgICAgdGhpcy50ZXh0ID0gaW5uZXJUZXh0IHx8IHRoaXMudmFsdWU/LnRyaW0oKSB8fCAnLi4uJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sYWJlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmxhYmVsID0gdGhpcy50ZXh0Py50cmltKCkgfHwgJy4uLic7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubGFiZWw/LnRyaW0oKSB8fCAnLi4uJztcbiAgICB9XG5cbiAgICBpZiAoISh0aGlzLmNoYW5nZURldGVjdG9yUmVmIGFzIFZpZXdSZWYpLmRlc3Ryb3llZCkge1xuICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGVkKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIC8vIH0pO1xuICAgIH1cblxuICB9XG5cbiAgLyoqIEdldCB0aGUgbGFiZWwgZm9yIHRoaXMgZWxlbWVudCB3aGljaCBpcyByZXF1aXJlZCBieSB0aGUgRm9jdXNhYmxlT3B0aW9uIGludGVyZmFjZS4gKi9cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gPHN0cmluZz4odGhpcy5sYWJlbCA/PyB0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGZvY3VzKG9yaWdpbjogRm9jdXNPcmlnaW4gPSAncHJvZ3JhbScpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jZHJvcGRvd25WaXNpYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBvcmlnaW4sIHsgcHJldmVudFNjcm9sbDogZmFsc2UgfSk7XG4gICAgICB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5mb2N1c0NoYW5nZSh0aGlzKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdWJzY3JpcHRpb25zKCkge1xuXG4gICAgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2UubXVsdGlTZWxlY3RWaXNpYmxlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLiNkcm9wZG93blZpc2libGUuc2V0KTtcblxuICAgIHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLm11bHRpU2VsZWN0Rm9jdXMkXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgZmlsdGVyKG9wdGlvbiA9PiB0aGlzLmFjdGl2ZSAhPT0gKHRoaXMudmFsdWUgPT09IG9wdGlvbi52YWx1ZSkpLFxuICAgICAgICB0YXAob3B0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMudmFsdWUgPT09IG9wdGlvbi52YWx1ZTtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoISh0aGlzLmNoYW5nZURldGVjdG9yUmVmIGFzIFZpZXdSZWYpLmRlc3Ryb3llZCkge1xuICAgICAgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoY2hhbmdlID0+IGNoYW5nZS5hZGRlZC5pbmNsdWRlcyh0aGlzLnZhbHVlKSB8fCBjaGFuZ2UucmVtb3ZlZC5pbmNsdWRlcyh0aGlzLnZhbHVlKSksXG4gICAgICAgICAgdGFwKGNoYW5nZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gY2hhbmdlLmFkZGVkLmluY2x1ZGVzKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZSA9IHRoaXMudmFsdWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuI3NlbGVjdGVkKCkgfHwgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWw/LmlzU2VsZWN0ZWQodmFsdWUpKSA/PyBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiAjY29udGVudERpdj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIWhhc0NvbnRlbnRcIj5cbiAge3t0ZXh0ID8/IGxhYmVsID8/IHZhbHVlfX1cbjwvZGl2PlxuIl19
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3Qtb3B0aW9uL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFhbkUsTUFBTSxPQUFPLDBCQUEwQjtJQUU1QixXQUFXLENBQXNCO0lBRTFDLFlBQ2tCLFVBQXNCLEVBQ3JCLGlCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixrQkFBc0M7UUFIdkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixr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QUFZO3VCQUFDLE9BQU87Z0JBTWIsT0FBTztzQkFEZCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhekIsT0FBTztzQkFEZCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld1JlZixcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTXVsdGlTZWxlY3RTZXJ2aWNlIH0gZnJvbSAnLi4vbXVsdGktc2VsZWN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLW11bHRpLXNlbGVjdC1vcHRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjTXVsdGlTZWxlY3RPcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWZdXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRm9jdXNhYmxlT3B0aW9uIHtcblxuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlTZWxlY3RTZXJ2aWNlOiBNdWx0aVNlbGVjdFNlcnZpY2VcbiAgKSB7fVxuXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2VsZWN0ZWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogT3B0aW9uIHN0eWxlXG4gICAqIEB0eXBlICgnY2hlY2tib3gnIHwgJ3RleHQnKVxuICAgKiBAZGVmYXVsdCAnY2hlY2tib3gnXG4gICAqL1xuICBASW5wdXQoKSBvcHRpb25zU3R5bGU6ICgnY2hlY2tib3gnIHwgJ3RleHQnKSA9IHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLm9wdGlvbnNTdHlsZTtcblxuICAvKipcbiAgICogT3B0aW9uIGxhYmVsXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb24gaW5uZXIgdGV4dFxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSB0ZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb24gdmlzaWJsZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Zpc2libGUuc2V0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3Zpc2libGUoKTtcbiAgfVxuXG4gICN2aXNpYmxlID0gc2lnbmFsKHRydWUpO1xuXG4gIC8qKlxuICAgKiBPcHRpb24gZGlzYWJsZWQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy4jZGlzYWJsZWQ7XG4gIH1cblxuICAjZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogT3B0aW9uIHNlbGVjdGVkLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc2VsZWN0ZWQodmFsdWU6IChib29sZWFuIHwgdW5kZWZpbmVkKSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICBpZiAodGhpcy4jc2VsZWN0ZWQoKSAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy4jc2VsZWN0ZWQuc2V0KHNlbGVjdGVkKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNlbGVjdGVkID8gdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWw/LnNlbGVjdCh0aGlzLnZhbHVlKSA6IHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLnNlbGVjdGlvbk1vZGVsPy5kZXNlbGVjdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy4jc2VsZWN0ZWQoKTtcbiAgfVxuXG4gICNzZWxlY3RlZCA9IHNpZ25hbDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICNzZWxlY3RlZEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLiN2YWx1ZSgpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy4jc2VsZWN0ZWQoKTtcbiAgICBpZiAoKHZhbHVlICE9PSB1bmRlZmluZWQpICYmIChzZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSkge1xuICAgICAgc2VsZWN0ZWQgPyB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5zZWxlY3Rpb25Nb2RlbD8uc2VsZWN0KHZhbHVlKSA6IHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLnNlbGVjdGlvbk1vZGVsPy5kZXNlbGVjdCh2YWx1ZSk7XG4gICAgICB0aGlzLmFyaWFTZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9KTtcblxuICAvKipcbiAgICogRW1pdHMgb3B0aW9uIHNlbGVjdGVkIGNoYW5nZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbiB2YWx1ZS5cbiAgICogQHR5cGUgc3RyaW5nXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy4jdmFsdWUoKSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuI3ZhbHVlLnNldCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLiN2YWx1ZSgpO1xuICB9XG5cbiAgI3ZhbHVlOiBXcml0YWJsZVNpZ25hbDxhbnk+ID0gc2lnbmFsKHVuZGVmaW5lZCk7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudERpdicpIHByaXZhdGUgY29udGVudERpdj86IEVsZW1lbnRSZWY7XG4gIHB1YmxpYyBoYXNDb250ZW50ID0gdHJ1ZTtcblxuICAjZHJvcGRvd25WaXNpYmxlID0gc2lnbmFsKGZhbHNlKTtcblxuICBASW5wdXQoKVxuICBzZXQgYWN0aXZlKHZhbHVlOiAoYm9vbGVhbiB8IHVuZGVmaW5lZCkpIHtcbiAgICBjb25zdCBhY3RpdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpICYmIHRoaXMuI3Zpc2libGUoKSAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICBpZiAodGhpcy4jYWN0aXZlKCkgIT09IGFjdGl2ZSkge1xuICAgICAgdGhpcy4jYWN0aXZlLnNldChhY3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2FjdGl2ZSgpICYmIHRoaXMuI3Zpc2libGUoKTtcbiAgfVxuXG4gICNhY3RpdmUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICNhY3RpdmVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLiNhY3RpdmUoKSAmJiB0aGlzLiN2aXNpYmxlKCkgPyAwIDogLTE7XG4gIH0pO1xuXG4gICNmb2N1c2VkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGZvY3VzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aVNlbGVjdE9wdGlvbkNvbXBvbmVudD4oKTtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ3JvbGUnKVxuICBwcml2YXRlIGdldCByb2xlKCkge1xuICAgIHJldHVybiAnb3B0aW9uJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb3JtLW11bHRpLXNlbGVjdC1vcHRpb24nOiB0cnVlLFxuICAgICAgJ2Zvcm0tbXVsdGktc2VsZWN0ZWQnOiB0aGlzLiNzZWxlY3RlZCgpLFxuICAgICAgW2Bmb3JtLW11bHRpLXNlbGVjdC1vcHRpb24td2l0aC0ke3RoaXMub3B0aW9uc1N0eWxlfWBdOiAhIXRoaXMub3B0aW9uc1N0eWxlLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAnZC1ub25lJzogIXRoaXMuI3Zpc2libGUoKSxcbiAgICAgIGFjdGl2ZTogdGhpcy4jYWN0aXZlKCksXG4gICAgICBmb2N1c2VkOiB0aGlzLiNmb2N1c2VkXG4gICAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIHByaXZhdGUgZ2V0IHRhYkluZGV4KCkge1xuICAgIC8vIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICF0aGlzLl9hY3RpdmUgPyAtMSA6IDA7XG4gICAgcmV0dXJuICh0aGlzLmRpc2FibGVkIHx8ICF0aGlzLiN2aXNpYmxlKCkpID8gLTEgOiB0aGlzLiN0YWJJbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0IHRhYkluZGV4KHRhYmluZGV4KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLiN0YWJJbmRleCA9IHRhYmluZGV4O1xuICAgIH0pO1xuICB9XG5cbiAgI3RhYkluZGV4OiBudW1iZXIgPSAtMTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gIHByaXZhdGUgZ2V0IGFyaWFEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCBudWxsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICBwcml2YXRlIGdldCBhcmlhU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2FyaWFTZWxlY3RlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0IGFyaWFTZWxlY3RlZChzZWxlY3RlZCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jYXJpYVNlbGVjdGVkID0gc2VsZWN0ZWQgfHwgdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgI2FyaWFTZWxlY3RlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChbJ1NwYWNlJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gICAgaWYgKFsnVGFiJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgcHJpdmF0ZSBvbkJsdXIoKSB7XG4gICAgdGhpcy4jZm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICBwcml2YXRlIG9uRm9jdXMoKSB7XG4gICAgdGhpcy4jZm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25LZXlVcCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jZHJvcGRvd25WaXNpYmxlKCkpIHtcbiAgICAgIGlmIChbJ0VudGVyJywgJ1NwYWNlJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICAgICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLmRpc2FibGVkID8gdGhpcy4jc2VsZWN0ZWQoKSA6ICF0aGlzLiNzZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzKCdrZXlib2FyZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbkNsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5kaXNhYmxlZCA/IHRoaXMuI3NlbGVjdGVkKCkgOiAhdGhpcy4jc2VsZWN0ZWQoKTtcbiAgICB0aGlzLmZvY3VzKCdtb3VzZScpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5zZXRTdWJzY3JpcHRpb25zKCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaGFzQ29udGVudCA9ICEhdGhpcy5jb250ZW50RGl2Py5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoO1xuICAgICAgaWYgKCF0aGlzLmhhc0NvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgaW5uZXJUZXh0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQudHJpbSgpIHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVyVGV4dC50cmltKCk7XG4gICAgICB0aGlzLnRleHQgPSBpbm5lclRleHQgfHwgdGhpcy52YWx1ZT8udHJpbSgpIHx8ICcuLi4nO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLnRleHQ/LnRyaW0oKSB8fCAnLi4uJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5sYWJlbD8udHJpbSgpIHx8ICcuLi4nO1xuICAgIH1cblxuICAgIGlmICghKHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYgYXMgVmlld1JlZikuZGVzdHJveWVkKSB7XG4gICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLmlzU2VsZWN0ZWQodGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgLy8gfSk7XG4gICAgfVxuXG4gIH1cblxuICAvKiogR2V0IHRoZSBsYWJlbCBmb3IgdGhpcyBlbGVtZW50IHdoaWNoIGlzIHJlcXVpcmVkIGJ5IHRoZSBGb2N1c2FibGVPcHRpb24gaW50ZXJmYWNlLiAqL1xuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiA8c3RyaW5nPih0aGlzLmxhYmVsID8/IHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZm9jdXMob3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNkcm9wZG93blZpc2libGUoKSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9yaWdpbiwgeyBwcmV2ZW50U2Nyb2xsOiBmYWxzZSB9KTtcbiAgICAgIHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLmZvY3VzQ2hhbmdlKHRoaXMpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFN1YnNjcmlwdGlvbnMoKSB7XG5cbiAgICB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5tdWx0aVNlbGVjdFZpc2libGUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHZpc2libGUgPT4ge1xuICAgICAgICAgICAgdGhpcy4jZHJvcGRvd25WaXNpYmxlLnNldCh2aXNpYmxlKTtcbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2UubXVsdGlTZWxlY3RGb2N1cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBmaWx0ZXIob3B0aW9uID0+IHRoaXMuYWN0aXZlICE9PSAodGhpcy52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlKSksXG4gICAgICAgIHRhcChvcHRpb24gPT4ge1xuICAgICAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIGlmICghKHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYgYXMgVmlld1JlZikuZGVzdHJveWVkKSB7XG4gICAgICB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihjaGFuZ2UgPT4gY2hhbmdlLmFkZGVkLmluY2x1ZGVzKHRoaXMudmFsdWUpIHx8IGNoYW5nZS5yZW1vdmVkLmluY2x1ZGVzKHRoaXMudmFsdWUpKSxcbiAgICAgICAgICB0YXAoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBjaGFuZ2UuYWRkZWQuaW5jbHVkZXModGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBpc1NlbGVjdGVkKHZhbHVlID0gdGhpcy52YWx1ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy4jc2VsZWN0ZWQoKSB8fCB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5zZWxlY3Rpb25Nb2RlbD8uaXNTZWxlY3RlZCh2YWx1ZSkpID8/IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2ICNjb250ZW50RGl2PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhaGFzQ29udGVudFwiPlxuICB7e3RleHQgPz8gbGFiZWwgPz8gdmFsdWV9fVxuPC9kaXY+XG4iXX0=
@@ -20,10 +20,10 @@ export class MultiSelectTagComponent {
20
20
  this.remove.emit(this.value);
21
21
  }
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectTagComponent, deps: [{ token: i1.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: MultiSelectTagComponent, isStandalone: true, selector: "c-multi-select-tag", inputs: { option: "option", disabled: "disabled", label: "label", value: "value" }, outputs: { remove: "remove" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">\u00D7</span>\n</button>\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectTagComponent, deps: [{ token: i1.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MultiSelectTagComponent, isStandalone: true, selector: "c-multi-select-tag", inputs: { option: "option", disabled: "disabled", label: "label", value: "value" }, outputs: { remove: "remove" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">\u00D7</span>\n</button>\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectTagComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectTagComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'c-multi-select-tag', standalone: true, imports: [NgIf, AsyncPipe], template: "{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">\u00D7</span>\n</button>\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all}\n"] }]
29
29
  }], ctorParameters: function () { return [{ type: i1.MultiSelectService }]; }, propDecorators: { option: [{
@@ -6,17 +6,17 @@ import { MultiSelectOptgroupComponent } from './multi-select-optgroup/multi-sele
6
6
  import { MultiSelectOptgroupLabelComponent } from './multi-select-optgroup/multi-select-optgroup-label.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class MultiSelectModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectModule, imports: [MultiSelectComponent,
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectModule, imports: [MultiSelectComponent,
11
11
  MultiSelectOptionComponent,
12
12
  MultiSelectOptgroupComponent,
13
13
  MultiSelectOptgroupLabelComponent], exports: [MultiSelectComponent,
14
14
  MultiSelectOptionComponent,
15
15
  MultiSelectOptgroupComponent,
16
16
  MultiSelectOptgroupLabelComponent] }); }
17
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectModule, providers: [MultiSelectService], imports: [MultiSelectComponent] }); }
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectModule, providers: [MultiSelectService], imports: [MultiSelectComponent] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [
@@ -41,10 +41,10 @@ export class MultiSelectService {
41
41
  updateOptionsArray(options) {
42
42
  this.optionsArray.next(options);
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectService }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectService }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MultiSelectService, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiSelectService, decorators: [{
48
48
  type: Injectable
49
49
  }] });
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtoRCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBR1MsaUJBQVksR0FBd0IsVUFBVSxDQUFDO1FBUXJDLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLHdCQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU1yRCxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztRQUNyRSxzQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFNbEQsc0JBQWlCLEdBQUcsTUFBTSxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBbUJ6QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQVUzRDtJQWhEQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLDBCQUFvQyxFQUFFO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQU0sUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUtELGFBQWEsQ0FBQyxPQUFnQjtRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFLRCxXQUFXLENBQUMsTUFBa0M7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBSUQsY0FBYztRQUNaLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBZTtRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFLRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFrQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDOzhHQXBEVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL211bHRpLXNlbGVjdC1vcHRpb24vbXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSU9wdGlvbiB9IGZyb20gJy4vbXVsdGktc2VsZWN0LnR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3RTZXJ2aWNlIHtcblxuICBwdWJsaWMgb3B0aW9uc1N0eWxlOiAnY2hlY2tib3gnIHwgJ3RleHQnID0gJ2NoZWNrYm94JztcblxuICBzZWxlY3Rpb25Nb2RlbCE6IFNlbGVjdGlvbk1vZGVsPGFueT47XG5cbiAgc2V0U2VsZWN0aW9uTW9kZWwobXVsdGlwbGUgPSB0cnVlLCBpbml0aWFsbHlTZWxlY3RlZFZhbHVlczogc3RyaW5nW10gPSBbXSkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihtdWx0aXBsZSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG11bHRpU2VsZWN0VmlzaWJsZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtdWx0aVNlbGVjdFZpc2libGUkID0gdGhpcy5tdWx0aVNlbGVjdFZpc2libGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgdG9nZ2xlVmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdFZpc2libGUubmV4dCh2aXNpYmxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlTZWxlY3RGb2N1cyA9IG5ldyBTdWJqZWN0PE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50PigpO1xuICByZWFkb25seSBtdWx0aVNlbGVjdEZvY3VzJCA9IHRoaXMubXVsdGlTZWxlY3RGb2N1cy5hc09ic2VydmFibGUoKTtcblxuICBmb2N1c0NoYW5nZShvcHRpb246IE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50KSB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdEZvY3VzLm5leHQob3B0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB1c2VyT3B0aW9uc1NpZ25hbCA9IHNpZ25hbDxJT3B0aW9uW10+KFtdKTtcblxuICBnZXRVc2VyT3B0aW9ucygpIHtcbiAgICByZXR1cm4gY29tcHV0ZWQodGhpcy51c2VyT3B0aW9uc1NpZ25hbCk7XG4gIH1cblxuICBhZGRVc2VyT3B0aW9uKG9wdGlvbjogSU9wdGlvbikge1xuICAgIHRoaXMudXNlck9wdGlvbnNTaWduYWwudXBkYXRlKChvcHRpb25zKSA9PiBbLi4ub3B0aW9ucywgb3B0aW9uXSk7XG4gIH1cblxuICByZW1vdmVVc2VyT3B0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cGRhdGVkT3B0aW9ucyA9IHRoaXMudXNlck9wdGlvbnNTaWduYWwoKS5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlICE9PSB2YWx1ZSk7XG4gICAgdGhpcy51c2VyT3B0aW9uc1NpZ25hbC5zZXQodXBkYXRlZE9wdGlvbnMpO1xuICB9XG5cbiAgcmVtb3ZlQWxsVXNlck9wdGlvbnMoKSB7XG4gICAgdGhpcy51c2VyT3B0aW9uc1NpZ25hbC5zZXQoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zQXJyYXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElPcHRpb25bXT4oW10pO1xuICByZWFkb25seSBvcHRpb25zQXJyYXkkID0gdGhpcy5vcHRpb25zQXJyYXkuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZ2V0T3B0aW9uc0FycmF5KCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnNBcnJheSQ7XG4gIH1cblxuICB1cGRhdGVPcHRpb25zQXJyYXkob3B0aW9uczogSU9wdGlvbltdKSB7XG4gICAgdGhpcy5vcHRpb25zQXJyYXkubmV4dChvcHRpb25zKTtcbiAgfVxuXG59XG5cbiJdfQ==