@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1317-a → 1.5.1317-b

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 (31) hide show
  1. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +4 -5
  2. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +2 -2
  3. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +4 -6
  4. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +2 -2
  5. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +1 -1
  6. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +5 -5
  7. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +10 -3
  8. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +4 -3
  9. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +1 -1
  10. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +3 -3
  11. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +3 -2
  12. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card-modal/bmb-notification-card-modal.component.mjs +2 -5
  13. package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +1 -1
  14. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +9 -3
  15. package/esm2022/lib/components/bmb-push-notification/types.mjs +1 -1
  16. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +1 -1
  17. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +2 -2
  18. package/esm2022/lib/components/utils/bmb-alert-center-detail/bmb-alert-center-detail.component.mjs +3 -3
  19. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +7 -4
  20. package/esm2022/lib/services/notification/notification.service.mjs +2 -2
  21. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +48 -35
  22. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  23. package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +1 -1
  24. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +4 -4
  25. package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +3 -2
  26. package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +2 -1
  27. package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +3 -1
  28. package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +3 -0
  29. package/lib/components/bmb-push-notification/types.d.ts +2 -1
  30. package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +2 -1
  31. package/package.json +1 -1
@@ -43,7 +43,6 @@ export class BmbCalendarComponent {
43
43
  this.filters = model({});
44
44
  this.calendarTimezone = input(Intl.DateTimeFormat().resolvedOptions().timeZone);
45
45
  this.clientTimezone = input(Intl.DateTimeFormat().resolvedOptions().timeZone);
46
- // lang = input<string>('es-MX'); // deprecated
47
46
  this.height = input('100%');
48
47
  this.startBusinessHour = input(8);
49
48
  this.calendarTitle = input();
@@ -73,8 +72,7 @@ export class BmbCalendarComponent {
73
72
  if (!acc[week][stringDate])
74
73
  acc[week][stringDate] = [];
75
74
  acc[week][stringDate].push({ ...event, startDate, endDate, interval });
76
- if (event.calendar &&
77
- !acc.calendars?.some((cal) => cal === event.calendar)) {
75
+ if (event.calendar && !acc.calendars?.includes(event.calendar)) {
78
76
  acc.calendars?.push(event.calendar);
79
77
  }
80
78
  return acc;
@@ -256,7 +254,7 @@ export class BmbCalendarComponent {
256
254
  return ['bmb_calendar-event-bullet', `bmb_calendar-event-bullet-${name}`];
257
255
  }
258
256
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbCalendarComponent, deps: [{ token: i1.BmbCalendarService }, { token: i2.BmbNativeModalService }, { token: i3.BmbTranslationsService }], target: i0.ɵɵFactoryTarget.Component }); }
259
- 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 }, 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 }, disableMobileFilter: { classPropertyName: "disableMobileFilter", publicName: "disableMobileFilter", 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 [events]=\"filteredEvents()\"\n (onCurrentDateChange)=\"handleCurrentDateChange($event)\"\n [weekDays]=\"renderWeekDays()\"\n [calendarTitle]=\"calendarTitle()\"\n [disableMobileFilter]=\"disableMobileFilter()\"\n (onClose)=\"handleClose()\"\n (showFilters)=\"handleShowModalFilter()\"\n />\n } @else {\n <bmb-calendar-header\n [weekDays]=\"renderWeekDays()\"\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 [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 [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: 62.5625rem){.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: 62.5rem){.bmb_calendar-detail-header{display:none}}.bmb_calendar-detail-header h2{font-family:Poppins-Regular,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-Regular,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: 62.5625rem){.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: 62.5625rem){.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: 62.5625rem){.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-Regular,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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BmbCalendarTemplateDayComponent, selector: "bmb-calendar-template-day", inputs: ["now", "events", "currentTime", "startBusinessHour", "dateFormat"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateWeekComponent, selector: "bmb-calendar-template-week", inputs: ["weekDays", "now", "dateFormat", "events", "currentTime", "startBusinessHour", "selectedWeek"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateMonthComponent, selector: "bmb-calendar-template-month", inputs: ["now", "events"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarHeaderComponent, selector: "bmb-calendar-header", inputs: ["weekDays", "view", "currentDate", "showFilterButton"], outputs: ["onRangeChange", "onCurrentDateChange", "showFilters"] }, { kind: "component", type: BmbCalendarTemplateMobileComponent, selector: "bmb-calendar-template-mobile", inputs: ["weekDays", "now", "events", "calendarTitle", "disableMobileFilter"], 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: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.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", "isContainerQuery"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
257
+ 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 }, 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 }, disableMobileFilter: { classPropertyName: "disableMobileFilter", publicName: "disableMobileFilter", 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()" } }, 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 [events]=\"filteredEvents()\"\n (onCurrentDateChange)=\"handleCurrentDateChange($event)\"\n [weekDays]=\"renderWeekDays()\"\n [calendarTitle]=\"calendarTitle()\"\n [disableMobileFilter]=\"disableMobileFilter()\"\n (onClose)=\"handleClose()\"\n (showFilters)=\"handleShowModalFilter()\"\n />\n } @else {\n <bmb-calendar-header\n [weekDays]=\"renderWeekDays()\"\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 [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 [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: 62.5625rem){.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: 62.5rem){.bmb_calendar-detail-header{display:none}}.bmb_calendar-detail-header h2{font-family:Poppins-Regular,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-Regular,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: 62.5625rem){.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: 62.5625rem){.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: 62.5625rem){.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-Regular,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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BmbCalendarTemplateDayComponent, selector: "bmb-calendar-template-day", inputs: ["now", "events", "currentTime", "startBusinessHour", "dateFormat"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateWeekComponent, selector: "bmb-calendar-template-week", inputs: ["weekDays", "now", "dateFormat", "events", "currentTime", "startBusinessHour", "selectedWeek"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarTemplateMonthComponent, selector: "bmb-calendar-template-month", inputs: ["now", "events"], outputs: ["onSelectEvent"] }, { kind: "component", type: BmbCalendarHeaderComponent, selector: "bmb-calendar-header", inputs: ["weekDays", "view", "currentDate", "showFilterButton"], outputs: ["onRangeChange", "onCurrentDateChange", "showFilters"] }, { kind: "component", type: BmbCalendarTemplateMobileComponent, selector: "bmb-calendar-template-mobile", inputs: ["weekDays", "now", "events", "calendarTitle", "disableMobileFilter"], 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: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.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", "isContainerQuery"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
260
258
  }
261
259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbCalendarComponent, decorators: [{
262
260
  type: Component,
@@ -283,6 +281,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
283
281
  args: ['modalTemplate']
284
282
  }], resize: [{
285
283
  type: HostListener,
286
- args: ['window:resize', ['$event']]
284
+ args: ['window:resize']
287
285
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUdOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDNUgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDekgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDL0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDbEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1B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ZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSG9zdExpc3RlbmVyLFxuICBtb2RlbCxcbiAgaW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIG91dHB1dCxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBlZmZlY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGVUaW1lLCBJbnRlcnZhbCB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IEJtYkNhbGVuZGFyVGVtcGxhdGVXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLXRlbXBsYXRlLXdlZWsvYm1iLWNhbGVuZGFyLXRlbXBsYXRlLXdlZWsuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNhbGVuZGFyVGVtcGxhdGVEYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9ibWItY2FsZW5kYXItdGVtcGxhdGUtZGF5L2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1kYXkuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNhbGVuZGFyVGVtcGxhdGVNb250aENvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb250aC9ibWItY2FsZW5kYXItdGVtcGxhdGUtbW9udGguY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLWhlYWRlci9ibWItY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJDYWxlbmRhclRlbXBsYXRlTW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vYmlsZS9ibWItY2FsZW5kYXItdGVtcGxhdGUtbW9iaWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItbG9hZGVyL2JtYi1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElCbWJDYWxlbmRhckV2ZW50LFxuICBJQm1iQ2FsZW5kYXJFdmVudENsaWNrLFxuICBJQm1iQ2FsZW5kYXJWaWV3LFxuICBJQm1iUGFyc2VkRGF0ZXMsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0V2Vla0RheXMsIGdldE1vbnRoRGF5cywgREVGQVVMVF9EQVRFX0ZPUk1BVCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXIvY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBCbWJOYXRpdmVNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2RhbC9uYXRpdmUtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBCbWJCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1iYWRnZS9ibWItYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCbWJDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1jaGVja2JveC9ibWItY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkRpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItZGl2aWRlci9ibWItZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJtYkxheW91dEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1sYXlvdXQvYm1iLWxheW91dC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJQm1iTmF0aXZlTW9kYWwgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJUcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5zZXJ2aWNlJztcblxuY29uc3QgcGFyc2VGcm9tRm9ybWF0ID0gKGRhdGVTdHJpbmc6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBEYXRlVGltZSA9PiB7XG4gIGlmIChmb3JtYXQudG9Mb3dlckNhc2UoKSA9PT0gJ2lzbycpIHJldHVybiBEYXRlVGltZS5mcm9tSVNPKGRhdGVTdHJpbmcpO1xuXG4gIHJldHVybiBEYXRlVGltZS5mcm9tRm9ybWF0KGRhdGVTdHJpbmcsIGZvcm1hdCk7XG59O1xuXG5leHBvcnQge1xuICBJQm1iQ2FsZW5kYXJFdmVudCxcbiAgSUJtYkNhbGVuZGFyRXZlbnRDbGljayxcbiAgSUJtYkV2ZW50VHlwZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1jYWxlbmRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZURheUNvbXBvbmVudCxcbiAgICBCbWJDYWxlbmRhclRlbXBsYXRlV2Vla0NvbXBvbmVudCxcbiAgICBCbWJDYWxlbmRhclRlbXBsYXRlTW9udGhDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZU1vYmlsZUNvbXBvbmVudCxcbiAgICBCbWJCYWRnZUNvbXBvbmVudCxcbiAgICBCbWJMb2FkZXJDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCbWJDaGVja2JveENvbXBvbmVudCxcbiAgICBCbWJEaXZpZGVyQ29tcG9uZW50LFxuICAgIEJtYkxheW91dERpcmVjdGl2ZSxcbiAgICBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlLFxuICBdLFxuICBzdHlsZVVybDogJy4vYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHZpZXcgPSBtb2RlbDxJQm1iQ2FsZW5kYXJWaWV3Pignd2VlaycpOyAvLyBpbnRlcm5hbFxuICBmaWx0ZXJzID0gbW9kZWw8eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0+KHt9KTtcbiAgY2FsZW5kYXJUaW1lem9uZSA9IGlucHV0PHN0cmluZz4oXG4gICAgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICApO1xuICBjbGllbnRUaW1lem9uZSA9IGlucHV0PHN0cmluZz4oXG4gICAgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICApO1xuICAvLyBsYW5nID0gaW5wdXQ8c3RyaW5nPignZXMtTVgnKTsgLy8gZGVwcmVjYXRlZFxuICBoZWlnaHQgPSBpbnB1dDxudW1iZXIgfCBzdHJpbmc+KCcxMDAlJyk7XG4gIHN0YXJ0QnVzaW5lc3NIb3VyID0gaW5wdXQ8bnVtYmVyPig4KTtcbiAgY2FsZW5kYXJUaXRsZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgZGF0ZUZvcm1hdCA9IGlucHV0PHN0cmluZz4oREVGQVVMVF9EQVRFX0ZPUk1BVCk7XG4gIGV2ZW50cyA9IGNvbXB1dGVkPElCbWJDYWxlbmRhckV2ZW50W10+KCgpID0+XG4gICAgdGhpcy5ldmVudHNTaWduYWwuZ2V0RXZlbnRMaXN0KCksXG4gICk7XG4gIHNob3dGaWx0ZXJCdXR0b24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGRpc2FibGVNb2JpbGVGaWx0ZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHZpc2libGVEYXRlID0gbW9kZWw8RGF0ZVRpbWU+KERhdGVUaW1lLm5vdygpKTsgLy8gaW50ZXJuYWxcblxuICBjdXJyZW50RGF0ZSA9IGlucHV0PHN0cmluZz4oJycpOyAvLyBEZXByZWNhdGVkXG5cbiAgb25EYXRlQ2hhbmdlID0gb3V0cHV0PGFueT4oKTtcbiAgb25DbG9zZSA9IG91dHB1dDxhbnk+KCk7XG5cbiAgc2VsZWN0ZWRXZWVrID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aXNpYmxlRGF0ZSgpLndlZWtOdW1iZXIpO1xuICB3ZWVrTnVtYmVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aXNpYmxlRGF0ZSgpLndlZWtOdW1iZXIpO1xuICByZW5kZXJXZWVrRGF5cyA9IGNvbXB1dGVkKCgpID0+IGdldFdlZWtEYXlzKHRoaXMudmlzaWJsZURhdGUoKSkpO1xuICBpc0xvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmV2ZW50c1NpZ25hbC5nZXRJc0xvYWRpbmcoKSk7XG4gIHNlbGVjdGVkRXZlbnQ6IElCbWJDYWxlbmRhckV2ZW50IHwgbnVsbCA9IG51bGw7XG4gIGlzTW9iaWxlSGVhZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIG9yZGVyZWRFdmVudHMgPSBjb21wdXRlZDxJQm1iUGFyc2VkRGF0ZXM+KCgpID0+IHtcbiAgICBjb25zdCB3ZWVrcyA9IHRoaXMuZXZlbnRzKCkucmVkdWNlKFxuICAgICAgKGFjYzogSUJtYlBhcnNlZERhdGVzLCBldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzdGFydERhdGUgPSBwYXJzZUZyb21Gb3JtYXQoZXZlbnQuc3RhcnQsIHRoaXMuZGF0ZUZvcm1hdCgpKTtcbiAgICAgICAgY29uc3QgZW5kRGF0ZSA9IHBhcnNlRnJvbUZvcm1hdChldmVudC5lbmQsIHRoaXMuZGF0ZUZvcm1hdCgpKTtcbiAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG4gICAgICAgIGNvbnN0IHdlZWsgPSBzdGFydERhdGUud2Vla051bWJlcjtcbiAgICAgICAgY29uc3Qgc3RyaW5nRGF0ZSA9IHN0YXJ0RGF0ZS50b0Zvcm1hdCgneXl5eS1NTS1kZCcpO1xuXG4gICAgICAgIGlmICghYWNjW3dlZWtdKSBhY2Nbd2Vla10gPSB7fTtcbiAgICAgICAgaWYgKCFhY2Nbd2Vla11bc3RyaW5nRGF0ZV0pIGFjY1t3ZWVrXVtzdHJpbmdEYXRlXSA9IFtdO1xuICAgICAgICBhY2Nbd2Vla11bc3RyaW5nRGF0ZV0ucHVzaCh7IC4uLmV2ZW50LCBzdGFydERhdGUsIGVuZERhdGUsIGludGVydmFsIH0pO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5jYWxlbmRhciAmJlxuICAgICAgICAgICFhY2MuY2FsZW5kYXJzPy5zb21lKChjYWwpID0+IGNhbCA9PT0gZXZlbnQuY2FsZW5kYXIpXG4gICAgICAgICkge1xuICAgICAgICAgIGFjYy5jYWxlbmRhcnM/LnB1c2goZXZlbnQuY2FsZW5kYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7IGNhbGVuZGFyczogW10gfSBhcyBJQm1iUGFyc2VkRGF0ZXMsXG4gICAgKTtcblxuICAgIGNvbnN0IG9yZGVyZWREYXRlcyA9IHt9IGFzIElCbWJQYXJzZWREYXRlcztcblxuICAgIGZvciAoY29uc3Qgd2VlayBpbiB3ZWVrcykge1xuICAgICAgaWYgKHdlZWsgPT09ICdjYWxlbmRhcnMnKSB7XG4gICAgICAgIG9yZGVyZWREYXRlc1t3ZWVrXSA9IHdlZWtzW3dlZWtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3JkZXJlZERhdGVzW3dlZWtdID0ge307XG5cbiAgICAgICAgZm9yIChjb25zdCBkYXRlIGluIHdlZWtzW3dlZWtdKSB7XG4gICAgICAgICAgb3JkZXJlZERhdGVzW3dlZWtdW2RhdGVdID0gd2Vla3Nbd2Vla11bZGF0ZV0uc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYURhdGUgPSBhLnN0YXJ0RGF0ZSA/PyBEYXRlVGltZS5pbnZhbGlkKCdJbnZhbGlkIERhdGUnKTtcbiAgICAgICAgICAgIGNvbnN0IGJEYXRlID0gYi5zdGFydERhdGUgPz8gRGF0ZVRpbWUuaW52YWxpZCgnSW52YWxpZCBEYXRlJyk7XG4gICAgICAgICAgICByZXR1cm4gYURhdGUgPD0gYkRhdGUgPyAtMSA6IDE7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb3JkZXJlZERhdGVzO1xuICB9KTtcbiAgZmlsdGVyZWRFdmVudHMgPSBjb21wdXRlZDxJQm1iUGFyc2VkRGF0ZXM+KCgpID0+IHtcbiAgICBjb25zdCBuZXdFdmVudHMgPSB7fSBhcyBJQm1iUGFyc2VkRGF0ZXM7XG4gICAgZm9yIChjb25zdCB3ZWVrIGluIHRoaXMub3JkZXJlZEV2ZW50cygpKSB7XG4gICAgICBpZiAod2VlayAhPT0gJ2NhbGVuZGFycycpIHtcbiAgICAgICAgbmV3RXZlbnRzW3dlZWtdID0ge307XG4gICAgICAgIGZvciAoY29uc3QgZGF0ZSBpbiB0aGlzLm9yZGVyZWRFdmVudHMoKVt3ZWVrXSkge1xuICAgICAgICAgIG5ld0V2ZW50c1t3ZWVrXVtkYXRlXSA9IHRoaXMub3JkZXJlZEV2ZW50cygpW3dlZWtdW2RhdGVdLm1hcChcbiAgICAgICAgICAgIChldmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgLi4uZXZlbnQsXG4gICAgICAgICAgICAgIGlzVmlzaWJsZTpcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmZpbHRlcnMoKSkubGVuZ3RoID09PSAwIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJzKClbZXZlbnQuY2FsZW5kYXIgfHwgJ0RlZmF1bHQnXSAhPT0gZmFsc2UsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbmV3RXZlbnRzLmNhbGVuZGFycyA9IHRoaXMub3JkZXJlZEV2ZW50cygpLmNhbGVuZGFycztcblxuICAgIHJldHVybiBuZXdFdmVudHM7XG4gIH0pO1xuICBmaWx0ZXJNb2RhbElkID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjYWxlbmRhckZvcm06IEZvcm1Hcm91cDx7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sPGFueT4gfT4gPSBuZXcgRm9ybUdyb3VwKFxuICAgIHt9LFxuICApO1xuXG4gIEBWaWV3Q2hpbGQoJ2RldGFpbENvbnRlbnQnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGRldGFpbENvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdtb2RhbFRlbXBsYXRlJykgbW9kYWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgcmVzaXplKCkge1xuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMDApIHtcbiAgICAgIHRoaXMudmlldy5zZXQoJ2RheScpO1xuICAgICAgdGhpcy5pc01vYmlsZUhlYWRlciA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNNb2JpbGVIZWFkZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGV2ZW50c1NpZ25hbDogQm1iQ2FsZW5kYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCbWJOYXRpdmVNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvbnNTZXJ2aWNlOiBCbWJUcmFuc2xhdGlvbnNTZXJ2aWNlLFxuICApIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY2FsZW5kYXJzID0gdGhpcy5maWx0ZXJlZEV2ZW50cygpLmNhbGVuZGFycyB8fCBbXTtcbiAgICAgIGNhbGVuZGFycy5mb3JFYWNoKChjYWxlbmRhcikgPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyRm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgIGNhbGVuZGFyLFxuICAgICAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLmZpbHRlcnMoKVtjYWxlbmRhcl0gfHwgdHJ1ZSksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGN1cnJlbnRUaW1lID0gc2lnbmFsPERhdGVUaW1lPihEYXRlVGltZS5ub3coKSk7XG4gIHByaXZhdGUgdGltZXJJZDogYW55O1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnRpbWVySWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcklkKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgMTAwMCkge1xuICAgICAgdGhpcy52aWV3LnNldCgnZGF5Jyk7XG4gICAgICB0aGlzLmlzTW9iaWxlSGVhZGVyID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZpZXcudXBkYXRlKCh2YWx1ZSkgPT4gKHdpbmRvdy5pbm5lcldpZHRoIDwgMTAwMCA/ICdkYXknIDogdmFsdWUpKTtcblxuICAgIHRoaXMudGltZXJJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVGltZSgpO1xuICAgIH0sIDYwMDAwKTsgLy8gQWN0dWFsaXphIGNhZGEgNjAwMDAgbWlsaXNlZ3VuZG9zICgxIG1pbnV0bylcbiAgfVxuXG4gIHVwZGF0ZVRpbWUoKSB7XG4gICAgdGhpcy5jdXJyZW50VGltZS5zZXQoRGF0ZVRpbWUubm93KCkpO1xuICB9XG5cbiAgaGFuZGxlRGF0ZUNoYW5nZShyYW5nZTogSUJtYkNhbGVuZGFyVmlldywgbm93OiBEYXRlVGltZSk6IHZvaWQge1xuICAgIHRoaXMudmlldy5zZXQocmFuZ2UpO1xuICAgIGxldCB2aXNpYmxlRGF0ZXM6IChzdHJpbmcgfCBudWxsKVtdID0gW107XG5cbiAgICBzd2l0Y2ggKHJhbmdlKSB7XG4gICAgICBjYXNlICdkYXknOlxuICAgICAgICB2aXNpYmxlRGF0ZXMgPSBnZXRNb250aERheXMobm93KS5tYXAoKGRhdGUpID0+IGRhdGUudG9JU08oKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgdmlzaWJsZURhdGVzID0gZ2V0V2Vla0RheXMobm93KS5tYXAoKGRhdGUpID0+IGRhdGUudG9JU08oKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIHZpc2libGVEYXRlcyA9IGdldE1vbnRoRGF5cyhub3cpLm1hcCgoZGF0ZSkgPT4gZGF0ZS50b0lTTygpKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMub25EYXRlQ2hhbmdlLmVtaXQoe1xuICAgICAgcmFuZ2UsXG4gICAgICBub3c6IG5vdy50b0lTTygpLFxuICAgICAgdmlzaWJsZURhdGVzLFxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlQ3VycmVudERhdGVDaGFuZ2UobmV3RGF0ZTogRGF0ZVRpbWUpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVEYXRlLnNldChuZXdEYXRlKTtcbiAgfVxuXG4gIGdldERheUV2ZW50cygpOiBJQm1iQ2FsZW5kYXJFdmVudFtdIHtcbiAgICBjb25zdCB2aXNpYmxlRGF0ZVN0ciA9IHRoaXMudmlzaWJsZURhdGUoKS50b0Zvcm1hdCgneXl5eS1NTS1kZCcpO1xuICAgIGNvbnN0IGV2ZW50cyA9XG4gICAgICB0aGlzLmZpbHRlcmVkRXZlbnRzKClbdGhpcy5zZWxlY3RlZFdlZWsoKV0/Llt2aXNpYmxlRGF0ZVN0cl0gPz8gW107XG4gICAgcmV0dXJuIGV2ZW50cztcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdEV2ZW50KG5ld0V2ZW50OiBJQm1iQ2FsZW5kYXJFdmVudENsaWNrKTogdm9pZCB7XG4gICAgY29uc3QgeyBldmVudCB9ID0gbmV3RXZlbnQ7XG4gICAgY29uc3QgdGl0bGUgPSBldmVudC5tb2RhbFRpdGxlID8/IGV2ZW50LnRpdGxlO1xuICAgIGNvbnN0IG1vZGFsVGl0bGUgPVxuICAgICAgZXZlbnQuc3RhdHVzID09PSAnZGlzYWJsZWQnID8gYChDYW5jZWxhZG8pICR7dGl0bGV9YCA6IHRpdGxlO1xuXG4gICAgdGhpcy5zZWxlY3RlZEV2ZW50ID0gZXZlbnQ7XG5cbiAgICBjb25zdCBkYXRhOiBJQm1iTmF0aXZlTW9kYWwgPSB7XG4gICAgICB0aXRsZTogbW9kYWxUaXRsZSxcbiAgICAgIHN1YnRpdGxlOiBldmVudC5zdWJ0aXRsZSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMuZGV0YWlsQ29udGVudCxcbiAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgfTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwoZGF0YSk7XG4gIH1cblxuICBpc0FuRXZlbnRTZWxlY3RlZChldmVudDogSUJtYkNhbGVuZGFyRXZlbnRDbGljayB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFldmVudDtcbiAgfVxuXG4gIGdldEhlaWdodChoZWlnaHQ6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiBoZWlnaHQgPT09ICdudW1iZXInKSByZXR1cm4gYCR7aGVpZ2h0fXB4YDtcblxuICAgIHJldHVybiBoZWlnaHQ7XG4gIH1cblxuICBnZXREdXJhdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRFdmVudCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBgJHtEYXRlVGltZS5mcm9tSVNPKHRoaXMuc2VsZWN0ZWRFdmVudC5zdGFydCkudG9Gb3JtYXQoJ2hoOm1tIGEnKX0gLSAke0RhdGVUaW1lLmZyb21JU08odGhpcy5zZWxlY3RlZEV2ZW50LmVuZCkudG9Gb3JtYXQoJ2hoOm1tIGEnKX1gO1xuICB9XG5cbiAgaGFuZGxlQ2xvc2UoKSB7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoJ2Nsb3NlJyk7XG4gIH1cblxuICBoYW5kbGVTaG93TW9kYWxGaWx0ZXIoKSB7XG4gICAgdGhpcy5maWx0ZXJNb2RhbElkLnNldChcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uc1NlcnZpY2UudHJhbnNsYXRlKCdjYWxlbmRhci50aXRsZScpLFxuICAgICAgICBzdWJ0aXRsZTogdGhpcy50cmFuc2xhdGlvbnNTZXJ2aWNlLnRyYW5zbGF0ZSgnY2FsZW5kYXIuc3VidGl0bGUnKSxcbiAgICAgICAgY29udGVudDogdGhpcy5tb2RhbFRlbXBsYXRlLFxuICAgICAgICBzaXplOiAneC1zbWFsbCcsXG4gICAgICAgIGNsb3NlTW9kYWxDbGlja2VkOiAoZXZlbnQ6IHVua25vd24pID0+IHRoaXMuaGFuZGxlRm9ybVJlc2V0KGV2ZW50KSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJ1dHRvbk5hbWU6ICdzYXZlJyxcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0aW9uc1NlcnZpY2UudHJhbnNsYXRlKCdjYWxlbmRhci5maWx0ZXJfc2F2ZScpLFxuICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmhhbmRsZUFwcGx5RmlsdGVycygpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlRm9ybVJlc2V0KF86IGFueSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgY2FsZW5kYXIgaW4gdGhpcy5jYWxlbmRhckZvcm0uY29udHJvbHMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5maWx0ZXJzKCkpLmxlbmd0aCA9PT0gMCB8fCAhIXRoaXMuZmlsdGVycygpW2NhbGVuZGFyXTtcbiAgICAgIHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzW2NhbGVuZGFyXS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQXBwbHlGaWx0ZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkQ2FsZW5kYXJzID0gT2JqZWN0LmtleXModGhpcy5jYWxlbmRhckZvcm0uY29udHJvbHMpLnJlZHVjZTx7XG4gICAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICAgIH0+KChhY2MsIGNhbGVuZGFyKSA9PiB7XG4gICAgICBhY2NbY2FsZW5kYXJdID0gdGhpcy5jYWxlbmRhckZvcm0uY29udHJvbHNbY2FsZW5kYXJdLnZhbHVlO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gICAgdGhpcy5maWx0ZXJzLnNldChzZWxlY3RlZENhbGVuZGFycyk7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCh0aGlzLmZpbHRlck1vZGFsSWQoKSBhcyBzdHJpbmcpO1xuICAgIHRoaXMuZmlsdGVyTW9kYWxJZC5zZXQobnVsbCk7XG4gIH1cblxuICBnZXRGb3JtQ29udHJvbChuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXJGb3JtLmdldChuYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGdldENhbGVuZGFyTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAnYWNhZGVtaWMnOlxuICAgICAgICByZXR1cm4gJ0hvcmFyaW8gZGUgY2xhc2VzJztcbiAgICAgIGNhc2UgJ2xpZmUnOlxuICAgICAgICByZXR1cm4gJ1ZpZGEnO1xuICAgICAgY2FzZSAnZXZlbnRzJzpcbiAgICAgICAgcmV0dXJuICdFdmVudG9zJztcbiAgICAgIGNhc2UgJ3NhdmVfdGhlX2RhdGUnOlxuICAgICAgICByZXR1cm4gJ1NhdmUgdGhlIGRhdGUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0QnVsbGV0Q2xhc3MobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbJ2JtYl9jYWxlbmRhci1ldmVudC1idWxsZXQnLCBgYm1iX2NhbGVuZGFyLWV2ZW50LWJ1bGxldC0ke25hbWV9YF07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJibWJfY2FsZW5kYXJcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogZ2V0SGVpZ2h0KGhlaWdodCgpKSB9XCI+XG4gIEBpZiAoaXNNb2JpbGVIZWFkZXIpIHtcbiAgICA8Ym1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vYmlsZVxuICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgIFtldmVudHNdPVwiZmlsdGVyZWRFdmVudHMoKVwiXG4gICAgICAob25DdXJyZW50RGF0ZUNoYW5nZSk9XCJoYW5kbGVDdXJyZW50RGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFt3ZWVrRGF5c109XCJyZW5kZXJXZWVrRGF5cygpXCJcbiAgICAgIFtjYWxlbmRhclRpdGxlXT1cImNhbGVuZGFyVGl0bGUoKVwiXG4gICAgICBbZGlzYWJsZU1vYmlsZUZpbHRlcl09XCJkaXNhYmxlTW9iaWxlRmlsdGVyKClcIlxuICAgICAgKG9uQ2xvc2UpPVwiaGFuZGxlQ2xvc2UoKVwiXG4gICAgICAoc2hvd0ZpbHRlcnMpPVwiaGFuZGxlU2hvd01vZGFsRmlsdGVyKClcIlxuICAgIC8+XG4gIH0gQGVsc2Uge1xuICAgIDxibWItY2FsZW5kYXItaGVhZGVyXG4gICAgICBbd2Vla0RheXNdPVwicmVuZGVyV2Vla0RheXMoKVwiXG4gICAgICBbdmlld109XCJ2aWV3KClcIlxuICAgICAgW2N1cnJlbnREYXRlXT1cInZpc2libGVEYXRlKClcIlxuICAgICAgKG9uUmFuZ2VDaGFuZ2UpPVwiaGFuZGxlRGF0ZUNoYW5nZSgkZXZlbnQsIHZpc2libGVEYXRlKCkpXCJcbiAgICAgIChvbkN1cnJlbnREYXRlQ2hhbmdlKT1cImhhbmRsZUN1cnJlbnREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgW3Nob3dGaWx0ZXJCdXR0b25dPVwic2hvd0ZpbHRlckJ1dHRvbigpXCJcbiAgICAgIChzaG93RmlsdGVycyk9XCJoYW5kbGVTaG93TW9kYWxGaWx0ZXIoKVwiXG4gICAgLz5cbiAgfVxuICBAc3dpdGNoICh2aWV3KCkpIHtcbiAgICBAY2FzZSAoJ2RheScpIHtcbiAgICAgIDxibWItY2FsZW5kYXItdGVtcGxhdGUtZGF5XG4gICAgICAgIFtub3ddPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICAgIFtldmVudHNdPVwiZ2V0RGF5RXZlbnRzKClcIlxuICAgICAgICAob25TZWxlY3RFdmVudCk9XCJoYW5kbGVTZWxlY3RFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgW2N1cnJlbnRUaW1lXT1cImN1cnJlbnRUaW1lKClcIlxuICAgICAgICBbc3RhcnRCdXNpbmVzc0hvdXJdPVwic3RhcnRCdXNpbmVzc0hvdXIoKVwiXG4gICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXQoKVwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWNvbnRlbnRcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGNhc2UgKCd3ZWVrJykge1xuICAgICAgPGJtYi1jYWxlbmRhci10ZW1wbGF0ZS13ZWVrXG4gICAgICAgIFt3ZWVrRGF5c109XCJyZW5kZXJXZWVrRGF5cygpXCJcbiAgICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgICAgKG9uU2VsZWN0RXZlbnQpPVwiaGFuZGxlU2VsZWN0RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgIFtjdXJyZW50VGltZV09XCJjdXJyZW50VGltZSgpXCJcbiAgICAgICAgW3N0YXJ0QnVzaW5lc3NIb3VyXT1cInN0YXJ0QnVzaW5lc3NIb3VyKClcIlxuICAgICAgICBbc2VsZWN0ZWRXZWVrXT1cInNlbGVjdGVkV2VlaygpXCJcbiAgICAgICAgY2xhc3M9XCJibWJfY2FsZW5kYXItY29udGVudFwiXG4gICAgICAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ21vbnRoJykge1xuICAgICAgPGJtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb250aFxuICAgICAgICBbbm93XT1cInZpc2libGVEYXRlKClcIlxuICAgICAgICBbZXZlbnRzXT1cImZpbHRlcmVkRXZlbnRzKClcIlxuICAgICAgICAob25TZWxlY3RFdmVudCk9XCJoYW5kbGVTZWxlY3RFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJibWJfY2FsZW5kYXItY29udGVudFwiXG4gICAgICAvPlxuICAgIH1cbiAgICBAZGVmYXVsdCB7XG4gICAgICA8Ym1iLWNhbGVuZGFyLXRlbXBsYXRlLXdlZWtcbiAgICAgICAgW3dlZWtEYXlzXT1cInJlbmRlcldlZWtEYXlzKClcIlxuICAgICAgICBbbm93XT1cInZpc2libGVEYXRlKClcIlxuICAgICAgICBbZXZlbnRzXT1cImZpbHRlcmVkRXZlbnRzKClcIlxuICAgICAgICBjbGFzcz1cImJtYl9jYWxlbmRhci1jb250ZW50XCJcbiAgICAgIC8+XG4gICAgfVxuICB9XG5cbiAgQGlmIChpc0xvYWRpbmcoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJibWJfY2FsZW5kYXItbG9hZGVyXCI+XG4gICAgICA8Ym1iLWxvYWRlciBbc2hvd0lubGluZV09XCJ0cnVlXCIgLz5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGV0YWlsQ29udGVudD5cbiAgQGlmIChzZWxlY3RlZEV2ZW50KSB7XG4gICAgPHNlY3Rpb24+XG4gICAgICBAaWYgKHNlbGVjdGVkRXZlbnQudGFncz8ubGVuZ3RoKSB7XG4gICAgICAgIDxwIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDAuNXJlbVwiPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygc2VsZWN0ZWRFdmVudC50YWdzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxibWItYmFkZ2UgW3RleHRdPVwiaXRlbS50ZXh0XCIgW2FwcGVhcmFuY2VdPVwiaXRlbS5hcHBlYXJhbmNlXCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvcD5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2VsZWN0ZWRFdmVudC50aXRsZSkge1xuICAgICAgICA8cCBjbGFzcz1cImJtYl9jYWxlbmRhci1ldmVudC1tb2RhbC10aXRsZVwiPnt7IHNlbGVjdGVkRXZlbnQudGl0bGUgfX08L3A+XG4gICAgICB9XG4gICAgICBAaWYgKHNlbGVjdGVkRXZlbnQucGxhY2UpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJibWJfY2FsZW5kYXItZXZlbnQtbW9kYWwtcGxhY2VcIj57eyBzZWxlY3RlZEV2ZW50LnBsYWNlIH19PC9wPlxuICAgICAgfVxuICAgICAgPGRpdiBjbGFzcz1cImJtYl9jYWxlbmRhci1ldmVudC1tb2RhbC1kdXJhdGlvblwiPnt7IGdldER1cmF0aW9uKCkgfX08L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxUZW1wbGF0ZT5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJjYWxlbmRhckZvcm1cIj5cbiAgICBAZm9yIChpdGVtIG9mIGZpbHRlcmVkRXZlbnRzKCkuY2FsZW5kYXJzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxkaXYgYm1iTGF5b3V0IGdhcFNpemU9XCJzXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8Ym1iLWNoZWNrYm94XG4gICAgICAgICAgYm1iTGF5b3V0SXRlbVxuICAgICAgICAgIFtpc0R5bmFtaWNJdGVtXT1cInRydWVcIlxuICAgICAgICAgIFtpbnB1dElkXT1cIidjaGVja2JveF8nICsgaXRlbVwiXG4gICAgICAgICAgW25hbWVdPVwiJ2NoZWNrYm94XycgKyBpdGVtXCJcbiAgICAgICAgICBbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbChpdGVtKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBibWJMYXlvdXRJdGVtXG4gICAgICAgICAgW2lzRHluYW1pY0l0ZW1dPVwidHJ1ZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0QnVsbGV0Q2xhc3MoaXRlbSlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgIGJtYkxheW91dEl0ZW1cbiAgICAgICAgICBbaXNEeW5hbWljSXRlbV09XCJ0cnVlXCJcbiAgICAgICAgICBbY29sR3Jvd109XCIxXCJcbiAgICAgICAgICBbaHRtbEZvcl09XCInY2hlY2tib3hfJyArIGl0ZW1cIlxuICAgICAgICAgID57eyBnZXRDYWxlbmRhck5hbWUoaXRlbSkgfX08L2xhYmVsXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJtYi1kaXZpZGVyIHR5cGU9XCJkYXNoZWRcIj48L2JtYi1kaXZpZGVyPlxuICAgIH1cbiAgPC9mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUdOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDNUgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDekgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDL0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDbEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1B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QjtnQkFDRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSw2QkFBNkIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDOytHQXRTVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixnaEVBb0dLLFdBQVcsOEhDakxqRCx3ekhBeUhBLDgvUUQvREksWUFBWSxrTkFDWiwrQkFBK0IsK0tBQy9CLGdDQUFnQyw0TUFDaEMsaUNBQWlDLCtIQUNqQywwQkFBMEIsbU1BQzFCLGtDQUFrQyxvTkFDbEMsaUJBQWlCLG1HQUNqQixrQkFBa0IsaVFBQ2xCLG1CQUFtQixxYkFDbkIsb0JBQW9CLG9hQUNwQixtQkFBbUIsMEVBQ25CLGtCQUFrQixtSkFDbEIsc0JBQXNCOzs0RkFPYixvQkFBb0I7a0JBdkJoQyxTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWiwrQkFBK0I7d0JBQy9CLGdDQUFnQzt3QkFDaEMsaUNBQWlDO3dCQUNqQywwQkFBMEI7d0JBQzFCLGtDQUFrQzt3QkFDbEMsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3FCQUN2QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtnS0F1R3JDLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUVyQixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBRzFCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEhvc3RMaXN0ZW5lcixcbiAgbW9kZWwsXG4gIGlucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFRlbXBsYXRlUmVmLFxuICBvdXRwdXQsXG4gIGNvbXB1dGVkLFxuICBzaWduYWwsXG4gIE9uSW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgZWZmZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRlVGltZSwgSW50ZXJ2YWwgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBCbWJDYWxlbmRhclRlbXBsYXRlV2Vla0NvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS13ZWVrL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS13ZWVrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJDYWxlbmRhclRlbXBsYXRlRGF5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vYm1iLWNhbGVuZGFyLXRlbXBsYXRlLWRheS9ibWItY2FsZW5kYXItdGVtcGxhdGUtZGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJDYWxlbmRhclRlbXBsYXRlTW9udGhDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9ibWItY2FsZW5kYXItdGVtcGxhdGUtbW9udGgvYm1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vbnRoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJDYWxlbmRhckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2JtYi1jYWxlbmRhci1oZWFkZXIvYm1iLWNhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJUZW1wbGF0ZU1vYmlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2JtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb2JpbGUvYm1iLWNhbGVuZGFyLXRlbXBsYXRlLW1vYmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWxvYWRlci9ibWItbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBJQm1iQ2FsZW5kYXJFdmVudCxcbiAgSUJtYkNhbGVuZGFyRXZlbnRDbGljayxcbiAgSUJtYkNhbGVuZGFyVmlldyxcbiAgSUJtYlBhcnNlZERhdGVzLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldFdlZWtEYXlzLCBnZXRNb250aERheXMsIERFRkFVTFRfREFURV9GT1JNQVQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJtYkNhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhbGVuZGFyL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQm1iTmF0aXZlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbW9kYWwvbmF0aXZlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQm1iQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9ibWItYmFkZ2UvYm1iLWJhZGdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQm1iQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9ibWItY2hlY2tib3gvYm1iLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWRpdmlkZXIvYm1iLWRpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYm1iLWxheW91dC9ibWItbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSUJtYk5hdGl2ZU1vZGFsIH0gZnJvbSAnLi4vYm1iLW1vZGFsL2JtYi1tb2RhbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQm1iVHJhbnNsYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZSc7XG5cbmNvbnN0IHBhcnNlRnJvbUZvcm1hdCA9IChkYXRlU3RyaW5nOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKTogRGF0ZVRpbWUgPT4ge1xuICBpZiAoZm9ybWF0LnRvTG93ZXJDYXNlKCkgPT09ICdpc28nKSByZXR1cm4gRGF0ZVRpbWUuZnJvbUlTTyhkYXRlU3RyaW5nKTtcblxuICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdChkYXRlU3RyaW5nLCBmb3JtYXQpO1xufTtcblxuZXhwb3J0IHtcbiAgSUJtYkNhbGVuZGFyRXZlbnQsXG4gIElCbWJDYWxlbmRhckV2ZW50Q2xpY2ssXG4gIElCbWJFdmVudFR5cGUsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItY2FsZW5kYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJtYkNhbGVuZGFyVGVtcGxhdGVEYXlDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZVdlZWtDb21wb25lbnQsXG4gICAgQm1iQ2FsZW5kYXJUZW1wbGF0ZU1vbnRoQ29tcG9uZW50LFxuICAgIEJtYkNhbGVuZGFySGVhZGVyQ29tcG9uZW50LFxuICAgIEJtYkNhbGVuZGFyVGVtcGxhdGVNb2JpbGVDb21wb25lbnQsXG4gICAgQm1iQmFkZ2VDb21wb25lbnQsXG4gICAgQm1iTG9hZGVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQm1iQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQm1iRGl2aWRlckNvbXBvbmVudCxcbiAgICBCbWJMYXlvdXREaXJlY3RpdmUsXG4gICAgQm1iTGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgXSxcbiAgc3R5bGVVcmw6ICcuL2JtYi1jYWxlbmRhci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICB2aWV3ID0gbW9kZWw8SUJtYkNhbGVuZGFyVmlldz4oJ3dlZWsnKTsgLy8gaW50ZXJuYWxcbiAgZmlsdGVycyA9IG1vZGVsPHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9Pih7fSk7XG4gIGNhbGVuZGFyVGltZXpvbmUgPSBpbnB1dDxzdHJpbmc+KFxuICAgIEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSxcbiAgKTtcbiAgY2xpZW50VGltZXpvbmUgPSBpbnB1dDxzdHJpbmc+KFxuICAgIEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSxcbiAgKTtcbiAgaGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgc3RyaW5nPignMTAwJScpO1xuICBzdGFydEJ1c2luZXNzSG91ciA9IGlucHV0PG51bWJlcj4oOCk7XG4gIGNhbGVuZGFyVGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGRhdGVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KERFRkFVTFRfREFURV9GT1JNQVQpO1xuICBldmVudHMgPSBjb21wdXRlZDxJQm1iQ2FsZW5kYXJFdmVudFtdPigoKSA9PlxuICAgIHRoaXMuZXZlbnRzU2lnbmFsLmdldEV2ZW50TGlzdCgpLFxuICApO1xuICBzaG93RmlsdGVyQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBkaXNhYmxlTW9iaWxlRmlsdGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICB2aXNpYmxlRGF0ZSA9IG1vZGVsPERhdGVUaW1lPihEYXRlVGltZS5ub3coKSk7IC8vIGludGVybmFsXG5cbiAgY3VycmVudERhdGUgPSBpbnB1dDxzdHJpbmc+KCcnKTsgLy8gRGVwcmVjYXRlZFxuXG4gIG9uRGF0ZUNoYW5nZSA9IG91dHB1dDxhbnk+KCk7XG4gIG9uQ2xvc2UgPSBvdXRwdXQ8YW55PigpO1xuXG4gIHNlbGVjdGVkV2VlayA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmlzaWJsZURhdGUoKS53ZWVrTnVtYmVyKTtcbiAgd2Vla051bWJlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmlzaWJsZURhdGUoKS53ZWVrTnVtYmVyKTtcbiAgcmVuZGVyV2Vla0RheXMgPSBjb21wdXRlZCgoKSA9PiBnZXRXZWVrRGF5cyh0aGlzLnZpc2libGVEYXRlKCkpKTtcbiAgaXNMb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5ldmVudHNTaWduYWwuZ2V0SXNMb2FkaW5nKCkpO1xuICBzZWxlY3RlZEV2ZW50OiBJQm1iQ2FsZW5kYXJFdmVudCB8IG51bGwgPSBudWxsO1xuICBpc01vYmlsZUhlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBvcmRlcmVkRXZlbnRzID0gY29tcHV0ZWQ8SUJtYlBhcnNlZERhdGVzPigoKSA9PiB7XG4gICAgY29uc3Qgd2Vla3MgPSB0aGlzLmV2ZW50cygpLnJlZHVjZShcbiAgICAgIChhY2M6IElCbWJQYXJzZWREYXRlcywgZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gcGFyc2VGcm9tRm9ybWF0KGV2ZW50LnN0YXJ0LCB0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBwYXJzZUZyb21Gb3JtYXQoZXZlbnQuZW5kLCB0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICAgIGNvbnN0IGludGVydmFsID0gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzdGFydERhdGUsIGVuZERhdGUpO1xuICAgICAgICBjb25zdCB3ZWVrID0gc3RhcnREYXRlLndlZWtOdW1iZXI7XG4gICAgICAgIGNvbnN0IHN0cmluZ0RhdGUgPSBzdGFydERhdGUudG9Gb3JtYXQoJ3l5eXktTU0tZGQnKTtcblxuICAgICAgICBpZiAoIWFjY1t3ZWVrXSkgYWNjW3dlZWtdID0ge307XG4gICAgICAgIGlmICghYWNjW3dlZWtdW3N0cmluZ0RhdGVdKSBhY2Nbd2Vla11bc3RyaW5nRGF0ZV0gPSBbXTtcbiAgICAgICAgYWNjW3dlZWtdW3N0cmluZ0RhdGVdLnB1c2goeyAuLi5ldmVudCwgc3RhcnREYXRlLCBlbmREYXRlLCBpbnRlcnZhbCB9KTtcblxuICAgICAgICBpZiAoZXZlbnQuY2FsZW5kYXIgJiYgIWFjYy5jYWxlbmRhcnM/LmluY2x1ZGVzKGV2ZW50LmNhbGVuZGFyKSkge1xuICAgICAgICAgIGFjYy5jYWxlbmRhcnM/LnB1c2goZXZlbnQuY2FsZW5kYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7IGNhbGVuZGFyczogW10gfSBhcyBJQm1iUGFyc2VkRGF0ZXMsXG4gICAgKTtcblxuICAgIGNvbnN0IG9yZGVyZWREYXRlcyA9IHt9IGFzIElCbWJQYXJzZWREYXRlcztcblxuICAgIGZvciAoY29uc3Qgd2VlayBpbiB3ZWVrcykge1xuICAgICAgaWYgKHdlZWsgPT09ICdjYWxlbmRhcnMnKSB7XG4gICAgICAgIG9yZGVyZWREYXRlc1t3ZWVrXSA9IHdlZWtzW3dlZWtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3JkZXJlZERhdGVzW3dlZWtdID0ge307XG5cbiAgICAgICAgZm9yIChjb25zdCBkYXRlIGluIHdlZWtzW3dlZWtdKSB7XG4gICAgICAgICAgb3JkZXJlZERhdGVzW3dlZWtdW2RhdGVdID0gd2Vla3Nbd2Vla11bZGF0ZV0uc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYURhdGUgPSBhLnN0YXJ0RGF0ZSA/PyBEYXRlVGltZS5pbnZhbGlkKCdJbnZhbGlkIERhdGUnKTtcbiAgICAgICAgICAgIGNvbnN0IGJEYXRlID0gYi5zdGFydERhdGUgPz8gRGF0ZVRpbWUuaW52YWxpZCgnSW52YWxpZCBEYXRlJyk7XG4gICAgICAgICAgICByZXR1cm4gYURhdGUgPD0gYkRhdGUgPyAtMSA6IDE7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb3JkZXJlZERhdGVzO1xuICB9KTtcbiAgZmlsdGVyZWRFdmVudHMgPSBjb21wdXRlZDxJQm1iUGFyc2VkRGF0ZXM+KCgpID0+IHtcbiAgICBjb25zdCBuZXdFdmVudHMgPSB7fSBhcyBJQm1iUGFyc2VkRGF0ZXM7XG4gICAgZm9yIChjb25zdCB3ZWVrIGluIHRoaXMub3JkZXJlZEV2ZW50cygpKSB7XG4gICAgICBpZiAod2VlayAhPT0gJ2NhbGVuZGFycycpIHtcbiAgICAgICAgbmV3RXZlbnRzW3dlZWtdID0ge307XG4gICAgICAgIGZvciAoY29uc3QgZGF0ZSBpbiB0aGlzLm9yZGVyZWRFdmVudHMoKVt3ZWVrXSkge1xuICAgICAgICAgIG5ld0V2ZW50c1t3ZWVrXVtkYXRlXSA9IHRoaXMub3JkZXJlZEV2ZW50cygpW3dlZWtdW2RhdGVdLm1hcChcbiAgICAgICAgICAgIChldmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgLi4uZXZlbnQsXG4gICAgICAgICAgICAgIGlzVmlzaWJsZTpcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmZpbHRlcnMoKSkubGVuZ3RoID09PSAwIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJzKClbZXZlbnQuY2FsZW5kYXIgfHwgJ0RlZmF1bHQnXSAhPT0gZmFsc2UsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbmV3RXZlbnRzLmNhbGVuZGFycyA9IHRoaXMub3JkZXJlZEV2ZW50cygpLmNhbGVuZGFycztcblxuICAgIHJldHVybiBuZXdFdmVudHM7XG4gIH0pO1xuICBmaWx0ZXJNb2RhbElkID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjYWxlbmRhckZvcm06IEZvcm1Hcm91cDx7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sPGFueT4gfT4gPSBuZXcgRm9ybUdyb3VwKFxuICAgIHt9LFxuICApO1xuXG4gIEBWaWV3Q2hpbGQoJ2RldGFpbENvbnRlbnQnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGRldGFpbENvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdtb2RhbFRlbXBsYXRlJykgbW9kYWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHJlc2l6ZSgpIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCAxMDAwKSB7XG4gICAgICB0aGlzLnZpZXcuc2V0KCdkYXknKTtcbiAgICAgIHRoaXMuaXNNb2JpbGVIZWFkZXIgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzTW9iaWxlSGVhZGVyID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudHNTaWduYWw6IEJtYkNhbGVuZGFyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogQm1iTmF0aXZlTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25zU2VydmljZTogQm1iVHJhbnNsYXRpb25zU2VydmljZSxcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGNhbGVuZGFycyA9IHRoaXMuZmlsdGVyZWRFdmVudHMoKS5jYWxlbmRhcnMgfHwgW107XG4gICAgICBjYWxlbmRhcnMuZm9yRWFjaCgoY2FsZW5kYXIpID0+IHtcbiAgICAgICAgdGhpcy5jYWxlbmRhckZvcm0uYWRkQ29udHJvbChcbiAgICAgICAgICBjYWxlbmRhcixcbiAgICAgICAgICBuZXcgRm9ybUNvbnRyb2wodGhpcy5maWx0ZXJzKClbY2FsZW5kYXJdIHx8IHRydWUpLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjdXJyZW50VGltZSA9IHNpZ25hbDxEYXRlVGltZT4oRGF0ZVRpbWUubm93KCkpO1xuICBwcml2YXRlIHRpbWVySWQ6IGFueTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy50aW1lcklkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMudGltZXJJZCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMDApIHtcbiAgICAgIHRoaXMudmlldy5zZXQoJ2RheScpO1xuICAgICAgdGhpcy5pc01vYmlsZUhlYWRlciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy52aWV3LnVwZGF0ZSgodmFsdWUpID0+ICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMDAgPyAnZGF5JyA6IHZhbHVlKSk7XG5cbiAgICB0aGlzLnRpbWVySWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRpbWUoKTtcbiAgICB9LCA2MDAwMCk7IC8vIEFjdHVhbGl6YSBjYWRhIDYwMDAwIG1pbGlzZWd1bmRvcyAoMSBtaW51dG8pXG4gIH1cblxuICB1cGRhdGVUaW1lKCkge1xuICAgIHRoaXMuY3VycmVudFRpbWUuc2V0KERhdGVUaW1lLm5vdygpKTtcbiAgfVxuXG4gIGhhbmRsZURhdGVDaGFuZ2UocmFuZ2U6IElCbWJDYWxlbmRhclZpZXcsIG5vdzogRGF0ZVRpbWUpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcuc2V0KHJhbmdlKTtcbiAgICBsZXQgdmlzaWJsZURhdGVzOiAoc3RyaW5nIHwgbnVsbClbXSA9IFtdO1xuXG4gICAgc3dpdGNoIChyYW5nZSkge1xuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgdmlzaWJsZURhdGVzID0gZ2V0TW9udGhEYXlzKG5vdykubWFwKChkYXRlKSA9PiBkYXRlLnRvSVNPKCkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgIHZpc2libGVEYXRlcyA9IGdldFdlZWtEYXlzKG5vdykubWFwKChkYXRlKSA9PiBkYXRlLnRvSVNPKCkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICB2aXNpYmxlRGF0ZXMgPSBnZXRNb250aERheXMobm93KS5tYXAoKGRhdGUpID0+IGRhdGUudG9JU08oKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLm9uRGF0ZUNoYW5nZS5lbWl0KHtcbiAgICAgIHJhbmdlLFxuICAgICAgbm93OiBub3cudG9JU08oKSxcbiAgICAgIHZpc2libGVEYXRlcyxcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUN1cnJlbnREYXRlQ2hhbmdlKG5ld0RhdGU6IERhdGVUaW1lKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlRGF0ZS5zZXQobmV3RGF0ZSk7XG4gIH1cblxuICBnZXREYXlFdmVudHMoKTogSUJtYkNhbGVuZGFyRXZlbnRbXSB7XG4gICAgY29uc3QgdmlzaWJsZURhdGVTdHIgPSB0aGlzLnZpc2libGVEYXRlKCkudG9Gb3JtYXQoJ3l5eXktTU0tZGQnKTtcbiAgICBjb25zdCBldmVudHMgPVxuICAgICAgdGhpcy5maWx0ZXJlZEV2ZW50cygpW3RoaXMuc2VsZWN0ZWRXZWVrKCldPy5bdmlzaWJsZURhdGVTdHJdID8/IFtdO1xuICAgIHJldHVybiBldmVudHM7XG4gIH1cblxuICBoYW5kbGVTZWxlY3RFdmVudChuZXdFdmVudDogSUJtYkNhbGVuZGFyRXZlbnRDbGljayk6IHZvaWQge1xuICAgIGNvbnN0IHsgZXZlbnQgfSA9IG5ld0V2ZW50O1xuICAgIGNvbnN0IHRpdGxlID0gZXZlbnQubW9kYWxUaXRsZSA/PyBldmVudC50aXRsZTtcbiAgICBjb25zdCBtb2RhbFRpdGxlID1cbiAgICAgIGV2ZW50LnN0YXR1cyA9PT0gJ2Rpc2FibGVkJyA/IGAoQ2FuY2VsYWRvKSAke3RpdGxlfWAgOiB0aXRsZTtcblxuICAgIHRoaXMuc2VsZWN0ZWRFdmVudCA9IGV2ZW50O1xuXG4gICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgdGl0bGU6IG1vZGFsVGl0bGUsXG4gICAgICBzdWJ0aXRsZTogZXZlbnQuc3VidGl0bGUsXG4gICAgICBjb250ZW50OiB0aGlzLmRldGFpbENvbnRlbnQsXG4gICAgICBzaXplOiAnc21hbGwnLFxuICAgIH07XG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKGRhdGEpO1xuICB9XG5cbiAgaXNBbkV2ZW50U2VsZWN0ZWQoZXZlbnQ6IElCbWJDYWxlbmRhckV2ZW50Q2xpY2sgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhZXZlbnQ7XG4gIH1cblxuICBnZXRIZWlnaHQoaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgaGVpZ2h0ID09PSAnbnVtYmVyJykgcmV0dXJuIGAke2hlaWdodH1weGA7XG5cbiAgICByZXR1cm4gaGVpZ2h0O1xuICB9XG5cbiAgZ2V0RHVyYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRXZlbnQpIHJldHVybiAnJztcbiAgICByZXR1cm4gYCR7RGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnNlbGVjdGVkRXZlbnQuc3RhcnQpLnRvRm9ybWF0KCdoaDptbSBhJyl9IC0gJHtEYXRlVGltZS5mcm9tSVNPKHRoaXMuc2VsZWN0ZWRFdmVudC5lbmQpLnRvRm9ybWF0KCdoaDptbSBhJyl9YDtcbiAgfVxuXG4gIGhhbmRsZUNsb3NlKCkge1xuICAgIHRoaXMub25DbG9zZS5lbWl0KCdjbG9zZScpO1xuICB9XG5cbiAgaGFuZGxlU2hvd01vZGFsRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyTW9kYWxJZC5zZXQoXG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwoe1xuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvbnNTZXJ2aWNlLnRyYW5zbGF0ZSgnY2FsZW5kYXIudGl0bGUnKSxcbiAgICAgICAgc3VidGl0bGU6IHRoaXMudHJhbnNsYXRpb25zU2VydmljZS50cmFuc2xhdGUoJ2NhbGVuZGFyLnN1YnRpdGxlJyksXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMubW9kYWxUZW1wbGF0ZSxcbiAgICAgICAgc2l6ZTogJ3gtc21hbGwnLFxuICAgICAgICBjbG9zZU1vZGFsQ2xpY2tlZDogKGV2ZW50OiB1bmtub3duKSA9PiB0aGlzLmhhbmRsZUZvcm1SZXNldChldmVudCksXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBidXR0b25OYW1lOiAnc2F2ZScsXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiAncHJpbWFyeScsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGlvbnNTZXJ2aWNlLnRyYW5zbGF0ZSgnY2FsZW5kYXIuZmlsdGVyX3NhdmUnKSxcbiAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5oYW5kbGVBcHBseUZpbHRlcnMoKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZUZvcm1SZXNldChfOiBhbnkpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGNhbGVuZGFyIGluIHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVycygpKS5sZW5ndGggPT09IDAgfHwgISF0aGlzLmZpbHRlcnMoKVtjYWxlbmRhcl07XG4gICAgICB0aGlzLmNhbGVuZGFyRm9ybS5jb250cm9sc1tjYWxlbmRhcl0uc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFwcGx5RmlsdGVycygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZENhbGVuZGFycyA9IE9iamVjdC5rZXlzKHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzKS5yZWR1Y2U8e1xuICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgICB9PigoYWNjLCBjYWxlbmRhcikgPT4ge1xuICAgICAgYWNjW2NhbGVuZGFyXSA9IHRoaXMuY2FsZW5kYXJGb3JtLmNvbnRyb2xzW2NhbGVuZGFyXS52YWx1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICAgIHRoaXMuZmlsdGVycy5zZXQoc2VsZWN0ZWRDYWxlbmRhcnMpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwodGhpcy5maWx0ZXJNb2RhbElkKCkgYXMgc3RyaW5nKTtcbiAgICB0aGlzLmZpbHRlck1vZGFsSWQuc2V0KG51bGwpO1xuICB9XG5cbiAgZ2V0Rm9ybUNvbnRyb2wobmFtZTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyRm9ybS5nZXQobmFtZSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBnZXRDYWxlbmRhck5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgJ2FjYWRlbWljJzpcbiAgICAgICAgcmV0dXJuICdIb3JhcmlvIGRlIGNsYXNlcyc7XG4gICAgICBjYXNlICdsaWZlJzpcbiAgICAgICAgcmV0dXJuICdWaWRhJztcbiAgICAgIGNhc2UgJ2V2ZW50cyc6XG4gICAgICAgIHJldHVybiAnRXZlbnRvcyc7XG4gICAgICBjYXNlICdzYXZlX3RoZV9kYXRlJzpcbiAgICAgICAgcmV0dXJuICdTYXZlIHRoZSBkYXRlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cbiAgfVxuXG4gIGdldEJ1bGxldENsYXNzKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydibWJfY2FsZW5kYXItZXZlbnQtYnVsbGV0JywgYGJtYl9jYWxlbmRhci1ldmVudC1idWxsZXQtJHtuYW1lfWBdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm1iX2NhbGVuZGFyXCIgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGdldEhlaWdodChoZWlnaHQoKSkgfVwiPlxuICBAaWYgKGlzTW9iaWxlSGVhZGVyKSB7XG4gICAgPGJtYi1jYWxlbmRhci10ZW1wbGF0ZS1tb2JpbGVcbiAgICAgIFtub3ddPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICBbZXZlbnRzXT1cImZpbHRlcmVkRXZlbnRzKClcIlxuICAgICAgKG9uQ3VycmVudERhdGVDaGFuZ2UpPVwiaGFuZGxlQ3VycmVudERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbd2Vla0RheXNdPVwicmVuZGVyV2Vla0RheXMoKVwiXG4gICAgICBbY2FsZW5kYXJUaXRsZV09XCJjYWxlbmRhclRpdGxlKClcIlxuICAgICAgW2Rpc2FibGVNb2JpbGVGaWx0ZXJdPVwiZGlzYWJsZU1vYmlsZUZpbHRlcigpXCJcbiAgICAgIChvbkNsb3NlKT1cImhhbmRsZUNsb3NlKClcIlxuICAgICAgKHNob3dGaWx0ZXJzKT1cImhhbmRsZVNob3dNb2RhbEZpbHRlcigpXCJcbiAgICAvPlxuICB9IEBlbHNlIHtcbiAgICA8Ym1iLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW3dlZWtEYXlzXT1cInJlbmRlcldlZWtEYXlzKClcIlxuICAgICAgW3ZpZXddPVwidmlldygpXCJcbiAgICAgIFtjdXJyZW50RGF0ZV09XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgIChvblJhbmdlQ2hhbmdlKT1cImhhbmRsZURhdGVDaGFuZ2UoJGV2ZW50LCB2aXNpYmxlRGF0ZSgpKVwiXG4gICAgICAob25DdXJyZW50RGF0ZUNoYW5nZSk9XCJoYW5kbGVDdXJyZW50RGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtzaG93RmlsdGVyQnV0dG9uXT1cInNob3dGaWx0ZXJCdXR0b24oKVwiXG4gICAgICAoc2hvd0ZpbHRlcnMpPVwiaGFuZGxlU2hvd01vZGFsRmlsdGVyKClcIlxuICAgIC8+XG4gIH1cbiAgQHN3aXRjaCAodmlldygpKSB7XG4gICAgQGNhc2UgKCdkYXknKSB7XG4gICAgICA8Ym1iLWNhbGVuZGFyLXRlbXBsYXRlLWRheVxuICAgICAgICBbbm93XT1cInZpc2libGVEYXRlKClcIlxuICAgICAgICBbZXZlbnRzXT1cImdldERheUV2ZW50cygpXCJcbiAgICAgICAgKG9uU2VsZWN0RXZlbnQpPVwiaGFuZGxlU2VsZWN0RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgIFtjdXJyZW50VGltZV09XCJjdXJyZW50VGltZSgpXCJcbiAgICAgICAgW3N0YXJ0QnVzaW5lc3NIb3VyXT1cInN0YXJ0QnVzaW5lc3NIb3VyKClcIlxuICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0KClcIlxuICAgICAgICBjbGFzcz1cImJtYl9jYWxlbmRhci1jb250ZW50XCJcbiAgICAgIC8+XG4gICAgfVxuICAgIEBjYXNlICgnd2VlaycpIHtcbiAgICAgIDxibWItY2FsZW5kYXItdGVtcGxhdGUtd2Vla1xuICAgICAgICBbd2Vla0RheXNdPVwicmVuZGVyV2Vla0RheXMoKVwiXG4gICAgICAgIFtub3ddPVwidmlzaWJsZURhdGUoKVwiXG4gICAgICAgIFtldmVudHNdPVwiZmlsdGVyZWRFdmVudHMoKVwiXG4gICAgICAgIChvblNlbGVjdEV2ZW50KT1cImhhbmRsZVNlbGVjdEV2ZW50KCRldmVudClcIlxuICAgICAgICBbY3VycmVudFRpbWVdPVwiY3VycmVudFRpbWUoKVwiXG4gICAgICAgIFtzdGFydEJ1c2luZXNzSG91cl09XCJzdGFydEJ1c2luZXNzSG91cigpXCJcbiAgICAgICAgW3NlbGVjdGVkV2Vla109XCJzZWxlY3RlZFdlZWsoKVwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWNvbnRlbnRcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGNhc2UgKCdtb250aCcpIHtcbiAgICAgIDxibWItY2FsZW5kYXItdGVtcGxhdGUtbW9udGhcbiAgICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgICAgKG9uU2VsZWN0RXZlbnQpPVwiaGFuZGxlU2VsZWN0RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWNvbnRlbnRcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGRlZmF1bHQge1xuICAgICAgPGJtYi1jYWxlbmRhci10ZW1wbGF0ZS13ZWVrXG4gICAgICAgIFt3ZWVrRGF5c109XCJyZW5kZXJXZWVrRGF5cygpXCJcbiAgICAgICAgW25vd109XCJ2aXNpYmxlRGF0ZSgpXCJcbiAgICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgICAgY2xhc3M9XCJibWJfY2FsZW5kYXItY29udGVudFwiXG4gICAgICAvPlxuICAgIH1cbiAgfVxuXG4gIEBpZiAoaXNMb2FkaW5nKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhbGVuZGFyLWxvYWRlclwiPlxuICAgICAgPGJtYi1sb2FkZXIgW3Nob3dJbmxpbmVdPVwidHJ1ZVwiIC8+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RldGFpbENvbnRlbnQ+XG4gIEBpZiAoc2VsZWN0ZWRFdmVudCkge1xuICAgIDxzZWN0aW9uPlxuICAgICAgQGlmIChzZWxlY3RlZEV2ZW50LnRhZ3M/Lmxlbmd0aCkge1xuICAgICAgICA8cCBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAwLjVyZW1cIj5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIHNlbGVjdGVkRXZlbnQudGFnczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8Ym1iLWJhZGdlIFt0ZXh0XT1cIml0ZW0udGV4dFwiIFthcHBlYXJhbmNlXT1cIml0ZW0uYXBwZWFyYW5jZVwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L3A+XG4gICAgICB9XG4gICAgICBAaWYgKHNlbGVjdGVkRXZlbnQudGl0bGUpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJibWJfY2FsZW5kYXItZXZlbnQtbW9kYWwtdGl0bGVcIj57eyBzZWxlY3RlZEV2ZW50LnRpdGxlIH19PC9wPlxuICAgICAgfVxuICAgICAgQGlmIChzZWxlY3RlZEV2ZW50LnBsYWNlKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2NhbGVuZGFyLWV2ZW50LW1vZGFsLXBsYWNlXCI+e3sgc2VsZWN0ZWRFdmVudC5wbGFjZSB9fTwvcD5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJibWJfY2FsZW5kYXItZXZlbnQtbW9kYWwtZHVyYXRpb25cIj57eyBnZXREdXJhdGlvbigpIH19PC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21vZGFsVGVtcGxhdGU+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiY2FsZW5kYXJGb3JtXCI+XG4gICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEV2ZW50cygpLmNhbGVuZGFyczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8ZGl2IGJtYkxheW91dCBnYXBTaXplPVwic1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPGJtYi1jaGVja2JveFxuICAgICAgICAgIGJtYkxheW91dEl0ZW1cbiAgICAgICAgICBbaXNEeW5hbWljSXRlbV09XCJ0cnVlXCJcbiAgICAgICAgICBbaW5wdXRJZF09XCInY2hlY2tib3hfJyArIGl0ZW1cIlxuICAgICAgICAgIFtuYW1lXT1cIidjaGVja2JveF8nICsgaXRlbVwiXG4gICAgICAgICAgW2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2woaXRlbSlcIlxuICAgICAgICAvPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgYm1iTGF5b3V0SXRlbVxuICAgICAgICAgIFtpc0R5bmFtaWNJdGVtXT1cInRydWVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImdldEJ1bGxldENsYXNzKGl0ZW0pXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBibWJMYXlvdXRJdGVtXG4gICAgICAgICAgW2lzRHluYW1pY0l0ZW1dPVwidHJ1ZVwiXG4gICAgICAgICAgW2NvbEdyb3ddPVwiMVwiXG4gICAgICAgICAgW2h0bWxGb3JdPVwiJ2NoZWNrYm94XycgKyBpdGVtXCJcbiAgICAgICAgICA+e3sgZ2V0Q2FsZW5kYXJOYW1lKGl0ZW0pIH19PC9sYWJlbFxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxibWItZGl2aWRlciB0eXBlPVwiZGFzaGVkXCI+PC9ibWItZGl2aWRlcj5cbiAgICB9XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -57,7 +57,7 @@ export class BmbCardButtonComponent {
57
57
  this.onAddContentClick.emit(event);
58
58
  }
59
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbCardButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbCardButtonComponent, isStandalone: true, selector: "bmb-card-button", inputs: { isFullInteractive: { classPropertyName: "isFullInteractive", publicName: "isFullInteractive", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, leftContentIcon: { classPropertyName: "leftContentIcon", publicName: "leftContentIcon", isSignal: true, isRequired: false, transformFunction: null }, leftContentImage: { classPropertyName: "leftContentImage", publicName: "leftContentImage", isSignal: true, isRequired: false, transformFunction: null }, leftContent: { classPropertyName: "leftContent", publicName: "leftContent", isSignal: true, isRequired: false, transformFunction: null }, hasMenu: { classPropertyName: "hasMenu", publicName: "hasMenu", isSignal: true, isRequired: false, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: false, transformFunction: null }, isTemplate: { classPropertyName: "isTemplate", publicName: "isTemplate", isSignal: true, isRequired: false, transformFunction: null }, textLink: { classPropertyName: "textLink", publicName: "textLink", isSignal: true, isRequired: false, transformFunction: null }, isSmall: { classPropertyName: "isSmall", publicName: "isSmall", isSignal: true, isRequired: false, transformFunction: null }, botIcon: { classPropertyName: "botIcon", publicName: "botIcon", isSignal: true, isRequired: false, transformFunction: null }, botImage: { classPropertyName: "botImage", publicName: "botImage", isSignal: true, isRequired: false, transformFunction: null }, smallIcon: { classPropertyName: "smallIcon", publicName: "smallIcon", isSignal: true, isRequired: false, transformFunction: null }, smallTitle: { classPropertyName: "smallTitle", publicName: "smallTitle", isSignal: true, isRequired: false, transformFunction: null }, smallDescription: { classPropertyName: "smallDescription", publicName: "smallDescription", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAddContentClick: "onAddContentClick", onTitleClick: "onTitleClick", onSmallClick: "onSmallClick" }, queries: [{ propertyName: "customContent", first: true, predicate: ["customContent"], descendants: true }], ngImport: i0, template: "<section class=\"bmb_card_button\">\n @if (isSmall()) {\n <button\n type=\"button\"\n class=\"bmb_card_button-small\"\n [ngClass]=\"{ 'bmb_card_button-small-flipped': isFlipped }\"\n (click)=\"handleSmallClick($event)\"\n >\n <div class=\"bmb_card_button-small-front\">\n <bmb-icon\n [icon]=\"smallIcon()\"\n [size]=\"24\"\n class=\"bmb_card_button-small-top-icon\"\n alt=\"Small icon\"\n />\n <img\n [src]=\"botImage()?.src\"\n [alt]=\"botImage()?.alt\"\n class=\"bmb_card_button-small-bot-icon\"\n />\n <h3 class=\"bmb_card_button-small-title\">{{ smallTitle() }}</h3>\n </div>\n <div class=\"bmb_card_button-small-back\">\n <bmb-icon\n icon=\"close\"\n [size]=\"24\"\n class=\"bmb_card_button-small-close-icon\"\n />\n <div class=\"bmb_card_button-small-text\">\n {{ smallDescription() }}\n </div>\n </div>\n </button>\n } @else if (isFullInteractive()) {\n <section\n tabindex=\"0\"\n class=\"bmb_card_button-wrapper\"\n [ngClass]=\"{\n 'bmb_card_button-wrapper-button':\n leftContent() &&\n !leftContentIcon() &&\n leftContentImage() &&\n !textLink()\n }\"\n (click)=\"handleAddContent($event)\"\n >\n @if (leftContent() || isTemplate() || hasMenu()) {\n <section class=\"bmb_card_button-box\">\n @if (leftContent()) {\n <section\n class=\"bmb_card_button-left\"\n [ngClass]=\"{\n 'bmb_card_button-top-header': !leftContentIcon(),\n 'bmb_card_button-top-header-start':\n !leftContentIcon() && !!badge()\n }\"\n >\n @if (!!leftContentIcon()) {\n <div class=\"bmb_card_button-circle\">\n <bmb-icon\n [icon]=\"leftContentIcon()\"\n [size]=\"32\"\n class=\"bmb_card_button-circle-icon\"\n [alt]=\"title()\"\n />\n </div>\n } @else {\n <img\n class=\"bmb_card_button-top-header-image\"\n [src]=\"leftContentImage()?.src\"\n [alt]=\"leftContentImage()?.alt\"\n />\n <section class=\"bmb_card_button-top-header-container\">\n @if (!!badge()) {\n <bmb-badge\n class=\"bmb_card_button-top-header-container-title\"\n [text]=\"badge()?.text!\"\n [appearance]=\"badge()?.appearance ?? 'normal'\"\n [container]=\"badge()?.container ?? true\"\n />\n }\n <h2 class=\"bmb_card_button-top-header-container-title\">\n {{ title() }}\n </h2>\n </section>\n }\n </section>\n }\n <section class=\"bmb_card_button-leading\">\n @if (isTemplate()) {\n <div class=\"bmb_card_button-template\">\n <ng-content />\n </div>\n }\n\n @if (hasMenu()) {\n <bmb-dropdown-menu\n class=\"bmb_card_button-menu\"\n [items]=\"menuItems()\"\n />\n }\n </section>\n </section>\n }\n @if (!!leftContentIcon() && !leftContentImage()) {\n <section\n tabindex=\"0\"\n class=\"bmb_card_button-header\"\n (click)=\"handleTitleClick($event)\"\n >\n <h2 class=\"bmb_card_button-header-text\">{{ title() }}</h2>\n <bmb-icon\n [icon]=\"icon()\"\n [size]=\"16\"\n class=\"bmb_card_button-header-icon\"\n />\n </section>\n }\n\n @if (\n (leftContent() &&\n !leftContentIcon() &&\n leftContentImage() &&\n textLink()) ||\n body()\n ) {\n <section class=\"bmb_card_button-body\">\n {{ body() }}\n\n @if (\n leftContent() &&\n !leftContentIcon() &&\n leftContentImage() &&\n textLink()\n ) {\n <bmb-text-link\n [textLink]=\"textLink()?.label!\"\n icon=\"\"\n [link]=\"textLink()?.link!\"\n [target]=\"textLink()?.target!\"\n />\n }\n </section>\n }\n <div class=\"bmb_card_button-custom-content\">\n <ng-container [ngTemplateOutlet]=\"customContent\" />\n </div>\n </section>\n } @else {\n <button\n type=\"button\"\n class=\"bmb_card_button-add\"\n (click)=\"handleAddContent($event)\"\n >\n <bmb-icon\n [icon]=\"icon()\"\n [size]=\"48\"\n class=\"bmb_card_button-add-icon\"\n [isFill]=\"false\"\n [alt]=\"title()\"\n />\n <div class=\"bmb_card_button-add-title\">{{ title() }}</div>\n </button>\n }\n</section>\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_card_button{display:flex;flex-direction:column;border:.0625rem solid var(--general_contrasts-container-outline);border-radius:1rem;height:12.1875rem;width:20.5rem;position:relative}.bmb_card_button:has(.bmb_card_button-small){height:9.25rem;width:10.3125rem;border-radius:.5rem;border:0}.bmb_card_button-wrapper{display:block;background-color:var(--containers-modal);padding:1.5rem;position:relative;width:100%;height:100%;border-radius:1rem;box-shadow:var(--bmb-box-shadow-3);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.bmb_card_button-wrapper:hover:not(:disabled){background-color:var(--general_contrasts-15)}.bmb_card_button-wrapper:focus:not(:disabled),.bmb_card_button-wrapper:active:not(:disabled){background-color:var(--general_contrasts-25)}.bmb_card_button-wrapper-button{cursor:pointer}.bmb_card_button-box{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:.5rem;min-height:1.75rem}.bmb_card_button-left{align-items:center;display:flex;justify-content:flex-start}.bmb_card_button-left.bmb_card_button-top-header-start{align-items:start}.bmb_card_button-circle{align-items:center;background-color:var(--general_contrasts-100);border-radius:100%;color:var(--general_contrasts-5);display:flex;height:3rem;justify-content:center;width:3rem}.bmb_card_button-top-header{display:flex;flex-direction:row;gap:1rem;flex:1;max-width:100%}.bmb_card_button-top-header-image{border-radius:.75rem;height:4.125rem;object-fit:cover;width:4.125rem}.bmb_card_button-top-header-container{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow:hidden}.bmb_card_button-top-header-container-title{font-family:Poppins-Regular,sans-serif;font-size:1rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-leading{display:flex;flex-flow:row wrap;justify-content:flex-end;margin-left:auto}.bmb_card_button-menu .bmb_dropdown-content-modal{right:0;left:inherit;max-width:15.625rem;min-width:15.625rem}.bmb_card_button-template{display:flex;flex-flow:row wrap;height:2.5rem;justify-content:flex-end;overflow:hidden;padding:0 .625rem;color:var(--general_contrasts-75);gap:1rem}.bmb_card_button-header{align-items:center;display:flex;gap:.5rem;cursor:pointer}.bmb_card_button-header-text{font-family:Poppins-Regular,sans-serif;font-size:.875rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--general_contrasts)}.bmb_card_button-header-icon{color:rgb(var(--color-charade-300))}.bmb_card_button-body{font-family:Poppins-Regular,sans-serif;font-size:.75rem;padding:.5rem 0;display:-webkit-box;max-block-size:4rem;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-body .bmb_text-link .bmb_check-external-link-button-element{line-height:1}.bmb_card_button-body{color:var(--general_contrasts-container)}.bmb_card_button-custom-content{font-family:Poppins-Regular,sans-serif;font-size:.75rem;padding:.5rem 0;display:-webkit-box;max-block-size:4rem;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-custom-content .bmb_text-link .bmb_check-external-link-button-element{line-height:1}.bmb_card_button-custom-content{color:var(--general_contrasts-75)}.bmb_card_button-add{background-color:rgb(var(--color-mariner-800));outline:0 solid transparent;color:rgb(var(--color-white-primary));width:100%;height:100%;border-radius:1rem;box-shadow:var(--bmb-box-shadow-3)}.bmb_card_button-add-title{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin-top:.625rem;max-width:100%;padding:0 1rem;display:-webkit-box;max-block-size:2.5rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-add:hover:not(:disabled){background-color:var(--buttons-primary-hover)}.bmb_card_button-add:focus:not(:disabled),.bmb_card_button-add:active:not(:disabled){background-color:var(--buttons-primary-select);color:rgb(var(--color-charade-950));outline-width:.0625rem;outline-color:var(--buttons-stroke-primary-selected);box-shadow:.25rem .25rem .25rem 0 var(--drop_shadow-color-test-shadow)}.bmb_card_button-small{border:none;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%;border-color:var(--general_contrasts-container-outline);justify-content:flex-start}.bmb_card_button-small:active:not(:disabled) .bmb_card_button-small-back{background-color:var(--menu_select-surface-activated)}.bmb_card_button-small:active:not(:disabled) .bmb_card_button-small-text,.bmb_card_button-small:active:not(:disabled) .bmb_card_button-small-close-icon{color:var(--buttons-alternative-normal)}.bmb_card_button-small:hover{border-radius:.5rem;background-color:var(--menu_select-on-surface-hovered);transform:rotateY(180deg)}.bmb_card_button-small-flipped{transform:rotateY(180deg)}.bmb_card_button-small-flipped .bmb_card_button-small-back{background-color:var(--menu_select-surface-activated)}.bmb_card_button-small-flipped .bmb_card_button-small-text,.bmb_card_button-small-flipped .bmb_card_button-small-close-icon{color:var(--buttons-alternative-normal)}.bmb_card_button-small-front,.bmb_card_button-small-back{align-items:center;backface-visibility:hidden;border-radius:.5rem;display:flex;flex-direction:column;height:100%;justify-content:start;left:0;padding:.5rem;position:absolute;top:0;width:100%;gap:.5rem}.bmb_card_button-small-front{background-color:var(--containers-container-button);border:.0625rem solid var(--general_contrasts-container-outline);border-radius:.5rem;box-shadow:var(--bmb-box-shadow-3)}.bmb_card_button-small-back{background-color:var(--menu_select-on-surface-hovered);transform:rotateY(180deg)}.bmb_card_button-small-top-icon{align-self:flex-end;color:var(--general_contrasts-50)}.bmb_card_button-small-close-icon{align-self:flex-end;color:var(--general_contrasts-75)}.bmb_card_button-small-bot-icon{height:3rem;width:3rem}.bmb_card_button-small-title{color:var(--general_contrasts-75);font-family:Poppins-Bold,sans-serif;font-size:.875rem;text-align:center;display:-webkit-box;max-block-size:2.5rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-small-text{font-family:Poppins-Regular,sans-serif;font-size:.625rem;color:var(--general_contrasts-75);padding-top:1rem;text-align:center;width:100%}.bmb_card_button .bmb_dropdown_menu{color:var(--general_contrasts-container)}.bmb_card_button .bmb_text-link .bmb_check-external-link-button-element{color:var(--azul-mariner-500)}.bmb_card_button .bmb_text-link .bmb_check-external-link-button-element:hover{color:rgb(var(--color-mariner-400))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }, { kind: "component", type: BmbDropdownMenuComponent, selector: "bmb-dropdown-menu", inputs: ["items"] }, { kind: "component", type: BmbTextLinkComponent, selector: "bmb-text-link", inputs: ["textLink", "textLinkStyle", "target", "icon", "iconPosition", "link", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbCardButtonComponent, isStandalone: true, selector: "bmb-card-button", inputs: { isFullInteractive: { classPropertyName: "isFullInteractive", publicName: "isFullInteractive", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, leftContentIcon: { classPropertyName: "leftContentIcon", publicName: "leftContentIcon", isSignal: true, isRequired: false, transformFunction: null }, leftContentImage: { classPropertyName: "leftContentImage", publicName: "leftContentImage", isSignal: true, isRequired: false, transformFunction: null }, leftContent: { classPropertyName: "leftContent", publicName: "leftContent", isSignal: true, isRequired: false, transformFunction: null }, hasMenu: { classPropertyName: "hasMenu", publicName: "hasMenu", isSignal: true, isRequired: false, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: false, transformFunction: null }, isTemplate: { classPropertyName: "isTemplate", publicName: "isTemplate", isSignal: true, isRequired: false, transformFunction: null }, textLink: { classPropertyName: "textLink", publicName: "textLink", isSignal: true, isRequired: false, transformFunction: null }, isSmall: { classPropertyName: "isSmall", publicName: "isSmall", isSignal: true, isRequired: false, transformFunction: null }, botIcon: { classPropertyName: "botIcon", publicName: "botIcon", isSignal: true, isRequired: false, transformFunction: null }, botImage: { classPropertyName: "botImage", publicName: "botImage", isSignal: true, isRequired: false, transformFunction: null }, smallIcon: { classPropertyName: "smallIcon", publicName: "smallIcon", isSignal: true, isRequired: false, transformFunction: null }, smallTitle: { classPropertyName: "smallTitle", publicName: "smallTitle", isSignal: true, isRequired: false, transformFunction: null }, smallDescription: { classPropertyName: "smallDescription", publicName: "smallDescription", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAddContentClick: "onAddContentClick", onTitleClick: "onTitleClick", onSmallClick: "onSmallClick" }, queries: [{ propertyName: "customContent", first: true, predicate: ["customContent"], descendants: true }], ngImport: i0, template: "<section class=\"bmb_card_button\">\n @if (isSmall()) {\n <button\n type=\"button\"\n class=\"bmb_card_button-small\"\n [ngClass]=\"{ 'bmb_card_button-small-flipped': isFlipped }\"\n (click)=\"handleSmallClick($event)\"\n >\n <div class=\"bmb_card_button-small-front\">\n <bmb-icon\n [icon]=\"smallIcon()\"\n [size]=\"24\"\n class=\"bmb_card_button-small-top-icon\"\n alt=\"Small icon\"\n />\n <img\n [src]=\"botImage()?.src\"\n [alt]=\"botImage()?.alt\"\n class=\"bmb_card_button-small-bot-icon\"\n />\n <h3 class=\"bmb_card_button-small-title\">{{ smallTitle() }}</h3>\n </div>\n <div class=\"bmb_card_button-small-back\">\n <bmb-icon\n icon=\"close\"\n [size]=\"24\"\n class=\"bmb_card_button-small-close-icon\"\n />\n <div class=\"bmb_card_button-small-text\">\n {{ smallDescription() }}\n </div>\n </div>\n </button>\n } @else if (isFullInteractive()) {\n <section\n tabindex=\"0\"\n class=\"bmb_card_button-wrapper\"\n [ngClass]=\"{\n 'bmb_card_button-wrapper-button':\n leftContent() &&\n !leftContentIcon() &&\n leftContentImage() &&\n !textLink()\n }\"\n (click)=\"handleAddContent($event)\"\n >\n @if (leftContent() || isTemplate() || hasMenu()) {\n <section class=\"bmb_card_button-box\">\n @if (leftContent()) {\n <section\n class=\"bmb_card_button-left\"\n [ngClass]=\"{\n 'bmb_card_button-top-header': !leftContentIcon(),\n 'bmb_card_button-top-header-start':\n !leftContentIcon() && !!badge()\n }\"\n >\n @if (!!leftContentIcon()) {\n <div class=\"bmb_card_button-circle\">\n <bmb-icon\n [icon]=\"leftContentIcon()\"\n [size]=\"32\"\n class=\"bmb_card_button-circle-icon\"\n [alt]=\"title()\"\n />\n </div>\n } @else {\n <img\n class=\"bmb_card_button-top-header-image\"\n [src]=\"leftContentImage()?.src\"\n [alt]=\"leftContentImage()?.alt\"\n />\n <section class=\"bmb_card_button-top-header-container\">\n @if (!!badge()) {\n <bmb-badge\n class=\"bmb_card_button-top-header-container-title\"\n [text]=\"badge()?.text!\"\n [appearance]=\"badge()?.appearance ?? 'normal'\"\n [container]=\"badge()?.container ?? true\"\n />\n }\n <h2 class=\"bmb_card_button-top-header-container-title\">\n {{ title() }}\n </h2>\n </section>\n }\n </section>\n }\n <section class=\"bmb_card_button-leading\">\n @if (isTemplate()) {\n <div class=\"bmb_card_button-template\">\n <ng-content />\n </div>\n }\n\n @if (hasMenu()) {\n <bmb-dropdown-menu\n class=\"bmb_card_button-menu\"\n [items]=\"menuItems()\"\n />\n }\n </section>\n </section>\n }\n @if (!!leftContentIcon() && !leftContentImage()) {\n <section\n tabindex=\"0\"\n class=\"bmb_card_button-header\"\n (click)=\"handleTitleClick($event)\"\n >\n <h2 class=\"bmb_card_button-header-text\">{{ title() }}</h2>\n <bmb-icon\n [icon]=\"icon()\"\n [size]=\"16\"\n class=\"bmb_card_button-header-icon\"\n />\n </section>\n }\n\n @if (\n (leftContent() &&\n !leftContentIcon() &&\n leftContentImage() &&\n textLink()) ||\n body()\n ) {\n <section class=\"bmb_card_button-body\">\n {{ body() }}\n\n @if (\n leftContent() &&\n !leftContentIcon() &&\n leftContentImage() &&\n textLink()\n ) {\n <bmb-text-link\n [textLink]=\"textLink()?.label!\"\n icon=\"\"\n [link]=\"textLink()?.link!\"\n [target]=\"textLink()?.target!\"\n />\n }\n </section>\n }\n <div class=\"bmb_card_button-custom-content\">\n <ng-container [ngTemplateOutlet]=\"customContent\" />\n </div>\n </section>\n } @else {\n <button\n type=\"button\"\n class=\"bmb_card_button-add\"\n (click)=\"handleAddContent($event)\"\n >\n <bmb-icon\n [icon]=\"icon()\"\n [size]=\"48\"\n class=\"bmb_card_button-add-icon\"\n [isFill]=\"false\"\n [alt]=\"title()\"\n />\n <div class=\"bmb_card_button-add-title\">{{ title() }}</div>\n </button>\n }\n</section>\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_card_button{display:flex;flex-direction:column;border:.0625rem solid var(--general_contrasts-container-outline);border-radius:1rem;height:12.1875rem;width:20.5rem;position:relative}.bmb_card_button:has(.bmb_card_button-small){height:9.25rem;width:10.3125rem;border-radius:.5rem;border:0}.bmb_card_button-wrapper{display:block;background-color:var(--containers-modal);padding:1.5rem;position:relative;width:100%;height:100%;border-radius:1rem;box-shadow:var(--bmb-box-shadow-3);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.bmb_card_button-wrapper:hover:not(:disabled){background-color:var(--general_contrasts-15)}.bmb_card_button-wrapper:focus:not(:disabled),.bmb_card_button-wrapper:active:not(:disabled){background-color:var(--general_contrasts-25)}.bmb_card_button-wrapper-button{cursor:pointer}.bmb_card_button-box{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:.5rem;min-height:1.75rem}.bmb_card_button-left{align-items:center;display:flex;justify-content:flex-start}.bmb_card_button-left.bmb_card_button-top-header-start{align-items:start}.bmb_card_button-circle{align-items:center;background-color:var(--general_contrasts-100);border-radius:100%;color:var(--general_contrasts-5);display:flex;height:3rem;justify-content:center;width:3rem}.bmb_card_button-top-header{display:flex;flex-direction:row;gap:1rem;flex:1;max-width:100%}.bmb_card_button-top-header-image{border-radius:.75rem;height:4.125rem;object-fit:cover;width:4.125rem}.bmb_card_button-top-header-container{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow:hidden}.bmb_card_button-top-header-container-title{font-family:Poppins-Regular,sans-serif;font-size:1rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-leading{display:flex;flex-flow:row wrap;justify-content:flex-end;margin-left:auto}.bmb_card_button-menu .bmb_dropdown-content-modal{right:0;left:inherit;max-width:15.625rem;min-width:15.625rem}.bmb_card_button-template{display:flex;flex-flow:row wrap;height:2.5rem;justify-content:flex-end;overflow:hidden;padding:0 .625rem;color:var(--general_contrasts-75);gap:1rem}.bmb_card_button-header{align-items:center;display:flex;gap:.5rem;cursor:pointer}.bmb_card_button-header-text{font-family:Poppins-Regular,sans-serif;font-size:.875rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--general_contrasts)}.bmb_card_button-header-icon{color:rgb(var(--color-charade-300))}.bmb_card_button-body{font-family:Poppins-Regular,sans-serif;font-size:.75rem;padding:.5rem 0;display:-webkit-box;max-block-size:4rem;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-body .bmb_text-link .bmb_check-external-link-button-element{line-height:1}.bmb_card_button-body{color:var(--general_contrasts-container)}.bmb_card_button-custom-content{font-family:Poppins-Regular,sans-serif;font-size:.75rem;padding:.5rem 0;display:-webkit-box;max-block-size:4rem;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-custom-content .bmb_text-link .bmb_check-external-link-button-element{line-height:1}.bmb_card_button-custom-content{color:var(--general_contrasts-75)}.bmb_card_button-add{background-color:rgb(var(--color-mariner-800));outline:0 solid transparent;color:rgb(var(--color-white-primary));width:100%;height:100%;border-radius:1rem;box-shadow:var(--bmb-box-shadow-3)}.bmb_card_button-add-title{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin-top:.625rem;max-width:100%;padding:0 1rem;display:-webkit-box;max-block-size:2.5rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-add:hover:not(:disabled){background-color:var(--buttons-primary-hover)}.bmb_card_button-add:focus:not(:disabled),.bmb_card_button-add:active:not(:disabled){background-color:var(--buttons-primary-select);color:rgb(var(--color-charade-950));outline-width:.0625rem;outline-color:var(--buttons-stroke-primary-selected);box-shadow:.25rem .25rem .25rem 0 var(--drop_shadow-color-test-shadow)}.bmb_card_button-small{border:none;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%;border-color:var(--general_contrasts-container-outline);justify-content:flex-start}.bmb_card_button-small:active:not(:disabled) .bmb_card_button-small-back{background-color:var(--menu_select-surface-activated)}.bmb_card_button-small:active:not(:disabled) .bmb_card_button-small-text,.bmb_card_button-small:active:not(:disabled) .bmb_card_button-small-close-icon{color:var(--buttons-alternative-normal)}.bmb_card_button-small:hover{border-radius:.5rem;background-color:var(--menu_select-on-surface-hovered);transform:rotateY(180deg)}.bmb_card_button-small-flipped{transform:rotateY(180deg)}.bmb_card_button-small-flipped .bmb_card_button-small-back{background-color:var(--menu_select-surface-activated)}.bmb_card_button-small-flipped .bmb_card_button-small-text,.bmb_card_button-small-flipped .bmb_card_button-small-close-icon{color:var(--buttons-alternative-normal)}.bmb_card_button-small-front,.bmb_card_button-small-back{align-items:center;backface-visibility:hidden;border-radius:.5rem;display:flex;flex-direction:column;height:100%;justify-content:start;left:0;padding:.5rem;position:absolute;top:0;width:100%;gap:.5rem}.bmb_card_button-small-front{background-color:var(--containers-container-button);border:.0625rem solid var(--general_contrasts-container-outline);border-radius:.5rem;box-shadow:var(--bmb-box-shadow-3)}.bmb_card_button-small-back{background-color:var(--menu_select-on-surface-hovered);transform:rotateY(180deg)}.bmb_card_button-small-top-icon{align-self:flex-end;color:var(--general_contrasts-50)}.bmb_card_button-small-close-icon{align-self:flex-end;color:var(--general_contrasts-75)}.bmb_card_button-small-bot-icon{height:3rem;width:3rem}.bmb_card_button-small-title{color:var(--general_contrasts-75);font-family:Poppins-Bold,sans-serif;font-size:.875rem;text-align:center;display:-webkit-box;max-block-size:2.5rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis}.bmb_card_button-small-text{font-family:Poppins-Regular,sans-serif;font-size:.625rem;color:var(--general_contrasts-75);padding-top:1rem;text-align:center;width:100%}.bmb_card_button .bmb_dropdown_menu{color:var(--general_contrasts-container)}.bmb_card_button .bmb_text-link .bmb_check-external-link-button-element{color:var(--azul-mariner-500)}.bmb_card_button .bmb_text-link .bmb_check-external-link-button-element:hover{color:rgb(var(--color-mariner-400))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }, { kind: "component", type: BmbDropdownMenuComponent, selector: "bmb-dropdown-menu", inputs: ["items"], outputs: ["clickedItem"] }, { kind: "component", type: BmbTextLinkComponent, selector: "bmb-text-link", inputs: ["textLink", "textLinkStyle", "target", "icon", "iconPosition", "link", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
61
61
  }
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbCardButtonComponent, decorators: [{
63
63
  type: Component,
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
73
73
  type: ContentChild,
74
74
  args: ['customContent']
75
75
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FyZC1idXR0b24vYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FyZC1idXR0b24vYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBUTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUE4QmhGLE1BQU0sT0FBTyxzQkFBc0I7SUFoQm5DO1FBaUJFLHNCQUFpQixHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDekIsVUFBSyxHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUMvQixTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxLQUFLLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQTRCLElBQUksQ0FBQyxDQUFDLFlBQVk7UUFDMUQsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxhQUFRLEdBQUcsS0FBSyxFQUF5QixDQUFDO1FBRTFDLHNCQUFpQixHQUFHLE1BQU0sRUFBYyxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDcEMsaUJBQVksR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUVwQyxZQUFZO1FBQ1osWUFBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLGFBQVEsR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFDbEMsY0FBUyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM5QixlQUFVLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLHFCQUFnQixHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUVyQyxjQUFTLEdBQVksS0FBSyxDQUFDO0tBK0I1QjtJQTNCQyxZQUFZLENBQUMsSUFBWSxFQUFFLFNBQWlCO1FBQzFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDN0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFpQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBaUI7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWlCO1FBQ2hDLElBQ0UsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBRXpCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzsrR0F6RFUsc0JBQXNCO21HQUF0QixzQkFBc0IsOG9GQ3BEbkMsd2xLQXFLQSxvalpEM0hJLFlBQVksb1NBQ1osZ0JBQWdCLDZKQUNoQixXQUFXLCtCQUNYLGlCQUFpQixtR0FDakIsd0JBQXdCLGlGQUN4QixvQkFBb0I7OzRGQUtYLHNCQUFzQjtrQkFoQmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUdQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixvQkFBb0I7cUJBQ3JCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQStCTixhQUFhO3NCQUEzQyxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWJhZGdlL2JtYi1iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJibUJnQXBwZWFyYW5jZSB9IGZyb20gJy4uL2JtYi1hZHZlcnRpc2VtZW50LWNhcmQvdHlwZXMnO1xuaW1wb3J0IHsgQm1iRHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWRyb3Bkb3duLW1lbnUvYm1iLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgSUJtYkJhZGdlSW5mbyxcbiAgSUJtYkltYWdlSW5mbyxcbiAgSUJtYkxpbmtDb25maWd1cmF0aW9uLFxuICBJRHJvcGRvd25JdGVtLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCbWJUZXh0TGlua0NvbXBvbmVudCB9IGZyb20gJy4uL2JtYi10ZXh0LWxpbmsvYm1iLXRleHQtbGluay5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDYXJkQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgYm9keT86IHN0cmluZztcbiAgYmFkZ2U/OiB7IHRleHQ6IHN0cmluZzsgYXBwZWFyYW5jZTogSUJibUJnQXBwZWFyYW5jZSB9O1xuICBpY29uPzogc3RyaW5nO1xuICBsZWZ0Q29udGVudEljb24/OiBzdHJpbmc7XG4gIGxlZnRDb250ZW50SW1hZ2U/OiBJQm1iSW1hZ2VJbmZvO1xuICBsZWZ0Q29udGVudD86IGJvb2xlYW47XG4gIGhhc01lbnU/OiBib29sZWFuO1xuICBtZW51SXRlbXM/OiBJRHJvcGRvd25JdGVtW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1jYXJkLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItY2FyZC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCbWJJY29uQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEJtYkJhZGdlQ29tcG9uZW50LFxuICAgIEJtYkRyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBCbWJUZXh0TGlua0NvbXBvbmVudCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEJtYkNhcmRCdXR0b25Db21wb25lbnQge1xuICBpc0Z1bGxJbnRlcmFjdGl2ZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBib2R5ID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGJhZGdlID0gaW5wdXQ8SUJtYkJhZGdlSW5mbz4oKTtcbiAgaWNvbiA9IGlucHV0PHN0cmluZz4oJycpO1xuICBsZWZ0Q29udGVudEljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgbGVmdENvbnRlbnRJbWFnZSA9IGlucHV0PElCbWJJbWFnZUluZm8+KCk7XG4gIGxlZnRDb250ZW50ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBoYXNNZW51ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBtZW51SXRlbXMgPSBpbnB1dDxJRHJvcGRvd25JdGVtW10+KFtdKTtcbiAgaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7IC8vRGVwcmVjYXRlZFxuICBpc1RlbXBsYXRlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICB0ZXh0TGluayA9IGlucHV0PElCbWJMaW5rQ29uZmlndXJhdGlvbj4oKTtcblxuICBvbkFkZENvbnRlbnRDbGljayA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuICBvblRpdGxlQ2xpY2sgPSBvdXRwdXQ8TW91c2VFdmVudD4oKTtcbiAgb25TbWFsbENsaWNrID0gb3V0cHV0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgLy9TbWFsbCBjYXJkXG4gIGlzU21hbGwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGJvdEljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgYm90SW1hZ2UgPSBpbnB1dDxJQm1iSW1hZ2VJbmZvPigpO1xuICBzbWFsbEljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgc21hbGxUaXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBzbWFsbERlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgaXNGbGlwcGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZCgnY3VzdG9tQ29udGVudCcpIGN1c3RvbUNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHRydW5jYXRlVGV4dCh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAodGV4dC5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgIHJldHVybiB0ZXh0LnN1YnN0cmluZygwLCBtYXhMZW5ndGgpICsgJy4uLic7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgaGFuZGxlU21hbGxDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGbGlwcGVkID0gIXRoaXMuaXNGbGlwcGVkO1xuICAgIHRoaXMub25TbWFsbENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlVGl0bGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25UaXRsZUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlQWRkQ29udGVudChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLmlzRnVsbEludGVyYWN0aXZlKCkgJiZcbiAgICAgICAgdGhpcy5sZWZ0Q29udGVudCgpICYmXG4gICAgICAgICF0aGlzLmxlZnRDb250ZW50SWNvbigpICYmXG4gICAgICAgIHRoaXMubGVmdENvbnRlbnRJbWFnZSgpICYmXG4gICAgICAgICF0aGlzLnRleHRMaW5rKCkpIHx8XG4gICAgICAhdGhpcy5pc0Z1bGxJbnRlcmFjdGl2ZSgpXG4gICAgKVxuICAgICAgdGhpcy5vbkFkZENvbnRlbnRDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJibWJfY2FyZF9idXR0b25cIj5cbiAgQGlmIChpc1NtYWxsKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXNtYWxsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2JtYl9jYXJkX2J1dHRvbi1zbWFsbC1mbGlwcGVkJzogaXNGbGlwcGVkIH1cIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZVNtYWxsQ2xpY2soJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1zbWFsbC1mcm9udFwiPlxuICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzbWFsbEljb24oKVwiXG4gICAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXNtYWxsLXRvcC1pY29uXCJcbiAgICAgICAgICBhbHQ9XCJTbWFsbCBpY29uXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIFtzcmNdPVwiYm90SW1hZ2UoKT8uc3JjXCJcbiAgICAgICAgICBbYWx0XT1cImJvdEltYWdlKCk/LmFsdFwiXG4gICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtYm90LWljb25cIlxuICAgICAgICAvPlxuICAgICAgICA8aDMgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtdGl0bGVcIj57eyBzbWFsbFRpdGxlKCkgfX08L2gzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXNtYWxsLWJhY2tcIj5cbiAgICAgICAgPGJtYi1pY29uXG4gICAgICAgICAgaWNvbj1cImNsb3NlXCJcbiAgICAgICAgICBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtY2xvc2UtaWNvblwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtdGV4dFwiPlxuICAgICAgICAgIHt7IHNtYWxsRGVzY3JpcHRpb24oKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICB9IEBlbHNlIGlmIChpc0Z1bGxJbnRlcmFjdGl2ZSgpKSB7XG4gICAgPHNlY3Rpb25cbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi13cmFwcGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2JtYl9jYXJkX2J1dHRvbi13cmFwcGVyLWJ1dHRvbic6XG4gICAgICAgICAgbGVmdENvbnRlbnQoKSAmJlxuICAgICAgICAgICFsZWZ0Q29udGVudEljb24oKSAmJlxuICAgICAgICAgIGxlZnRDb250ZW50SW1hZ2UoKSAmJlxuICAgICAgICAgICF0ZXh0TGluaygpXG4gICAgICB9XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDb250ZW50KCRldmVudClcIlxuICAgID5cbiAgICAgIEBpZiAobGVmdENvbnRlbnQoKSB8fCBpc1RlbXBsYXRlKCkgfHwgaGFzTWVudSgpKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWJveFwiPlxuICAgICAgICAgIEBpZiAobGVmdENvbnRlbnQoKSkge1xuICAgICAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tbGVmdFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnYm1iX2NhcmRfYnV0dG9uLXRvcC1oZWFkZXInOiAhbGVmdENvbnRlbnRJY29uKCksXG4gICAgICAgICAgICAgICAgJ2JtYl9jYXJkX2J1dHRvbi10b3AtaGVhZGVyLXN0YXJ0JzpcbiAgICAgICAgICAgICAgICAgICFsZWZ0Q29udGVudEljb24oKSAmJiAhIWJhZGdlKClcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBpZiAoISFsZWZ0Q29udGVudEljb24oKSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tY2lyY2xlXCI+XG4gICAgICAgICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGVmdENvbnRlbnRJY29uKClcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIzMlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWNpcmNsZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJ0aXRsZSgpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXRvcC1oZWFkZXItaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJsZWZ0Q29udGVudEltYWdlKCk/LnNyY1wiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cImxlZnRDb250ZW50SW1hZ2UoKT8uYWx0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXRvcC1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKCEhYmFkZ2UoKSkge1xuICAgICAgICAgICAgICAgICAgICA8Ym1iLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tdG9wLWhlYWRlci1jb250YWluZXItdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImJhZGdlKCk/LnRleHQhXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJiYWRnZSgpPy5hcHBlYXJhbmNlID8/ICdub3JtYWwnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyXT1cImJhZGdlKCk/LmNvbnRhaW5lciA/PyB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi10b3AtaGVhZGVyLWNvbnRhaW5lci10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0aXRsZSgpIH19XG4gICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1sZWFkaW5nXCI+XG4gICAgICAgICAgICBAaWYgKGlzVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoaGFzTWVudSgpKSB7XG4gICAgICAgICAgICAgIDxibWItZHJvcGRvd24tbWVudVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLW1lbnVcIlxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJtZW51SXRlbXMoKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG4gICAgICBAaWYgKCEhbGVmdENvbnRlbnRJY29uKCkgJiYgIWxlZnRDb250ZW50SW1hZ2UoKSkge1xuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24taGVhZGVyXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVGl0bGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1oZWFkZXItdGV4dFwiPnt7IHRpdGxlKCkgfX08L2gyPlxuICAgICAgICAgIDxibWItaWNvblxuICAgICAgICAgICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWhlYWRlci1pY29uXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoXG4gICAgICAgIChsZWZ0Q29udGVudCgpICYmXG4gICAgICAgICAgIWxlZnRDb250ZW50SWNvbigpICYmXG4gICAgICAgICAgbGVmdENvbnRlbnRJbWFnZSgpICYmXG4gICAgICAgICAgdGV4dExpbmsoKSkgfHxcbiAgICAgICAgYm9keSgpXG4gICAgICApIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJibWJfY2FyZF9idXR0b24tYm9keVwiPlxuICAgICAgICAgIHt7IGJvZHkoKSB9fVxuXG4gICAgICAgICAgQGlmIChcbiAgICAgICAgICAgIGxlZnRDb250ZW50KCkgJiZcbiAgICAgICAgICAgICFsZWZ0Q29udGVudEljb24oKSAmJlxuICAgICAgICAgICAgbGVmdENvbnRlbnRJbWFnZSgpICYmXG4gICAgICAgICAgICB0ZXh0TGluaygpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICA8Ym1iLXRleHQtbGlua1xuICAgICAgICAgICAgICBbdGV4dExpbmtdPVwidGV4dExpbmsoKT8ubGFiZWwhXCJcbiAgICAgICAgICAgICAgaWNvbj1cIlwiXG4gICAgICAgICAgICAgIFtsaW5rXT1cInRleHRMaW5rKCk/LmxpbmshXCJcbiAgICAgICAgICAgICAgW3RhcmdldF09XCJ0ZXh0TGluaygpPy50YXJnZXQhXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWN1c3RvbS1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tQ29udGVudFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIH0gQGVsc2Uge1xuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tYWRkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDb250ZW50KCRldmVudClcIlxuICAgID5cbiAgICAgIDxibWItaWNvblxuICAgICAgICBbaWNvbl09XCJpY29uKClcIlxuICAgICAgICBbc2l6ZV09XCI0OFwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWFkZC1pY29uXCJcbiAgICAgICAgW2lzRmlsbF09XCJmYWxzZVwiXG4gICAgICAgIFthbHRdPVwidGl0bGUoKVwiXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1hZGQtdGl0bGVcIj57eyB0aXRsZSgpIH19PC9kaXY+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvc2VjdGlvbj5cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FyZC1idXR0b24vYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2FyZC1idXR0b24vYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBUTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUE4QmhGLE1BQU0sT0FBTyxzQkFBc0I7SUFoQm5DO1FBaUJFLHNCQUFpQixHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDekIsVUFBSyxHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUMvQixTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxLQUFLLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQTRCLElBQUksQ0FBQyxDQUFDLFlBQVk7UUFDMUQsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxhQUFRLEdBQUcsS0FBSyxFQUF5QixDQUFDO1FBRTFDLHNCQUFpQixHQUFHLE1BQU0sRUFBYyxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDcEMsaUJBQVksR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUVwQyxZQUFZO1FBQ1osWUFBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLGFBQVEsR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFDbEMsY0FBUyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM5QixlQUFVLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLHFCQUFnQixHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUVyQyxjQUFTLEdBQVksS0FBSyxDQUFDO0tBK0I1QjtJQTNCQyxZQUFZLENBQUMsSUFBWSxFQUFFLFNBQWlCO1FBQzFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDN0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFpQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBaUI7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWlCO1FBQ2hDLElBQ0UsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBRXpCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzsrR0F6RFUsc0JBQXNCO21HQUF0QixzQkFBc0IsOG9GQ3BEbkMsd2xLQXFLQSxvalpEM0hJLFlBQVksb1NBQ1osZ0JBQWdCLDZKQUNoQixXQUFXLCtCQUNYLGlCQUFpQixtR0FDakIsd0JBQXdCLDJHQUN4QixvQkFBb0I7OzRGQUtYLHNCQUFzQjtrQkFoQmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUdQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixvQkFBb0I7cUJBQ3JCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQStCTixhQUFhO3NCQUEzQyxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWJhZGdlL2JtYi1iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJibUJnQXBwZWFyYW5jZSB9IGZyb20gJy4uL2JtYi1hZHZlcnRpc2VtZW50LWNhcmQvdHlwZXMnO1xuaW1wb3J0IHsgQm1iRHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWRyb3Bkb3duLW1lbnUvYm1iLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgSUJtYkJhZGdlSW5mbyxcbiAgSUJtYkltYWdlSW5mbyxcbiAgSUJtYkxpbmtDb25maWd1cmF0aW9uLFxuICBJRHJvcGRvd25JdGVtLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCbWJUZXh0TGlua0NvbXBvbmVudCB9IGZyb20gJy4uL2JtYi10ZXh0LWxpbmsvYm1iLXRleHQtbGluay5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDYXJkQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgYm9keT86IHN0cmluZztcbiAgYmFkZ2U/OiB7IHRleHQ6IHN0cmluZzsgYXBwZWFyYW5jZTogSUJibUJnQXBwZWFyYW5jZSB9O1xuICBpY29uPzogc3RyaW5nO1xuICBsZWZ0Q29udGVudEljb24/OiBzdHJpbmc7XG4gIGxlZnRDb250ZW50SW1hZ2U/OiBJQm1iSW1hZ2VJbmZvO1xuICBsZWZ0Q29udGVudD86IGJvb2xlYW47XG4gIGhhc01lbnU/OiBib29sZWFuO1xuICBtZW51SXRlbXM/OiBJRHJvcGRvd25JdGVtW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1jYXJkLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItY2FyZC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWNhcmQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCbWJJY29uQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEJtYkJhZGdlQ29tcG9uZW50LFxuICAgIEJtYkRyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBCbWJUZXh0TGlua0NvbXBvbmVudCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEJtYkNhcmRCdXR0b25Db21wb25lbnQge1xuICBpc0Z1bGxJbnRlcmFjdGl2ZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBib2R5ID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGJhZGdlID0gaW5wdXQ8SUJtYkJhZGdlSW5mbz4oKTtcbiAgaWNvbiA9IGlucHV0PHN0cmluZz4oJycpO1xuICBsZWZ0Q29udGVudEljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgbGVmdENvbnRlbnRJbWFnZSA9IGlucHV0PElCbWJJbWFnZUluZm8+KCk7XG4gIGxlZnRDb250ZW50ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBoYXNNZW51ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBtZW51SXRlbXMgPSBpbnB1dDxJRHJvcGRvd25JdGVtW10+KFtdKTtcbiAgaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7IC8vRGVwcmVjYXRlZFxuICBpc1RlbXBsYXRlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICB0ZXh0TGluayA9IGlucHV0PElCbWJMaW5rQ29uZmlndXJhdGlvbj4oKTtcblxuICBvbkFkZENvbnRlbnRDbGljayA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuICBvblRpdGxlQ2xpY2sgPSBvdXRwdXQ8TW91c2VFdmVudD4oKTtcbiAgb25TbWFsbENsaWNrID0gb3V0cHV0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgLy9TbWFsbCBjYXJkXG4gIGlzU21hbGwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGJvdEljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgYm90SW1hZ2UgPSBpbnB1dDxJQm1iSW1hZ2VJbmZvPigpO1xuICBzbWFsbEljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgc21hbGxUaXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBzbWFsbERlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgaXNGbGlwcGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZCgnY3VzdG9tQ29udGVudCcpIGN1c3RvbUNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHRydW5jYXRlVGV4dCh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAodGV4dC5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgIHJldHVybiB0ZXh0LnN1YnN0cmluZygwLCBtYXhMZW5ndGgpICsgJy4uLic7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgaGFuZGxlU21hbGxDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGbGlwcGVkID0gIXRoaXMuaXNGbGlwcGVkO1xuICAgIHRoaXMub25TbWFsbENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlVGl0bGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25UaXRsZUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlQWRkQ29udGVudChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLmlzRnVsbEludGVyYWN0aXZlKCkgJiZcbiAgICAgICAgdGhpcy5sZWZ0Q29udGVudCgpICYmXG4gICAgICAgICF0aGlzLmxlZnRDb250ZW50SWNvbigpICYmXG4gICAgICAgIHRoaXMubGVmdENvbnRlbnRJbWFnZSgpICYmXG4gICAgICAgICF0aGlzLnRleHRMaW5rKCkpIHx8XG4gICAgICAhdGhpcy5pc0Z1bGxJbnRlcmFjdGl2ZSgpXG4gICAgKVxuICAgICAgdGhpcy5vbkFkZENvbnRlbnRDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJibWJfY2FyZF9idXR0b25cIj5cbiAgQGlmIChpc1NtYWxsKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXNtYWxsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2JtYl9jYXJkX2J1dHRvbi1zbWFsbC1mbGlwcGVkJzogaXNGbGlwcGVkIH1cIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZVNtYWxsQ2xpY2soJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1zbWFsbC1mcm9udFwiPlxuICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzbWFsbEljb24oKVwiXG4gICAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXNtYWxsLXRvcC1pY29uXCJcbiAgICAgICAgICBhbHQ9XCJTbWFsbCBpY29uXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIFtzcmNdPVwiYm90SW1hZ2UoKT8uc3JjXCJcbiAgICAgICAgICBbYWx0XT1cImJvdEltYWdlKCk/LmFsdFwiXG4gICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtYm90LWljb25cIlxuICAgICAgICAvPlxuICAgICAgICA8aDMgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtdGl0bGVcIj57eyBzbWFsbFRpdGxlKCkgfX08L2gzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXNtYWxsLWJhY2tcIj5cbiAgICAgICAgPGJtYi1pY29uXG4gICAgICAgICAgaWNvbj1cImNsb3NlXCJcbiAgICAgICAgICBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtY2xvc2UtaWNvblwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tc21hbGwtdGV4dFwiPlxuICAgICAgICAgIHt7IHNtYWxsRGVzY3JpcHRpb24oKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICB9IEBlbHNlIGlmIChpc0Z1bGxJbnRlcmFjdGl2ZSgpKSB7XG4gICAgPHNlY3Rpb25cbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi13cmFwcGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2JtYl9jYXJkX2J1dHRvbi13cmFwcGVyLWJ1dHRvbic6XG4gICAgICAgICAgbGVmdENvbnRlbnQoKSAmJlxuICAgICAgICAgICFsZWZ0Q29udGVudEljb24oKSAmJlxuICAgICAgICAgIGxlZnRDb250ZW50SW1hZ2UoKSAmJlxuICAgICAgICAgICF0ZXh0TGluaygpXG4gICAgICB9XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDb250ZW50KCRldmVudClcIlxuICAgID5cbiAgICAgIEBpZiAobGVmdENvbnRlbnQoKSB8fCBpc1RlbXBsYXRlKCkgfHwgaGFzTWVudSgpKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWJveFwiPlxuICAgICAgICAgIEBpZiAobGVmdENvbnRlbnQoKSkge1xuICAgICAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tbGVmdFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnYm1iX2NhcmRfYnV0dG9uLXRvcC1oZWFkZXInOiAhbGVmdENvbnRlbnRJY29uKCksXG4gICAgICAgICAgICAgICAgJ2JtYl9jYXJkX2J1dHRvbi10b3AtaGVhZGVyLXN0YXJ0JzpcbiAgICAgICAgICAgICAgICAgICFsZWZ0Q29udGVudEljb24oKSAmJiAhIWJhZGdlKClcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBpZiAoISFsZWZ0Q29udGVudEljb24oKSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tY2lyY2xlXCI+XG4gICAgICAgICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGVmdENvbnRlbnRJY29uKClcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIzMlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWNpcmNsZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJ0aXRsZSgpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXRvcC1oZWFkZXItaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJsZWZ0Q29udGVudEltYWdlKCk/LnNyY1wiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cImxlZnRDb250ZW50SW1hZ2UoKT8uYWx0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXRvcC1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKCEhYmFkZ2UoKSkge1xuICAgICAgICAgICAgICAgICAgICA8Ym1iLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tdG9wLWhlYWRlci1jb250YWluZXItdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImJhZGdlKCk/LnRleHQhXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJiYWRnZSgpPy5hcHBlYXJhbmNlID8/ICdub3JtYWwnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyXT1cImJhZGdlKCk/LmNvbnRhaW5lciA/PyB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi10b3AtaGVhZGVyLWNvbnRhaW5lci10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0aXRsZSgpIH19XG4gICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1sZWFkaW5nXCI+XG4gICAgICAgICAgICBAaWYgKGlzVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLXRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoaGFzTWVudSgpKSB7XG4gICAgICAgICAgICAgIDxibWItZHJvcGRvd24tbWVudVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLW1lbnVcIlxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJtZW51SXRlbXMoKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG4gICAgICBAaWYgKCEhbGVmdENvbnRlbnRJY29uKCkgJiYgIWxlZnRDb250ZW50SW1hZ2UoKSkge1xuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24taGVhZGVyXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVGl0bGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1oZWFkZXItdGV4dFwiPnt7IHRpdGxlKCkgfX08L2gyPlxuICAgICAgICAgIDxibWItaWNvblxuICAgICAgICAgICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWhlYWRlci1pY29uXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoXG4gICAgICAgIChsZWZ0Q29udGVudCgpICYmXG4gICAgICAgICAgIWxlZnRDb250ZW50SWNvbigpICYmXG4gICAgICAgICAgbGVmdENvbnRlbnRJbWFnZSgpICYmXG4gICAgICAgICAgdGV4dExpbmsoKSkgfHxcbiAgICAgICAgYm9keSgpXG4gICAgICApIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJibWJfY2FyZF9idXR0b24tYm9keVwiPlxuICAgICAgICAgIHt7IGJvZHkoKSB9fVxuXG4gICAgICAgICAgQGlmIChcbiAgICAgICAgICAgIGxlZnRDb250ZW50KCkgJiZcbiAgICAgICAgICAgICFsZWZ0Q29udGVudEljb24oKSAmJlxuICAgICAgICAgICAgbGVmdENvbnRlbnRJbWFnZSgpICYmXG4gICAgICAgICAgICB0ZXh0TGluaygpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICA8Ym1iLXRleHQtbGlua1xuICAgICAgICAgICAgICBbdGV4dExpbmtdPVwidGV4dExpbmsoKT8ubGFiZWwhXCJcbiAgICAgICAgICAgICAgaWNvbj1cIlwiXG4gICAgICAgICAgICAgIFtsaW5rXT1cInRleHRMaW5rKCk/LmxpbmshXCJcbiAgICAgICAgICAgICAgW3RhcmdldF09XCJ0ZXh0TGluaygpPy50YXJnZXQhXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWN1c3RvbS1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tQ29udGVudFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIH0gQGVsc2Uge1xuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJibWJfY2FyZF9idXR0b24tYWRkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDb250ZW50KCRldmVudClcIlxuICAgID5cbiAgICAgIDxibWItaWNvblxuICAgICAgICBbaWNvbl09XCJpY29uKClcIlxuICAgICAgICBbc2l6ZV09XCI0OFwiXG4gICAgICAgIGNsYXNzPVwiYm1iX2NhcmRfYnV0dG9uLWFkZC1pY29uXCJcbiAgICAgICAgW2lzRmlsbF09XCJmYWxzZVwiXG4gICAgICAgIFthbHRdPVwidGl0bGUoKVwiXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzcz1cImJtYl9jYXJkX2J1dHRvbi1hZGQtdGl0bGVcIj57eyB0aXRsZSgpIH19PC9kaXY+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -71,7 +71,7 @@ export class BmbContainerButtonComponent {
71
71
  this.secondaryAction.emit(event);
72
72
  }
73
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbContainerButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbContainerButtonComponent, isStandalone: true, selector: "bmb-container-button", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, score: { classPropertyName: "score", publicName: "score", isSignal: true, isRequired: false, transformFunction: null }, square: { classPropertyName: "square", publicName: "square", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, iconLeft: { classPropertyName: "iconLeft", publicName: "iconLeft", isSignal: true, isRequired: false, transformFunction: null }, isUserImage: { classPropertyName: "isUserImage", publicName: "isUserImage", isSignal: true, isRequired: false, transformFunction: null }, iconRight: { classPropertyName: "iconRight", publicName: "iconRight", isSignal: true, isRequired: false, transformFunction: null }, setButtonTemplate: { classPropertyName: "setButtonTemplate", publicName: "setButtonTemplate", isSignal: true, isRequired: false, transformFunction: null }, badgeText: { classPropertyName: "badgeText", publicName: "badgeText", isSignal: true, isRequired: false, transformFunction: null }, badgeAppearance: { classPropertyName: "badgeAppearance", publicName: "badgeAppearance", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, alternative: { classPropertyName: "alternative", publicName: "alternative", isSignal: true, isRequired: false, transformFunction: null }, enableSecondaryAction: { classPropertyName: "enableSecondaryAction", publicName: "enableSecondaryAction", isSignal: true, isRequired: false, transformFunction: null }, enableBookmark: { classPropertyName: "enableBookmark", publicName: "enableBookmark", isSignal: true, isRequired: false, transformFunction: null }, isBookmarkActive: { classPropertyName: "isBookmarkActive", publicName: "isBookmarkActive", isSignal: true, isRequired: false, transformFunction: null }, dropdownMenuItems: { classPropertyName: "dropdownMenuItems", publicName: "dropdownMenuItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isBookmarkActive: "isBookmarkActiveChange", onButton: "onButton", secondaryAction: "secondaryAction" }, ngImport: i0, template: "<section class=\"bmb_container-button\">\n <bmb-check-external-link-button\n class=\"bmb_container-button-wrapper\"\n [ngClass]=\"getClassList()\"\n [link]=\"link()\"\n [target]=\"target()\"\n (buttonClick)=\"handleClick($event)\"\n [disabled]=\"state() === 'disabled'\"\n >\n <section\n bmbLayout\n [dynamicCols]=\"true\"\n margin=\"none\"\n alignItems=\"center\"\n justify=\"spaceBetween\"\n class=\"bmb_container-button-content\"\n >\n <section class=\"bmb_container-button-left\">\n @if ((iconLeft() && !score()) || square() || small()) {\n @if (isUserImage()) {\n <bmb-user-image\n size=\"desktop-small\"\n [image]=\"iconLeft()\"\n altImage=\"Image of icon left\"\n />\n } @else {\n <bmb-icon\n bmbLayoutItem\n class=\"bmb_container-button-left-icon\"\n [icon]=\"iconLeft()\"\n alt=\"Icon left\"\n />\n }\n }\n @if (score() && !square() && !small()) {\n <bmb-grade-value bmbLayoutItem type=\"main-grade\" [score]=\"score()\" />\n }\n <div class=\"bmb_container-button-header\">\n <h2 class=\"bmb_container-button-title\">{{ title() }}</h2>\n @if (subtitle() && !square() && !small()) {\n <h4 class=\"bmb_container-button-subtitle\">\n {{ subtitle() }}\n </h4>\n }\n </div>\n </section>\n <section class=\"bmb_container-button-right\">\n @if (badgeText() && !square() && !small()) {\n <bmb-badge\n [text]=\"badgeText()\"\n [appearance]=\"badgeAppearance()\"\n class=\"bmb_container-button-badge\"\n />\n }\n @if ((iconRight() || enableBookmark()) && !square() && !small()) {\n @if (enableBookmark()) {\n <bmb-bookmark\n class=\"bmb_container-button-right-bookmark\"\n [(isActive)]=\"isBookmarkActive\"\n />\n } @else if (enableSecondaryAction()) {\n <bmb-action-icon\n class=\"bmb_container-button-right-action\"\n [icon]=\"iconRight()\"\n [iconSize]=\"24\"\n (buttonClick)=\"handleSecondaryClick($event)\"\n [disabled]=\"state() === 'disabled'\"\n />\n } @else if (!!dropdownMenuItems().length) {\n <bmb-dropdown-menu\n class=\"bmb_container-button-right-menu\"\n [items]=\"dropdownMenuItems()\"\n />\n } @else {\n <bmb-icon\n class=\"bmb_container-button-right-icon\"\n [icon]=\"iconRight()\"\n [size]=\"24\"\n alt=\"Icon right\"\n />\n }\n }\n </section>\n </section>\n </bmb-check-external-link-button>\n</section>\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_container-button-error.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{border-color:var(--red-primary);color:var(--red-primary);cursor:not-allowed}.bmb_container-button-error.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element .bmb_grade-value-main{fill:var(--red-primary)}.bmb_container-button-disabled.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{background-color:var(--containers-main);color:var(--general_contrasts-50);cursor:not-allowed}.bmb_container-button-content{flex-flow:row nowrap;width:100%}.bmb_container-button-header{display:flex;flex-flow:column;gap:.25rem;overflow:hidden}.bmb_container-button-title{font-weight:300;text-align:left;word-break:break-word;font-family:Poppins-Regular,sans-serif;font-size:1rem;overflow:hidden;text-overflow:ellipsis;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.bmb_container-button-text{display:flex;flex-flow:column;margin-right:1rem}.bmb_container-button-subtitle{color:var(--general_contrasts-75);font-weight:300;text-align:left;word-break:break-word;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_container-button-left{flex:1;overflow:hidden;align-items:center;display:flex;gap:1rem}.bmb_container-button-left-icon{align-items:center;display:flex;font-size:1.5rem;height:1.5rem;width:1.5rem}.bmb_container-button-left-icon i{width:1.5rem}.bmb_container-button-left .bmb_icon-figure{width:100%}.bmb_container-button-left .bmb_icon-figure img{height:100%;width:100%}.bmb_container-button-right{align-items:center;display:flex;gap:1rem}.bmb_container-button-right-icon{align-items:center;display:flex;font-size:1.5rem;height:1.5rem;width:1.5rem}.bmb_container-button-right-icon i{width:1.5rem}.bmb_container-button-right-menu .bmb_dropdown_menu-list .bmb_dropdown-content-modal{right:0;left:inherit;max-width:15.625rem;min-width:15.625rem}.bmb_container-button-square.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{flex-flow:column;justify-content:center;min-height:9.25rem;min-width:9.25rem;padding:2rem 3rem;width:auto}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout{flex-direction:column;gap:0;height:100%;justify-content:center}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout .bmb_container-button-left{flex-flow:column;gap:.5rem}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout .bmb_container-button-left-icon{font-size:3rem;height:3rem;width:3rem}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout .bmb_container-button-left-icon i{width:3rem}.bmb_container-button-small.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{min-width:10rem;padding:1rem;width:auto}.bmb_container-button-small.bmb_container-button-wrapper .bmb_container-button-title{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_container-button-alternative.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:hover{background-color:var(--general_contrasts-15)}.bmb_container-button-alternative.bmb_container-button-wrapper.bmb_container-button-disabled.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{background-color:var(--general_contrasts-15)}.bmb_container-button-alternative.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{background-color:var(--general_contrasts-25)}.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:hover{background-color:var(--general_contrasts-50)}.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible:not(.bmb_container-button-disabled):not(.bmb_container-button-error){background-color:var(--buttons-primary-select);color:var(--white-primary)}.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible:not(.bmb_container-button-disabled):not(.bmb_container-button-error) .bmb_grade-value-main{fill:var(--white-primary)}.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{align-items:center;background-color:var(--containers-container-button);border:.0625rem solid var(--general_contrasts-50);border-radius:1rem;color:var(--general_contrasts-100);display:inline-flex;min-height:5rem;padding:1.5rem;width:100%}.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible{outline:none}.bmb_container-button .bmb_container-button-right-action:not(.bmb_container-button-wrapper)>.bmb_check-external-link-button>.bmb_check-external-link-button-element{align-items:center;background-color:inherit;border:none;border-radius:inherit;color:inherit;display:inline-flex;min-height:auto;min-width:auto;padding:.1875rem;width:auto}.bmb_container-button .bmb_container-button-right-action:not(.bmb_container-button-wrapper)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible{outline:none}.bmb_container-button .bmb_grade-value-main{fill:var(--general_contrasts-100)}.bmb_container-button .bmb_bookmark{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbCheckExternalLinkButtonComponent, selector: "bmb-check-external-link-button", inputs: ["idElement", "link", "target", "disabled", "buttonName"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbUserImageComponent, selector: "bmb-user-image", inputs: ["size", "image", "altImage", "link", "target", "bordered"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbGradeValueComponent, selector: "bmb-grade-value", inputs: ["appearanceContrast", "type", "score"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems", "isContainerQuery"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }, { 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"] }, { kind: "component", type: BmbBookmarkComponent, selector: "bmb-bookmark", inputs: ["isActive"], outputs: ["isActiveChange"] }, { kind: "component", type: BmbDropdownMenuComponent, selector: "bmb-dropdown-menu", inputs: ["items"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbContainerButtonComponent, isStandalone: true, selector: "bmb-container-button", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, score: { classPropertyName: "score", publicName: "score", isSignal: true, isRequired: false, transformFunction: null }, square: { classPropertyName: "square", publicName: "square", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, iconLeft: { classPropertyName: "iconLeft", publicName: "iconLeft", isSignal: true, isRequired: false, transformFunction: null }, isUserImage: { classPropertyName: "isUserImage", publicName: "isUserImage", isSignal: true, isRequired: false, transformFunction: null }, iconRight: { classPropertyName: "iconRight", publicName: "iconRight", isSignal: true, isRequired: false, transformFunction: null }, setButtonTemplate: { classPropertyName: "setButtonTemplate", publicName: "setButtonTemplate", isSignal: true, isRequired: false, transformFunction: null }, badgeText: { classPropertyName: "badgeText", publicName: "badgeText", isSignal: true, isRequired: false, transformFunction: null }, badgeAppearance: { classPropertyName: "badgeAppearance", publicName: "badgeAppearance", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, alternative: { classPropertyName: "alternative", publicName: "alternative", isSignal: true, isRequired: false, transformFunction: null }, enableSecondaryAction: { classPropertyName: "enableSecondaryAction", publicName: "enableSecondaryAction", isSignal: true, isRequired: false, transformFunction: null }, enableBookmark: { classPropertyName: "enableBookmark", publicName: "enableBookmark", isSignal: true, isRequired: false, transformFunction: null }, isBookmarkActive: { classPropertyName: "isBookmarkActive", publicName: "isBookmarkActive", isSignal: true, isRequired: false, transformFunction: null }, dropdownMenuItems: { classPropertyName: "dropdownMenuItems", publicName: "dropdownMenuItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isBookmarkActive: "isBookmarkActiveChange", onButton: "onButton", secondaryAction: "secondaryAction" }, ngImport: i0, template: "<section class=\"bmb_container-button\">\n <bmb-check-external-link-button\n class=\"bmb_container-button-wrapper\"\n [ngClass]=\"getClassList()\"\n [link]=\"link()\"\n [target]=\"target()\"\n (buttonClick)=\"handleClick($event)\"\n [disabled]=\"state() === 'disabled'\"\n >\n <section\n bmbLayout\n [dynamicCols]=\"true\"\n margin=\"none\"\n alignItems=\"center\"\n justify=\"spaceBetween\"\n class=\"bmb_container-button-content\"\n >\n <section class=\"bmb_container-button-left\">\n @if ((iconLeft() && !score()) || square() || small()) {\n @if (isUserImage()) {\n <bmb-user-image\n size=\"desktop-small\"\n [image]=\"iconLeft()\"\n altImage=\"Image of icon left\"\n />\n } @else {\n <bmb-icon\n bmbLayoutItem\n class=\"bmb_container-button-left-icon\"\n [icon]=\"iconLeft()\"\n alt=\"Icon left\"\n />\n }\n }\n @if (score() && !square() && !small()) {\n <bmb-grade-value bmbLayoutItem type=\"main-grade\" [score]=\"score()\" />\n }\n <div class=\"bmb_container-button-header\">\n <h2 class=\"bmb_container-button-title\">{{ title() }}</h2>\n @if (subtitle() && !square() && !small()) {\n <h4 class=\"bmb_container-button-subtitle\">\n {{ subtitle() }}\n </h4>\n }\n </div>\n </section>\n <section class=\"bmb_container-button-right\">\n @if (badgeText() && !square() && !small()) {\n <bmb-badge\n [text]=\"badgeText()\"\n [appearance]=\"badgeAppearance()\"\n class=\"bmb_container-button-badge\"\n />\n }\n @if ((iconRight() || enableBookmark()) && !square() && !small()) {\n @if (enableBookmark()) {\n <bmb-bookmark\n class=\"bmb_container-button-right-bookmark\"\n [(isActive)]=\"isBookmarkActive\"\n />\n } @else if (enableSecondaryAction()) {\n <bmb-action-icon\n class=\"bmb_container-button-right-action\"\n [icon]=\"iconRight()\"\n [iconSize]=\"24\"\n (buttonClick)=\"handleSecondaryClick($event)\"\n [disabled]=\"state() === 'disabled'\"\n />\n } @else if (!!dropdownMenuItems().length) {\n <bmb-dropdown-menu\n class=\"bmb_container-button-right-menu\"\n [items]=\"dropdownMenuItems()\"\n />\n } @else {\n <bmb-icon\n class=\"bmb_container-button-right-icon\"\n [icon]=\"iconRight()\"\n [size]=\"24\"\n alt=\"Icon right\"\n />\n }\n }\n </section>\n </section>\n </bmb-check-external-link-button>\n</section>\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_container-button-error.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{border-color:var(--red-primary);color:var(--red-primary);cursor:not-allowed}.bmb_container-button-error.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element .bmb_grade-value-main{fill:var(--red-primary)}.bmb_container-button-disabled.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{background-color:var(--containers-main);color:var(--general_contrasts-50);cursor:not-allowed}.bmb_container-button-content{flex-flow:row nowrap;width:100%}.bmb_container-button-header{display:flex;flex-flow:column;gap:.25rem;overflow:hidden}.bmb_container-button-title{font-weight:300;text-align:left;word-break:break-word;font-family:Poppins-Regular,sans-serif;font-size:1rem;overflow:hidden;text-overflow:ellipsis;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.bmb_container-button-text{display:flex;flex-flow:column;margin-right:1rem}.bmb_container-button-subtitle{color:var(--general_contrasts-75);font-weight:300;text-align:left;word-break:break-word;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_container-button-left{flex:1;overflow:hidden;align-items:center;display:flex;gap:1rem}.bmb_container-button-left-icon{align-items:center;display:flex;font-size:1.5rem;height:1.5rem;width:1.5rem}.bmb_container-button-left-icon i{width:1.5rem}.bmb_container-button-left .bmb_icon-figure{width:100%}.bmb_container-button-left .bmb_icon-figure img{height:100%;width:100%}.bmb_container-button-right{align-items:center;display:flex;gap:1rem}.bmb_container-button-right-icon{align-items:center;display:flex;font-size:1.5rem;height:1.5rem;width:1.5rem}.bmb_container-button-right-icon i{width:1.5rem}.bmb_container-button-right-menu .bmb_dropdown_menu-list .bmb_dropdown-content-modal{right:0;left:inherit;max-width:15.625rem;min-width:15.625rem}.bmb_container-button-square.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{flex-flow:column;justify-content:center;min-height:9.25rem;min-width:9.25rem;padding:2rem 3rem;width:auto}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout{flex-direction:column;gap:0;height:100%;justify-content:center}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout .bmb_container-button-left{flex-flow:column;gap:.5rem}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout .bmb_container-button-left-icon{font-size:3rem;height:3rem;width:3rem}.bmb_container-button-square.bmb_container-button-wrapper .bmb_layout .bmb_container-button-left-icon i{width:3rem}.bmb_container-button-small.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{min-width:10rem;padding:1rem;width:auto}.bmb_container-button-small.bmb_container-button-wrapper .bmb_container-button-title{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_container-button-alternative.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:hover{background-color:var(--general_contrasts-15)}.bmb_container-button-alternative.bmb_container-button-wrapper.bmb_container-button-disabled.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{background-color:var(--general_contrasts-15)}.bmb_container-button-alternative.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{background-color:var(--general_contrasts-25)}.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:hover{background-color:var(--general_contrasts-50)}.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible:not(.bmb_container-button-disabled):not(.bmb_container-button-error){background-color:var(--buttons-primary-select);color:var(--white-primary)}.bmb_container-button-wrapper:not(.bmb_container-button-disabled):not(.bmb_container-button-error)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible:not(.bmb_container-button-disabled):not(.bmb_container-button-error) .bmb_grade-value-main{fill:var(--white-primary)}.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element{align-items:center;background-color:var(--containers-container-button);border:.0625rem solid var(--general_contrasts-50);border-radius:1rem;color:var(--general_contrasts-100);display:inline-flex;min-height:5rem;padding:1.5rem;width:100%}.bmb_container-button-wrapper>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible{outline:none}.bmb_container-button .bmb_container-button-right-action:not(.bmb_container-button-wrapper)>.bmb_check-external-link-button>.bmb_check-external-link-button-element{align-items:center;background-color:inherit;border:none;border-radius:inherit;color:inherit;display:inline-flex;min-height:auto;min-width:auto;padding:.1875rem;width:auto}.bmb_container-button .bmb_container-button-right-action:not(.bmb_container-button-wrapper)>.bmb_check-external-link-button>.bmb_check-external-link-button-element:focus-visible{outline:none}.bmb_container-button .bmb_grade-value-main{fill:var(--general_contrasts-100)}.bmb_container-button .bmb_bookmark{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbCheckExternalLinkButtonComponent, selector: "bmb-check-external-link-button", inputs: ["idElement", "link", "target", "disabled", "buttonName"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbUserImageComponent, selector: "bmb-user-image", inputs: ["size", "image", "altImage", "link", "target", "bordered"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbGradeValueComponent, selector: "bmb-grade-value", inputs: ["appearanceContrast", "type", "score"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems", "isContainerQuery"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }, { 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"] }, { kind: "component", type: BmbBookmarkComponent, selector: "bmb-bookmark", inputs: ["isActive"], outputs: ["isActiveChange"] }, { kind: "component", type: BmbDropdownMenuComponent, selector: "bmb-dropdown-menu", inputs: ["items"], outputs: ["clickedItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
75
75
  }
76
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbContainerButtonComponent, decorators: [{
77
77
  type: Component,