@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1217-a → 1.5.1218

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 (188) hide show
  1. package/assets/styles/main.min.css +1 -1
  2. package/assets/styles/main.min.css.map +1 -1
  3. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +4 -4
  4. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +4 -4
  5. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +4 -4
  6. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +4 -4
  7. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +3 -3
  8. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +3 -3
  9. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +3 -3
  10. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +3 -3
  11. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +4 -4
  12. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +3 -3
  13. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +4 -4
  14. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +3 -3
  15. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +3 -3
  16. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +3 -3
  17. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +3 -3
  18. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +4 -4
  19. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +4 -4
  20. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +3 -3
  21. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +4 -4
  22. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +4 -4
  23. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +4 -4
  24. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +4 -4
  25. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +3 -3
  26. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +4 -4
  27. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +3 -3
  28. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +3 -3
  29. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +3 -3
  30. package/esm2022/lib/components/bmb-calendar/utils.mjs +1 -1
  31. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +13 -13
  32. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +4 -4
  33. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +4 -4
  34. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +4 -4
  35. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +3 -3
  36. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +3 -3
  37. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +4 -4
  38. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +3 -3
  39. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +4 -4
  40. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +4 -4
  41. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +4 -4
  42. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +4 -4
  43. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +4 -4
  44. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +3 -3
  45. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +4 -4
  46. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +4 -4
  47. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +4 -4
  48. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +4 -4
  49. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +3 -3
  50. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +4 -4
  51. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +4 -4
  52. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +3 -3
  53. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +4 -4
  54. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +4 -4
  55. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +3 -3
  56. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +4 -4
  57. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +3 -3
  58. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +3 -3
  59. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +4 -4
  60. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +3 -3
  61. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +3 -3
  62. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +4 -4
  63. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +4 -4
  64. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +4 -4
  65. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +3 -3
  66. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +3 -3
  67. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +3 -3
  68. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +4 -4
  69. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +3 -3
  70. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +3 -3
  71. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +3 -3
  72. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +3 -3
  73. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +3 -3
  74. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +3 -3
  75. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +4 -4
  76. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +4 -4
  77. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +4 -4
  78. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +4 -4
  79. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +4 -4
  80. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +4 -4
  81. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +4 -4
  82. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +3 -3
  83. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +3 -3
  84. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +4 -4
  85. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +4 -4
  86. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +4 -4
  87. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +4 -4
  88. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +4 -4
  89. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +4 -4
  90. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +4 -4
  91. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +3 -3
  92. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +3 -3
  93. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +4 -4
  94. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +4 -4
  95. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +4 -4
  96. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +4 -4
  97. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +4 -4
  98. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +4 -4
  99. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +3 -3
  100. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +3 -3
  101. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +3 -3
  102. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +4 -4
  103. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +3 -3
  104. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +4 -4
  105. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +3 -3
  106. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +4 -4
  107. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +4 -4
  108. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +3 -3
  109. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +4 -4
  110. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +3 -3
  111. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +3 -3
  112. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +3 -3
  113. package/esm2022/lib/components/bmb-notification-counter/bmb-notification-counter.component.mjs +3 -3
  114. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +3 -3
  115. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +4 -4
  116. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +4 -4
  117. package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +4 -4
  118. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +4 -4
  119. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +4 -4
  120. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +4 -4
  121. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +4 -4
  122. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +4 -4
  123. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +4 -4
  124. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +4 -4
  125. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +4 -4
  126. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +4 -4
  127. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +4 -4
  128. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +3 -3
  129. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +3 -3
  130. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +4 -4
  131. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +3 -3
  132. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +4 -4
  133. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +4 -4
  134. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +3 -3
  135. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +4 -4
  136. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +4 -4
  137. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +4 -4
  138. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +4 -4
  139. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +4 -4
  140. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +3 -3
  141. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +4 -4
  142. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +3 -3
  143. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +4 -4
  144. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +3 -3
  145. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +4 -4
  146. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +4 -4
  147. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +4 -4
  148. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +4 -4
  149. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +3 -3
  150. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +3 -3
  151. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +3 -3
  152. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +4 -4
  153. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +4 -4
  154. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +3 -3
  155. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +3 -3
  156. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +3 -3
  157. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +4 -4
  158. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +3 -3
  159. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +3 -3
  160. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +3 -3
  161. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +4 -4
  162. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +4 -4
  163. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +4 -4
  164. package/esm2022/lib/directives/bmb-button/button.directive.mjs +4 -4
  165. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +3 -3
  166. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +4 -4
  167. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +3 -3
  168. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +4 -4
  169. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +3 -3
  170. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +7 -7
  171. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +3 -3
  172. package/esm2022/lib/ds-ng.component.mjs +3 -3
  173. package/esm2022/lib/ds-ng.service.mjs +3 -3
  174. package/esm2022/lib/services/calendar.service.mjs +3 -3
  175. package/esm2022/lib/services/native-modal.service.mjs +4 -4
  176. package/esm2022/lib/services/notification.service.mjs +4 -4
  177. package/esm2022/lib/services/projection.service.mjs +4 -4
  178. package/esm2022/lib/services/tabs.service.mjs +3 -3
  179. package/esm2022/lib/services/theme.service.mjs +3 -3
  180. package/esm2022/lib/services/toast.service.mjs +3 -3
  181. package/esm2022/lib/services/user/profile.service.mjs +3 -3
  182. package/esm2022/lib/utils/dropdown.mjs +1 -1
  183. package/esm2022/lib/utils/formControl.mjs +1 -1
  184. package/esm2022/lib/utils/timestreamFilters.mjs +1 -1
  185. package/esm2022/lib/utils/utils.mjs +1 -1
  186. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +551 -551
  187. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  188. package/package.json +2 -2
@@ -45,11 +45,11 @@ export class BmbBreadcrumbComponent {
45
45
  }
46
46
  return undefined;
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbBreadcrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbBreadcrumbComponent, isStandalone: true, selector: "bmb-breadcrumb", inputs: { dataTopBar: { classPropertyName: "dataTopBar", publicName: "dataTopBar", isSignal: true, isRequired: false, transformFunction: null }, dataLocalNav: { classPropertyName: "dataLocalNav", publicName: "dataLocalNav", isSignal: true, isRequired: false, transformFunction: null }, isTopBar: { classPropertyName: "isTopBar", publicName: "isTopBar", isSignal: true, isRequired: false, transformFunction: null }, isInactive: { classPropertyName: "isInactive", publicName: "isInactive", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"bmb_breadcrumb\">\n @if (isTopBar()) {\n <div class=\"bmb_breadcrumb-top\">\n @for (item of dataTopBar(); track $index) {\n @if ($index > 0) {\n <span class=\"bmb_breadcrumb-top-separator\">|</span>\n }\n @if ($index === 0) {\n <a\n class=\"bmb_breadcrumb-top-link\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ item.text }}</a\n >\n } @else if ($index === 1) {\n <span class=\"bmb_breadcrumb-top-current\">{{ item.text }}</span>\n }\n }\n </div>\n } @else {\n <a\n *ngIf=\"getPenultimateLink()\"\n class=\"bmb_breadcrumb-back\"\n [routerLink]=\"getPenultimateLink()\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <bmb-icon icon=\"chevron_left\" class=\"bmb_breadcrumb-icon\" />\n </a>\n\n @for (item of dataLocalNav(); track $index) {\n @if (\n $index === 0 ||\n $index >= dataLocalNav().length - 2 ||\n (dataLocalNav().length == 4 && $index == 1)\n ) {\n <span\n class=\"bmb_breadcrumb-text\"\n [ngClass]=\"{\n 'bmb_breadcrumb-text-active': isInactive()\n }\"\n >{{ item.text }}</span\n >\n <a\n class=\"bmb_breadcrumb-link\"\n [ngClass]=\"getClasses(item)\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ item.text }}</a\n >\n @if ($index < dataLocalNav().length - 1) {\n <span\n class=\"bmb_breadcrumb-separator\"\n [ngClass]=\"{ 'bmb_breadcrumb-separator-inactive': isInactive() }\"\n >|</span\n >\n }\n }\n\n @if ($index === 1 && dataLocalNav().length > 4) {\n <div class=\"bmb_breadcrumb-dropdown\">\n <button\n type=\"button\"\n class=\"bmb_breadcrumb-dropdown-button\"\n [ngClass]=\"{\n 'bmb_breadcrumb-dropdown-button-inactive': isInactive()\n }\"\n (click)=\"toggleDropdown()\"\n >\n ...\n </button>\n <span\n class=\"bmb_breadcrumb-separator\"\n [ngClass]=\"{ 'bmb_breadcrumb-separator-inactive': isInactive() }\"\n >|</span\n >\n\n @if (dropdownOpen()) {\n <div class=\"bmb_breadcrumb-dropdown-menu\">\n @for (\n dropdownItem of getDropdownItems(dataLocalNav());\n track $index\n ) {\n <div class=\"bmb_breadcrumb-dropdown-items\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n class=\"bmb_breadcrumb-dropdown-icon\"\n >\n <path\n d=\"M532-149q-12-12-12-28t12-28l115-115H280q-33 0-56.5-23.5T200-400v-360q0-17 11.5-28.5T240-800q17 0 28.5 11.5T280-760v360h367L531-516q-12-12-11.5-28t11.5-28q12-12 28-12.5t28 11.5l185 185q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L589-149q-12 12-28.5 12T532-149Z\"\n />\n </svg>\n\n <span\n class=\"bmb_breadcrumb-text\"\n [ngClass]=\"{\n 'bmb_breadcrumb-text-active': isInactive()\n }\"\n >{{ item.text }}</span\n >\n <a\n [ngClass]=\"{\n 'bmb_breadcrumb-link-inactive': isInactive()\n }\"\n class=\"bmb_breadcrumb-link\"\n [routerLink]=\"dropdownItem.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ dropdownItem.text }}</a\n >\n </div>\n }\n </div>\n }\n </div>\n }\n }\n }\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_breadcrumb{align-items:center;display:flex;margin-top:.5rem}.bmb_breadcrumb-top{align-items:center;color:RGBA(var(--color-white-primary));display:flex;width:100%}.bmb_breadcrumb-top-separator{color:RGBA(var(--color-white-primary));display:none;font-size:1.25rem;margin:0 .5rem}@media (min-width: 768px){.bmb_breadcrumb-top-separator{display:block}}.bmb_breadcrumb-top-link{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;color:currentColor;text-decoration:none;white-space:nowrap}.bmb_breadcrumb-top-current{font-family:Poppins-Medium,sans-serif;font-size:.875rem;display:none;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.bmb_breadcrumb-top-current{display:block}}.bmb_breadcrumb-separator{color:var(--general_contrasts-main-selection);display:block;font-size:1.25rem;margin:0 .5rem}.bmb_breadcrumb-separator-inactive{color:var(--general_contrasts-100)}@media (max-width: 768px){.bmb_breadcrumb-separator{display:none}}.bmb_breadcrumb-link,.bmb_breadcrumb-text{font-family:Poppins-Medium,sans-serif;font-size:.875rem;color:var(--general_contrasts-main-selection);max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.bmb_breadcrumb-link-2,.bmb_breadcrumb-text-2{max-width:50%}.bmb_breadcrumb-link-3,.bmb_breadcrumb-text-3{max-width:33.3333333333%}.bmb_breadcrumb-link-4,.bmb_breadcrumb-text-4{max-width:25%}.bmb_breadcrumb-link-more,.bmb_breadcrumb-text-more{max-width:calc((100% - 3.125rem) / 3)}.bmb_breadcrumb-link-inactive{display:none}@media (max-width: 768px){.bmb_breadcrumb-link{display:none}.bmb_breadcrumb-link:last-child{display:block;max-width:100%}}.bmb_breadcrumb-text{color:var(--general_contrasts-100);display:none}@media (min-width: 769px){.bmb_breadcrumb-text-active{display:block}}.bmb_breadcrumb-dropdown{align-items:center;display:flex;position:relative}.bmb_breadcrumb-dropdown-button{font-family:Poppins-Medium,sans-serif;font-size:1rem;color:var(--general_contrasts-main-selection);padding:0;width:3.125rem}.bmb_breadcrumb-dropdown-button-inactive{color:var(--general_contrasts-100)}.bmb_breadcrumb-dropdown-menu{background-color:var(--general_contrasts-20);box-shadow:var(--bmb-shadow-3);display:flex;flex-flow:column;left:.875rem;max-width:10.75rem;position:absolute;top:2.5rem;z-index:1}.bmb_breadcrumb-dropdown-menu .bmb_breadcrumb-link{font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100);flex:1}.bmb_breadcrumb-dropdown-items{align-items:center;color:var(--general_contrasts-100);display:flex;padding:.5rem 1rem}.bmb_breadcrumb-dropdown-icon{height:1.5rem;margin-right:1rem;width:1.5rem}@media (max-width: 768px){.bmb_breadcrumb-dropdown{display:none}}.bmb_breadcrumb-back{align-items:center;display:none;height:1.25rem;justify-content:center;margin-right:.5rem;text-decoration:none;width:1.25rem}@media (max-width: 768px){.bmb_breadcrumb-back{display:flex}}.bmb_breadcrumb-icon{color:var(--general_contrasts-main-selection);font-size:1.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbBreadcrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbBreadcrumbComponent, isStandalone: true, selector: "bmb-breadcrumb", inputs: { dataTopBar: { classPropertyName: "dataTopBar", publicName: "dataTopBar", isSignal: true, isRequired: false, transformFunction: null }, dataLocalNav: { classPropertyName: "dataLocalNav", publicName: "dataLocalNav", isSignal: true, isRequired: false, transformFunction: null }, isTopBar: { classPropertyName: "isTopBar", publicName: "isTopBar", isSignal: true, isRequired: false, transformFunction: null }, isInactive: { classPropertyName: "isInactive", publicName: "isInactive", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"bmb_breadcrumb\">\n @if (isTopBar()) {\n <div class=\"bmb_breadcrumb-top\">\n @for (item of dataTopBar(); track $index) {\n @if ($index > 0) {\n <span class=\"bmb_breadcrumb-top-separator\">|</span>\n }\n @if ($index === 0) {\n <a\n class=\"bmb_breadcrumb-top-link\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ item.text }}</a\n >\n } @else if ($index === 1) {\n <span class=\"bmb_breadcrumb-top-current\">{{ item.text }}</span>\n }\n }\n </div>\n } @else {\n <a\n *ngIf=\"getPenultimateLink()\"\n class=\"bmb_breadcrumb-back\"\n [routerLink]=\"getPenultimateLink()\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <bmb-icon icon=\"chevron_left\" class=\"bmb_breadcrumb-icon\" />\n </a>\n\n @for (item of dataLocalNav(); track $index) {\n @if (\n $index === 0 ||\n $index >= dataLocalNav().length - 2 ||\n (dataLocalNav().length == 4 && $index == 1)\n ) {\n <span\n class=\"bmb_breadcrumb-text\"\n [ngClass]=\"{\n 'bmb_breadcrumb-text-active': isInactive()\n }\"\n >{{ item.text }}</span\n >\n <a\n class=\"bmb_breadcrumb-link\"\n [ngClass]=\"getClasses(item)\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ item.text }}</a\n >\n @if ($index < dataLocalNav().length - 1) {\n <span\n class=\"bmb_breadcrumb-separator\"\n [ngClass]=\"{ 'bmb_breadcrumb-separator-inactive': isInactive() }\"\n >|</span\n >\n }\n }\n\n @if ($index === 1 && dataLocalNav().length > 4) {\n <div class=\"bmb_breadcrumb-dropdown\">\n <button\n type=\"button\"\n class=\"bmb_breadcrumb-dropdown-button\"\n [ngClass]=\"{\n 'bmb_breadcrumb-dropdown-button-inactive': isInactive()\n }\"\n (click)=\"toggleDropdown()\"\n >\n ...\n </button>\n <span\n class=\"bmb_breadcrumb-separator\"\n [ngClass]=\"{ 'bmb_breadcrumb-separator-inactive': isInactive() }\"\n >|</span\n >\n\n @if (dropdownOpen()) {\n <div class=\"bmb_breadcrumb-dropdown-menu\">\n @for (\n dropdownItem of getDropdownItems(dataLocalNav());\n track $index\n ) {\n <div class=\"bmb_breadcrumb-dropdown-items\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n class=\"bmb_breadcrumb-dropdown-icon\"\n >\n <path\n d=\"M532-149q-12-12-12-28t12-28l115-115H280q-33 0-56.5-23.5T200-400v-360q0-17 11.5-28.5T240-800q17 0 28.5 11.5T280-760v360h367L531-516q-12-12-11.5-28t11.5-28q12-12 28-12.5t28 11.5l185 185q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L589-149q-12 12-28.5 12T532-149Z\"\n />\n </svg>\n\n <span\n class=\"bmb_breadcrumb-text\"\n [ngClass]=\"{\n 'bmb_breadcrumb-text-active': isInactive()\n }\"\n >{{ item.text }}</span\n >\n <a\n [ngClass]=\"{\n 'bmb_breadcrumb-link-inactive': isInactive()\n }\"\n class=\"bmb_breadcrumb-link\"\n [routerLink]=\"dropdownItem.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ dropdownItem.text }}</a\n >\n </div>\n }\n </div>\n }\n </div>\n }\n }\n }\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_breadcrumb{align-items:center;display:flex;margin-top:.5rem}.bmb_breadcrumb-top{align-items:center;color:RGBA(var(--color-white-primary));display:flex;width:100%}.bmb_breadcrumb-top-separator{color:RGBA(var(--color-white-primary));display:none;font-size:1.25rem;margin:0 .5rem}@media (min-width: 768px){.bmb_breadcrumb-top-separator{display:block}}.bmb_breadcrumb-top-link{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;color:currentColor;text-decoration:none;white-space:nowrap}.bmb_breadcrumb-top-current{font-family:Poppins-Medium,sans-serif;font-size:.875rem;display:none;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.bmb_breadcrumb-top-current{display:block}}.bmb_breadcrumb-separator{color:var(--general_contrasts-main-selection);display:block;font-size:1.25rem;margin:0 .5rem}.bmb_breadcrumb-separator-inactive{color:var(--general_contrasts-100)}@media (max-width: 768px){.bmb_breadcrumb-separator{display:none}}.bmb_breadcrumb-link,.bmb_breadcrumb-text{font-family:Poppins-Medium,sans-serif;font-size:.875rem;color:var(--general_contrasts-main-selection);max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.bmb_breadcrumb-link-2,.bmb_breadcrumb-text-2{max-width:50%}.bmb_breadcrumb-link-3,.bmb_breadcrumb-text-3{max-width:33.3333333333%}.bmb_breadcrumb-link-4,.bmb_breadcrumb-text-4{max-width:25%}.bmb_breadcrumb-link-more,.bmb_breadcrumb-text-more{max-width:calc((100% - 3.125rem) / 3)}.bmb_breadcrumb-link-inactive{display:none}@media (max-width: 768px){.bmb_breadcrumb-link{display:none}.bmb_breadcrumb-link:last-child{display:block;max-width:100%}}.bmb_breadcrumb-text{color:var(--general_contrasts-100);display:none}@media (min-width: 769px){.bmb_breadcrumb-text-active{display:block}}.bmb_breadcrumb-dropdown{align-items:center;display:flex;position:relative}.bmb_breadcrumb-dropdown-button{font-family:Poppins-Medium,sans-serif;font-size:1rem;color:var(--general_contrasts-main-selection);padding:0;width:3.125rem}.bmb_breadcrumb-dropdown-button-inactive{color:var(--general_contrasts-100)}.bmb_breadcrumb-dropdown-menu{background-color:var(--general_contrasts-20);box-shadow:var(--bmb-shadow-3);display:flex;flex-flow:column;left:.875rem;max-width:10.75rem;position:absolute;top:2.5rem;z-index:1}.bmb_breadcrumb-dropdown-menu .bmb_breadcrumb-link{font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100);flex:1}.bmb_breadcrumb-dropdown-items{align-items:center;color:var(--general_contrasts-100);display:flex;padding:.5rem 1rem}.bmb_breadcrumb-dropdown-icon{height:1.5rem;margin-right:1rem;width:1.5rem}@media (max-width: 768px){.bmb_breadcrumb-dropdown{display:none}}.bmb_breadcrumb-back{align-items:center;display:none;height:1.25rem;justify-content:center;margin-right:.5rem;text-decoration:none;width:1.25rem}@media (max-width: 768px){.bmb_breadcrumb-back{display:flex}}.bmb_breadcrumb-icon{color:var(--general_contrasts-main-selection);font-size:1.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbBreadcrumbComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbBreadcrumbComponent, decorators: [{
52
52
  type: Component,
53
53
  args: [{ selector: 'bmb-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, BmbIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"bmb_breadcrumb\">\n @if (isTopBar()) {\n <div class=\"bmb_breadcrumb-top\">\n @for (item of dataTopBar(); track $index) {\n @if ($index > 0) {\n <span class=\"bmb_breadcrumb-top-separator\">|</span>\n }\n @if ($index === 0) {\n <a\n class=\"bmb_breadcrumb-top-link\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ item.text }}</a\n >\n } @else if ($index === 1) {\n <span class=\"bmb_breadcrumb-top-current\">{{ item.text }}</span>\n }\n }\n </div>\n } @else {\n <a\n *ngIf=\"getPenultimateLink()\"\n class=\"bmb_breadcrumb-back\"\n [routerLink]=\"getPenultimateLink()\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <bmb-icon icon=\"chevron_left\" class=\"bmb_breadcrumb-icon\" />\n </a>\n\n @for (item of dataLocalNav(); track $index) {\n @if (\n $index === 0 ||\n $index >= dataLocalNav().length - 2 ||\n (dataLocalNav().length == 4 && $index == 1)\n ) {\n <span\n class=\"bmb_breadcrumb-text\"\n [ngClass]=\"{\n 'bmb_breadcrumb-text-active': isInactive()\n }\"\n >{{ item.text }}</span\n >\n <a\n class=\"bmb_breadcrumb-link\"\n [ngClass]=\"getClasses(item)\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ item.text }}</a\n >\n @if ($index < dataLocalNav().length - 1) {\n <span\n class=\"bmb_breadcrumb-separator\"\n [ngClass]=\"{ 'bmb_breadcrumb-separator-inactive': isInactive() }\"\n >|</span\n >\n }\n }\n\n @if ($index === 1 && dataLocalNav().length > 4) {\n <div class=\"bmb_breadcrumb-dropdown\">\n <button\n type=\"button\"\n class=\"bmb_breadcrumb-dropdown-button\"\n [ngClass]=\"{\n 'bmb_breadcrumb-dropdown-button-inactive': isInactive()\n }\"\n (click)=\"toggleDropdown()\"\n >\n ...\n </button>\n <span\n class=\"bmb_breadcrumb-separator\"\n [ngClass]=\"{ 'bmb_breadcrumb-separator-inactive': isInactive() }\"\n >|</span\n >\n\n @if (dropdownOpen()) {\n <div class=\"bmb_breadcrumb-dropdown-menu\">\n @for (\n dropdownItem of getDropdownItems(dataLocalNav());\n track $index\n ) {\n <div class=\"bmb_breadcrumb-dropdown-items\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n class=\"bmb_breadcrumb-dropdown-icon\"\n >\n <path\n d=\"M532-149q-12-12-12-28t12-28l115-115H280q-33 0-56.5-23.5T200-400v-360q0-17 11.5-28.5T240-800q17 0 28.5 11.5T280-760v360h367L531-516q-12-12-11.5-28t11.5-28q12-12 28-12.5t28 11.5l185 185q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L589-149q-12 12-28.5 12T532-149Z\"\n />\n </svg>\n\n <span\n class=\"bmb_breadcrumb-text\"\n [ngClass]=\"{\n 'bmb_breadcrumb-text-active': isInactive()\n }\"\n >{{ item.text }}</span\n >\n <a\n [ngClass]=\"{\n 'bmb_breadcrumb-link-inactive': isInactive()\n }\"\n class=\"bmb_breadcrumb-link\"\n [routerLink]=\"dropdownItem.link\"\n routerLinkActive=\"bmb_breadcrumb-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >{{ dropdownItem.text }}</a\n >\n </div>\n }\n </div>\n }\n </div>\n }\n }\n }\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_breadcrumb{align-items:center;display:flex;margin-top:.5rem}.bmb_breadcrumb-top{align-items:center;color:RGBA(var(--color-white-primary));display:flex;width:100%}.bmb_breadcrumb-top-separator{color:RGBA(var(--color-white-primary));display:none;font-size:1.25rem;margin:0 .5rem}@media (min-width: 768px){.bmb_breadcrumb-top-separator{display:block}}.bmb_breadcrumb-top-link{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;color:currentColor;text-decoration:none;white-space:nowrap}.bmb_breadcrumb-top-current{font-family:Poppins-Medium,sans-serif;font-size:.875rem;display:none;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.bmb_breadcrumb-top-current{display:block}}.bmb_breadcrumb-separator{color:var(--general_contrasts-main-selection);display:block;font-size:1.25rem;margin:0 .5rem}.bmb_breadcrumb-separator-inactive{color:var(--general_contrasts-100)}@media (max-width: 768px){.bmb_breadcrumb-separator{display:none}}.bmb_breadcrumb-link,.bmb_breadcrumb-text{font-family:Poppins-Medium,sans-serif;font-size:.875rem;color:var(--general_contrasts-main-selection);max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.bmb_breadcrumb-link-2,.bmb_breadcrumb-text-2{max-width:50%}.bmb_breadcrumb-link-3,.bmb_breadcrumb-text-3{max-width:33.3333333333%}.bmb_breadcrumb-link-4,.bmb_breadcrumb-text-4{max-width:25%}.bmb_breadcrumb-link-more,.bmb_breadcrumb-text-more{max-width:calc((100% - 3.125rem) / 3)}.bmb_breadcrumb-link-inactive{display:none}@media (max-width: 768px){.bmb_breadcrumb-link{display:none}.bmb_breadcrumb-link:last-child{display:block;max-width:100%}}.bmb_breadcrumb-text{color:var(--general_contrasts-100);display:none}@media (min-width: 769px){.bmb_breadcrumb-text-active{display:block}}.bmb_breadcrumb-dropdown{align-items:center;display:flex;position:relative}.bmb_breadcrumb-dropdown-button{font-family:Poppins-Medium,sans-serif;font-size:1rem;color:var(--general_contrasts-main-selection);padding:0;width:3.125rem}.bmb_breadcrumb-dropdown-button-inactive{color:var(--general_contrasts-100)}.bmb_breadcrumb-dropdown-menu{background-color:var(--general_contrasts-20);box-shadow:var(--bmb-shadow-3);display:flex;flex-flow:column;left:.875rem;max-width:10.75rem;position:absolute;top:2.5rem;z-index:1}.bmb_breadcrumb-dropdown-menu .bmb_breadcrumb-link{font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100);flex:1}.bmb_breadcrumb-dropdown-items{align-items:center;color:var(--general_contrasts-100);display:flex;padding:.5rem 1rem}.bmb_breadcrumb-dropdown-icon{height:1.5rem;margin-right:1rem;width:1.5rem}@media (max-width: 768px){.bmb_breadcrumb-dropdown{display:none}}.bmb_breadcrumb-back{align-items:center;display:none;height:1.25rem;justify-content:center;margin-right:.5rem;text-decoration:none;width:1.25rem}@media (max-width: 768px){.bmb_breadcrumb-back{display:flex}}.bmb_breadcrumb-icon{color:var(--general_contrasts-main-selection);font-size:1.25rem}\n"] }]
54
54
  }], ctorParameters: () => [{ type: i1.Router }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1icmVhZGNydW1iL2JtYi1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYnJlYWRjcnVtYi9ibWItYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBRU4sdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBZ0JsRSxNQUFNLE9BQU8sc0JBQXNCO0lBT2pDLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmxDLGVBQVUsR0FBRyxLQUFLLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsS0FBSyxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUMzQyxhQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsaUJBQVksR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFRCxDQUFDO0lBRXRDLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVcsS0FBVSxDQUFDO0lBRXRCLFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNkLE9BQU8sMEJBQTBCLENBQUM7U0FDbkM7UUFDRCxPQUFPLHVCQUF1QixNQUFNLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsTUFBTSxPQUFPLEdBQUc7WUFDZCxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSTtZQUNyRCw4QkFBOEIsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQ2xELENBQUM7UUFDRixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDM0IsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUMxQyxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzsrR0E3Q1Usc0JBQXNCO21HQUF0QixzQkFBc0Isa25CQzVCbkMsbXlJQTZIQSxvNFJEckdZLFlBQVksZ09BQUUsWUFBWSxpZkFBRSxnQkFBZ0I7OzRGQUkzQyxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUdQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxtQkFDdEMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBJQm1iRGF0YVRvcEJhciB7XG4gIHRleHQ6IHN0cmluZztcbiAgbGluaz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWJyZWFkY3J1bWInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWJyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIEJtYkljb25Db21wb25lbnRdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZGF0YVRvcEJhciA9IGlucHV0PElCbWJEYXRhVG9wQmFyW10+KFtdKTtcbiAgZGF0YUxvY2FsTmF2ID0gaW5wdXQ8SUJtYkRhdGFUb3BCYXJbXT4oW10pO1xuICBpc1RvcEJhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaXNJbmFjdGl2ZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZHJvcGRvd25PcGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG5cbiAgZ2V0TGlua0NsYXNzKGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAobGVuZ3RoID4gNCkge1xuICAgICAgcmV0dXJuICdibWJfYnJlYWRjcnVtYi1saW5rLW1vcmUnO1xuICAgIH1cbiAgICByZXR1cm4gYGJtYl9icmVhZGNydW1iLWxpbmstJHtsZW5ndGh9YDtcbiAgfVxuXG4gIGdldENsYXNzZXMoaXRlbTogYW55KTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBbdGhpcy5nZXRMaW5rQ2xhc3ModGhpcy5kYXRhTG9jYWxOYXYoKS5sZW5ndGgpXTogdHJ1ZSxcbiAgICAgICdibWJfYnJlYWRjcnVtYi1saW5rLWluYWN0aXZlJzogdGhpcy5pc0luYWN0aXZlKCksXG4gICAgfTtcbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuZHJvcGRvd25PcGVuLnNldCghdGhpcy5kcm9wZG93bk9wZW4oKSk7XG4gIH1cblxuICBnZXREcm9wZG93bkl0ZW1zKGl0ZW1zOiBhbnlbXSk6IGFueVtdIHtcbiAgICBpZiAoaXRlbXMubGVuZ3RoID4gNCkge1xuICAgICAgcmV0dXJuIGl0ZW1zLnNsaWNlKDEsIGl0ZW1zLmxlbmd0aCAtIDIpO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXRQZW51bHRpbWF0ZUxpbmsoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmRhdGFMb2NhbE5hdigpLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YUxvY2FsTmF2KClbbGVuZ3RoIC0gMl0ubGluaztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJtYl9icmVhZGNydW1iXCI+XG4gIEBpZiAoaXNUb3BCYXIoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10b3BcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgZGF0YVRvcEJhcigpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGlmICgkaW5kZXggPiAwKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10b3Atc2VwYXJhdG9yXCI+fDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCRpbmRleCA9PT0gMCkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLXRvcC1saW5rXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXG4gICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYm1iX2JyZWFkY3J1bWItYWN0aXZlXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIlxuICAgICAgICAgICAgPnt7IGl0ZW0udGV4dCB9fTwvYVxuICAgICAgICAgID5cbiAgICAgICAgfSBAZWxzZSBpZiAoJGluZGV4ID09PSAxKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10b3AtY3VycmVudFwiPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8YVxuICAgICAgKm5nSWY9XCJnZXRQZW51bHRpbWF0ZUxpbmsoKVwiXG4gICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLWJhY2tcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiZ2V0UGVudWx0aW1hdGVMaW5rKClcIlxuICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImJtYl9icmVhZGNydW1iLWFjdGl2ZVwiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICA+XG4gICAgICA8Ym1iLWljb24gaWNvbj1cImNoZXZyb25fbGVmdFwiIGNsYXNzPVwiYm1iX2JyZWFkY3J1bWItaWNvblwiIC8+XG4gICAgPC9hPlxuXG4gICAgQGZvciAoaXRlbSBvZiBkYXRhTG9jYWxOYXYoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICBAaWYgKFxuICAgICAgICAkaW5kZXggPT09IDAgfHxcbiAgICAgICAgJGluZGV4ID49IGRhdGFMb2NhbE5hdigpLmxlbmd0aCAtIDIgfHxcbiAgICAgICAgKGRhdGFMb2NhbE5hdigpLmxlbmd0aCA9PSA0ICYmICRpbmRleCA9PSAxKVxuICAgICAgKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10ZXh0XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItdGV4dC1hY3RpdmUnOiBpc0luYWN0aXZlKClcbiAgICAgICAgICB9XCJcbiAgICAgICAgICA+e3sgaXRlbS50ZXh0IH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzZXMoaXRlbSlcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXG4gICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImJtYl9icmVhZGNydW1iLWFjdGl2ZVwiXG4gICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgPnt7IGl0ZW0udGV4dCB9fTwvYVxuICAgICAgICA+XG4gICAgICAgIEBpZiAoJGluZGV4IDwgZGF0YUxvY2FsTmF2KCkubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLXNlcGFyYXRvclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdibWJfYnJlYWRjcnVtYi1zZXBhcmF0b3ItaW5hY3RpdmUnOiBpc0luYWN0aXZlKCkgfVwiXG4gICAgICAgICAgICA+fDwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKCRpbmRleCA9PT0gMSAmJiBkYXRhTG9jYWxOYXYoKS5sZW5ndGggPiA0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1kcm9wZG93blwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1kcm9wZG93bi1idXR0b25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItZHJvcGRvd24tYnV0dG9uLWluYWN0aXZlJzogaXNJbmFjdGl2ZSgpXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAuLi5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1zZXBhcmF0b3JcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYm1iX2JyZWFkY3J1bWItc2VwYXJhdG9yLWluYWN0aXZlJzogaXNJbmFjdGl2ZSgpIH1cIlxuICAgICAgICAgICAgPnw8L3NwYW5cbiAgICAgICAgICA+XG5cbiAgICAgICAgICBAaWYgKGRyb3Bkb3duT3BlbigpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2JyZWFkY3J1bWItZHJvcGRvd24tbWVudVwiPlxuICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICBkcm9wZG93bkl0ZW0gb2YgZ2V0RHJvcGRvd25JdGVtcyhkYXRhTG9jYWxOYXYoKSk7XG4gICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1kcm9wZG93bi1pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjRweFwiXG4gICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRweFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLWRyb3Bkb3duLWljb25cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNTMyLTE0OXEtMTItMTItMTItMjh0MTItMjhsMTE1LTExNUgyODBxLTMzIDAtNTYuNS0yMy41VDIwMC00MDB2LTM2MHEwLTE3IDExLjUtMjguNVQyNDAtODAwcTE3IDAgMjguNSAxMS41VDI4MC03NjB2MzYwaDM2N0w1MzEtNTE2cS0xMi0xMi0xMS41LTI4dDExLjUtMjhxMTItMTIgMjgtMTIuNXQyOCAxMS41bDE4NSAxODVxNiA2IDguNSAxM3QyLjUgMTVxMCA4LTIuNSAxNXQtOC41IDEzTDU4OS0xNDlxLTEyIDEyLTI4LjUgMTJUNTMyLTE0OVpcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2JyZWFkY3J1bWItdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItdGV4dC1hY3RpdmUnOiBpc0luYWN0aXZlKClcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID57eyBpdGVtLnRleHQgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItbGluay1pbmFjdGl2ZSc6IGlzSW5hY3RpdmUoKVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZHJvcGRvd25JdGVtLmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYm1iX2JyZWFkY3J1bWItYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgICAgID57eyBkcm9wZG93bkl0ZW0udGV4dCB9fTwvYVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1icmVhZGNydW1iL2JtYi1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYnJlYWRjcnVtYi9ibWItYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBRU4sdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBZ0JsRSxNQUFNLE9BQU8sc0JBQXNCO0lBT2pDLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmxDLGVBQVUsR0FBRyxLQUFLLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsS0FBSyxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUMzQyxhQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsaUJBQVksR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFRCxDQUFDO0lBRXRDLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVcsS0FBVSxDQUFDO0lBRXRCLFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2YsT0FBTywwQkFBMEIsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyx1QkFBdUIsTUFBTSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2xCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUk7WUFDckQsOEJBQThCLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUNsRCxDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQzNCLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQzFDLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzsrR0E3Q1Usc0JBQXNCO21HQUF0QixzQkFBc0Isa25CQzVCbkMsbXlJQTZIQSxvNFJEckdZLFlBQVksZ09BQUUsWUFBWSxpZkFBRSxnQkFBZ0I7OzRGQUkzQyxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUdQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxtQkFDdEMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBJQm1iRGF0YVRvcEJhciB7XG4gIHRleHQ6IHN0cmluZztcbiAgbGluaz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWJyZWFkY3J1bWInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWJyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIEJtYkljb25Db21wb25lbnRdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZGF0YVRvcEJhciA9IGlucHV0PElCbWJEYXRhVG9wQmFyW10+KFtdKTtcbiAgZGF0YUxvY2FsTmF2ID0gaW5wdXQ8SUJtYkRhdGFUb3BCYXJbXT4oW10pO1xuICBpc1RvcEJhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaXNJbmFjdGl2ZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZHJvcGRvd25PcGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG5cbiAgZ2V0TGlua0NsYXNzKGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAobGVuZ3RoID4gNCkge1xuICAgICAgcmV0dXJuICdibWJfYnJlYWRjcnVtYi1saW5rLW1vcmUnO1xuICAgIH1cbiAgICByZXR1cm4gYGJtYl9icmVhZGNydW1iLWxpbmstJHtsZW5ndGh9YDtcbiAgfVxuXG4gIGdldENsYXNzZXMoaXRlbTogYW55KTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBbdGhpcy5nZXRMaW5rQ2xhc3ModGhpcy5kYXRhTG9jYWxOYXYoKS5sZW5ndGgpXTogdHJ1ZSxcbiAgICAgICdibWJfYnJlYWRjcnVtYi1saW5rLWluYWN0aXZlJzogdGhpcy5pc0luYWN0aXZlKCksXG4gICAgfTtcbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuZHJvcGRvd25PcGVuLnNldCghdGhpcy5kcm9wZG93bk9wZW4oKSk7XG4gIH1cblxuICBnZXREcm9wZG93bkl0ZW1zKGl0ZW1zOiBhbnlbXSk6IGFueVtdIHtcbiAgICBpZiAoaXRlbXMubGVuZ3RoID4gNCkge1xuICAgICAgcmV0dXJuIGl0ZW1zLnNsaWNlKDEsIGl0ZW1zLmxlbmd0aCAtIDIpO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXRQZW51bHRpbWF0ZUxpbmsoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmRhdGFMb2NhbE5hdigpLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YUxvY2FsTmF2KClbbGVuZ3RoIC0gMl0ubGluaztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJtYl9icmVhZGNydW1iXCI+XG4gIEBpZiAoaXNUb3BCYXIoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10b3BcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgZGF0YVRvcEJhcigpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGlmICgkaW5kZXggPiAwKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10b3Atc2VwYXJhdG9yXCI+fDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCRpbmRleCA9PT0gMCkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLXRvcC1saW5rXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXG4gICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYm1iX2JyZWFkY3J1bWItYWN0aXZlXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIlxuICAgICAgICAgICAgPnt7IGl0ZW0udGV4dCB9fTwvYVxuICAgICAgICAgID5cbiAgICAgICAgfSBAZWxzZSBpZiAoJGluZGV4ID09PSAxKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10b3AtY3VycmVudFwiPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8YVxuICAgICAgKm5nSWY9XCJnZXRQZW51bHRpbWF0ZUxpbmsoKVwiXG4gICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLWJhY2tcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiZ2V0UGVudWx0aW1hdGVMaW5rKClcIlxuICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImJtYl9icmVhZGNydW1iLWFjdGl2ZVwiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICA+XG4gICAgICA8Ym1iLWljb24gaWNvbj1cImNoZXZyb25fbGVmdFwiIGNsYXNzPVwiYm1iX2JyZWFkY3J1bWItaWNvblwiIC8+XG4gICAgPC9hPlxuXG4gICAgQGZvciAoaXRlbSBvZiBkYXRhTG9jYWxOYXYoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICBAaWYgKFxuICAgICAgICAkaW5kZXggPT09IDAgfHxcbiAgICAgICAgJGluZGV4ID49IGRhdGFMb2NhbE5hdigpLmxlbmd0aCAtIDIgfHxcbiAgICAgICAgKGRhdGFMb2NhbE5hdigpLmxlbmd0aCA9PSA0ICYmICRpbmRleCA9PSAxKVxuICAgICAgKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi10ZXh0XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItdGV4dC1hY3RpdmUnOiBpc0luYWN0aXZlKClcbiAgICAgICAgICB9XCJcbiAgICAgICAgICA+e3sgaXRlbS50ZXh0IH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzZXMoaXRlbSlcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXG4gICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImJtYl9icmVhZGNydW1iLWFjdGl2ZVwiXG4gICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgPnt7IGl0ZW0udGV4dCB9fTwvYVxuICAgICAgICA+XG4gICAgICAgIEBpZiAoJGluZGV4IDwgZGF0YUxvY2FsTmF2KCkubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLXNlcGFyYXRvclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdibWJfYnJlYWRjcnVtYi1zZXBhcmF0b3ItaW5hY3RpdmUnOiBpc0luYWN0aXZlKCkgfVwiXG4gICAgICAgICAgICA+fDwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKCRpbmRleCA9PT0gMSAmJiBkYXRhTG9jYWxOYXYoKS5sZW5ndGggPiA0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1kcm9wZG93blwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1kcm9wZG93bi1idXR0b25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItZHJvcGRvd24tYnV0dG9uLWluYWN0aXZlJzogaXNJbmFjdGl2ZSgpXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAuLi5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1zZXBhcmF0b3JcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYm1iX2JyZWFkY3J1bWItc2VwYXJhdG9yLWluYWN0aXZlJzogaXNJbmFjdGl2ZSgpIH1cIlxuICAgICAgICAgICAgPnw8L3NwYW5cbiAgICAgICAgICA+XG5cbiAgICAgICAgICBAaWYgKGRyb3Bkb3duT3BlbigpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2JyZWFkY3J1bWItZHJvcGRvd24tbWVudVwiPlxuICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICBkcm9wZG93bkl0ZW0gb2YgZ2V0RHJvcGRvd25JdGVtcyhkYXRhTG9jYWxOYXYoKSk7XG4gICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1kcm9wZG93bi1pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjRweFwiXG4gICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRweFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJtYl9icmVhZGNydW1iLWRyb3Bkb3duLWljb25cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNTMyLTE0OXEtMTItMTItMTItMjh0MTItMjhsMTE1LTExNUgyODBxLTMzIDAtNTYuNS0yMy41VDIwMC00MDB2LTM2MHEwLTE3IDExLjUtMjguNVQyNDAtODAwcTE3IDAgMjguNSAxMS41VDI4MC03NjB2MzYwaDM2N0w1MzEtNTE2cS0xMi0xMi0xMS41LTI4dDExLjUtMjhxMTItMTIgMjgtMTIuNXQyOCAxMS41bDE4NSAxODVxNiA2IDguNSAxM3QyLjUgMTVxMCA4LTIuNSAxNXQtOC41IDEzTDU4OS0xNDlxLTEyIDEyLTI4LjUgMTJUNTMyLTE0OVpcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2JyZWFkY3J1bWItdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItdGV4dC1hY3RpdmUnOiBpc0luYWN0aXZlKClcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID57eyBpdGVtLnRleHQgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYm1iX2JyZWFkY3J1bWItbGluay1pbmFjdGl2ZSc6IGlzSW5hY3RpdmUoKVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibWJfYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZHJvcGRvd25JdGVtLmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYm1iX2JyZWFkY3J1bWItYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgICAgID57eyBkcm9wZG93bkl0ZW0udGV4dCB9fTwvYVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -20,10 +20,10 @@ export class BmbButtonIconComponent {
20
20
  handleClick(event) {
21
21
  this.onButtonClick.emit(event);
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbButtonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: BmbButtonIconComponent, isStandalone: true, selector: "bmb-button-icon", inputs: { appearanceContrast: { classPropertyName: "appearanceContrast", publicName: "appearanceContrast", isSignal: true, isRequired: false, transformFunction: null }, idElement: { classPropertyName: "idElement", publicName: "idElement", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, showContainer: { classPropertyName: "showContainer", publicName: "showContainer", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, isOutline: { classPropertyName: "isOutline", publicName: "isOutline", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", isOutline: "isOutlineChange", onButtonClick: "onButtonClick" }, ngImport: i0, template: "<span\n class=\"bmb_button_icon\"\n [ngClass]=\"{\n 'bmb_button_icon-active': active(),\n 'bmb_button_icon-container': showContainer(),\n 'bmb_button_icon-container-outline': showContainer() && isOutline(),\n 'bmb_button_icon-disabled': disabled(),\n 'bmb_button_icon-container-primary': appearanceContrast() === 'primary',\n 'bmb_button_icon-container-alternative':\n appearanceContrast() === 'alternative'\n }\"\n>\n <bmb-action-icon\n [idElement]=\"idElement()\"\n [icon]=\"icon()\"\n [iconSize]=\"showContainer() ? 24 : 32\"\n [disabled]=\"disabled()!\"\n (buttonPress)=\"handlePress()\"\n (buttonClick)=\"handleClick($event)\"\n />\n</span>\n", styles: [".bmb_button_icon{display:flex;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;background-color:transparent}.bmb_button_icon-active:not(.bmb_button_icon-container) .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon-container.bmb_button_icon{display:flex;justify-content:center;align-items:center;border-radius:var(--bmb-radius-s);border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover{border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--buttons-alternative-text)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container-outline.bmb_button_icon{border:.0625rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover{border:.125rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-primary.bmb_button_icon{background-color:var(--containers-background)}.bmb_button_icon-container-alternative.bmb_button_icon{background-color:var(--containers-main)}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--white-primary);scale:1.2}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon .material-symbols-rounded{color:var(--white-primary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbButtonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbButtonIconComponent, isStandalone: true, selector: "bmb-button-icon", inputs: { appearanceContrast: { classPropertyName: "appearanceContrast", publicName: "appearanceContrast", isSignal: true, isRequired: false, transformFunction: null }, idElement: { classPropertyName: "idElement", publicName: "idElement", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, showContainer: { classPropertyName: "showContainer", publicName: "showContainer", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, isOutline: { classPropertyName: "isOutline", publicName: "isOutline", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", isOutline: "isOutlineChange", onButtonClick: "onButtonClick" }, ngImport: i0, template: "<span\n class=\"bmb_button_icon\"\n [ngClass]=\"{\n 'bmb_button_icon-active': active(),\n 'bmb_button_icon-container': showContainer(),\n 'bmb_button_icon-container-outline': showContainer() && isOutline(),\n 'bmb_button_icon-disabled': disabled(),\n 'bmb_button_icon-container-primary': appearanceContrast() === 'primary',\n 'bmb_button_icon-container-alternative':\n appearanceContrast() === 'alternative'\n }\"\n>\n <bmb-action-icon\n [idElement]=\"idElement()\"\n [icon]=\"icon()\"\n [iconSize]=\"showContainer() ? 24 : 32\"\n [disabled]=\"disabled()!\"\n (buttonPress)=\"handlePress()\"\n (buttonClick)=\"handleClick($event)\"\n />\n</span>\n", styles: [".bmb_button_icon{display:flex;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;background-color:transparent}.bmb_button_icon-active:not(.bmb_button_icon-container) .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon-container.bmb_button_icon{display:flex;justify-content:center;align-items:center;border-radius:var(--bmb-radius-s);border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover{border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--buttons-alternative-text)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container-outline.bmb_button_icon{border:.0625rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover{border:.125rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-primary.bmb_button_icon{background-color:var(--containers-background)}.bmb_button_icon-container-alternative.bmb_button_icon{background-color:var(--containers-main)}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--white-primary);scale:1.2}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon .material-symbols-rounded{color:var(--white-primary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbButtonIconComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbButtonIconComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'bmb-button-icon', standalone: true, imports: [CommonModule, BmbActionIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"bmb_button_icon\"\n [ngClass]=\"{\n 'bmb_button_icon-active': active(),\n 'bmb_button_icon-container': showContainer(),\n 'bmb_button_icon-container-outline': showContainer() && isOutline(),\n 'bmb_button_icon-disabled': disabled(),\n 'bmb_button_icon-container-primary': appearanceContrast() === 'primary',\n 'bmb_button_icon-container-alternative':\n appearanceContrast() === 'alternative'\n }\"\n>\n <bmb-action-icon\n [idElement]=\"idElement()\"\n [icon]=\"icon()\"\n [iconSize]=\"showContainer() ? 24 : 32\"\n [disabled]=\"disabled()!\"\n (buttonPress)=\"handlePress()\"\n (buttonClick)=\"handleClick($event)\"\n />\n</span>\n", styles: [".bmb_button_icon{display:flex;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;background-color:transparent}.bmb_button_icon-active:not(.bmb_button_icon-container) .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon-container.bmb_button_icon{display:flex;justify-content:center;align-items:center;border-radius:var(--bmb-radius-s);border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover{border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--buttons-alternative-text)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container-outline.bmb_button_icon{border:.0625rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover{border:.125rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-primary.bmb_button_icon{background-color:var(--containers-background)}.bmb_button_icon-container-alternative.bmb_button_icon{background-color:var(--containers-main)}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--white-primary);scale:1.2}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon .material-symbols-rounded{color:var(--white-primary)}\n"] }]
29
29
  }] });
@@ -252,10 +252,10 @@ export class BmbCalendarComponent {
252
252
  getBulletClass(name) {
253
253
  return ['bmb_calendar-event-bullet', `bmb_calendar-event-bullet-${name}`];
254
254
  }
255
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbCalendarComponent, deps: [{ token: i1.BmbCalendarService }, { token: i2.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbCalendarComponent, isStandalone: true, selector: "bmb-calendar", inputs: { view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, calendarTimezone: { classPropertyName: "calendarTimezone", publicName: "calendarTimezone", isSignal: true, isRequired: false, transformFunction: null }, clientTimezone: { classPropertyName: "clientTimezone", publicName: "clientTimezone", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, startBusinessHour: { classPropertyName: "startBusinessHour", publicName: "startBusinessHour", isSignal: true, isRequired: false, transformFunction: null }, calendarTitle: { classPropertyName: "calendarTitle", publicName: "calendarTitle", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, showFilterButton: { classPropertyName: "showFilterButton", publicName: "showFilterButton", isSignal: true, isRequired: false, transformFunction: null }, visibleDate: { classPropertyName: "visibleDate", publicName: "visibleDate", isSignal: true, isRequired: false, transformFunction: null }, currentDate: { classPropertyName: "currentDate", publicName: "currentDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { view: "viewChange", filters: "filtersChange", visibleDate: "visibleDateChange", onDateChange: "onDateChange", onClose: "onClose" }, host: { listeners: { "window:resize": "resize($event)" } }, viewQueries: [{ propertyName: "detailContent", first: true, predicate: ["detailContent"], descendants: true, read: TemplateRef }, { propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"bmb_calendar\" [ngStyle]=\"{ height: getHeight(height()) }\">\n @if (isMobileHeader) {\n <bmb-calendar-template-mobile\n [now]=\"visibleDate()\"\n [lang]=\"lang()\"\n [events]=\"filteredEvents()\"\n (onCurrentDateChange)=\"handleCurrentDateChange($event)\"\n [weekDays]=\"renderWeekDays()\"\n [calendarTitle]=\"calendarTitle()\"\n (onClose)=\"handleClose()\"\n (showFilters)=\"handleShowModalFilter()\"\n />\n } @else {\n <bmb-calendar-header\n [weekDays]=\"renderWeekDays()\"\n [lang]=\"lang()\"\n [view]=\"view()\"\n [currentDate]=\"visibleDate()\"\n (onRangeChange)=\"handleDateChange($event, visibleDate())\"\n (onCurrentDateChange)=\"handleCurrentDateChange($event)\"\n [showFilterButton]=\"showFilterButton()\"\n (showFilters)=\"handleShowModalFilter()\"\n />\n }\n @switch (view()) {\n @case ('day') {\n <bmb-calendar-template-day\n [now]=\"visibleDate()\"\n [events]=\"getDayEvents()\"\n (onSelectEvent)=\"handleSelectEvent($event)\"\n [currentTime]=\"currentTime()\"\n [startBusinessHour]=\"startBusinessHour()\"\n [dateFormat]=\"dateFormat()\"\n class=\"bmb_calendar-content\"\n />\n }\n @case ('week') {\n <bmb-calendar-template-week\n [weekDays]=\"renderWeekDays()\"\n [lang]=\"lang()\"\n [now]=\"visibleDate()\"\n [events]=\"filteredEvents()\"\n (onSelectEvent)=\"handleSelectEvent($event)\"\n [currentTime]=\"currentTime()\"\n [startBusinessHour]=\"startBusinessHour()\"\n [selectedWeek]=\"selectedWeek()\"\n class=\"bmb_calendar-content\"\n />\n }\n @case ('month') {\n <bmb-calendar-template-month\n [now]=\"visibleDate()\"\n [events]=\"filteredEvents()\"\n (onSelectEvent)=\"handleSelectEvent($event)\"\n class=\"bmb_calendar-content\"\n />\n }\n @default {\n <bmb-calendar-template-week\n [weekDays]=\"renderWeekDays()\"\n [lang]=\"lang()\"\n [now]=\"visibleDate()\"\n [events]=\"filteredEvents()\"\n class=\"bmb_calendar-content\"\n />\n }\n }\n\n @if (isLoading()) {\n <div class=\"bmb_calendar-loader\">\n <bmb-loader [showInline]=\"true\" />\n </div>\n }\n</div>\n\n<ng-template #detailContent>\n @if (selectedEvent) {\n <section>\n @if (selectedEvent.tags?.length) {\n <p style=\"display: flex; flex-wrap: wrap; gap: 0.5rem\">\n @for (item of selectedEvent.tags; track $index) {\n <bmb-badge [text]=\"item.text\" [appearance]=\"item.appearance\" />\n }\n </p>\n }\n @if (selectedEvent.title) {\n <p class=\"bmb_calendar-event-modal-title\">{{ selectedEvent.title }}</p>\n }\n @if (selectedEvent.place) {\n <p class=\"bmb_calendar-event-modal-place\">{{ selectedEvent.place }}</p>\n }\n <div class=\"bmb_calendar-event-modal-duration\">{{ getDuration() }}</div>\n </section>\n }\n</ng-template>\n\n<ng-template #modalTemplate>\n <form [formGroup]=\"calendarForm\">\n @for (item of filteredEvents().calendars; track $index) {\n <div bmbLayout gapSize=\"s\" alignItems=\"center\">\n <bmb-checkbox\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [inputId]=\"'checkbox_' + item\"\n [name]=\"'checkbox_' + item\"\n [control]=\"getFormControl(item)\"\n />\n <div\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [ngClass]=\"getBulletClass(item)\"\n ></div>\n <label\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [colGrow]=\"1\"\n [htmlFor]=\"'checkbox_' + item\"\n >{{ getCalendarName(item) }}</label\n >\n </div>\n <bmb-divider type=\"dashed\"></bmb-divider>\n }\n </form>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_calendar{background-color:var(--containers-background);position:relative;overflow:hidden;display:flex;flex-flow:column}@media (min-width: 1001px){.bmb_calendar{padding:var(--bmb-spacing-xl);background-color:var(--containers-main)}}.bmb_calendar-event-bullet{width:.5rem;height:.5rem;border-radius:50%;margin-left:.5rem;background-color:var(--general_contrasts-50)}.bmb_calendar-event-bullet-academic{background-color:var(--general_contrasts-main-selection)}.bmb_calendar-event-bullet-life{background-color:rgb(var(--color-green-light))}.bmb_calendar-event-bullet-events{background-color:rgb(var(--color-purple-light))}.bmb_calendar-event-bullet-save_the_date{background-color:rgb(var(--color-yellow-primary))}.bmb_calendar-detail-header{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:var(--bmb-spacing-n) var(--bmb-spacing-none);border-bottom:.0625rem solid var(--general_contrasts-25);position:sticky;top:0;z-index:1;background-color:var(--containers-main)}@media (max-width: 999px){.bmb_calendar-detail-header{display:none}}.bmb_calendar-detail-header h2{font-family:Poppins-Medium,sans-serif;font-size:.75rem;font-weight:400}.bmb_calendar-detail-header h2:first-letter .bmb-first-letter{text-transform:capitalize}.bmb_calendar-detail-header span{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_calendar-body{position:relative}.bmb_calendar-col{flex:1;height:fit-content;border-left:.0625rem solid var(--containers-main)}@media (min-width: 1001px){.bmb_calendar-col{border-left:.0625rem solid var(--general_contrasts-25)}}.bmb_calendar-col-today{background-color:var(--general_contrasts-25)}.bmb_calendar-row-body{min-height:7.5rem;border-bottom:.0625rem solid var(--containers-main);position:relative}@media (min-width: 1001px){.bmb_calendar-row-body{border-bottom:.0625rem solid var(--general_contrasts-25)}}.bmb_calendar-row-body:before{content:\"\";position:absolute;top:50%;left:0;width:100%;border-bottom:.0625rem dashed var(--containers-main)}@media (min-width: 1001px){.bmb_calendar-row-body:before{display:none}}.bmb_calendar-week-view,.bmb_calendar-day-view{display:flex;justify-content:space-between}.bmb_calendar-loader{display:flex;height:100%;position:absolute;top:0;width:100%;left:0;justify-content:center;align-items:center}.bmb_calendar-content{flex:1 0 0%;overflow:hidden}.bmb_calendar-event-modal-title{overflow:hidden;text-overflow:ellipsis;white-space:wrap;font-family:Poppins-Medium,sans-serif;font-size:1rem}.bmb_calendar-event-modal-detail,.bmb_calendar-event-modal-place,.bmb_calendar-event-modal-duration{font-family:Poppins-Regular,sans-serif;font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BmbCalendarTemplateDayComponent, selector: "bmb-calendar-template-day", inputs: ["lang", "now", "events", "currentTime", "startBusinessHour", "dateFormat"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateWeekComponent, selector: "bmb-calendar-template-week", inputs: ["weekDays", "lang", "now", "dateFormat", "events", "currentTime", "startBusinessHour", "selectedWeek"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateMonthComponent, selector: "bmb-calendar-template-month", inputs: ["lang", "now", "events"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarHeaderComponent, selector: "bmb-calendar-header", inputs: ["weekDays", "lang", "view", "currentDate", "showFilterButton"], outputs: ["onRangeChange", "onCurrentDateChange", "showFilters"] }, { kind: "component", type: BmbCalendarTemplateMobileComponent, selector: "bmb-calendar-template-mobile", inputs: ["weekDays", "now", "lang", "events", "calendarTitle"], outputs: ["onClose", "onCurrentDateChange", "showFilters"] }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }, { kind: "component", type: BmbLoaderComponent, selector: "bmb-loader", inputs: ["appearance", "title", "icon", "subtitle", "overlay", "isVisible", "errorState", "actions", "buttonPrimary", "buttonSecondary", "showInline"], outputs: ["onButtonPrimary", "onButtonSecondary"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbCheckboxComponent, selector: "bmb-checkbox", inputs: ["name", "id", "disabled", "required", "value", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "errorMessage", "helperMessage", "customValidation", "control", "checked", "showError", "indeterminate", "inputId"], outputs: ["controlChange", "checkedChange", "showErrorChange", "indeterminateChange", "inputIdChange", "change"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbCalendarComponent, deps: [{ token: i1.BmbCalendarService }, { token: i2.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbCalendarComponent, isStandalone: true, selector: "bmb-calendar", inputs: { view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, calendarTimezone: { classPropertyName: "calendarTimezone", publicName: "calendarTimezone", isSignal: true, isRequired: false, transformFunction: null }, clientTimezone: { classPropertyName: "clientTimezone", publicName: "clientTimezone", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, startBusinessHour: { classPropertyName: "startBusinessHour", publicName: "startBusinessHour", isSignal: true, isRequired: false, transformFunction: null }, calendarTitle: { classPropertyName: "calendarTitle", publicName: "calendarTitle", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, showFilterButton: { classPropertyName: "showFilterButton", publicName: "showFilterButton", isSignal: true, isRequired: false, transformFunction: null }, visibleDate: { classPropertyName: "visibleDate", publicName: "visibleDate", isSignal: true, isRequired: false, transformFunction: null }, currentDate: { classPropertyName: "currentDate", publicName: "currentDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { view: "viewChange", filters: "filtersChange", visibleDate: "visibleDateChange", onDateChange: "onDateChange", onClose: "onClose" }, host: { listeners: { "window:resize": "resize($event)" } }, viewQueries: [{ propertyName: "detailContent", first: true, predicate: ["detailContent"], descendants: true, read: TemplateRef }, { propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"bmb_calendar\" [ngStyle]=\"{ height: getHeight(height()) }\">\n @if (isMobileHeader) {\n <bmb-calendar-template-mobile\n [now]=\"visibleDate()\"\n [lang]=\"lang()\"\n [events]=\"filteredEvents()\"\n (onCurrentDateChange)=\"handleCurrentDateChange($event)\"\n [weekDays]=\"renderWeekDays()\"\n [calendarTitle]=\"calendarTitle()\"\n (onClose)=\"handleClose()\"\n (showFilters)=\"handleShowModalFilter()\"\n />\n } @else {\n <bmb-calendar-header\n [weekDays]=\"renderWeekDays()\"\n [lang]=\"lang()\"\n [view]=\"view()\"\n [currentDate]=\"visibleDate()\"\n (onRangeChange)=\"handleDateChange($event, visibleDate())\"\n (onCurrentDateChange)=\"handleCurrentDateChange($event)\"\n [showFilterButton]=\"showFilterButton()\"\n (showFilters)=\"handleShowModalFilter()\"\n />\n }\n @switch (view()) {\n @case ('day') {\n <bmb-calendar-template-day\n [now]=\"visibleDate()\"\n [events]=\"getDayEvents()\"\n (onSelectEvent)=\"handleSelectEvent($event)\"\n [currentTime]=\"currentTime()\"\n [startBusinessHour]=\"startBusinessHour()\"\n [dateFormat]=\"dateFormat()\"\n class=\"bmb_calendar-content\"\n />\n }\n @case ('week') {\n <bmb-calendar-template-week\n [weekDays]=\"renderWeekDays()\"\n [lang]=\"lang()\"\n [now]=\"visibleDate()\"\n [events]=\"filteredEvents()\"\n (onSelectEvent)=\"handleSelectEvent($event)\"\n [currentTime]=\"currentTime()\"\n [startBusinessHour]=\"startBusinessHour()\"\n [selectedWeek]=\"selectedWeek()\"\n class=\"bmb_calendar-content\"\n />\n }\n @case ('month') {\n <bmb-calendar-template-month\n [now]=\"visibleDate()\"\n [events]=\"filteredEvents()\"\n (onSelectEvent)=\"handleSelectEvent($event)\"\n class=\"bmb_calendar-content\"\n />\n }\n @default {\n <bmb-calendar-template-week\n [weekDays]=\"renderWeekDays()\"\n [lang]=\"lang()\"\n [now]=\"visibleDate()\"\n [events]=\"filteredEvents()\"\n class=\"bmb_calendar-content\"\n />\n }\n }\n\n @if (isLoading()) {\n <div class=\"bmb_calendar-loader\">\n <bmb-loader [showInline]=\"true\" />\n </div>\n }\n</div>\n\n<ng-template #detailContent>\n @if (selectedEvent) {\n <section>\n @if (selectedEvent.tags?.length) {\n <p style=\"display: flex; flex-wrap: wrap; gap: 0.5rem\">\n @for (item of selectedEvent.tags; track $index) {\n <bmb-badge [text]=\"item.text\" [appearance]=\"item.appearance\" />\n }\n </p>\n }\n @if (selectedEvent.title) {\n <p class=\"bmb_calendar-event-modal-title\">{{ selectedEvent.title }}</p>\n }\n @if (selectedEvent.place) {\n <p class=\"bmb_calendar-event-modal-place\">{{ selectedEvent.place }}</p>\n }\n <div class=\"bmb_calendar-event-modal-duration\">{{ getDuration() }}</div>\n </section>\n }\n</ng-template>\n\n<ng-template #modalTemplate>\n <form [formGroup]=\"calendarForm\">\n @for (item of filteredEvents().calendars; track $index) {\n <div bmbLayout gapSize=\"s\" alignItems=\"center\">\n <bmb-checkbox\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [inputId]=\"'checkbox_' + item\"\n [name]=\"'checkbox_' + item\"\n [control]=\"getFormControl(item)\"\n />\n <div\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [ngClass]=\"getBulletClass(item)\"\n ></div>\n <label\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [colGrow]=\"1\"\n [htmlFor]=\"'checkbox_' + item\"\n >{{ getCalendarName(item) }}</label\n >\n </div>\n <bmb-divider type=\"dashed\"></bmb-divider>\n }\n </form>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_calendar{background-color:var(--containers-background);position:relative;overflow:hidden;display:flex;flex-flow:column}@media (min-width: 1001px){.bmb_calendar{padding:var(--bmb-spacing-xl);background-color:var(--containers-main)}}.bmb_calendar-event-bullet{width:.5rem;height:.5rem;border-radius:50%;margin-left:.5rem;background-color:var(--general_contrasts-50)}.bmb_calendar-event-bullet-academic{background-color:var(--general_contrasts-main-selection)}.bmb_calendar-event-bullet-life{background-color:rgb(var(--color-green-light))}.bmb_calendar-event-bullet-events{background-color:rgb(var(--color-purple-light))}.bmb_calendar-event-bullet-save_the_date{background-color:rgb(var(--color-yellow-primary))}.bmb_calendar-detail-header{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:var(--bmb-spacing-n) var(--bmb-spacing-none);border-bottom:.0625rem solid var(--general_contrasts-25);position:sticky;top:0;z-index:1;background-color:var(--containers-main)}@media (max-width: 999px){.bmb_calendar-detail-header{display:none}}.bmb_calendar-detail-header h2{font-family:Poppins-Medium,sans-serif;font-size:.75rem;font-weight:400}.bmb_calendar-detail-header h2:first-letter .bmb-first-letter{text-transform:capitalize}.bmb_calendar-detail-header span{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_calendar-body{position:relative}.bmb_calendar-col{flex:1;height:fit-content;border-left:.0625rem solid var(--containers-main)}@media (min-width: 1001px){.bmb_calendar-col{border-left:.0625rem solid var(--general_contrasts-25)}}.bmb_calendar-col-today{background-color:var(--general_contrasts-25)}.bmb_calendar-row-body{min-height:7.5rem;border-bottom:.0625rem solid var(--containers-main);position:relative}@media (min-width: 1001px){.bmb_calendar-row-body{border-bottom:.0625rem solid var(--general_contrasts-25)}}.bmb_calendar-row-body:before{content:\"\";position:absolute;top:50%;left:0;width:100%;border-bottom:.0625rem dashed var(--containers-main)}@media (min-width: 1001px){.bmb_calendar-row-body:before{display:none}}.bmb_calendar-week-view,.bmb_calendar-day-view{display:flex;justify-content:space-between}.bmb_calendar-loader{display:flex;height:100%;position:absolute;top:0;width:100%;left:0;justify-content:center;align-items:center}.bmb_calendar-content{flex:1 0 0%;overflow:hidden}.bmb_calendar-event-modal-title{overflow:hidden;text-overflow:ellipsis;white-space:wrap;font-family:Poppins-Medium,sans-serif;font-size:1rem}.bmb_calendar-event-modal-detail,.bmb_calendar-event-modal-place,.bmb_calendar-event-modal-duration{font-family:Poppins-Regular,sans-serif;font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BmbCalendarTemplateDayComponent, selector: "bmb-calendar-template-day", inputs: ["lang", "now", "events", "currentTime", "startBusinessHour", "dateFormat"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateWeekComponent, selector: "bmb-calendar-template-week", inputs: ["weekDays", "lang", "now", "dateFormat", "events", "currentTime", "startBusinessHour", "selectedWeek"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateMonthComponent, selector: "bmb-calendar-template-month", inputs: ["lang", "now", "events"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarHeaderComponent, selector: "bmb-calendar-header", inputs: ["weekDays", "lang", "view", "currentDate", "showFilterButton"], outputs: ["onRangeChange", "onCurrentDateChange", "showFilters"] }, { kind: "component", type: BmbCalendarTemplateMobileComponent, selector: "bmb-calendar-template-mobile", inputs: ["weekDays", "now", "lang", "events", "calendarTitle"], outputs: ["onClose", "onCurrentDateChange", "showFilters"] }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }, { kind: "component", type: BmbLoaderComponent, selector: "bmb-loader", inputs: ["appearance", "title", "icon", "subtitle", "overlay", "isVisible", "errorState", "actions", "buttonPrimary", "buttonSecondary", "showInline"], outputs: ["onButtonPrimary", "onButtonSecondary"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbCheckboxComponent, selector: "bmb-checkbox", inputs: ["name", "id", "disabled", "required", "value", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "errorMessage", "helperMessage", "customValidation", "control", "checked", "showError", "indeterminate", "inputId"], outputs: ["controlChange", "checkedChange", "showErrorChange", "indeterminateChange", "inputIdChange", "change"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
257
257
  }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbCalendarComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbCalendarComponent, decorators: [{
259
259
  type: Component,
260
260
  args: [{ selector: 'bmb-calendar', standalone: true, imports: [
261
261
  CommonModule,
@@ -282,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
282
282
  type: HostListener,
283
283
  args: ['window:resize', ['$event']]
284
284
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUdOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDNUgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDekgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDL0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDbEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1B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LENBQUM7K0dBeFNVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHkrREF1R0ssV0FBVyw4SENuTGpELHkySEE0SEEseStRRG5FSSxZQUFZLGtOQUNaLCtCQUErQix1TEFDL0IsZ0NBQWdDLG9OQUNoQyxpQ0FBaUMsdUlBQ2pDLDBCQUEwQiwyTUFDMUIsa0NBQWtDLHFNQUNsQyxpQkFBaUIsbUdBQ2pCLGtCQUFrQixpUUFDbEIsbUJBQW1CLHFiQUNuQixvQkFBb0Isb2FBQ3BCLG1CQUFtQiwwRUFDbkIsa0JBQWtCLCtIQUNsQixzQkFBc0I7OzRGQU9iLG9CQUFvQjtrQkF2QmhDLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLCtCQUErQjt3QkFDL0IsZ0NBQWdDO3dCQUNoQyxpQ0FBaUM7d0JBQ2pDLDBCQUEwQjt3QkFDMUIsa0NBQWtDO3dCQUNsQyxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixzQkFBc0I7cUJBQ3ZCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzJIQTBHckMsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRXJCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFHbEIsTUFBTTtzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBIb3N0TGlzdGVuZXIsXG4gIG1vZGVsLFxuICBpbnB1dCxcbiAgVmlld0NoaWxkLFxuICBUZW1wbGF0ZVJlZixcbiAgb3V0cHV0LFxuICBjb21wdXRlZCxcbiAgc2lnbmFsLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIGVmZmVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIEludGVydmFsIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJUZW1wbGF0ZVdlZWtDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9ibWItY2FsZW5kYXItdGVtcGxhdGUtd2Vlay9ibWItY2FsZW5kYXItdGVtcGxhdGUtd2Vlay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJUZW1wbGF0ZURheUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1kYXkvYm1iLWNhbGVuZGFyLXRlbXBsYXRlLWRheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJUZW1wbGF0ZU1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vbnRoL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb250aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9ibWItY2FsZW5kYXItaGVhZGVyL2JtYi1jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNhbGVuZGFyVGVtcGxhdGVNb2JpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9ibWItY2FsZW5kYXItdGVtcGxhdGUtbW9iaWxlL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb2JpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1sb2FkZXIvYm1iLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSUJtYkNhbGVuZGFyRXZlbnQsXG4gIElCbWJDYWxlbmRhckV2ZW50Q2xpY2ssXG4gIElCbWJDYWxlbmRhclZpZXcsXG4gIElCbWJQYXJzZWREYXRlcyxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRXZWVrRGF5cywgZ2V0TW9udGhEYXlzLCBERUZBVUxUX0RBVEVfRk9STUFUIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCbWJDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IEJtYk5hdGl2ZU1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdGl2ZS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJtYkJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWJhZGdlL2JtYi1iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJtYkNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWNoZWNrYm94L2JtYi1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kaXZpZGVyL2JtYi1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJMYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1sYXlvdXQvYm1iLWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQm1iTGF5b3V0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYm1iLWxheW91dC9ibWItbGF5b3V0LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IElCbWJOYXRpdmVNb2RhbCB9IGZyb20gJy4uL2JtYi1tb2RhbC9ibWItbW9kYWwuaW50ZXJmYWNlJztcblxuY29uc3QgcGFyc2VGcm9tRm9ybWF0ID0gKGRhdGVTdHJpbmc6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBEYXRlVGltZSA9PiB7XG4gIGlmIChmb3JtYXQudG9Mb3dlckNhc2UoKSA9PT0gJ2lzbycpIHJldHVybiBEYXRlVGltZS5mcm9tSVNPKGRhdGVTdHJpbmcpO1xuXG4gIHJldHVybiBEYXRlVGltZS5mcm9tRm9ybWF0KGRhdGVTdHJpbmcsIGZvcm1hdCk7XG59O1xuXG5leHBvcnQge1xuICBJQm1iQ2FsZW5kYXJFdmVudCxcbiAgSUJtYkNhbGVuZGFyRXZlbnRDbGljayxcbiAgSUJtYkV2ZW50VHlwZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1jYWxlbmRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZURheUNvbXBvbmVudCxcbiAgICBCbWJDYWxlbmRhclRlbXBsYXRlV2Vla0NvbXBvbmVudCxcbiAgICBCbWJDYWxlbmRhclRlbXBsYXRlTW9udGhDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZU1vYmlsZUNvbXBvbmVudCxcbiAgICBCbWJCYWRnZUNvbXBvbmVudCxcbiAgICBCbWJMb2FkZXJDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCbWJDaGVja2JveENvbXBvbmVudCxcbiAgICBCbWJEaXZpZGVyQ29tcG9uZW50LFxuICAgIEJtYkxheW91dERpcmVjdGl2ZSxcbiAgICBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlLFxuICBdLFxuICBzdHlsZVVybDogJy4vYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHZpZXcgPSBtb2RlbDxJQm1iQ2FsZW5kYXJWaWV3Pignd2VlaycpOyAvLyBpbnRlcm5hbFxuICBmaWx0ZXJzID0gbW9kZWw8eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0+KHt9KTtcbiAgY2FsZW5kYXJUaW1lem9uZSA9IGlucHV0PHN0cmluZz4oXG4gICAgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICApO1xuICBjbGllbnRUaW1lem9uZSA9IGlucHV0PHN0cmluZz4oXG4gICAgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICApO1xuICBsYW5nID0gaW5wdXQ8c3RyaW5nPignZXMtTVgnKTtcbiAgaGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgc3RyaW5nPignMTAwJScpO1xuICBzdGFydEJ1c2luZXNzSG91ciA9IGlucHV0PG51bWJlcj4oOCk7XG4gIGNhbGVuZGFyVGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdNaSBob3JhcmlvJyk7XG4gIGRhdGVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KERFRkFVTFRfREFURV9GT1JNQVQpO1xuICBldmVudHMgPSBjb21wdXRlZDxJQm1iQ2FsZW5kYXJFdmVudFtdPigoKSA9PlxuICAgIHRoaXMuZXZlbnRzU2lnbmFsLmdldEV2ZW50TGlzdCgpLFxuICApO1xuICBzaG93RmlsdGVyQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICB2aXNpYmxlRGF0ZSA9IG1vZGVsPERhdGVUaW1lPihEYXRlVGltZS5ub3coKSk7IC8vIGludGVybmFsXG5cbiAgY3VycmVudERhdGUgPSBpbnB1dDxzdHJpbmc+KCcnKTsgLy8gRGVwcmVjYXRlZFxuXG4gIG9uRGF0ZUNoYW5nZSA9IG91dHB1dDxhbnk+KCk7XG4gIG9uQ2xvc2UgPSBvdXRwdXQ8YW55PigpO1xuXG4gIHNlbGVjdGVkV2VlayA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmlzaWJsZURhdGUoKS53ZWVrTnVtYmVyKTtcbiAgd2Vla051bWJlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmlzaWJsZURhdGUoKS53ZWVrTnVtYmVyKTtcbiAgcmVuZGVyV2Vla0RheXMgPSBjb21wdXRlZCgoKSA9PiBnZXRXZWVrRGF5cyh0aGlzLnZpc2libGVEYXRlKCkpKTtcbiAgaXNMb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5ldmVudHNTaWduYWwuZ2V0SXNMb2FkaW5nKCkpO1xuICBzZWxlY3RlZEV2ZW50OiBJQm1iQ2FsZW5kYXJFdmVudCB8IG51bGwgPSBudWxsO1xuICBpc01vYmlsZUhlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBvcmRlcmVkRXZlbnRzID0gY29tcHV0ZWQ8SUJtYlBhcnNlZERhdGVzPigoKSA9PiB7XG4gICAgY29uc3Qgd2Vla3MgPSB0aGlzLmV2ZW50cygpLnJlZHVjZShcbiAgICAgIChhY2M6IElCbWJQYXJzZWREYXRlcywgZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gcGFyc2VGcm9tRm9ybWF0KGV2ZW50LnN0YXJ0LCB0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBwYXJzZUZyb21Gb3JtYXQoZXZlbnQuZW5kLCB0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICAgIGNvbnN0IGludGVydmFsID0gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzdGFydERhdGUsIGVuZERhdGUpO1xuICAgICAgICBjb25zdCB3ZWVrID0gc3RhcnREYXRlLndlZWtOdW1iZXI7XG4gICAgICAgIGNvbnN0IHN0cmluZ0RhdGUgPSBzdGFydERhdGUudG9Gb3JtYXQoJ3l5eXktTU0tZGQnKTtcblxuICAgICAgICBpZiAoIWFjY1t3ZWVrXSkgYWNjW3dlZWtdID0ge307XG4gICAgICAgIGlmICghYWNjW3dlZWtdW3N0cmluZ0RhdGVdKSBhY2Nbd2Vla11bc3RyaW5nRGF0ZV0gPSBbXTtcbiAgICAgICAgYWNjW3dlZWtdW3N0cmluZ0RhdGVdLnB1c2goeyAuLi5ldmVudCwgc3RhcnREYXRlLCBlbmREYXRlLCBpbnRlcnZhbCB9KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQuY2FsZW5kYXIgJiZcbiAgICAgICAgICAhYWNjLmNhbGVuZGFycz8uc29tZSgoY2FsKSA9PiBjYWwgPT09IGV2ZW50LmNhbGVuZGFyKVxuICAgICAgICApIHtcbiAgICAgICAgICBhY2MuY2FsZW5kYXJzPy5wdXNoKGV2ZW50LmNhbGVuZGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAgeyBjYWxlbmRhcnM6IFtdIH0gYXMgSUJtYlBhcnNlZERhdGVzLFxuICAgICk7XG5cbiAgICBjb25zdCBvcmRlcmVkRGF0ZXMgPSB7fSBhcyBJQm1iUGFyc2VkRGF0ZXM7XG5cbiAgICBmb3IgKGNvbnN0IHdlZWsgaW4gd2Vla3MpIHtcbiAgICAgIGlmICh3ZWVrID09PSAnY2FsZW5kYXJzJykge1xuICAgICAgICBvcmRlcmVkRGF0ZXNbd2Vla10gPSB3ZWVrc1t3ZWVrXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9yZGVyZWREYXRlc1t3ZWVrXSA9IHt9O1xuXG4gICAgICAgIGZvciAoY29uc3QgZGF0ZSBpbiB3ZWVrc1t3ZWVrXSkge1xuICAgICAgICAgIG9yZGVyZWREYXRlc1t3ZWVrXVtkYXRlXSA9IHdlZWtzW3dlZWtdW2RhdGVdLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFEYXRlID0gYS5zdGFydERhdGUgPz8gRGF0ZVRpbWUuaW52YWxpZCgnSW52YWxpZCBEYXRlJyk7XG4gICAgICAgICAgICBjb25zdCBiRGF0ZSA9IGIuc3RhcnREYXRlID8/IERhdGVUaW1lLmludmFsaWQoJ0ludmFsaWQgRGF0ZScpO1xuICAgICAgICAgICAgcmV0dXJuIGFEYXRlIDw9IGJEYXRlID8gLTEgOiAxO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG9yZGVyZWREYXRlcztcbiAgfSk7XG4gIGZpbHRlcmVkRXZlbnRzID0gY29tcHV0ZWQ8SUJtYlBhcnNlZERhdGVzPigoKSA9PiB7XG4gICAgY29uc3QgbmV3RXZlbnRzID0ge30gYXMgSUJtYlBhcnNlZERhdGVzO1xuICAgIGZvciAoY29uc3Qgd2VlayBpbiB0aGlzLm9yZGVyZWRFdmVudHMoKSkge1xuICAgICAgaWYgKHdlZWsgIT09ICdjYWxlbmRhcnMnKSB7XG4gICAgICAgIG5ld0V2ZW50c1t3ZWVrXSA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGRhdGUgaW4gdGhpcy5vcmRlcmVkRXZlbnRzKClbd2Vla10pIHtcbiAgICAgICAgICBuZXdFdmVudHNbd2Vla11bZGF0ZV0gPSB0aGlzLm9yZGVyZWRFdmVudHMoKVt3ZWVrXVtkYXRlXS5tYXAoXG4gICAgICAgICAgICAoZXZlbnQpID0+ICh7XG4gICAgICAgICAgICAgIC4uLmV2ZW50LFxuICAgICAgICAgICAgICBpc1Zpc2libGU6XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5maWx0ZXJzKCkpLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVycygpW2V2ZW50LmNhbGVuZGFyIHx8ICdEZWZhdWx0J10gIT09IGZhbHNlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIG5ld0V2ZW50cy5jYWxlbmRhcnMgPSB0aGlzLm9yZGVyZWRFdmVudHMoKS5jYWxlbmRhcnM7XG5cbiAgICByZXR1cm4gbmV3RXZlbnRzO1xuICB9KTtcbiAgZmlsdGVyTW9kYWxJZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY2FsZW5kYXJGb3JtOiBGb3JtR3JvdXA8eyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbDxhbnk+IH0+ID0gbmV3IEZvcm1Hcm91cChcbiAgICB7fSxcbiAgKTtcblxuICBAVmlld0NoaWxkKCdkZXRhaWxDb250ZW50JywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBkZXRhaWxDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnbW9kYWxUZW1wbGF0ZScpIG1vZGFsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBwcml2YXRlIHJlc2l6ZSgpIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCAxMDAwKSB7XG4gICAgICB0aGlzLnZpZXcuc2V0KCdkYXknKTtcbiAgICAgIHRoaXMuaXNNb2JpbGVIZWFkZXIgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzTW9iaWxlSGVhZGVyID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBldmVudHNTaWduYWw6IEJtYkNhbGVuZGFyU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogQm1iTmF0aXZlTW9kYWxTZXJ2aWNlLFxuICApIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY2FsZW5kYXJzID0gdGhpcy5maWx0ZXJlZEV2ZW50cygpLmNhbGVuZGFycyB8fCBbXTtcbiAgICAgIGNhbGVuZGFycy5mb3JFYWNoKChjYWxlbmRhcikgPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyRm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgIGNhbGVuZGFyLFxuICAgICAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLmZpbHRlcnMoKVtjYWxlbmRhcl0gfHwgdHJ1ZSksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGN1cnJlbnRUaW1lID0gc2lnbmFsPERhdGVUaW1lPihEYXRlVGltZS5ub3coKSk7XG4gIHByaXZhdGUgdGltZXJJZDogYW55O1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnRpbWVySWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcklkKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgMTAwMCkge1xuICAgICAgdGhpcy52aWV3LnNldCgnZGF5Jyk7XG4gICAgICB0aGlzLmlzTW9iaWxlSGVhZGVyID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZpZXcudXBkYXRlKCh2YWx1ZSkgPT4gKHdpbmRvdy5pbm5lcldpZHRoIDwgMTAwMCA/ICdkYXknIDogdmFsdWUpKTtcblxuICAgIHRoaXMudGltZXJJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVGltZSgpO1xuICAgIH0sIDYwMDAwKTsgLy8gQWN0dWFsaXphIGNhZGEgNjAwMDAgbWlsaXNlZ3VuZG9zICgxIG1pbnV0bylcbiAgfVxuXG4gIHVwZGF0ZVRpbWUoKSB7XG4gICAgdGhpcy5jdXJyZW50VGltZS5zZXQoRGF0ZVRpbWUubm93KCkpO1xuICB9XG5cbiAgaGFuZGxlRGF0ZUNoYW5nZShyYW5nZTogSUJtYkNhbGVuZGFyVmlldywgbm93OiBEYXRlVGltZSk6IHZvaWQge1xuICAgIHRoaXMudmlldy5zZXQocmFuZ2UpO1xuICAgIGxldCB2aXNpYmxlRGF0ZXM6IChzdHJpbmcgfCBudWxsKVtdID0gW107XG5cbiAgICBzd2l0Y2ggKHJhbmdlKSB7XG4gICAgICBjYXNlICdkYXknOlxuICAgICAgICB2aXNpYmxlRGF0ZXMgPSBnZXRNb250aERheXMobm93KS5tYXAoKGRhdGUpID0+IGRhdGUudG9JU08oKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgdmlzaWJsZURhdGVzID0gZ2V0V2Vla0RheXMobm93KS5tYXAoKGRhdGUpID0+IGRhdGUudG9JU08oKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIHZpc2libGVEYXRlcyA9IGdldE1vbnRoRGF5cyhub3cpLm1hcCgoZGF0ZSkgPT4gZGF0ZS50b0lTTygpKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMub25EYXRlQ2hhbmdlLmVtaXQoe1xuICAgICAgcmFuZ2UsXG4gICAgICBub3c6IG5vdy50b0lTTygpLFxuICAgICAgdmlzaWJsZURhdGVzLFxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlQ3VycmVudERhdGVDaGFuZ2UobmV3RGF0ZTogRGF0ZVRpbWUpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVEYXRlLnNldChuZXdEYXRlKTtcbiAgfVxuXG4gIGdldERheUV2ZW50cygpOiBJQm1iQ2FsZW5kYXJFdmVudFtdIHtcbiAgICBjb25zdCB2aXNpYmxlRGF0ZVN0ciA9IHRoaXMudmlzaWJsZURhdGUoKS50b0Zvcm1hdCgneXl5eS1NTS1kZCcpO1xuICAgIGNvbnN0IGV2ZW50cyA9XG4gICAgICB0aGlzLmZpbHRlcmVkRXZlbnRzKClbdGhpcy5zZWxlY3RlZFdlZWsoKV0/Llt2aXNpYmxlRGF0ZVN0cl0gPz8gW107XG4gICAgcmV0dXJuIGV2ZW50cztcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdEV2ZW50KG5ld0V2ZW50OiBJQm1iQ2FsZW5kYXJFdmVudENsaWNrKTogdm9pZCB7XG4gICAgY29uc3QgeyBldmVudCB9ID0gbmV3RXZlbnQ7XG4gICAgY29uc3QgdGl0bGUgPSBldmVudC5tb2RhbFRpdGxlID8/IGV2ZW50LnRpdGxlO1xuICAgIGNvbnN0IG1vZGFsVGl0bGUgPVxuICAgICAgZXZlbnQuc3RhdHVzID09PSAnZGlzYWJsZWQnID8gYChDYW5jZWxhZG8pICR7dGl0bGV9YCA6IHRpdGxlO1xuXG4gICAgdGhpcy5zZWxlY3RlZEV2ZW50ID0gZXZlbnQ7XG5cbiAgICBjb25zdCBkYXRhOiBJQm1iTmF0aXZlTW9kYWwgPSB7XG4gICAgICB0aXRsZTogbW9kYWxUaXRsZSxcbiAgICAgIHN1YnRpdGxlOiBldmVudC5zdWJ0aXRsZSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMuZGV0YWlsQ29udGVudCxcbiAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgfTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwoZGF0YSk7XG4gIH1cblxuICBpc0FuRXZlbnRTZWxlY3RlZChldmVudDogSUJtYkNhbGVuZGFyRXZlbnRDbGljayB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFldmVudDtcbiAgfVxuXG4gIGdldEhlaWdodChoZWlnaHQ6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiBoZWlnaHQgPT09ICdudW1iZXInKSByZXR1cm4gYCR7aGVpZ2h0fXB4YDtcblxuICAgIHJldHVybiBoZWlnaHQ7XG4gIH1cblxuICBnZXREdXJhdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRFdmVudCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBgJHtEYXRlVGltZS5mcm9tSVNPKHRoaXMuc2VsZWN0ZWRFdmVudC5zdGFydCkudG9Gb3JtYXQoJ2hoOm1tIGEnKX0gLSAke0RhdGVUaW1lLmZyb21JU08odGhpcy5zZWxlY3RlZEV2ZW50LmVuZCkudG9Gb3JtYXQoJ2hoOm1tIGEnKX1gO1xuICB9XG5cbiAgaGFuZGxlQ2xvc2UoKSB7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoJ2Nsb3NlJyk7XG4gIH1cblxuICBoYW5kbGVTaG93TW9kYWxGaWx0ZXIoKSB7XG4gICAgdGhpcy5maWx0ZXJNb2RhbElkLnNldChcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh7XG4gICAgICAgIHRpdGxlOiAnQ2FsZW5kYXJpb3MnLFxuICAgICAgICBzdWJ0aXRsZTogJ1NlbGVjY2lvbmEgbG9zIGNhbGVuZGFyaW9zIHF1ZSBxdWllcmVzIHZlcicsXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMubW9kYWxUZW1wbGF0ZSxcbiAgICAgICAgc2l6ZTogJ3gtc21hbGwnLFxuICAgICAgICBjbG9zZU1vZGFsQ2xpY2tlZDogKGV2ZW50OiB1bmtub3duKSA9PiB0aGlzLmhhbmRsZUZvcm1SZXNldChldmVudCksXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBidXR0b25OYW1lOiAnc2F2ZScsXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiAncHJpbWFyeScsXG4gICAgICAgICAgICBsYWJlbDogJ0d1YXJkYXInLFxuICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmhhbmRsZUFwcGx5RmlsdGVycygpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlRm9ybVJlc2V0KF86IGFueSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgY2FsZW5kYXIgaW4gdGhpcy5jYWxlbmRhckZvcm0uY29udHJvbHMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5maWx0ZXJzKCkpLmxlbmd0aCA9PT0gMCB8fCAhIXRoaXMuZmlsdGVycygpW2NhbGVuZGFyXTtcbiAgICAgIHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzW2NhbGVuZGFyXS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQXBwbHlGaWx0ZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkQ2FsZW5kYXJzID0gT2JqZWN0LmtleXModGhpcy5jYWxlbmRhckZvcm0uY29udHJvbHMpLnJlZHVjZTx7XG4gICAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICAgIH0+KChhY2MsIGNhbGVuZGFyKSA9PiB7XG4gICAgICBhY2NbY2FsZW5kYXJdID0gdGhpcy5jYWxlbmRhckZvcm0uY29udHJvbHNbY2FsZW5kYXJdLnZhbHVlO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gICAgdGhpcy5maWx0ZXJzLnNldChzZWxlY3RlZENhbGVuZGFycyk7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCh0aGlzLmZpbHRlck1vZGFsSWQoKSBhcyBzdHJpbmcpO1xuICAgIHRoaXMuZmlsdGVyTW9kYWxJZC5zZXQobnVsbCk7XG4gIH1cblxuICBnZXRGb3JtQ29udHJvbChuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXJGb3JtLmdldChuYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGdldENhbGVuZGFyTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAnYWNhZGVtaWMnOlxuICAgICAgICByZXR1cm4gJ0hvcmFyaW8gZGUgY2xhc2VzJztcbiAgICAgIGNhc2UgJ2xpZmUnOlxuICAgICAgICByZXR1cm4gJ1ZpZGEnO1xuICAgICAgY2FzZSAnZXZlbnRzJzpcbiAgICAgICAgcmV0dXJuICdFdmVudG9zJztcbiAgICAgIGNhc2UgJ3NhdmVfdGhlX2RhdGUnOlxuICAgICAgICByZXR1cm4gJ1NhdmUgdGhlIGRhdGUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0QnVsbGV0Q2xhc3MobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbJ2JtYl9jYWxlbmRhci1ldmVudC1idWxsZXQnLCBgYm1iX2NhbGVuZGFyLWV2ZW50LWJ1bGxldC0ke25hbWV9YF07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJibWJfY2FsZW5kYXJcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogZ2V0SGVpZ2h0KGhlaWdodCgpKSB9XCI+XG4gIEBpZiAoaXNNb2JpbGVIZWFkZXIpIHtcbiAgICA8Ym1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vYmlsZVxuICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgICBbZXZlbnRzXT1cImZpbHRlcmVkRXZlbnRzKClcIlxuICAgICAgKG9uQ3VycmVudERhdGVDaGFuZ2UpPVwiaGFuZGxlQ3VycmVudERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbd2Vla0RheXNdPVwicmVuZGVyV2Vla0RheXMoKVwiXG4gICAgICBbY2FsZW5kYXJUaXRsZV09XCJjYWxlbmRhclRpdGxlKClcIlxuICAgICAgKG9uQ2xvc2UpPVwiaGFuZGxlQ2xvc2UoKVwiXG4gICAgICAoc2hvd0ZpbHRlcnMpPVwiaGFuZGxlU2hvd01vZGFsRmlsdGVyKClcIlxuICAgIC8+XG4gIH0gQGVsc2Uge1xuICAgIDxibWItY2FsZW5kYXItaGVhZGVyXG4gICAgICBbd2Vla0RheXNdPVwicmVuZGVyV2Vla0RheXMoKVwiXG4gICAgICBbbGFuZ109XCJsYW5nKClcIlxuICAgICAgW3ZpZXddPVwidmlldygpXCJcbiAgICAgIFtjdXJyZW50RGF0ZV09XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgIChvblJhbmdlQ2hhbmdlKT1cImhhbmRsZURhdGVDaGFuZ2UoJGV2ZW50LCB2aXNpYmxlRGF0ZSgpKVwiXG4gICAgICAob25DdXJyZW50RGF0ZUNoYW5nZSk9XCJoYW5kbGVDdXJyZW50RGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtzaG93RmlsdGVyQnV0dG9uXT1cInNob3dGaWx0ZXJCdXR0b24oKVwiXG4gICAgICAoc2hvd0ZpbHRlcnMpPVwiaGFuZGxlU2hvd01vZGFsRmlsdGVyKClcIlxuICAgIC8+XG4gIH1cbiAgQHN3aXRjaCAodmlldygpKSB7XG4gICAgQGNhc2UgKCdkYXknKSB7XG4gICAgICA8Ym1iLWNhbGVuZGFyLXRlbXBsYXRlLWRheVxuICAgICAgICBbbm93XT1cInZpc2libGVEYXRlKClcIlxuICAgICAgICBbZXZlbnRzXT1cImdldERheUV2ZW50cygpXCJcbiAgICAgICAgKG9uU2VsZWN0RXZlbnQpPVwiaGFuZGxlU2VsZWN0RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgIFtjdXJyZW50VGltZV09XCJjdXJyZW50VGltZSgpXCJcbiAgICAgICAgW3N0YXJ0QnVzaW5lc3NIb3VyXT1cInN0YXJ0QnVzaW5lc3NIb3VyKClcIlxuICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0KClcIlxuICAgICAgICBjbGFzcz1cImJtYl9jYWxlbmRhci1jb250ZW50XCJcbiAgICAgIC8+XG4gICAgfVxuICAgIEBjYXNlICgnd2VlaycpIHtcbiAgICAgIDxibWItY2FsZW5kYXItdGVtcGxhdGUtd2Vla1xuICAgICAgICBbd2Vla0RheXNdPVwicmVuZGVyV2Vla0RheXMoKVwiXG4gICAgICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgICAgIFtub3ddPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICAgIFtldmVudHNdPVwiZmlsdGVyZWRFdmVudHMoKVwiXG4gICAgICAgIChvblNlbGVjdEV2ZW50KT1cImhhbmRsZVNlbGVjdEV2ZW50KCRldmVudClcIlxuICAgICAgICBbY3VycmVudFRpbWVdPVwiY3VycmVudFRpbWUoKVwiXG4gICAgICAgIFtzdGFydEJ1c2luZXNzSG91cl09XCJzdGFydEJ1c2luZXNzSG91cigpXCJcbiAgICAgICAgW3NlbGVjdGVkV2Vla109XCJzZWxlY3RlZFdlZWsoKVwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWNvbnRlbnRcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGNhc2UgKCdtb250aCcpIHtcbiAgICAgIDxibWItY2FsZW5kYXItdGVtcGxhdGUtbW9udGhcbiAgICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgICAgKG9uU2VsZWN0RXZlbnQpPVwiaGFuZGxlU2VsZWN0RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWNvbnRlbnRcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGRlZmF1bHQge1xuICAgICAgPGJtYi1jYWxlbmRhci10ZW1wbGF0ZS13ZWVrXG4gICAgICAgIFt3ZWVrRGF5c109XCJyZW5kZXJXZWVrRGF5cygpXCJcbiAgICAgICAgW2xhbmddPVwibGFuZygpXCJcbiAgICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgICAgY2xhc3M9XCJibWJfY2FsZW5kYXItY29udGVudFwiXG4gICAgICAvPlxuICAgIH1cbiAgfVxuXG4gIEBpZiAoaXNMb2FkaW5nKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhbGVuZGFyLWxvYWRlclwiPlxuICAgICAgPGJtYi1sb2FkZXIgW3Nob3dJbmxpbmVdPVwidHJ1ZVwiIC8+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RldGFpbENvbnRlbnQ+XG4gIEBpZiAoc2VsZWN0ZWRFdmVudCkge1xuICAgIDxzZWN0aW9uPlxuICAgICAgQGlmIChzZWxlY3RlZEV2ZW50LnRhZ3M/Lmxlbmd0aCkge1xuICAgICAgICA8cCBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAwLjVyZW1cIj5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIHNlbGVjdGVkRXZlbnQudGFnczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8Ym1iLWJhZGdlIFt0ZXh0XT1cIml0ZW0udGV4dFwiIFthcHBlYXJhbmNlXT1cIml0ZW0uYXBwZWFyYW5jZVwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L3A+XG4gICAgICB9XG4gICAgICBAaWYgKHNlbGVjdGVkRXZlbnQudGl0bGUpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJibWJfY2FsZW5kYXItZXZlbnQtbW9kYWwtdGl0bGVcIj57eyBzZWxlY3RlZEV2ZW50LnRpdGxlIH19PC9wPlxuICAgICAgfVxuICAgICAgQGlmIChzZWxlY3RlZEV2ZW50LnBsYWNlKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWV2ZW50LW1vZGFsLXBsYWNlXCI+e3sgc2VsZWN0ZWRFdmVudC5wbGFjZSB9fTwvcD5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJibWJfY2FsZW5kYXItZXZlbnQtbW9kYWwtZHVyYXRpb25cIj57eyBnZXREdXJhdGlvbigpIH19PC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21vZGFsVGVtcGxhdGU+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiY2FsZW5kYXJGb3JtXCI+XG4gICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEV2ZW50cygpLmNhbGVuZGFyczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8ZGl2IGJtYkxheW91dCBnYXBTaXplPVwic1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPGJtYi1jaGVja2JveFxuICAgICAgICAgIGJtYkxheW91dEl0ZW1cbiAgICAgICAgICBbaXNEeW5hbWljSXRlbV09XCJ0cnVlXCJcbiAgICAgICAgICBbaW5wdXRJZF09XCInY2hlY2tib3hfJyArIGl0ZW1cIlxuICAgICAgICAgIFtuYW1lXT1cIidjaGVja2JveF8nICsgaXRlbVwiXG4gICAgICAgICAgW2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2woaXRlbSlcIlxuICAgICAgICAvPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgYm1iTGF5b3V0SXRlbVxuICAgICAgICAgIFtpc0R5bmFtaWNJdGVtXT1cInRydWVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImdldEJ1bGxldENsYXNzKGl0ZW0pXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBibWJMYXlvdXRJdGVtXG4gICAgICAgICAgW2lzRHluYW1pY0l0ZW1dPVwidHJ1ZVwiXG4gICAgICAgICAgW2NvbEdyb3ddPVwiMVwiXG4gICAgICAgICAgW2h0bWxGb3JdPVwiJ2NoZWNrYm94XycgKyBpdGVtXCJcbiAgICAgICAgICA+e3sgZ2V0Q2FsZW5kYXJOYW1lKGl0ZW0pIH19PC9sYWJlbFxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxibWItZGl2aWRlciB0eXBlPVwiZGFzaGVkXCI+PC9ibWItZGl2aWRlcj5cbiAgICB9XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUdOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDNUgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDekgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDL0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDbEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1B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ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSG9zdExpc3RlbmVyLFxuICBtb2RlbCxcbiAgaW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIG91dHB1dCxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBlZmZlY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGVUaW1lLCBJbnRlcnZhbCB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IEJtYkNhbGVuZGFyVGVtcGxhdGVXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLXRlbXBsYXRlLXdlZWsvYm1iLWNhbGVuZGFyLXRlbXBsYXRlLXdlZWsuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNhbGVuZGFyVGVtcGxhdGVEYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9ibWItY2FsZW5kYXItdGVtcGxhdGUtZGF5L2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1kYXkuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNhbGVuZGFyVGVtcGxhdGVNb250aENvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb250aC9ibWItY2FsZW5kYXItdGVtcGxhdGUtbW9udGguY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLWhlYWRlci9ibWItY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJDYWxlbmRhclRlbXBsYXRlTW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vYmlsZS9ibWItY2FsZW5kYXItdGVtcGxhdGUtbW9iaWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItbG9hZGVyL2JtYi1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElCbWJDYWxlbmRhckV2ZW50LFxuICBJQm1iQ2FsZW5kYXJFdmVudENsaWNrLFxuICBJQm1iQ2FsZW5kYXJWaWV3LFxuICBJQm1iUGFyc2VkRGF0ZXMsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0V2Vla0RheXMsIGdldE1vbnRoRGF5cywgREVGQVVMVF9EQVRFX0ZPUk1BVCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBCbWJOYXRpdmVNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXRpdmUtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBCbWJCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1iYWRnZS9ibWItYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCbWJDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1jaGVja2JveC9ibWItY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkRpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItZGl2aWRlci9ibWItZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJtYkxheW91dEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1sYXlvdXQvYm1iLWxheW91dC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJQm1iTmF0aXZlTW9kYWwgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5cbmNvbnN0IHBhcnNlRnJvbUZvcm1hdCA9IChkYXRlU3RyaW5nOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKTogRGF0ZVRpbWUgPT4ge1xuICBpZiAoZm9ybWF0LnRvTG93ZXJDYXNlKCkgPT09ICdpc28nKSByZXR1cm4gRGF0ZVRpbWUuZnJvbUlTTyhkYXRlU3RyaW5nKTtcblxuICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdChkYXRlU3RyaW5nLCBmb3JtYXQpO1xufTtcblxuZXhwb3J0IHtcbiAgSUJtYkNhbGVuZGFyRXZlbnQsXG4gIElCbWJDYWxlbmRhckV2ZW50Q2xpY2ssXG4gIElCbWJFdmVudFR5cGUsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItY2FsZW5kYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJtYkNhbGVuZGFyVGVtcGxhdGVEYXlDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZVdlZWtDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZU1vbnRoQ29tcG9uZW50LFxuICAgIEJtYkNhbGVuZGFySGVhZGVyQ29tcG9uZW50LFxuICAgIEJtYkNhbGVuZGFyVGVtcGxhdGVNb2JpbGVDb21wb25lbnQsXG4gICAgQm1iQmFkZ2VDb21wb25lbnQsXG4gICAgQm1iTG9hZGVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQm1iQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQm1iRGl2aWRlckNvbXBvbmVudCxcbiAgICBCbWJMYXlvdXREaXJlY3RpdmUsXG4gICAgQm1iTGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgXSxcbiAgc3R5bGVVcmw6ICcuL2JtYi1jYWxlbmRhci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICB2aWV3ID0gbW9kZWw8SUJtYkNhbGVuZGFyVmlldz4oJ3dlZWsnKTsgLy8gaW50ZXJuYWxcbiAgZmlsdGVycyA9IG1vZGVsPHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9Pih7fSk7XG4gIGNhbGVuZGFyVGltZXpvbmUgPSBpbnB1dDxzdHJpbmc+KFxuICAgIEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSxcbiAgKTtcbiAgY2xpZW50VGltZXpvbmUgPSBpbnB1dDxzdHJpbmc+KFxuICAgIEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSxcbiAgKTtcbiAgbGFuZyA9IGlucHV0PHN0cmluZz4oJ2VzLU1YJyk7XG4gIGhlaWdodCA9IGlucHV0PG51bWJlciB8IHN0cmluZz4oJzEwMCUnKTtcbiAgc3RhcnRCdXNpbmVzc0hvdXIgPSBpbnB1dDxudW1iZXI+KDgpO1xuICBjYWxlbmRhclRpdGxlID0gaW5wdXQ8c3RyaW5nPignTWkgaG9yYXJpbycpO1xuICBkYXRlRm9ybWF0ID0gaW5wdXQ8c3RyaW5nPihERUZBVUxUX0RBVEVfRk9STUFUKTtcbiAgZXZlbnRzID0gY29tcHV0ZWQ8SUJtYkNhbGVuZGFyRXZlbnRbXT4oKCkgPT5cbiAgICB0aGlzLmV2ZW50c1NpZ25hbC5nZXRFdmVudExpc3QoKSxcbiAgKTtcbiAgc2hvd0ZpbHRlckJ1dHRvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdmlzaWJsZURhdGUgPSBtb2RlbDxEYXRlVGltZT4oRGF0ZVRpbWUubm93KCkpOyAvLyBpbnRlcm5hbFxuXG4gIGN1cnJlbnREYXRlID0gaW5wdXQ8c3RyaW5nPignJyk7IC8vIERlcHJlY2F0ZWRcblxuICBvbkRhdGVDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xuICBvbkNsb3NlID0gb3V0cHV0PGFueT4oKTtcblxuICBzZWxlY3RlZFdlZWsgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpc2libGVEYXRlKCkud2Vla051bWJlcik7XG4gIHdlZWtOdW1iZXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpc2libGVEYXRlKCkud2Vla051bWJlcik7XG4gIHJlbmRlcldlZWtEYXlzID0gY29tcHV0ZWQoKCkgPT4gZ2V0V2Vla0RheXModGhpcy52aXNpYmxlRGF0ZSgpKSk7XG4gIGlzTG9hZGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZXZlbnRzU2lnbmFsLmdldElzTG9hZGluZygpKTtcbiAgc2VsZWN0ZWRFdmVudDogSUJtYkNhbGVuZGFyRXZlbnQgfCBudWxsID0gbnVsbDtcbiAgaXNNb2JpbGVIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgb3JkZXJlZEV2ZW50cyA9IGNvbXB1dGVkPElCbWJQYXJzZWREYXRlcz4oKCkgPT4ge1xuICAgIGNvbnN0IHdlZWtzID0gdGhpcy5ldmVudHMoKS5yZWR1Y2UoXG4gICAgICAoYWNjOiBJQm1iUGFyc2VkRGF0ZXMsIGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHBhcnNlRnJvbUZvcm1hdChldmVudC5zdGFydCwgdGhpcy5kYXRlRm9ybWF0KCkpO1xuICAgICAgICBjb25zdCBlbmREYXRlID0gcGFyc2VGcm9tRm9ybWF0KGV2ZW50LmVuZCwgdGhpcy5kYXRlRm9ybWF0KCkpO1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnREYXRlLCBlbmREYXRlKTtcbiAgICAgICAgY29uc3Qgd2VlayA9IHN0YXJ0RGF0ZS53ZWVrTnVtYmVyO1xuICAgICAgICBjb25zdCBzdHJpbmdEYXRlID0gc3RhcnREYXRlLnRvRm9ybWF0KCd5eXl5LU1NLWRkJyk7XG5cbiAgICAgICAgaWYgKCFhY2Nbd2Vla10pIGFjY1t3ZWVrXSA9IHt9O1xuICAgICAgICBpZiAoIWFjY1t3ZWVrXVtzdHJpbmdEYXRlXSkgYWNjW3dlZWtdW3N0cmluZ0RhdGVdID0gW107XG4gICAgICAgIGFjY1t3ZWVrXVtzdHJpbmdEYXRlXS5wdXNoKHsgLi4uZXZlbnQsIHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgaW50ZXJ2YWwgfSk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmNhbGVuZGFyICYmXG4gICAgICAgICAgIWFjYy5jYWxlbmRhcnM/LnNvbWUoKGNhbCkgPT4gY2FsID09PSBldmVudC5jYWxlbmRhcilcbiAgICAgICAgKSB7XG4gICAgICAgICAgYWNjLmNhbGVuZGFycz8ucHVzaChldmVudC5jYWxlbmRhcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHsgY2FsZW5kYXJzOiBbXSB9IGFzIElCbWJQYXJzZWREYXRlcyxcbiAgICApO1xuXG4gICAgY29uc3Qgb3JkZXJlZERhdGVzID0ge30gYXMgSUJtYlBhcnNlZERhdGVzO1xuXG4gICAgZm9yIChjb25zdCB3ZWVrIGluIHdlZWtzKSB7XG4gICAgICBpZiAod2VlayA9PT0gJ2NhbGVuZGFycycpIHtcbiAgICAgICAgb3JkZXJlZERhdGVzW3dlZWtdID0gd2Vla3Nbd2Vla107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcmRlcmVkRGF0ZXNbd2Vla10gPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IGRhdGUgaW4gd2Vla3Nbd2Vla10pIHtcbiAgICAgICAgICBvcmRlcmVkRGF0ZXNbd2Vla11bZGF0ZV0gPSB3ZWVrc1t3ZWVrXVtkYXRlXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhRGF0ZSA9IGEuc3RhcnREYXRlID8/IERhdGVUaW1lLmludmFsaWQoJ0ludmFsaWQgRGF0ZScpO1xuICAgICAgICAgICAgY29uc3QgYkRhdGUgPSBiLnN0YXJ0RGF0ZSA/PyBEYXRlVGltZS5pbnZhbGlkKCdJbnZhbGlkIERhdGUnKTtcbiAgICAgICAgICAgIHJldHVybiBhRGF0ZSA8PSBiRGF0ZSA/IC0xIDogMTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvcmRlcmVkRGF0ZXM7XG4gIH0pO1xuICBmaWx0ZXJlZEV2ZW50cyA9IGNvbXB1dGVkPElCbWJQYXJzZWREYXRlcz4oKCkgPT4ge1xuICAgIGNvbnN0IG5ld0V2ZW50cyA9IHt9IGFzIElCbWJQYXJzZWREYXRlcztcbiAgICBmb3IgKGNvbnN0IHdlZWsgaW4gdGhpcy5vcmRlcmVkRXZlbnRzKCkpIHtcbiAgICAgIGlmICh3ZWVrICE9PSAnY2FsZW5kYXJzJykge1xuICAgICAgICBuZXdFdmVudHNbd2Vla10gPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBkYXRlIGluIHRoaXMub3JkZXJlZEV2ZW50cygpW3dlZWtdKSB7XG4gICAgICAgICAgbmV3RXZlbnRzW3dlZWtdW2RhdGVdID0gdGhpcy5vcmRlcmVkRXZlbnRzKClbd2Vla11bZGF0ZV0ubWFwKFxuICAgICAgICAgICAgKGV2ZW50KSA9PiAoe1xuICAgICAgICAgICAgICAuLi5ldmVudCxcbiAgICAgICAgICAgICAgaXNWaXNpYmxlOlxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVycygpKS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMoKVtldmVudC5jYWxlbmRhciB8fCAnRGVmYXVsdCddICE9PSBmYWxzZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdFdmVudHMuY2FsZW5kYXJzID0gdGhpcy5vcmRlcmVkRXZlbnRzKCkuY2FsZW5kYXJzO1xuXG4gICAgcmV0dXJuIG5ld0V2ZW50cztcbiAgfSk7XG4gIGZpbHRlck1vZGFsSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNhbGVuZGFyRm9ybTogRm9ybUdyb3VwPHsgW2tleTogc3RyaW5nXTogRm9ybUNvbnRyb2w8YW55PiB9PiA9IG5ldyBGb3JtR3JvdXAoXG4gICAge30sXG4gICk7XG5cbiAgQFZpZXdDaGlsZCgnZGV0YWlsQ29udGVudCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgZGV0YWlsQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ21vZGFsVGVtcGxhdGUnKSBtb2RhbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSByZXNpemUoKSB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgMTAwMCkge1xuICAgICAgdGhpcy52aWV3LnNldCgnZGF5Jyk7XG4gICAgICB0aGlzLmlzTW9iaWxlSGVhZGVyID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc01vYmlsZUhlYWRlciA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZXZlbnRzU2lnbmFsOiBCbWJDYWxlbmRhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJtYk5hdGl2ZU1vZGFsU2VydmljZSxcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGNhbGVuZGFycyA9IHRoaXMuZmlsdGVyZWRFdmVudHMoKS5jYWxlbmRhcnMgfHwgW107XG4gICAgICBjYWxlbmRhcnMuZm9yRWFjaCgoY2FsZW5kYXIpID0+IHtcbiAgICAgICAgdGhpcy5jYWxlbmRhckZvcm0uYWRkQ29udHJvbChcbiAgICAgICAgICBjYWxlbmRhcixcbiAgICAgICAgICBuZXcgRm9ybUNvbnRyb2wodGhpcy5maWx0ZXJzKClbY2FsZW5kYXJdIHx8IHRydWUpLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjdXJyZW50VGltZSA9IHNpZ25hbDxEYXRlVGltZT4oRGF0ZVRpbWUubm93KCkpO1xuICBwcml2YXRlIHRpbWVySWQ6IGFueTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy50aW1lcklkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMudGltZXJJZCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMDApIHtcbiAgICAgIHRoaXMudmlldy5zZXQoJ2RheScpO1xuICAgICAgdGhpcy5pc01vYmlsZUhlYWRlciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy52aWV3LnVwZGF0ZSgodmFsdWUpID0+ICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMDAgPyAnZGF5JyA6IHZhbHVlKSk7XG5cbiAgICB0aGlzLnRpbWVySWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRpbWUoKTtcbiAgICB9LCA2MDAwMCk7IC8vIEFjdHVhbGl6YSBjYWRhIDYwMDAwIG1pbGlzZWd1bmRvcyAoMSBtaW51dG8pXG4gIH1cblxuICB1cGRhdGVUaW1lKCkge1xuICAgIHRoaXMuY3VycmVudFRpbWUuc2V0KERhdGVUaW1lLm5vdygpKTtcbiAgfVxuXG4gIGhhbmRsZURhdGVDaGFuZ2UocmFuZ2U6IElCbWJDYWxlbmRhclZpZXcsIG5vdzogRGF0ZVRpbWUpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcuc2V0KHJhbmdlKTtcbiAgICBsZXQgdmlzaWJsZURhdGVzOiAoc3RyaW5nIHwgbnVsbClbXSA9IFtdO1xuXG4gICAgc3dpdGNoIChyYW5nZSkge1xuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgdmlzaWJsZURhdGVzID0gZ2V0TW9udGhEYXlzKG5vdykubWFwKChkYXRlKSA9PiBkYXRlLnRvSVNPKCkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgIHZpc2libGVEYXRlcyA9IGdldFdlZWtEYXlzKG5vdykubWFwKChkYXRlKSA9PiBkYXRlLnRvSVNPKCkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICB2aXNpYmxlRGF0ZXMgPSBnZXRNb250aERheXMobm93KS5tYXAoKGRhdGUpID0+IGRhdGUudG9JU08oKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLm9uRGF0ZUNoYW5nZS5lbWl0KHtcbiAgICAgIHJhbmdlLFxuICAgICAgbm93OiBub3cudG9JU08oKSxcbiAgICAgIHZpc2libGVEYXRlcyxcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUN1cnJlbnREYXRlQ2hhbmdlKG5ld0RhdGU6IERhdGVUaW1lKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlRGF0ZS5zZXQobmV3RGF0ZSk7XG4gIH1cblxuICBnZXREYXlFdmVudHMoKTogSUJtYkNhbGVuZGFyRXZlbnRbXSB7XG4gICAgY29uc3QgdmlzaWJsZURhdGVTdHIgPSB0aGlzLnZpc2libGVEYXRlKCkudG9Gb3JtYXQoJ3l5eXktTU0tZGQnKTtcbiAgICBjb25zdCBldmVudHMgPVxuICAgICAgdGhpcy5maWx0ZXJlZEV2ZW50cygpW3RoaXMuc2VsZWN0ZWRXZWVrKCldPy5bdmlzaWJsZURhdGVTdHJdID8/IFtdO1xuICAgIHJldHVybiBldmVudHM7XG4gIH1cblxuICBoYW5kbGVTZWxlY3RFdmVudChuZXdFdmVudDogSUJtYkNhbGVuZGFyRXZlbnRDbGljayk6IHZvaWQge1xuICAgIGNvbnN0IHsgZXZlbnQgfSA9IG5ld0V2ZW50O1xuICAgIGNvbnN0IHRpdGxlID0gZXZlbnQubW9kYWxUaXRsZSA/PyBldmVudC50aXRsZTtcbiAgICBjb25zdCBtb2RhbFRpdGxlID1cbiAgICAgIGV2ZW50LnN0YXR1cyA9PT0gJ2Rpc2FibGVkJyA/IGAoQ2FuY2VsYWRvKSAke3RpdGxlfWAgOiB0aXRsZTtcblxuICAgIHRoaXMuc2VsZWN0ZWRFdmVudCA9IGV2ZW50O1xuXG4gICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgdGl0bGU6IG1vZGFsVGl0bGUsXG4gICAgICBzdWJ0aXRsZTogZXZlbnQuc3VidGl0bGUsXG4gICAgICBjb250ZW50OiB0aGlzLmRldGFpbENvbnRlbnQsXG4gICAgICBzaXplOiAnc21hbGwnLFxuICAgIH07XG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKGRhdGEpO1xuICB9XG5cbiAgaXNBbkV2ZW50U2VsZWN0ZWQoZXZlbnQ6IElCbWJDYWxlbmRhckV2ZW50Q2xpY2sgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhZXZlbnQ7XG4gIH1cblxuICBnZXRIZWlnaHQoaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgaGVpZ2h0ID09PSAnbnVtYmVyJykgcmV0dXJuIGAke2hlaWdodH1weGA7XG5cbiAgICByZXR1cm4gaGVpZ2h0O1xuICB9XG5cbiAgZ2V0RHVyYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRXZlbnQpIHJldHVybiAnJztcbiAgICByZXR1cm4gYCR7RGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnNlbGVjdGVkRXZlbnQuc3RhcnQpLnRvRm9ybWF0KCdoaDptbSBhJyl9IC0gJHtEYXRlVGltZS5mcm9tSVNPKHRoaXMuc2VsZWN0ZWRFdmVudC5lbmQpLnRvRm9ybWF0KCdoaDptbSBhJyl9YDtcbiAgfVxuXG4gIGhhbmRsZUNsb3NlKCkge1xuICAgIHRoaXMub25DbG9zZS5lbWl0KCdjbG9zZScpO1xuICB9XG5cbiAgaGFuZGxlU2hvd01vZGFsRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyTW9kYWxJZC5zZXQoXG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwoe1xuICAgICAgICB0aXRsZTogJ0NhbGVuZGFyaW9zJyxcbiAgICAgICAgc3VidGl0bGU6ICdTZWxlY2Npb25hIGxvcyBjYWxlbmRhcmlvcyBxdWUgcXVpZXJlcyB2ZXInLFxuICAgICAgICBjb250ZW50OiB0aGlzLm1vZGFsVGVtcGxhdGUsXG4gICAgICAgIHNpemU6ICd4LXNtYWxsJyxcbiAgICAgICAgY2xvc2VNb2RhbENsaWNrZWQ6IChldmVudDogdW5rbm93bikgPT4gdGhpcy5oYW5kbGVGb3JtUmVzZXQoZXZlbnQpLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYnV0dG9uTmFtZTogJ3NhdmUnLFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgbGFiZWw6ICdHdWFyZGFyJyxcbiAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5oYW5kbGVBcHBseUZpbHRlcnMoKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZUZvcm1SZXNldChfOiBhbnkpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGNhbGVuZGFyIGluIHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVycygpKS5sZW5ndGggPT09IDAgfHwgISF0aGlzLmZpbHRlcnMoKVtjYWxlbmRhcl07XG4gICAgICB0aGlzLmNhbGVuZGFyRm9ybS5jb250cm9sc1tjYWxlbmRhcl0uc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFwcGx5RmlsdGVycygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZENhbGVuZGFycyA9IE9iamVjdC5rZXlzKHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzKS5yZWR1Y2U8e1xuICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgICB9PigoYWNjLCBjYWxlbmRhcikgPT4ge1xuICAgICAgYWNjW2NhbGVuZGFyXSA9IHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzW2NhbGVuZGFyXS52YWx1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICAgIHRoaXMuZmlsdGVycy5zZXQoc2VsZWN0ZWRDYWxlbmRhcnMpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwodGhpcy5maWx0ZXJNb2RhbElkKCkgYXMgc3RyaW5nKTtcbiAgICB0aGlzLmZpbHRlck1vZGFsSWQuc2V0KG51bGwpO1xuICB9XG5cbiAgZ2V0Rm9ybUNvbnRyb2wobmFtZTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyRm9ybS5nZXQobmFtZSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBnZXRDYWxlbmRhck5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgJ2FjYWRlbWljJzpcbiAgICAgICAgcmV0dXJuICdIb3JhcmlvIGRlIGNsYXNlcyc7XG4gICAgICBjYXNlICdsaWZlJzpcbiAgICAgICAgcmV0dXJuICdWaWRhJztcbiAgICAgIGNhc2UgJ2V2ZW50cyc6XG4gICAgICAgIHJldHVybiAnRXZlbnRvcyc7XG4gICAgICBjYXNlICdzYXZlX3RoZV9kYXRlJzpcbiAgICAgICAgcmV0dXJuICdTYXZlIHRoZSBkYXRlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cbiAgfVxuXG4gIGdldEJ1bGxldENsYXNzKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydibWJfY2FsZW5kYXItZXZlbnQtYnVsbGV0JywgYGJtYl9jYWxlbmRhci1ldmVudC1idWxsZXQtJHtuYW1lfWBdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm1iX2NhbGVuZGFyXCIgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGdldEhlaWdodChoZWlnaHQoKSkgfVwiPlxuICBAaWYgKGlzTW9iaWxlSGVhZGVyKSB7XG4gICAgPGJtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb2JpbGVcbiAgICAgIFtub3ddPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICBbbGFuZ109XCJsYW5nKClcIlxuICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgIChvbkN1cnJlbnREYXRlQ2hhbmdlKT1cImhhbmRsZUN1cnJlbnREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgW3dlZWtEYXlzXT1cInJlbmRlcldlZWtEYXlzKClcIlxuICAgICAgW2NhbGVuZGFyVGl0bGVdPVwiY2FsZW5kYXJUaXRsZSgpXCJcbiAgICAgIChvbkNsb3NlKT1cImhhbmRsZUNsb3NlKClcIlxuICAgICAgKHNob3dGaWx0ZXJzKT1cImhhbmRsZVNob3dNb2RhbEZpbHRlcigpXCJcbiAgICAvPlxuICB9IEBlbHNlIHtcbiAgICA8Ym1iLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW3dlZWtEYXlzXT1cInJlbmRlcldlZWtEYXlzKClcIlxuICAgICAgW2xhbmddPVwibGFuZygpXCJcbiAgICAgIFt2aWV3XT1cInZpZXcoKVwiXG4gICAgICBbY3VycmVudERhdGVdPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICAob25SYW5nZUNoYW5nZSk9XCJoYW5kbGVEYXRlQ2hhbmdlKCRldmVudCwgdmlzaWJsZURhdGUoKSlcIlxuICAgICAgKG9uQ3VycmVudERhdGVDaGFuZ2UpPVwiaGFuZGxlQ3VycmVudERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbc2hvd0ZpbHRlckJ1dHRvbl09XCJzaG93RmlsdGVyQnV0dG9uKClcIlxuICAgICAgKHNob3dGaWx0ZXJzKT1cImhhbmRsZVNob3dNb2RhbEZpbHRlcigpXCJcbiAgICAvPlxuICB9XG4gIEBzd2l0Y2ggKHZpZXcoKSkge1xuICAgIEBjYXNlICgnZGF5Jykge1xuICAgICAgPGJtYi1jYWxlbmRhci10ZW1wbGF0ZS1kYXlcbiAgICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgICAgW2V2ZW50c109XCJnZXREYXlFdmVudHMoKVwiXG4gICAgICAgIChvblNlbGVjdEV2ZW50KT1cImhhbmRsZVNlbGVjdEV2ZW50KCRldmVudClcIlxuICAgICAgICBbY3VycmVudFRpbWVdPVwiY3VycmVudFRpbWUoKVwiXG4gICAgICAgIFtzdGFydEJ1c2luZXNzSG91cl09XCJzdGFydEJ1c2luZXNzSG91cigpXCJcbiAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdCgpXCJcbiAgICAgICAgY2xhc3M9XCJibWJfY2FsZW5kYXItY29udGVudFwiXG4gICAgICAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ3dlZWsnKSB7XG4gICAgICA8Ym1iLWNhbGVuZGFyLXRlbXBsYXRlLXdlZWtcbiAgICAgICAgW3dlZWtEYXlzXT1cInJlbmRlcldlZWtEYXlzKClcIlxuICAgICAgICBbbGFuZ109XCJsYW5nKClcIlxuICAgICAgICBbbm93XT1cInZpc2libGVEYXRlKClcIlxuICAgICAgICBbZXZlbnRzXT1cImZpbHRlcmVkRXZlbnRzKClcIlxuICAgICAgICAob25TZWxlY3RFdmVudCk9XCJoYW5kbGVTZWxlY3RFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgW2N1cnJlbnRUaW1lXT1cImN1cnJlbnRUaW1lKClcIlxuICAgICAgICBbc3RhcnRCdXNpbmVzc0hvdXJdPVwic3RhcnRCdXNpbmVzc0hvdXIoKVwiXG4gICAgICAgIFtzZWxlY3RlZFdlZWtdPVwic2VsZWN0ZWRXZWVrKClcIlxuICAgICAgICBjbGFzcz1cImJtYl9jYWxlbmRhci1jb250ZW50XCJcbiAgICAgIC8+XG4gICAgfVxuICAgIEBjYXNlICgnbW9udGgnKSB7XG4gICAgICA8Ym1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vbnRoXG4gICAgICAgIFtub3ddPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICAgIFtldmVudHNdPVwiZmlsdGVyZWRFdmVudHMoKVwiXG4gICAgICAgIChvblNlbGVjdEV2ZW50KT1cImhhbmRsZVNlbGVjdEV2ZW50KCRldmVudClcIlxuICAgICAgICBjbGFzcz1cImJtYl9jYWxlbmRhci1jb250ZW50XCJcbiAgICAgIC8+XG4gICAgfVxuICAgIEBkZWZhdWx0IHtcbiAgICAgIDxibWItY2FsZW5kYXItdGVtcGxhdGUtd2Vla1xuICAgICAgICBbd2Vla0RheXNdPVwicmVuZGVyV2Vla0RheXMoKVwiXG4gICAgICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgICAgIFtub3ddPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICAgIFtldmVudHNdPVwiZmlsdGVyZWRFdmVudHMoKVwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWNvbnRlbnRcIlxuICAgICAgLz5cbiAgICB9XG4gIH1cblxuICBAaWYgKGlzTG9hZGluZygpKSB7XG4gICAgPGRpdiBjbGFzcz1cImJtYl9jYWxlbmRhci1sb2FkZXJcIj5cbiAgICAgIDxibWItbG9hZGVyIFtzaG93SW5saW5lXT1cInRydWVcIiAvPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZXRhaWxDb250ZW50PlxuICBAaWYgKHNlbGVjdGVkRXZlbnQpIHtcbiAgICA8c2VjdGlvbj5cbiAgICAgIEBpZiAoc2VsZWN0ZWRFdmVudC50YWdzPy5sZW5ndGgpIHtcbiAgICAgICAgPHAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMC41cmVtXCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBzZWxlY3RlZEV2ZW50LnRhZ3M7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGJtYi1iYWRnZSBbdGV4dF09XCJpdGVtLnRleHRcIiBbYXBwZWFyYW5jZV09XCJpdGVtLmFwcGVhcmFuY2VcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9wPlxuICAgICAgfVxuICAgICAgQGlmIChzZWxlY3RlZEV2ZW50LnRpdGxlKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWV2ZW50LW1vZGFsLXRpdGxlXCI+e3sgc2VsZWN0ZWRFdmVudC50aXRsZSB9fTwvcD5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2VsZWN0ZWRFdmVudC5wbGFjZSkge1xuICAgICAgICA8cCBjbGFzcz1cImJtYl9jYWxlbmRhci1ldmVudC1tb2RhbC1wbGFjZVwiPnt7IHNlbGVjdGVkRXZlbnQucGxhY2UgfX08L3A+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhbGVuZGFyLWV2ZW50LW1vZGFsLWR1cmF0aW9uXCI+e3sgZ2V0RHVyYXRpb24oKSB9fTwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtb2RhbFRlbXBsYXRlPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNhbGVuZGFyRm9ybVwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgZmlsdGVyZWRFdmVudHMoKS5jYWxlbmRhcnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGRpdiBibWJMYXlvdXQgZ2FwU2l6ZT1cInNcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxibWItY2hlY2tib3hcbiAgICAgICAgICBibWJMYXlvdXRJdGVtXG4gICAgICAgICAgW2lzRHluYW1pY0l0ZW1dPVwidHJ1ZVwiXG4gICAgICAgICAgW2lucHV0SWRdPVwiJ2NoZWNrYm94XycgKyBpdGVtXCJcbiAgICAgICAgICBbbmFtZV09XCInY2hlY2tib3hfJyArIGl0ZW1cIlxuICAgICAgICAgIFtjb250cm9sXT1cImdldEZvcm1Db250cm9sKGl0ZW0pXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGJtYkxheW91dEl0ZW1cbiAgICAgICAgICBbaXNEeW5hbWljSXRlbV09XCJ0cnVlXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJnZXRCdWxsZXRDbGFzcyhpdGVtKVwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgYm1iTGF5b3V0SXRlbVxuICAgICAgICAgIFtpc0R5bmFtaWNJdGVtXT1cInRydWVcIlxuICAgICAgICAgIFtjb2xHcm93XT1cIjFcIlxuICAgICAgICAgIFtodG1sRm9yXT1cIidjaGVja2JveF8nICsgaXRlbVwiXG4gICAgICAgICAgPnt7IGdldENhbGVuZGFyTmFtZShpdGVtKSB9fTwvbGFiZWxcbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgICA8Ym1iLWRpdmlkZXIgdHlwZT1cImRhc2hlZFwiPjwvYm1iLWRpdmlkZXI+XG4gICAgfVxuICA8L2Zvcm0+XG48L25nLXRlbXBsYXRlPlxuIl19