@sbb-esta/lyne-elements 5.0.0-next.3 → 5.0.1
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.
- package/_index.scss +69 -2
- package/accordion/accordion.component.js +1 -1
- package/accordion.js +1 -1
- package/accordion.pure.js +1 -1
- package/action-group/_action-group.global.scss +7 -0
- package/action-group/action-group.component.js +1 -1
- package/action-group.component-DBfkhMYG.js +16 -0
- package/action-group.js +1 -1
- package/action-group.pure.js +1 -1
- package/alert/_alert.global.scss +47 -0
- package/alert/alert/alert.component.js +1 -1
- package/alert/alert-group/alert-group.component.js +1 -1
- package/alert.js +2 -2
- package/alert.pure.js +2 -2
- package/autocomplete/autocomplete-base-element.js +2 -2
- package/autocomplete/autocomplete.component.js +4 -4
- package/{autocomplete-base-element-DRGjFF9_.js → autocomplete-base-element-CLMoJtJb.js} +29 -18
- package/autocomplete.js +4 -4
- package/autocomplete.pure.js +3 -3
- package/{core/styles/mixins/badge.scss → badge/_badge.global.scss} +9 -5
- package/{block-link-common-B1E38xKe.js → block-link-common-BZZ4NhPD.js} +2 -2
- package/breadcrumb/_breadcrumb.global.scss +36 -0
- package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/{breadcrumb-group.component-XPdnV6-a.js → breadcrumb-group.component-FLbOLqwi.js} +23 -19
- package/breadcrumb.js +2 -2
- package/breadcrumb.pure.js +2 -2
- package/button/_button.global.scss +99 -0
- package/button/common/button-common.js +1 -1
- package/button/mini-button-group/mini-button-group.component.js +1 -1
- package/button/mini-button-link/mini-button-link.component.js +1 -1
- package/button.js +3 -3
- package/button.pure.js +3 -3
- package/calendar/_calendar.global.scss +46 -0
- package/calendar/calendar/calendar.component.js +2 -2
- package/calendar/calendar-day/calendar-day.component.js +1 -1
- package/calendar/calendar-month/calendar-month.component.js +1 -1
- package/calendar/calendar-year/calendar-year.component.js +1 -1
- package/calendar/common/calendar-cell-base-element.js +1 -1
- package/calendar-cell-base-element-DHCKK3bU.js +23 -0
- package/{calendar-day.component-CcZymuSD.js → calendar-day.component-3tlW6Ba5.js} +3 -3
- package/calendar.component-RVAHcJf6.js +1010 -0
- package/calendar.js +5 -5
- package/calendar.pure.js +4 -4
- package/{core/styles/mixins/card.scss → card/_card.global.scss} +67 -45
- package/card/card/card.component.js +1 -1
- package/card/card-badge/card-badge.component.js +1 -1
- package/card/common/card-action-common.js +1 -1
- package/card.js +3 -3
- package/card.pure.js +3 -3
- package/carousel/_carousel.global.scss +11 -0
- package/carousel/carousel/carousel.component.js +1 -1
- package/carousel/carousel-item/carousel-item.component.js +2 -2
- package/carousel/carousel-list/carousel-list.component.js +1 -1
- package/{carousel-item.component-DyZAdXL_.js → carousel-item.component-DRfpza-9.js} +12 -2
- package/{carousel-list.component-Ai0uJWB7.js → carousel-list.component-DAPO_Oce.js} +6 -13
- package/{carousel.component-9oMMOyWo.js → carousel.component-B6XqR3Bc.js} +1 -1
- package/carousel.js +5 -5
- package/carousel.pure.js +4 -4
- package/checkbox/_checkbox.global.scss +29 -0
- package/checkbox/checkbox.component.js +1 -1
- package/checkbox/common/checkbox-common.js +1 -1
- package/{checkbox-common-BSzAnug3.js → checkbox-common-Dz5PUD9H.js} +15 -15
- package/{checkbox.component-DWmjiv_c.js → checkbox.component-DNVief0q.js} +1 -1
- package/checkbox.js +2 -2
- package/checkbox.pure.js +2 -2
- package/chip/_chip.global.scss +72 -0
- package/chip/chip/chip.component.js +1 -1
- package/chip/chip-group/chip-group.component.js +1 -1
- package/{chip-group.component-DJORKUef.js → chip-group.component-DKF_Z2QU.js} +2 -7
- package/chip-label/_chip-label.global.scss +11 -0
- package/chip-label/chip-label.component.js +1 -1
- package/chip-label.js +1 -1
- package/chip-label.pure.js +1 -1
- package/chip.js +2 -2
- package/chip.pure.js +2 -2
- package/clock/_clock.global.scss +9 -0
- package/clock/clock.component.js +1 -1
- package/clock.js +1 -1
- package/clock.pure.js +1 -1
- package/container/_container.global.scss +32 -0
- package/container/container/container.component.js +1 -1
- package/container/sticky-bar/sticky-bar.component.js +1 -1
- package/container.js +2 -2
- package/container.pure.js +2 -2
- package/core/base-elements/_selection-group-base-element.global.scss +16 -0
- package/core/base-elements/action-base-element.js +1 -1
- package/core/base-elements/button-base-element.js +47 -68
- package/core/base-elements/element.js +1 -1
- package/core/base-elements/open-close-base-element.js +1 -1
- package/core/base-elements/selection-group-base-element.js +1 -1
- package/core/controllers/media-matchers-controller.js +1 -1
- package/core/datetime/date-adapter.js +2 -2
- package/core/i18n/i18n.js +73 -78
- package/core/mixins/_panel-common.global.scss +41 -0
- package/core/mixins/form-associated-checkbox-mixin.js +17 -26
- package/core/mixins/form-associated-input-mixin.js +5 -0
- package/core/mixins/form-associated-radio-button-mixin.js +5 -4
- package/core/mixins/named-slot-list-mixin.js +14 -14
- package/core/mixins/panel-mixin.js +1 -1
- package/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
- package/core/styles/_index.scss +4 -15
- package/core/styles/_theme.scss +370 -0
- package/core/styles/{a11y.scss → features/a11y.scss} +2 -2
- package/core/styles/{animation.scss → features/animation.scss} +1 -1
- package/core/styles/features/color-scheme.scss +11 -0
- package/core/styles/features/font-face.scss +3 -0
- package/core/styles/{image.scss → features/image.scss} +29 -7
- package/core/styles/{layout.private.scss → features/layout.private.scss} +5 -4
- package/core/styles/features/layout.scss +47 -0
- package/core/styles/{lists.scss → features/lists.scss} +1 -1
- package/core/styles/{scrollbar.scss → features/scrollbar.scss} +1 -1
- package/core/styles/features/typography.private.scss +9 -0
- package/core/styles/{typography.scss → features/typography.scss} +12 -4
- package/core/styles/internals/button-reset.scss +5 -0
- package/core/styles/{host-scrollbar.scss → internals/host-scrollbar.scss} +1 -1
- package/core/styles/internals/list-reset.scss +6 -0
- package/core/styles/internals/popover-reset.scss +6 -0
- package/core/styles/{screen-reader-only.scss → internals/screen-reader-only.scss} +1 -1
- package/core/styles/mixins/{a11y.scss → _a11y.scss} +0 -21
- package/core/styles/mixins/_core.scss +69 -0
- package/core/styles/{core/functions.scss → mixins/_functions.scss} +0 -8
- package/core/styles/mixins/{helpers.scss → _helpers.scss} +3 -14
- package/core/styles/mixins/{layout.scss → _layout.scss} +1 -1
- package/core/styles/mixins/{lists.scss → _lists.scss} +10 -14
- package/core/styles/mixins/{pearl-chain-bullet.scss → _pearl-chain-bullet.scss} +6 -6
- package/core/styles/mixins/_reset.scss +38 -0
- package/core/styles/mixins/{scrollbar.scss → _scrollbar.scss} +7 -1
- package/core/styles/mixins/_typo.scss +162 -0
- package/core/styles/styles.js +2 -2
- package/core.js +41 -44
- package/custom-elements.json +9680 -7759
- package/date-input/date-input.component.js +1 -1
- package/{date-input.component-aFuUH3N_.js → date-input.component-CKdDrnEj.js} +8 -6
- package/date-input.js +1 -1
- package/date-input.pure.js +1 -1
- package/datepicker/common/datepicker-button.js +1 -1
- package/datepicker/datepicker/datepicker.component.js +45 -27
- package/{datepicker-button-aYDFZ_3v.js → datepicker-button-D8t6_DBS.js} +0 -3
- package/datepicker.js +1 -1
- package/datepicker.pure.js +1 -1
- package/development/accordion/accordion.component.js +1 -1
- package/development/{accordion.component-xx7XabDY.js → accordion.component-pI5XM-iT.js} +1 -1
- package/development/accordion.js +2 -2
- package/development/accordion.pure.js +1 -1
- package/development/action-group/action-group.component.d.ts +2 -31
- package/development/action-group/action-group.component.d.ts.map +1 -1
- package/development/action-group/action-group.component.js +1 -1
- package/development/action-group.component-BUWevlaI.js +26 -0
- package/development/action-group.js +2 -2
- package/development/action-group.pure.js +1 -1
- package/development/alert/alert/alert.component.js +1 -1
- package/development/alert/alert-group/alert-group.component.js +1 -1
- package/development/{alert-group.component-w5PbU_4C.js → alert-group.component-DYmA3spO.js} +1 -1
- package/development/{alert.component-Dzm5z0jh.js → alert.component-Cq0IPcfk.js} +1 -1
- package/development/alert.js +3 -3
- package/development/alert.pure.js +2 -2
- package/development/autocomplete/autocomplete-base-element.d.ts +6 -5
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +2 -2
- package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.component.js +5 -5
- package/development/autocomplete-base-element-DtwUdjCd.js +695 -0
- package/development/autocomplete.js +3 -3
- package/development/autocomplete.pure.js +2 -2
- package/development/block-link-common-DCKM3jJQ.js +99 -0
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/development/breadcrumb-group.component-mofwnLS1.js +197 -0
- package/development/breadcrumb.component-B3XsV_Aq.js +34 -0
- package/development/breadcrumb.js +3 -3
- package/development/breadcrumb.pure.js +2 -2
- package/development/button/accent-button/accent-button.component.js +1 -1
- package/development/button/accent-button-link/accent-button-link.component.js +1 -1
- package/development/button/accent-button-static/accent-button-static.component.js +1 -1
- package/development/button/button/button.component.js +1 -1
- package/development/button/button-link/button-link.component.js +1 -1
- package/development/button/button-static/button-static.component.js +1 -1
- package/development/button/common/button-common.js +1 -1
- package/development/button/mini-button/mini-button.component.js +1 -1
- package/development/button/mini-button-group/mini-button-group.component.js +1 -1
- package/development/button/mini-button-link/mini-button-link.component.js +1 -1
- package/development/button/secondary-button/secondary-button.component.js +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
- package/development/button/transparent-button/transparent-button.component.js +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
- package/development/{button-common-C-A7Dulr.js → button-common-DvuYiiku.js} +1 -1
- package/development/button.js +4 -4
- package/development/button.pure.js +3 -3
- package/development/calendar/calendar/calendar.component.d.ts +46 -54
- package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar/calendar.component.js +2 -2
- package/development/calendar/calendar-day/calendar-day.component.js +1 -1
- package/development/calendar/calendar-month/calendar-month.component.js +2 -2
- package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
- package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
- package/development/calendar/calendar-year/calendar-year.component.js +2 -2
- package/development/calendar/common/calendar-cell-base-element.js +1 -1
- package/development/calendar-cell-base-element-D9XadTz1.js +38 -0
- package/development/calendar-day.component-DS2H_TP3.js +139 -0
- package/development/calendar.component-BmB8HoZt.js +1399 -0
- package/development/calendar.js +5 -5
- package/development/calendar.pure.js +4 -4
- package/development/card/card/card.component.js +1 -1
- package/development/card/card-badge/card-badge.component.js +1 -1
- package/development/card/card-button/card-button.component.js +1 -1
- package/development/card/card-link/card-link.component.js +1 -1
- package/development/card/common/card-action-common.js +1 -1
- package/development/{card-action-common-zS5iNz23.js → card-action-common-Dr-EX0gr.js} +1 -1
- package/development/{card-badge.component-CEfJdJBs.js → card-badge.component-CENJTZ4g.js} +1 -1
- package/development/{card.component-CL2gHoyP.js → card.component-CVAgqDNK.js} +1 -1
- package/development/card.js +4 -4
- package/development/card.pure.js +3 -3
- package/development/carousel/carousel/carousel.component.js +1 -1
- package/development/carousel/carousel-item/carousel-item.component.d.ts +8 -6
- package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
- package/development/carousel/carousel-item/carousel-item.component.js +2 -2
- package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
- package/development/carousel/carousel-list/carousel-list.component.js +1 -1
- package/development/{carousel-item.component-B_0wdIAu.js → carousel-item.component-DjDAg-DC.js} +16 -4
- package/development/carousel-list.component-pJBqbfi9.js +126 -0
- package/development/carousel.component-CD2_hauh.js +139 -0
- package/development/carousel.js +5 -5
- package/development/carousel.pure.js +4 -4
- package/development/checkbox/checkbox.component.js +1 -1
- package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/development/checkbox/common/checkbox-common.js +1 -1
- package/development/{checkbox-common-C3Ekixul.js → checkbox-common-o3Su1McS.js} +12 -12
- package/development/checkbox-group/checkbox-group.component.js +1 -1
- package/development/checkbox-group.js +1 -1
- package/development/checkbox-panel/checkbox-panel.component.js +1 -1
- package/development/checkbox-panel.js +1 -1
- package/development/{checkbox.component-UbxCpZmi.js → checkbox.component-6zr36eQq.js} +2 -2
- package/development/checkbox.js +3 -3
- package/development/checkbox.pure.js +2 -2
- package/development/chip/chip/chip.component.js +1 -1
- package/development/chip/chip-group/chip-group.component.d.ts +1 -23
- package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/development/chip/chip-group/chip-group.component.js +1 -1
- package/development/chip-group.component-BY025VTb.js +395 -0
- package/development/chip-label/chip-label.component.js +1 -1
- package/development/{chip-label.component-DHHNtvTt.js → chip-label.component-D8Il3pvk.js} +1 -1
- package/development/chip-label.js +2 -2
- package/development/chip-label.pure.js +1 -1
- package/development/{chip.component-Uuf3tGFz.js → chip.component-C2VmHfZa.js} +1 -1
- package/development/chip.js +3 -3
- package/development/chip.pure.js +2 -2
- package/development/clock/clock.component.js +1 -1
- package/development/{clock.component-DcM1WFTN.js → clock.component-CyCPrufS.js} +1 -1
- package/development/clock.js +2 -2
- package/development/clock.pure.js +1 -1
- package/development/{compact-paginator.component-BgkpxaaD.js → compact-paginator.component-CKHS0U1v.js} +1 -1
- package/development/container/container/container.component.js +1 -1
- package/development/container/sticky-bar/sticky-bar.component.js +1 -1
- package/development/{container.component-D1Qgp4HW.js → container.component-Ctdd3D-A.js} +1 -1
- package/development/container.js +3 -3
- package/development/container.pure.js +2 -2
- package/development/core/a11y/arrow-navigation.js +1 -1
- package/development/core/a11y/fake-event-detection.js +1 -1
- package/development/core/a11y/focus-trap-controller.js +1 -1
- package/development/core/a11y/focus-visible-within-controller.js +1 -1
- package/development/core/a11y/focus.js +1 -1
- package/development/core/a11y/input-modality-detector.js +1 -1
- package/development/core/a11y/interactivity-checker.js +1 -1
- package/development/core/a11y/live-announcer.js +1 -1
- package/development/core/base-elements/action-base-element.js +2 -2
- package/development/core/base-elements/button-base-element.d.ts +1 -0
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.js +66 -92
- package/development/core/base-elements/element.d.ts.map +1 -1
- package/development/core/base-elements/element.js +1 -1
- package/development/core/base-elements/link-base-element.js +1 -1
- package/development/core/base-elements/open-close-base-element.js +2 -2
- package/development/core/base-elements/selection-group-base-element.d.ts +1 -2
- package/development/core/base-elements/selection-group-base-element.d.ts.map +1 -1
- package/development/core/base-elements/selection-group-base-element.js +1 -1
- package/development/core/config/config.js +1 -1
- package/development/core/controllers/escapable-overlay-controller.js +1 -1
- package/development/core/controllers/id-reference-controller.js +1 -1
- package/development/core/controllers/inert-controller.js +1 -1
- package/development/core/controllers/language-controller.js +1 -1
- package/development/core/controllers/media-matchers-controller.js +2 -2
- package/development/core/controllers/overlay-position-controller.js +1 -1
- package/development/core/controllers/property-watcher-controller.js +1 -1
- package/development/core/datetime/date-adapter.d.ts +0 -5
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/date-adapter.js +2 -7
- package/development/core/datetime/native-date-adapter.js +1 -1
- package/development/core/datetime/temporal-date-adapter.js +1 -1
- package/development/core/decorators/force-type.js +1 -1
- package/development/core/decorators/get-override.js +1 -1
- package/development/core/decorators/handle-distinct-change.js +1 -1
- package/development/core/decorators/id-reference.d.ts.map +1 -1
- package/development/core/decorators/id-reference.js +1 -1
- package/development/core/decorators/omit-empty-converter.js +1 -1
- package/development/core/decorators/plain-date.js +1 -1
- package/development/core/dom/animation.js +1 -1
- package/development/core/dom/contains-pierce-shadow-dom.js +1 -1
- package/development/core/dom/platform.js +1 -1
- package/development/core/dom/queue-dom-content-loaded.js +1 -1
- package/development/core/dom/scroll.js +1 -1
- package/development/core/dom/set-or-remove-attribute.js +1 -1
- package/development/core/eventing/event-target.js +1 -1
- package/development/core/eventing/form-element-handlers.js +1 -1
- package/development/core/eventing/forward-event.js +1 -1
- package/development/core/eventing/is-event-prevented.js +1 -1
- package/development/core/i18n/i18n.d.ts +0 -1
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n/i18n.js +6 -12
- package/development/core/mixins/animation-complete-mixin.js +1 -1
- package/development/core/mixins/disabled-mixin.js +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.js +7 -21
- package/development/core/mixins/form-associated-input-mixin.d.ts +1 -0
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +6 -1
- package/development/core/mixins/form-associated-mixin.d.ts +1 -1
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-mixin.js +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.js +11 -8
- package/development/core/mixins/named-slot-list-mixin.js +3 -3
- package/development/core/mixins/negative-mixin.js +1 -1
- package/development/core/mixins/panel-mixin.js +1 -1
- package/development/core/mixins/readonly-mixin.js +1 -1
- package/development/core/mixins/required-mixin.js +1 -1
- package/development/core/mixins/selection-panel-mixin.js +1 -1
- package/development/core/mixins/update-scheduler-mixin.js +1 -1
- package/development/core/overlay/overlay-option-panel.js +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts.map +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.js +2 -2
- package/development/core/overlay/overlay-trigger-attributes.js +1 -1
- package/development/core/overlay/position.js +1 -1
- package/development/core/styles/styles.d.ts +3 -1
- package/development/core/styles/styles.d.ts.map +1 -1
- package/development/core/styles/styles.js +2 -2
- package/development/core/testing/event-spy.js +1 -1
- package/development/core/testing/mocha-extensions.js +1 -1
- package/development/core/testing/wait-for-condition.js +1 -1
- package/development/core/testing/wait-for-image-ready.js +1 -1
- package/development/core/testing/wait-for-render.js +1 -1
- package/development/core.d.ts +0 -4
- package/development/core.d.ts.map +1 -1
- package/development/core.js +7 -10
- package/development/date-input/date-input.component.d.ts.map +1 -1
- package/development/date-input/date-input.component.js +1 -1
- package/development/date-input.component-DMNqiZ6l.js +302 -0
- package/development/date-input.js +2 -2
- package/development/date-input.pure.js +1 -1
- package/development/datepicker/common/datepicker-button.d.ts +0 -2
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common/datepicker-button.js +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts +3 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.js +38 -12
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
- package/development/{datepicker-button-BAT1ebzJ.js → datepicker-button-BvBQB6Sv.js} +1 -5
- package/development/datepicker.js +2 -2
- package/development/datepicker.pure.js +1 -1
- package/development/dialog/dialog/dialog.component.d.ts +2 -3
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
- package/development/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
- package/development/dialog/dialog-content/dialog-content.component.js +1 -1
- package/development/dialog/dialog-title/dialog-title.component.js +1 -1
- package/development/{dialog-actions.component-e0ZTTUin.js → dialog-actions.component-Dyzg7z-B.js} +1 -1
- package/development/{dialog-close-button.component-Idc00dB9.js → dialog-close-button.component-dgLnsaLx.js} +1 -1
- package/development/{dialog-content.component-CThU7Z8A.js → dialog-content.component-DDtVV0Lh.js} +1 -1
- package/development/dialog-title.component-DyItyahT.js +29 -0
- package/development/{dialog.component-AItB8ixG.js → dialog.component-B1Tke2ym.js} +8 -11
- package/development/dialog.js +6 -6
- package/development/dialog.pure.js +5 -5
- package/development/divider/divider.component.js +1 -1
- package/development/{divider.component-Ck_0vISe.js → divider.component-CYP23U4q.js} +1 -1
- package/development/divider.js +2 -2
- package/development/divider.pure.js +1 -1
- package/development/{element-BAsBayf5.js → element-BS28ba7w.js} +1 -1
- package/development/error.component-Bp7ztvQB.js +53 -0
- package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/development/{expansion-panel-content.component-Bs0pYNJO.js → expansion-panel-content.component-CKhGtjji.js} +1 -1
- package/development/{expansion-panel-header.component-gg5A_7Pz.js → expansion-panel-header.component-Do3pLbzs.js} +1 -1
- package/development/expansion-panel.component-BnbRiLrk.js +320 -0
- package/development/expansion-panel.js +4 -4
- package/development/expansion-panel.pure.js +3 -3
- package/development/file-selector/common/file-selector-common.d.ts +5 -0
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +2 -2
- package/development/file-selector/file-selector/file-selector.component.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/file-selector-common-CCvgN1G2.js +421 -0
- package/development/{file-selector-dropzone.component-B84OL4Xd.js → file-selector-dropzone.component-BeqSG2IM.js} +2 -2
- package/development/file-selector.js +4 -4
- package/development/file-selector.pure.js +3 -3
- package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/development/flip-card/flip-card/flip-card.component.js +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
- package/development/{flip-card-details.component-BYv_W66a.js → flip-card-details.component-RJ43uhma.js} +1 -1
- package/development/{flip-card-summary.component-jLNjJUNl.js → flip-card-summary.component-D9zMzU8m.js} +1 -1
- package/development/flip-card.component-CAsfIcvt.js +189 -0
- package/development/flip-card.js +4 -4
- package/development/flip-card.pure.js +3 -3
- package/development/footer/footer.component.js +1 -1
- package/development/{footer.component-K2bWizjw.js → footer.component-DJH7E5aO.js} +1 -1
- package/development/footer.js +2 -2
- package/development/footer.pure.js +1 -1
- package/development/form-field/error/error.component.js +1 -1
- package/development/form-field/form-field/form-field.component.d.ts +1 -7
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
- package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
- package/development/form-field/hint/hint.component.js +1 -1
- package/development/form-field.component-YM-Z5aZf.js +670 -0
- package/development/form-field.js +4 -4
- package/development/form-field.pure.js +3 -3
- package/development/header/common/header-action-common.d.ts +2 -2
- package/development/header/common/header-action-common.d.ts.map +1 -1
- package/development/header/common/header-action-common.js +1 -1
- package/development/header/header/header.component.d.ts +2 -0
- package/development/header/header/header.component.d.ts.map +1 -1
- package/development/header/header/header.component.js +1 -1
- package/development/header/header-button/header-button.component.js +1 -1
- package/development/header/header-environment/header-environment.component.js +1 -1
- package/development/header/header-link/header-link.component.js +1 -1
- package/development/header-action-common-DX2ejpAL.js +86 -0
- package/development/{header-environment.component-CIyxQwkQ.js → header-environment.component--4YEZyKq.js} +1 -1
- package/development/header.component-FVw_5NRT.js +336 -0
- package/development/header.js +4 -4
- package/development/header.pure.js +3 -3
- package/development/{hint.component-BB9QLGGx.js → hint.component-CdM71SNj.js} +1 -1
- package/development/icon/icon-base.js +1 -1
- package/development/icon/icon-name-mixin.js +1 -1
- package/development/icon/icon-request.js +1 -1
- package/development/icon/icon-validate.js +1 -1
- package/development/icon/icon.component.d.ts +1 -1
- package/development/icon/icon.component.d.ts.map +1 -1
- package/development/icon/icon.component.js +6 -8
- package/development/icon-base-Cq6DxOUh.js +163 -0
- package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
- package/development/{icon-sidebar-container.component-CM94Spwy.js → icon-sidebar-container.component-G8wyj1Sb.js} +1 -1
- package/development/{icon-sidebar-content.component-BP9W5ZxR.js → icon-sidebar-content.component-D1VPTNhO.js} +1 -1
- package/development/{icon-sidebar.component-B68P2aNh.js → icon-sidebar.component-DLlCKweu.js} +1 -1
- package/development/icon-sidebar.js +4 -4
- package/development/icon-sidebar.pure.js +3 -3
- package/development/icon.js +2 -2
- package/development/icon.pure.js +1 -1
- package/development/image/image.component.js +1 -1
- package/development/{image.component-EfSMgHI_.js → image.component-DoRIca5y.js} +5 -16
- package/development/image.js +2 -2
- package/development/image.pure.js +1 -1
- package/development/inline-link-common-CXYyREBi.js +18 -0
- package/development/journey-header/journey-header.component.js +1 -1
- package/development/journey-header.component-tBukBhVq.js +146 -0
- package/development/journey-header.js +2 -2
- package/development/journey-header.pure.js +1 -1
- package/development/lead-container/lead-container.component.js +1 -1
- package/development/{lead-container.component-C_mFeq1B.js → lead-container.component-D93DLU_J.js} +1 -1
- package/development/lead-container.js +2 -2
- package/development/lead-container.pure.js +1 -1
- package/development/link/block-link/block-link.component.js +1 -1
- package/development/link/block-link-button/block-link-button.component.js +1 -1
- package/development/link/block-link-static/block-link-static.component.js +1 -1
- package/development/link/common/block-link-common.js +1 -1
- package/development/link/common/inline-link-common.js +1 -1
- package/development/link/common/link-common.js +1 -1
- package/development/link/link/link.component.js +1 -1
- package/development/link/link-button/link-button.component.js +1 -1
- package/development/link/link-static/link-static.component.js +1 -1
- package/development/link-common-DWTP-lFX.js +26 -0
- package/development/link-list/common/link-list-base.js +1 -1
- package/development/link-list/link-list.component.js +1 -1
- package/development/link-list-anchor/link-list-anchor.component.js +1 -1
- package/development/{link-list-anchor.component-Csb-FOQL.js → link-list-anchor.component-9C1H5KXX.js} +2 -2
- package/development/link-list-anchor.js +2 -2
- package/development/link-list-anchor.pure.js +1 -1
- package/development/{link-list-base-CKT3c8yW.js → link-list-base-CaPkNR_V.js} +1 -1
- package/development/link-list.component-By_lSSYE.js +97 -0
- package/development/link-list.js +3 -3
- package/development/link-list.pure.js +2 -2
- package/development/link.js +4 -4
- package/development/link.pure.js +3 -3
- package/development/loading-indicator/loading-indicator.component.js +1 -1
- package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/development/{loading-indicator-circle.component-Cfjw5vyz.js → loading-indicator-circle.component-CudNN1Z6.js} +1 -1
- package/development/loading-indicator-circle.js +2 -2
- package/development/loading-indicator-circle.pure.js +1 -1
- package/development/{loading-indicator.component-By2VaLCf.js → loading-indicator.component-sEdpEBpx.js} +1 -1
- package/development/loading-indicator.js +2 -2
- package/development/loading-indicator.pure.js +1 -1
- package/development/logo/logo.component.js +1 -1
- package/development/{logo.component-DYKgAgq0.js → logo.component-SqyPA1M-.js} +1 -1
- package/development/logo.js +2 -2
- package/development/logo.pure.js +1 -1
- package/development/map-container/map-container.component.d.ts +2 -2
- package/development/map-container/map-container.component.js +1 -1
- package/development/map-container.component-ASCfDs-R.js +176 -0
- package/development/map-container.js +2 -2
- package/development/map-container.pure.js +1 -1
- package/development/menu/common/menu-action-common.js +1 -1
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +1 -1
- package/development/menu/menu-button/menu-button.component.js +1 -1
- package/development/menu/menu-link/menu-link.component.js +1 -1
- package/development/menu-action-common-BUIJFq1R.js +32 -0
- package/development/menu.component-B3uWxwbt.js +369 -0
- package/development/menu.js +3 -3
- package/development/menu.pure.js +2 -2
- package/development/message/message.component.js +1 -1
- package/development/{message.component-CdO5GyE2.js → message.component-BrqWVCJV.js} +2 -2
- package/development/message.js +2 -2
- package/development/message.pure.js +1 -1
- package/development/{mini-button-group.component-VYKZf1rq.js → mini-button-group.component-C2KcpK5c.js} +2 -2
- package/development/mini-button-link.component-BHaNYXk0.js +39 -0
- package/development/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
- package/development/{mini-calendar-day.component-BLkJ12Bw.js → mini-calendar-day.component-UG6wpckK.js} +1 -1
- package/development/{mini-calendar-month.component-D8XjjLmN.js → mini-calendar-month.component-GE-cmXxP.js} +1 -1
- package/development/{mini-calendar.component-BOk8JovO.js → mini-calendar.component-DQ_zxELt.js} +1 -1
- package/development/mini-calendar.js +4 -4
- package/development/mini-calendar.pure.js +3 -3
- package/development/navigation/common/navigation-action-common.d.ts +3 -1
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/common/navigation-action-common.js +1 -1
- package/development/navigation/navigation/navigation.component.d.ts +0 -1
- package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.component.js +1 -1
- package/development/navigation/navigation-button/navigation-button.component.js +1 -1
- package/development/navigation/navigation-link/navigation-link.component.js +1 -1
- package/development/navigation/navigation-list/navigation-list.component.js +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/development/navigation/navigation-section/navigation-section.component.d.ts +0 -1
- package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +1 -1
- package/development/navigation-action-common-BdJOaItd.js +56 -0
- package/development/navigation-list.component-CWOSnwgm.js +86 -0
- package/development/navigation-marker.component-D3Vbe1dH.js +120 -0
- package/development/navigation-section.component-34GEIPaN.js +343 -0
- package/development/navigation.component-CqQuaq7V.js +316 -0
- package/development/navigation.js +6 -6
- package/development/navigation.pure.js +5 -5
- package/development/notification/notification.component.js +1 -1
- package/development/{notification.component-BiJSo7Pl.js → notification.component-BlWGjgrP.js} +1 -1
- package/development/notification.js +2 -2
- package/development/notification.pure.js +1 -1
- package/development/optgroup-base-element--G8myprb.js +140 -0
- package/development/option/optgroup/optgroup-base-element.d.ts +1 -2
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup-base-element.js +1 -1
- package/development/option/optgroup/optgroup.component.js +2 -2
- package/development/option/option/option-base-element.d.ts +0 -2
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option-base-element.js +1 -6
- package/development/option/option/option.component.d.ts +0 -1
- package/development/option/option/option.component.d.ts.map +1 -1
- package/development/option/option/option.component.js +1 -1
- package/development/option/option-hint/option-hint.component.js +1 -1
- package/development/option/option-styles.d.ts +2 -0
- package/development/option/option-styles.d.ts.map +1 -0
- package/development/option/option-styles.js +2 -0
- package/development/{option-hint.component-DPfgcpVn.js → option-hint.component-DyCue4gx.js} +1 -1
- package/development/option-styles-CJMae7_-.js +8 -0
- package/development/option.component-BSHq97Of.js +130 -0
- package/development/option.js +6 -5
- package/development/option.pure.d.ts +1 -0
- package/development/option.pure.d.ts.map +1 -1
- package/development/option.pure.js +5 -4
- package/development/overlay/overlay-base-element.d.ts +6 -8
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +12 -17
- package/development/overlay/overlay.component.d.ts +3 -3
- package/development/overlay/overlay.component.d.ts.map +1 -1
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-rFmitc_r.js → overlay.component-D_BLhfdG.js} +8 -11
- package/development/overlay.js +2 -2
- package/development/overlay.pure.js +1 -1
- package/development/paginator/common/paginator-common.d.ts +11 -6
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +2 -2
- package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +1 -1
- package/development/paginator-common-B9EN1Fjx.js +432 -0
- package/development/paginator.component-DisPJ2Qa.js +265 -0
- package/development/paginator.js +5 -5
- package/development/paginator.pure.js +4 -4
- package/development/{panel-mixin-DPybe45K.js → panel-mixin-Da_cHQn-.js} +1 -1
- package/development/popover/popover/popover.component.d.ts +54 -0
- package/development/popover/popover/popover.component.d.ts.map +1 -0
- package/development/popover/popover/popover.component.js +2 -0
- package/development/popover/popover-base/popover-base.d.ts +61 -0
- package/development/popover/popover-base/popover-base.d.ts.map +1 -0
- package/development/popover/popover-base/popover-base.js +2 -0
- package/development/popover/popover-close-button/popover-close-button.component.d.ts +21 -0
- package/development/popover/popover-close-button/popover-close-button.component.d.ts.map +1 -0
- package/development/popover/popover-close-button/popover-close-button.component.js +30 -0
- package/development/popover-base-BcIAVXWF.js +288 -0
- package/development/popover.component-CMR0eV2t.js +233 -0
- package/development/popover.js +6 -3
- package/development/popover.pure.d.ts +3 -1
- package/development/popover.pure.d.ts.map +1 -1
- package/development/popover.pure.js +4 -2
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common/radio-button-common.js +1 -1
- package/development/radio-button/radio-button.component.js +1 -1
- package/development/radio-button-common-BaGYHkpD.js +129 -0
- package/development/radio-button-group/radio-button-group.component.js +1 -1
- package/development/radio-button-group.js +1 -1
- package/development/radio-button-panel/radio-button-panel.component.js +1 -1
- package/development/radio-button-panel.js +1 -1
- package/development/{radio-button.component-DnErH-1J.js → radio-button.component-CmQGrMHr.js} +2 -2
- package/development/radio-button.js +3 -3
- package/development/radio-button.pure.js +2 -2
- package/development/{sbb-tokens-bg2elLoF.js → sbb-tokens-DGQJTWqa.js} +1 -1
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +1 -1
- package/development/select.component-3S8E6UwN.js +809 -0
- package/development/select.js +2 -2
- package/development/select.pure.js +1 -1
- package/development/selection-action-panel/selection-action-panel.component.js +1 -1
- package/development/{selection-action-panel.component-BT0HmTja.js → selection-action-panel.component-pd9B6lRD.js} +1 -1
- package/development/selection-action-panel.js +2 -2
- package/development/selection-action-panel.pure.js +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/development/selection-expansion-panel.component-Dtfnz1AE.js +186 -0
- package/development/selection-expansion-panel.js +2 -2
- package/development/selection-expansion-panel.pure.js +1 -1
- package/development/selection-group-base-element-govDKjsE.js +146 -0
- package/development/sidebar/common/styles.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +1 -1
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/{sidebar-close-button.component-CXnf-P5H.js → sidebar-close-button.component-tkbcoR-I.js} +1 -1
- package/development/sidebar-container.component-CbE9878W.js +100 -0
- package/development/{sidebar-content.component-DbcREBUa.js → sidebar-content.component-CBfaiAsJ.js} +1 -1
- package/development/{sidebar-title.component-BW04otyD.js → sidebar-title.component-ZKarv4Mz.js} +1 -1
- package/development/{sidebar.component-mfXnE6WQ.js → sidebar.component-Cmkn9X-M.js} +1 -1
- package/development/sidebar.js +6 -6
- package/development/sidebar.pure.js +5 -5
- package/development/signet/signet.component.js +1 -1
- package/development/{signet.component-k14RJ8FA.js → signet.component--kuRWLGw.js} +1 -1
- package/development/signet.js +2 -2
- package/development/signet.pure.js +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/skiplink-list.component-Cpyo7JAH.js +129 -0
- package/development/skiplink-list.js +2 -2
- package/development/skiplink-list.pure.js +1 -1
- package/development/slider/slider.component.d.ts +1 -0
- package/development/slider/slider.component.d.ts.map +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/slider.component-Dymr4YvE.js +333 -0
- package/development/slider.js +2 -2
- package/development/slider.pure.js +1 -1
- package/development/status/status.component.js +1 -1
- package/development/{status.component-B9en2l26.js → status.component-DnnX98xP.js} +1 -1
- package/development/status.js +2 -2
- package/development/status.pure.js +1 -1
- package/development/step-label.component-i13wQWJJ.js +127 -0
- package/development/step.component-lTLpcOUh.js +167 -0
- package/development/stepper/step/step.component.d.ts +15 -12
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +2 -2
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper/stepper/stepper.component.d.ts +9 -5
- package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/development/stepper/stepper/stepper.component.js +1 -1
- package/development/stepper.component-DBE685VL.js +443 -0
- package/development/stepper.js +5 -5
- package/development/stepper.pure.js +4 -4
- package/development/{sticky-bar.component-BJLtRvcd.js → sticky-bar.component-BEhV0azF.js} +2 -2
- package/development/{styles-WppEBrlW.js → styles-BTV2MyrZ.js} +1 -1
- package/development/styles-CUz7LBUc.js +30 -0
- package/development/tab-group.component-DBg6I8W7.js +297 -0
- package/development/tab-label.component-BbQu5sA-.js +233 -0
- package/development/tab-nav-bar.component-DC4Ba7w2.js +109 -0
- package/development/{tab.component-BVhYPy5Y.js → tab.component-Bsdzs7P2.js} +1 -1
- package/development/table/table-wrapper/table-wrapper.component.js +1 -1
- package/development/{table-wrapper.component-By59zmcU.js → table-wrapper.component-Cqc9PHZl.js} +1 -1
- package/development/table.js +2 -2
- package/development/table.pure.js +1 -1
- package/development/tabs/common/styles.js +1 -1
- package/development/tabs/tab/tab.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.d.ts +15 -8
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +2 -2
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/development/tabs.js +7 -7
- package/development/tabs.pure.js +6 -6
- package/development/tag/tag/tag.component.d.ts +1 -0
- package/development/tag/tag/tag.component.d.ts.map +1 -1
- package/development/tag/tag/tag.component.js +1 -1
- package/development/tag/tag-group/tag-group.component.d.ts +6 -1
- package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.component.js +1 -1
- package/development/tag-group.component-DTff1eBB.js +225 -0
- package/development/tag.component-CDDb2fnV.js +258 -0
- package/development/tag.js +3 -3
- package/development/tag.pure.js +2 -2
- package/development/teaser/teaser.component.js +1 -1
- package/development/teaser-hero/teaser-hero.component.js +1 -1
- package/development/{teaser-hero.component-BHMcPmdh.js → teaser-hero.component-d0iLCgA7.js} +1 -1
- package/development/teaser-hero.js +2 -2
- package/development/teaser-hero.pure.js +1 -1
- package/development/teaser-panel/teaser-panel.component.js +1 -1
- package/development/{teaser-panel.component-BRfbvmkb.js → teaser-panel.component-CXT3l9-M.js} +1 -1
- package/development/teaser-panel.js +2 -2
- package/development/teaser-panel.pure.js +1 -1
- package/development/teaser-product/common/teaser-product-common.js +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
- package/development/{teaser-product-common-DOyLdTks.js → teaser-product-common-DfbpBlTk.js} +1 -1
- package/development/teaser-product.component-Cv9PR0lo.js +37 -0
- package/development/teaser-product.js +3 -3
- package/development/teaser-product.pure.js +2 -2
- package/development/teaser.component-BGnmuXOI.js +116 -0
- package/development/teaser.js +2 -2
- package/development/teaser.pure.js +1 -1
- package/development/time-input/time-input.component.d.ts +3 -1
- package/development/time-input/time-input.component.d.ts.map +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/time-input.component-Cdd1dzcG.js +194 -0
- package/development/time-input.js +2 -2
- package/development/time-input.pure.js +1 -1
- package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/development/{timetable-form-details.component-BeuAZUQe.js → timetable-form-details.component-HPb8xks3.js} +1 -1
- package/development/{timetable-form-field.component-DC2z1Cwf.js → timetable-form-field.component-DxUpCWe0.js} +1 -1
- package/development/{timetable-form-swap-button.component-CnbVc8Ok.js → timetable-form-swap-button.component-BT63vkZr.js} +1 -1
- package/development/{timetable-form.component-C8DfPePn.js → timetable-form.component-DcvKOLvm.js} +1 -1
- package/development/timetable-form.js +5 -5
- package/development/timetable-form.pure.js +4 -4
- package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/development/timetable-occupancy-icon.component-Bsct9zga.js +95 -0
- package/development/timetable-occupancy-icon.js +2 -2
- package/development/timetable-occupancy-icon.pure.js +1 -1
- package/development/timetable-occupancy.component-62YNjs5z.js +126 -0
- package/development/timetable-occupancy.js +2 -2
- package/development/timetable-occupancy.pure.js +1 -1
- package/development/title/title-base.js +1 -1
- package/development/title/title.component.d.ts +0 -2
- package/development/title/title.component.d.ts.map +1 -1
- package/development/title/title.component.js +1 -1
- package/development/title-base-DPAFIjFK.js +102 -0
- package/development/title.component-BSrkZhnI.js +69 -0
- package/development/title.js +3 -3
- package/development/title.pure.js +2 -2
- package/development/toast/toast.component.d.ts.map +1 -1
- package/development/toast/toast.component.js +1 -1
- package/development/{toast.component-DonS3uQm.js → toast.component-BgGWVr4o.js} +4 -5
- package/development/toast.js +2 -2
- package/development/toast.pure.js +1 -1
- package/development/toggle/toggle/toggle.component.js +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +1 -1
- package/development/toggle-check/toggle-check.component.js +1 -1
- package/development/{toggle-check.component-BIV7jFIc.js → toggle-check.component--On4AuVo.js} +1 -1
- package/development/toggle-check.js +2 -2
- package/development/toggle-check.pure.js +1 -1
- package/development/{toggle-option.component-DRxwLSKU.js → toggle-option.component-CZY7xnrX.js} +1 -1
- package/development/toggle.component-D3IbJqAH.js +243 -0
- package/development/toggle.js +3 -3
- package/development/toggle.pure.js +2 -2
- package/development/tooltip/tooltip.component.d.ts.map +1 -1
- package/development/tooltip/tooltip.component.js +1 -1
- package/development/tooltip.component-BE8BlKzE.js +369 -0
- package/development/tooltip.js +2 -2
- package/development/tooltip.pure.js +1 -1
- package/development/train/train/train.component.js +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/development/train/train-formation/train-formation.component.js +1 -1
- package/development/train/train-formation-orientation-mixin.js +1 -1
- package/development/train/train-wagon/train-wagon.component.js +1 -1
- package/development/train/train-wagon-button/train-wagon-button.component.js +1 -1
- package/development/train/train-wagon-common.js +1 -1
- package/development/train/train-wagon-link/train-wagon-link.component.js +1 -1
- package/development/{train-blocked-passage.component-Cxd7dBDC.js → train-blocked-passage.component-BGCuXvjt.js} +1 -1
- package/development/{train-formation.component-BEg6OPib.js → train-formation.component-XGatA4-S.js} +2 -2
- package/development/train-wagon-common-4dC995mT.js +441 -0
- package/development/train.component-CX1HEDwX.js +239 -0
- package/development/train.js +5 -5
- package/development/train.pure.js +4 -4
- package/development/visual-checkbox/visual-checkbox.component.js +1 -1
- package/development/{visual-checkbox.component-Dm8DNhH2.js → visual-checkbox.component-EpRxoteZ.js} +1 -1
- package/development/visual-checkbox.js +2 -2
- package/development/visual-checkbox.pure.js +1 -1
- package/dialog/_dialog.global.scss +77 -0
- package/dialog/dialog/dialog.component.js +1 -1
- package/dialog/dialog-actions/dialog-actions.component.js +1 -1
- package/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
- package/dialog/dialog-content/dialog-content.component.js +1 -1
- package/dialog/dialog-title/dialog-title.component.js +1 -1
- package/{dialog.component-4O3__zyd.js → dialog.component-Bs62s2eB.js} +7 -10
- package/dialog.js +5 -5
- package/dialog.pure.js +5 -5
- package/divider/_divider.global.scss +9 -0
- package/divider/divider.component.js +1 -1
- package/divider.js +1 -1
- package/divider.pure.js +1 -1
- package/expansion-panel/_expansion-panel.global.scss +66 -0
- package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/{expansion-panel.component-DvZogUuX.js → expansion-panel.component-kyVRxBRu.js} +19 -16
- package/expansion-panel.js +3 -3
- package/expansion-panel.pure.js +3 -3
- package/file-selector/_file-selector.global.scss +25 -0
- package/file-selector/common/file-selector-common.js +2 -2
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/{file-selector-common-BE780nIa.js → file-selector-common-Bk347JZN.js} +26 -19
- package/{file-selector-dropzone.component-CGo6odhC.js → file-selector-dropzone.component-CywJG8KU.js} +1 -1
- package/file-selector.js +5 -5
- package/file-selector.pure.js +4 -4
- package/flip-card/_flip-card.global.scss +38 -0
- package/flip-card/flip-card/flip-card.component.js +1 -1
- package/flip-card/flip-card-details/flip-card-details.component.js +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
- package/{flip-card.component-CZ0v44Ym.js → flip-card.component-CtUxr9yF.js} +22 -18
- package/flip-card.js +3 -3
- package/flip-card.pure.js +3 -3
- package/footer/_footer.global.scss +17 -0
- package/footer/footer.component.js +1 -1
- package/footer.js +1 -1
- package/footer.pure.js +1 -1
- package/form-field/_form-field.global.scss +274 -0
- package/form-field/error/error.component.js +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/form-field/hint/hint.component.js +1 -1
- package/{form-field.component-BdfK6r2v.js → form-field.component-eH2C_qPG.js} +62 -83
- package/form-field.js +3 -3
- package/form-field.pure.js +3 -3
- package/header/_header.global.scss +108 -0
- package/header/common/header-action-common.js +1 -1
- package/header/header/header.component.js +1 -1
- package/header/header-environment/header-environment.component.js +1 -1
- package/header-action-common-B5M7_3Q1.js +64 -0
- package/{header.component-TU3e89pY.js → header.component-BbdHh5fF.js} +1 -1
- package/header.js +3 -3
- package/header.pure.js +3 -3
- package/icon/icon-base.js +1 -1
- package/icon/icon.component.js +3 -6
- package/{icon-base-CCpB1w3b.js → icon-base-TSCmR5QC.js} +1 -1
- package/icon-sidebar/_icon-sidebar.global.scss +21 -0
- package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
- package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/icon-sidebar.js +3 -3
- package/icon-sidebar.pure.js +3 -3
- package/icon.js +1 -1
- package/icon.pure.js +1 -1
- package/image/image.component.js +1 -1
- package/{image.component-BSSyfPru.js → image.component-K7sre7oE.js} +1 -1
- package/image.js +1 -1
- package/image.pure.js +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/inline-link-common-D0sat0cr.js +13 -0
- package/journey-header/journey-header.component.js +1 -1
- package/journey-header.js +1 -1
- package/journey-header.pure.js +1 -1
- package/lead-container/_lead-container.global.scss +31 -0
- package/lead-container/lead-container.component.js +1 -1
- package/lead-container.js +1 -1
- package/lead-container.pure.js +1 -1
- package/lean-off-brand-theme.css +771 -1017
- package/lean-safety-theme.css +771 -1017
- package/lean-theme.css +771 -1017
- package/{core/styles/mixins/link.scss → link/_link.global.scss} +53 -43
- package/link/common/block-link-common.js +1 -1
- package/link/common/inline-link-common.js +1 -1
- package/link/common/link-common.js +1 -1
- package/link-list/common/link-list-base.js +1 -1
- package/link-list/link-list.component.js +1 -1
- package/link-list-anchor/link-list-anchor.component.js +1 -1
- package/{link-list-anchor.component-DG_HCtHH.js → link-list-anchor.component-as1bjNH1.js} +1 -1
- package/link-list-anchor.js +1 -1
- package/link-list-anchor.pure.js +1 -1
- package/{link-list.component-BNVd0a8U.js → link-list.component-bTG45ml0.js} +2 -2
- package/link-list.js +2 -2
- package/link-list.pure.js +2 -2
- package/link.js +3 -3
- package/link.pure.js +3 -3
- package/loading-indicator/_loading-indicator.global.scss +10 -0
- package/loading-indicator/loading-indicator.component.js +1 -1
- package/loading-indicator-circle/_loading-indicator-circle.global.scss +19 -0
- package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/loading-indicator-circle.js +1 -1
- package/loading-indicator-circle.pure.js +1 -1
- package/loading-indicator.js +1 -1
- package/loading-indicator.pure.js +1 -1
- package/logo/_logo.global.scss +15 -0
- package/logo/logo.component.js +1 -1
- package/logo.js +1 -1
- package/logo.pure.js +1 -1
- package/map-container/_map-container.global.scss +15 -0
- package/map-container/map-container.component.js +1 -1
- package/{map-container.component-DyJBA3qj.js → map-container.component-C2_Miiv0.js} +1 -1
- package/map-container.js +1 -1
- package/map-container.pure.js +1 -1
- package/menu/_menu.global.scss +31 -0
- package/menu/common/menu-action-common.js +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/{menu-action-common-Wy36tk18.js → menu-action-common-_iII6n1T.js} +1 -1
- package/{menu.component-DrrKSRmJ.js → menu.component-CqXIRQq2.js} +25 -21
- package/menu.js +2 -2
- package/menu.pure.js +2 -2
- package/message/_message.global.scss +20 -0
- package/message/message.component.js +1 -1
- package/{message.component-CdfsCpnE.js → message.component-BpQ4ikV6.js} +1 -1
- package/message.js +1 -1
- package/message.pure.js +1 -1
- package/{mini-button-group.component-DQBU0BDm.js → mini-button-group.component-C-pJ_J-1.js} +1 -1
- package/mini-calendar/_mini-calendar.global.scss +15 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
- package/mini-calendar.js +3 -3
- package/mini-calendar.pure.js +3 -3
- package/navigation/_navigation.global.scss +78 -0
- package/navigation/common/navigation-action-common.js +1 -1
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-list/navigation-list.component.js +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/navigation/navigation-section/navigation-section.component.js +1 -1
- package/navigation-action-common-DSPULZFe.js +38 -0
- package/{navigation-list.component-Cezo1tC-.js → navigation-list.component-Bkmh_wqm.js} +1 -1
- package/{navigation-marker.component-CNsMaqpH.js → navigation-marker.component-CCXJWsN1.js} +1 -1
- package/{navigation-section.component-Bmh4Xtrm.js → navigation-section.component-DPgBlCf8.js} +1 -4
- package/{navigation.component-DLgmWh_c.js → navigation.component-CY_9Q6dT.js} +24 -23
- package/navigation.js +5 -5
- package/navigation.pure.js +5 -5
- package/notification/_notification.global.scss +53 -0
- package/notification/notification.component.js +1 -1
- package/notification.js +1 -1
- package/notification.pure.js +1 -1
- package/off-brand-theme.css +770 -1016
- package/{optgroup-base-element-Cxe8SIQh.js → optgroup-base-element-BbxwRc0x.js} +10 -17
- package/option/_option.global.scss +80 -0
- package/option/optgroup/optgroup-base-element.js +1 -1
- package/option/optgroup/optgroup.component.js +1 -1
- package/option/option/option-base-element.js +16 -19
- package/option/option/option.component.js +1 -1
- package/option/option-hint/option-hint.component.js +1 -1
- package/option/option-styles.js +2 -0
- package/option-styles-BmvwR7PD.js +6 -0
- package/{option.component-BeorlZT0.js → option.component-9AlEwsE3.js} +1 -1
- package/option.js +7 -6
- package/option.pure.js +6 -5
- package/overlay/_overlay.global.scss +13 -0
- package/overlay/overlay-base-element.js +25 -31
- package/overlay/overlay.component.js +1 -1
- package/{overlay.component-C80XN61v.js → overlay.component-BvoOK_O-.js} +7 -10
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +5 -49
- package/paginator/_paginator.global.scss +21 -0
- package/paginator/common/paginator-common.js +2 -2
- package/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/paginator/paginator/paginator.component.js +1 -1
- package/{paginator-common-uoCIcl4X.js → paginator-common-Xiv6UZlo.js} +42 -24
- package/paginator.component-buCkeyDv.js +212 -0
- package/paginator.js +5 -5
- package/paginator.pure.js +4 -4
- package/popover/_popover.global.scss +12 -0
- package/popover/popover/popover.component.js +2 -0
- package/popover/popover-base/popover-base.js +2 -0
- package/popover/popover-close-button/popover-close-button.component.js +20 -0
- package/popover-base-DlSa-ajc.js +181 -0
- package/popover.component-BHg4Qtqd.js +158 -0
- package/popover.js +5 -4
- package/popover.pure.js +4 -2
- package/radio-button/_radio-button.global.scss +37 -0
- package/radio-button/common/radio-button-common.js +1 -1
- package/radio-button/radio-button.component.js +1 -1
- package/{radio-button-common-CrIRn10q.js → radio-button-common-OaxGvaS9.js} +15 -15
- package/{radio-button.component-CZ273yAb.js → radio-button.component-DznnXJCN.js} +1 -1
- package/radio-button.js +2 -2
- package/radio-button.pure.js +2 -2
- package/safety-theme.css +770 -1016
- package/select/_select.global.scss +24 -0
- package/select/select.component.js +1 -1
- package/{select.component-CLPLpFDz.js → select.component-Drb7KsP3.js} +43 -41
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/selection-action-panel/_selection-action-panel.global.scss +19 -0
- package/selection-action-panel/selection-action-panel.component.js +1 -1
- package/selection-action-panel.js +1 -1
- package/selection-action-panel.pure.js +1 -1
- package/selection-expansion-panel/_selection-expansion-panel.global.scss +21 -0
- package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/selection-expansion-panel.js +1 -1
- package/selection-expansion-panel.pure.js +1 -1
- package/{selection-group-base-element-COFsU6Ur.js → selection-group-base-element-BcEQ5-ML.js} +1 -4
- package/sidebar/_sidebar.global.scss +81 -0
- package/sidebar/sidebar/sidebar.component.js +1 -1
- package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/sidebar.js +5 -5
- package/sidebar.pure.js +5 -5
- package/signet/_signet.global.scss +16 -0
- package/signet/signet.component.js +1 -1
- package/signet.js +1 -1
- package/signet.pure.js +1 -1
- package/skiplink-list/skiplink-list.component.js +1 -1
- package/{skiplink-list.component-BXaqYpsI.js → skiplink-list.component-Cc6QNvVU.js} +1 -1
- package/skiplink-list.js +1 -1
- package/skiplink-list.pure.js +1 -1
- package/slider/_slider.global.scss +30 -0
- package/slider/slider.component.js +1 -1
- package/{slider.component-BlUWAWJU.js → slider.component-pDx_g7eE.js} +24 -32
- package/slider.js +1 -1
- package/slider.pure.js +1 -1
- package/standard-theme.css +770 -1016
- package/status/_status.global.scss +10 -0
- package/status/status.component.js +1 -1
- package/status.js +1 -1
- package/status.pure.js +1 -1
- package/{step.component-BY6_2Wh2.js → step.component-CcjV_283.js} +23 -8
- package/stepper/_stepper.global.scss +47 -0
- package/stepper/step/step.component.js +2 -2
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper/stepper/stepper.component.js +1 -1
- package/{stepper.component-lh0YSbT1.js → stepper.component-CqClDxL6.js} +20 -3
- package/stepper.js +5 -5
- package/stepper.pure.js +4 -4
- package/{sticky-bar.component-dmlGAZLW.js → sticky-bar.component-DBSVB1lE.js} +1 -1
- package/styles-BwvY_TyZ.js +5 -0
- package/{tab-group.component-t4eeCNf-.js → tab-group.component-Dx0xldWI.js} +27 -2
- package/tab-label.component-C5HCrNFB.js +158 -0
- package/{tab-nav-bar.component-FT2W0urU.js → tab-nav-bar.component-7j-RCq7p.js} +1 -1
- package/table/_table.global.scss +295 -0
- package/table/table-wrapper/table-wrapper.component.js +1 -1
- package/table.js +1 -1
- package/table.pure.js +1 -1
- package/tabs/_tabs.global.scss +61 -0
- package/tabs/common/styles.js +1 -1
- package/tabs/tab/tab.component.js +1 -1
- package/tabs/tab-group/tab-group.component.js +2 -2
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/tabs.js +7 -7
- package/tabs.pure.js +6 -6
- package/tag/_tag.global.scss +41 -0
- package/tag/tag/tag.component.js +1 -1
- package/tag/tag-group/tag-group.component.js +1 -1
- package/{tag-group.component-9UfHHJ79.js → tag-group.component-CJwbkP70.js} +38 -23
- package/{tag.component-BKuxfdDi.js → tag.component-r8diGGP-.js} +14 -5
- package/tag.js +2 -2
- package/tag.pure.js +2 -2
- package/teaser/_teaser.global.scss +51 -0
- package/teaser/teaser.component.js +1 -1
- package/teaser-hero/_teaser-hero.global.scss +29 -0
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/teaser-hero.js +1 -1
- package/teaser-hero.pure.js +1 -1
- package/teaser-panel/_teaser-panel.global.scss +33 -0
- package/teaser-panel/teaser-panel.component.js +1 -1
- package/teaser-panel.js +1 -1
- package/teaser-panel.pure.js +1 -1
- package/teaser-product/_teaser-product.global.scss +52 -0
- package/teaser-product/common/teaser-product-common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product.js +2 -2
- package/teaser-product.pure.js +2 -2
- package/teaser.js +1 -1
- package/teaser.pure.js +1 -1
- package/time-input/_time-input.global.scss +11 -0
- package/time-input/time-input.component.js +1 -1
- package/{time-input.component-Dw8pPYDK.js → time-input.component-j2vUlNKx.js} +15 -8
- package/time-input.js +1 -1
- package/time-input.pure.js +1 -1
- package/timetable-form/_timetable-form.global.scss +107 -0
- package/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/timetable-form.js +4 -4
- package/timetable-form.pure.js +4 -4
- package/timetable-occupancy/_timetable-occupancy.global.scss +10 -0
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/timetable-occupancy-icon.js +1 -1
- package/timetable-occupancy-icon.pure.js +1 -1
- package/{timetable-occupancy.component-DGQ20zH1.js → timetable-occupancy.component-B040dznI.js} +17 -13
- package/timetable-occupancy.js +1 -1
- package/timetable-occupancy.pure.js +1 -1
- package/title/_title.global.scss +16 -0
- package/title/title-base.js +1 -1
- package/title/title.component.js +1 -1
- package/{title-base-JBhKD3ur.js → title-base-DWrwrsx4.js} +1 -1
- package/{title.component-VnTeqomb.js → title.component-BZ0nVpam.js} +2 -2
- package/title.js +2 -2
- package/title.pure.js +2 -2
- package/toast/_toast.global.scss +18 -0
- package/toast/toast.component.js +1 -1
- package/{toast.component-BMN90Ouu.js → toast.component-Dlr0Koxu.js} +6 -7
- package/toast.js +1 -1
- package/toast.pure.js +1 -1
- package/toggle/_toggle.global.scss +48 -0
- package/toggle/toggle/toggle.component.js +1 -1
- package/toggle/toggle-option/toggle-option.component.js +1 -1
- package/toggle-check/_toggle-check.global.scss +32 -0
- package/toggle-check/toggle-check.component.js +1 -1
- package/toggle-check.js +1 -1
- package/toggle-check.pure.js +1 -1
- package/toggle.js +2 -2
- package/toggle.pure.js +2 -2
- package/tooltip/_tooltip.global.scss +20 -0
- package/tooltip/tooltip.component.js +1 -1
- package/{tooltip.component-NfyDxfw7.js → tooltip.component-BLzyft0C.js} +25 -25
- package/tooltip.js +1 -1
- package/tooltip.pure.js +1 -1
- package/train/_train.global.scss +66 -0
- package/train/train/train.component.js +1 -1
- package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/train/train-formation/train-formation.component.js +1 -1
- package/train/train-wagon-common.js +1 -1
- package/{train-formation.component-DVxNBPIB.js → train-formation.component-Di5d_G5x.js} +1 -1
- package/{train-wagon-common-CDCsWVgi.js → train-wagon-common-HuRuHdNZ.js} +1 -1
- package/{train.component-DxadS7O8.js → train.component-Dwp6ltDo.js} +1 -1
- package/train.js +4 -4
- package/train.pure.js +4 -4
- package/visual-checkbox/_visual-checkbox.global.scss +38 -0
- package/visual-checkbox/visual-checkbox.component.js +1 -1
- package/visual-checkbox.js +1 -1
- package/visual-checkbox.pure.js +1 -1
- package/a11y.css +0 -20
- package/action-group.component-BMYAFyHh.js +0 -156
- package/animation.css +0 -14
- package/badge.css +0 -32
- package/calendar-cell-base-element-CUG1qYFb.js +0 -23
- package/calendar.component-oS_T4s4k.js +0 -1065
- package/core/decorators/host-attributes.js +0 -17
- package/core/eventing/composed-path-has-attribute.js +0 -7
- package/core/eventing/throttle.js +0 -11
- package/core/styles/badge.scss +0 -3
- package/core/styles/core.scss +0 -651
- package/core/styles/layout.scss +0 -20
- package/core/styles/mixins/buttons.scss +0 -12
- package/core/styles/mixins/dev_and_debug.scss +0 -8
- package/core/styles/mixins/image.scss +0 -43
- package/core/styles/mixins/inputs.scss +0 -11
- package/core/styles/mixins/panel.scss +0 -80
- package/core/styles/mixins/popover.scss +0 -14
- package/core/styles/mixins/table.scss +0 -185
- package/core/styles/mixins/timetable-form.scss +0 -63
- package/core/styles/mixins/typo.scss +0 -237
- package/core/styles/option-panel-common.global.scss +0 -11
- package/core/styles/option-panel-common.scss +0 -157
- package/core/styles/theme.scss +0 -20
- package/core/styles/timetable-form.scss +0 -27
- package/core/styles/typography.private.scss +0 -9
- package/core.css +0 -2713
- package/development/action-group.component-wgXPpkQe.js +0 -215
- package/development/autocomplete-base-element-DQiZ6hhk.js +0 -683
- package/development/block-link-common-DNvRfeay.js +0 -99
- package/development/breadcrumb-group.component-BUBfl6LV.js +0 -193
- package/development/breadcrumb.component-D6Cd2FPo.js +0 -34
- package/development/calendar-cell-base-element-mWRSDeWc.js +0 -38
- package/development/calendar-day.component-BHvdRxll.js +0 -139
- package/development/calendar.component-CjlcDyS5.js +0 -1450
- package/development/carousel-list.component-DpDh5tqB.js +0 -133
- package/development/carousel.component-ClWvnZ8s.js +0 -139
- package/development/chip-group.component-Sgmi-kSy.js +0 -403
- package/development/core/decorators/host-attributes.d.ts +0 -22
- package/development/core/decorators/host-attributes.d.ts.map +0 -1
- package/development/core/decorators/host-attributes.js +0 -41
- package/development/core/eventing/composed-path-has-attribute.d.ts +0 -10
- package/development/core/eventing/composed-path-has-attribute.d.ts.map +0 -1
- package/development/core/eventing/composed-path-has-attribute.js +0 -19
- package/development/core/eventing/throttle.d.ts +0 -3
- package/development/core/eventing/throttle.d.ts.map +0 -1
- package/development/core/eventing/throttle.js +0 -18
- package/development/core/interfaces/overlay-close-details.d.ts +0 -6
- package/development/core/interfaces/overlay-close-details.d.ts.map +0 -1
- package/development/date-input.component-HxRyCudr.js +0 -302
- package/development/dialog-title.component-0uNsUR2C.js +0 -29
- package/development/error.component-WCkiwM7_.js +0 -53
- package/development/expansion-panel.component-DptYMbwV.js +0 -317
- package/development/file-selector-common-CGL95Rnw.js +0 -412
- package/development/flip-card.component-DujrPKzU.js +0 -185
- package/development/form-field.component-CPWBCHer.js +0 -702
- package/development/header-action-common-Be0XQge2.js +0 -86
- package/development/header.component-C4e7CNql.js +0 -334
- package/development/icon-base-DrBHy9BT.js +0 -163
- package/development/inline-link-common-gmt6yz3v.js +0 -18
- package/development/journey-header.component-CA4juz9x.js +0 -146
- package/development/link-common-2RGn9Qz_.js +0 -26
- package/development/link-list.component-B90qHOUD.js +0 -97
- package/development/map-container.component-D0UVTolK.js +0 -176
- package/development/menu-action-common-DRXQc85Y.js +0 -32
- package/development/menu.component-Cv9wRj4H.js +0 -365
- package/development/mini-button-link.component-kpRsi8I2.js +0 -39
- package/development/navigation-action-common-fkYNyX19.js +0 -56
- package/development/navigation-list.component-Dvv-bZ2V.js +0 -86
- package/development/navigation-marker.component-DMqe-VlY.js +0 -120
- package/development/navigation-section.component-iaypc6yQ.js +0 -346
- package/development/navigation.component-CqNkBvEs.js +0 -315
- package/development/optgroup-base-element-CLfE6pmz.js +0 -147
- package/development/option.component-CV6cZnJe.js +0 -131
- package/development/paginator-common-BCeNUko_.js +0 -410
- package/development/paginator.component-BwLUSpDj.js +0 -261
- package/development/popover/popover.component.d.ts +0 -111
- package/development/popover/popover.component.d.ts.map +0 -1
- package/development/popover/popover.component.js +0 -2
- package/development/popover.component-BmTfHMFw.js +0 -564
- package/development/radio-button-common-G0jLFo41.js +0 -129
- package/development/select.component-CUjF11sq.js +0 -807
- package/development/selection-expansion-panel.component-BT78Qhbf.js +0 -186
- package/development/selection-group-base-element-DRT3Ctp2.js +0 -152
- package/development/sidebar-container.component-CxwDKxv9.js +0 -100
- package/development/skiplink-list.component-m7xm-pns.js +0 -129
- package/development/slider.component-D_nLTlRF.js +0 -346
- package/development/step-label.component-Bo7Z0w7N.js +0 -127
- package/development/step.component-CcjtUFyR.js +0 -155
- package/development/stepper.component-80S-oXrH.js +0 -422
- package/development/styles-Cctez2BS.js +0 -22
- package/development/tab-group.component-D4fvd6Uu.js +0 -265
- package/development/tab-label.component-CNX8bsJL.js +0 -235
- package/development/tab-nav-bar.component-B_mi8GGR.js +0 -109
- package/development/tag-group.component-Db8prSBL.js +0 -194
- package/development/tag.component-DG1uxD28.js +0 -238
- package/development/teaser-product.component-DMyuB-cH.js +0 -37
- package/development/teaser.component-CF_NUbwJ.js +0 -116
- package/development/time-input.component-XxzRoupm.js +0 -187
- package/development/timetable-occupancy-icon.component-UBmyZsTO.js +0 -95
- package/development/timetable-occupancy.component-DMm242Fr.js +0 -122
- package/development/title-base-D_Rjyk_j.js +0 -102
- package/development/title.component-CMxYhTfw.js +0 -71
- package/development/toggle.component-B03k5qc1.js +0 -243
- package/development/tooltip.component-D8zik3p4.js +0 -369
- package/development/train-wagon-common-Dg-BjUtC.js +0 -441
- package/development/train.component-dECIGw2x.js +0 -239
- package/header-action-common-DuPx0U2o.js +0 -64
- package/inline-link-common-BqqH1ExY.js +0 -13
- package/layout.css +0 -30
- package/lists.css +0 -194
- package/navigation-action-common-x7PMfho0.js +0 -38
- package/normalize.css +0 -95
- package/paginator.component-DB8l-B6J.js +0 -208
- package/popover/popover.component.js +0 -2
- package/popover.component-DJruKzY-.js +0 -373
- package/scrollbar.css +0 -124
- package/styles-DAMaYe4p.js +0 -5
- package/tab-label.component-DvvSohaG.js +0 -157
- package/table.css +0 -267
- package/timetable-form.css +0 -73
- package/typography.css +0 -67
- /package/{accordion.component-DbuSYzV1.js → accordion.component-ClJHZh_N.js} +0 -0
- /package/{alert-group.component-BqJ6B49z.js → alert-group.component-Ck1kYZb4.js} +0 -0
- /package/{alert.component-DN7sW2NC.js → alert.component-B8EGWmcc.js} +0 -0
- /package/{breadcrumb.component-Kk1U6Iju.js → breadcrumb.component-CC8MxtJj.js} +0 -0
- /package/{button-common-BQdNXKwl.js → button-common-Br6zOEgv.js} +0 -0
- /package/{card-action-common-BNdGcJl-.js → card-action-common-DRSSDHqY.js} +0 -0
- /package/{card-badge.component-BLAK_y8x.js → card-badge.component-B-uJVrxT.js} +0 -0
- /package/{card.component-WUQRK9jT.js → card.component-Bwuv9ur1.js} +0 -0
- /package/{chip-label.component-BLbhqUAp.js → chip-label.component-DVUxt7Sk.js} +0 -0
- /package/{chip.component-gcvF3pEX.js → chip.component-SLuNizyV.js} +0 -0
- /package/{clock.component-Cqrl999I.js → clock.component-gnEqkZ4T.js} +0 -0
- /package/{compact-paginator.component-BAuShgQE.js → compact-paginator.component-CmPlZsd4.js} +0 -0
- /package/{container.component-sQtiqWxT.js → container.component-DJgFIJ0b.js} +0 -0
- /package/core/styles/{disable-animation.scss → disable-animation-extension.scss} +0 -0
- /package/core/styles/{core → features}/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -0
- /package/core/styles/{normalize.scss → features/normalize.scss} +0 -0
- /package/core/styles/{scrollbar.private.scss → features/scrollbar.private.scss} +0 -0
- /package/core/styles/mixins/{animation.scss → _animation.scss} +0 -0
- /package/core/styles/mixins/{font-face.scss → _font-face.scss} +0 -0
- /package/core/styles/{core/mediaqueries.scss → mixins/_mediaqueries.scss} +0 -0
- /package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss → mixins/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss} +0 -0
- /package/{dialog-actions.component-DxmjSvd-.js → dialog-actions.component-CHFJ8HjT.js} +0 -0
- /package/{dialog-close-button.component-B8troaaQ.js → dialog-close-button.component-CV55ej8Q.js} +0 -0
- /package/{dialog-content.component-Chfg-IY1.js → dialog-content.component-D7SeDETW.js} +0 -0
- /package/{dialog-title.component-BbcbQXjp.js → dialog-title.component-DP7l1zQE.js} +0 -0
- /package/{disable-animation.css → disable-animation-extension.css} +0 -0
- /package/{divider.component-WsZcNUnN.js → divider.component-wL7Cw3YB.js} +0 -0
- /package/{element-C7t5_1gu.js → element-CvshSA3k.js} +0 -0
- /package/{error.component-D9Tu2YIl.js → error.component-D0rmgyFk.js} +0 -0
- /package/{expansion-panel-content.component-WG1cwhjd.js → expansion-panel-content.component-Dm761peO.js} +0 -0
- /package/{expansion-panel-header.component-CnUqRql_.js → expansion-panel-header.component-Cli4Qy1p.js} +0 -0
- /package/{flip-card-details.component-BgOeJ53R.js → flip-card-details.component-D4C0Fde7.js} +0 -0
- /package/{flip-card-summary.component-D5cKgj47.js → flip-card-summary.component-ZvTeHtPV.js} +0 -0
- /package/{footer.component-DsIoOLu-.js → footer.component-x4yuXpWV.js} +0 -0
- /package/{header-environment.component-B0VYZh7C.js → header-environment.component-Diy44YpD.js} +0 -0
- /package/{hint.component-DTKfI9tq.js → hint.component-BZZJXuHG.js} +0 -0
- /package/{icon-sidebar-container.component-CDBkiGlz.js → icon-sidebar-container.component-CYVyqKnZ.js} +0 -0
- /package/{icon-sidebar-content.component-CN4Que2a.js → icon-sidebar-content.component-C5ZspZQk.js} +0 -0
- /package/{icon-sidebar.component-DA2cmcyy.js → icon-sidebar.component-BkqYbGHz.js} +0 -0
- /package/{journey-header.component-CXyULeHJ.js → journey-header.component-Ct9LmhWY.js} +0 -0
- /package/{lead-container.component-CdfHJFFN.js → lead-container.component-Fv9F5Yh4.js} +0 -0
- /package/{link-common-ezSu7e9c.js → link-common-C4Jbge1L.js} +0 -0
- /package/{link-list-base-C12PTC8e.js → link-list-base-Dgu0yeTL.js} +0 -0
- /package/{loading-indicator-circle.component-CSU2Ludy.js → loading-indicator-circle.component-BSdKx0eK.js} +0 -0
- /package/{loading-indicator.component-DxyhIaFo.js → loading-indicator.component-B2cGE1Mj.js} +0 -0
- /package/{logo.component-DVMNS8Op.js → logo.component-BOxQbVu9.js} +0 -0
- /package/{mini-button-link.component-B8HmvVCg.js → mini-button-link.component-MBesHG--.js} +0 -0
- /package/{mini-calendar-day.component-CVYqN3Yn.js → mini-calendar-day.component-UvIp06lc.js} +0 -0
- /package/{mini-calendar-month.component-DbiqMOH8.js → mini-calendar-month.component-BZV7QSlC.js} +0 -0
- /package/{mini-calendar.component-BKzbqHim.js → mini-calendar.component-B6EGO9bp.js} +0 -0
- /package/{notification.component-CDGtGwRv.js → notification.component-IRuswhzC.js} +0 -0
- /package/{option-hint.component-NSxCKXEy.js → option-hint.component-CUf2d2d5.js} +0 -0
- /package/{panel-mixin-XQXElTGt.js → panel-mixin-CG-f0J6K.js} +0 -0
- /package/{sbb-tokens-BBic3kP6.js → sbb-tokens-C-MoUcho.js} +0 -0
- /package/{selection-action-panel.component-DCGJQ3Mx.js → selection-action-panel.component-m13MKp44.js} +0 -0
- /package/{selection-expansion-panel.component-Cu1egfTY.js → selection-expansion-panel.component-BMI-n5Xc.js} +0 -0
- /package/{sidebar-close-button.component-8owwjvk3.js → sidebar-close-button.component-BoOFzuBn.js} +0 -0
- /package/{sidebar-container.component-Dcke-Uhr.js → sidebar-container.component-BFm6HnIu.js} +0 -0
- /package/{sidebar-content.component-CYupfsq_.js → sidebar-content.component-DFLqVK-O.js} +0 -0
- /package/{sidebar-title.component-Cf64lCJx.js → sidebar-title.component-4B18yGLO.js} +0 -0
- /package/{sidebar.component-LaqQzMo2.js → sidebar.component-VL6TFd9H.js} +0 -0
- /package/{signet.component-3Xfke8uk.js → signet.component-DoXHpxDU.js} +0 -0
- /package/{status.component-mel7wA1j.js → status.component-Cg671ic2.js} +0 -0
- /package/{step-label.component-BGSaHafq.js → step-label.component-olqRA-s7.js} +0 -0
- /package/{styles-DisU4TWi.js → styles-DGAxTLMz.js} +0 -0
- /package/{tab.component-D6hfhlZw.js → tab.component-C5xxMwwX.js} +0 -0
- /package/{table-wrapper.component-C83EYuZP.js → table-wrapper.component-BzmzJJim.js} +0 -0
- /package/{teaser-hero.component-mv6HL4vm.js → teaser-hero.component-BNV8sgb6.js} +0 -0
- /package/{teaser-panel.component-qRmy2lbz.js → teaser-panel.component-Bfhra0zG.js} +0 -0
- /package/{teaser-product-common-J1KZ2Hlw.js → teaser-product-common-D7kWWxU-.js} +0 -0
- /package/{teaser-product.component-BcleFVcu.js → teaser-product.component-DHu47PGd.js} +0 -0
- /package/{teaser.component-BOqCERR7.js → teaser.component-CkIii0_d.js} +0 -0
- /package/{timetable-form-details.component-0c6h6shd.js → timetable-form-details.component-BTRh4w9g.js} +0 -0
- /package/{timetable-form-field.component-Cya8n2Ms.js → timetable-form-field.component-BPKgSLQb.js} +0 -0
- /package/{timetable-form-swap-button.component-rI_0UYJw.js → timetable-form-swap-button.component-DgUiFKbA.js} +0 -0
- /package/{timetable-form.component-DVps6baq.js → timetable-form.component-Crq-rb5Z.js} +0 -0
- /package/{timetable-occupancy-icon.component-ABh1bz-X.js → timetable-occupancy-icon.component-9RhBPwBN.js} +0 -0
- /package/{toggle-check.component-BcQ5ht0O.js → toggle-check.component-BNGDAvXJ.js} +0 -0
- /package/{toggle-option.component-DQcPDXyl.js → toggle-option.component-UXno4hFd.js} +0 -0
- /package/{toggle.component-DARkqJol.js → toggle.component-Cz3OnOMI.js} +0 -0
- /package/{train-blocked-passage.component-B601YYJl.js → train-blocked-passage.component-Bk_YvTRh.js} +0 -0
- /package/{visual-checkbox.component-YhX5Qk3j.js → visual-checkbox.component-CPIhZcmN.js} +0 -0
|
@@ -140,10 +140,7 @@ var SbbDialogElement = (() => {
|
|
|
140
140
|
this.removeInstanceFromGlobalCollection();
|
|
141
141
|
if (!overlayRefs.length) this.scrollHandler.enableScroll();
|
|
142
142
|
this.escapableOverlayController.disconnect();
|
|
143
|
-
this.dispatchCloseEvent(
|
|
144
|
-
returnValue: this.returnValue,
|
|
145
|
-
closeTarget: this.overlayCloseElement
|
|
146
|
-
});
|
|
143
|
+
this.dispatchCloseEvent();
|
|
147
144
|
}
|
|
148
145
|
handleOpening() {
|
|
149
146
|
this.state = "opened";
|
|
@@ -186,21 +183,21 @@ var SbbDialogElement = (() => {
|
|
|
186
183
|
_contentElement() {
|
|
187
184
|
return this.querySelector("sbb-dialog-content");
|
|
188
185
|
}
|
|
189
|
-
dispatchBeforeCloseEvent(
|
|
186
|
+
dispatchBeforeCloseEvent() {
|
|
190
187
|
/** @type {SbbDialogCloseEvent} Emits whenever the component begins the closing transition. Can be canceled. */
|
|
191
188
|
return this.dispatchEvent(new SbbOverlayCloseEvent("beforeclose", {
|
|
192
189
|
cancelable: true,
|
|
193
190
|
closeAttribute: this.closeAttribute,
|
|
194
|
-
closeTarget: this.
|
|
195
|
-
result: this.
|
|
191
|
+
closeTarget: this.lastClosedTarget,
|
|
192
|
+
result: this.lastResult
|
|
196
193
|
}));
|
|
197
194
|
}
|
|
198
|
-
dispatchCloseEvent(
|
|
195
|
+
dispatchCloseEvent() {
|
|
199
196
|
/** @type {SbbDialogCloseEvent} Emits whenever the component is closed. */
|
|
200
197
|
return this.dispatchEvent(new SbbOverlayCloseEvent("close", {
|
|
201
198
|
closeAttribute: this.closeAttribute,
|
|
202
|
-
closeTarget: this.
|
|
203
|
-
result: this.
|
|
199
|
+
closeTarget: this.lastClosedTarget,
|
|
200
|
+
result: this.lastResult
|
|
204
201
|
}));
|
|
205
202
|
}
|
|
206
203
|
render() {
|
|
@@ -227,4 +224,4 @@ var SbbDialogElement = (() => {
|
|
|
227
224
|
//#endregion
|
|
228
225
|
export { SbbDialogElement as n, assignDialogResult as r, SbbDialogCloseEvent as t };
|
|
229
226
|
|
|
230
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1BSXRCOGl4Ry5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xufVxuXG46aG9zdCg6c3RhdGUodG9wLXNoYWRvdykpIHtcbiAgLS1zYmItZGlhbG9nLWJsb2NrLXN0YXJ0LWJveC1zaGFkb3c6IHZhcigtLV9zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSkpIHtcbiAgLS1zYmItZGlhbG9nLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0LWJsb2NrOiAwO1xuICAtLXNiYi1kaWFsb2ctaW5zZXQtaW5saW5lOiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gIGluc2V0LWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1pbmxpbmUpO1xuXG4gIC8vIERpYWxvZyBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZpc2liaWxpdHk6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtdmlzaWJpbGl0eSk7XG4gICAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZGlhbG9nLWluc2V0LWlubGluZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWRpYWxvZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBpbnNldC1ibG9jazogYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWRpYWxvZy1ib3JkZXItcmFkaXVzKSAwIDA7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgICB3aWR0aDogdmFyKC0tc2JiLWRpYWxvZy13aWR0aCk7XG4gICAgaW5zZXQ6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG4uc2JiLWRpYWxvZ19fd3JhcHBlciB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctbWF4LWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIHdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG46aG9zdCg6bm90KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSkgLnNiYi1kaWFsb2dfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgICd0aXRsZSBjbG9zZS1idXR0b24nIGF1dG9cbiAgICAnY29udGVudCBjb250ZW50JyAxZnJcbiAgICAnYWN0aW9ucyBhY3Rpb25zJyBhdXRvIC8gMWZyIGF1dG87XG4gIGdhcDogMDtcbn1cblxuLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIHVzZSBhbmltYXRpb25zIHdpdGgga2V5ZnJhbWVzIGluc3RlYWQgb2YgdHJhbnNpdGlvbnMgaW4gb3JkZXIgbm90IHRvIGFsdGVyXG4vLyB0aGUgZGVmYXVsdCBgZGlzcGxheTogYmxvY2tgIG9mIHRoZSBtb2RhbCBvdGhlcndpc2UgaXQgY2F1c2VzIHNldmVyYWwgcHJvYmxlbXMsXG4vLyBlc3BlY2lhbGx5IGZvciBhY2Nlc3NpYmlsaXR5LlxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLWRpYWxvZy10cmFuc2xhdGUteSwgMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItZGlhbG9nLXRyYW5zbGF0ZS15LCAxMDAlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIHNjcmVlblJlYWRlck9ubHlTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIG92ZXJsYXlSZWZzLFxuICBTYmJPdmVybGF5QmFzZUVsZW1lbnQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IHtcbiAgYXNzaWduT3ZlcmxheVJlc3VsdCBhcyBhc3NpZ25EaWFsb2dSZXN1bHQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgYSBgc2JiLWRpYWxvZy10aXRsZWAsIGBzYmItZGlhbG9nLWNvbnRlbnRgIGFuZCBhbiBvcHRpb25hbCBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3NjcmVlblJlYWRlck9ubHlTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID1cbiAgICAnY2xvc2UnO1xuXG4gIC8qKiBCYWNrZHJvcCBkZW5zaXR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wOlxuICAgIHwgJ29wYXF1ZSdcbiAgICB8ICd0cmFuc2x1Y2VudCcgPSAnb3BhcXVlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfZGlhbG9nRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNsb3NlVGFnOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEFubm91bmNlIHRoZSBhY2Nlc3NpYmlsaXR5IGxhYmVsIG9yIGRpYWxvZyB0aXRsZSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4gIHB1YmxpYyBhbm5vdW5jZVRpdGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXJpYUxpdmVSZWZDb250ZW50KFxuICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk/LnRleHRDb250ZW50LnRyaW0oKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuXG4gICAgY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcblxuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICBpZiAoIXRoaXMuc2tpcEZvY3VzUmVzdG9yYXRpb24pIHtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAoY29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5ob3N0RGlzY29ubmVjdGVkKCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFubm91bmNlVGl0bGUoKSk7XG5cbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG4gICAgaWYgKGNvbnRlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50RWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIElmIHRoZSBjb21wb25lbnQgaXMgYWxyZWFkeSBvcGVuIG9uIGZpcnN0VXBkYXRlLCBhbm5vdW5jZSB0aGUgdGl0bGVcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuYW5ub3VuY2VUaXRsZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIHRoaXMuX2RldGVjdEludGVybWVkaWF0ZUVsZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNUaXRsZU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctdGl0bGUnKTtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbicpO1xuXG4gICAgaWYgKGRpYWxvZ1RpdGxlKSB7XG4gICAgICBkaWFsb2dUaXRsZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICBjbG9zZUJ1dHRvbi5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0SW50ZXJtZWRpYXRlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNOb0V4cGVjdGVkRGlyZWN0Q2hpbGRyZW4gPVxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnOnNjb3BlID4gOmlzKHNiYi1kaWFsb2ctdGl0bGUsIHNiYi1kaWFsb2ctY2xvc2UtYnV0dG9uLCBzYmItZGlhbG9nLWNvbnRlbnQsIHNiYi1kaWFsb2ctYWN0aW9ucyknLFxuICAgICAgKSA9PT0gbnVsbDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2hhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCcsIGhhc05vRXhwZWN0ZWREaXJlY3RDaGlsZHJlbik7XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3BBY3Rpb24gIT09ICdjbG9zZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyA9XG4gICAgICAhIXRoaXMuX2RpYWxvZ0VsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcy5fZGlhbG9nRWxlbWVudCk7XG4gIH07XG5cbiAgLyoqIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay4gKi9cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuYmFja2Ryb3BBY3Rpb24gPT09ICdjbG9zZScgJiZcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyAmJlxuICAgICAgdGhpcy5fZGlhbG9nRWxlbWVudCAmJlxuICAgICAgIWV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZU92ZXJmbG93U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3RvcC1zaGFkb3cnLCAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSA+IDApO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnYm90dG9tLXNoYWRvdycsXG4gICAgICAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSArIChjb250ZW50RWxlbWVudD8ub2Zmc2V0SGVpZ2h0ID8/IDApIDxcbiAgICAgICAgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxIZWlnaHQgPz8gMCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRlbnRFbGVtZW50KCk6IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy1jb250ZW50Jyk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiRGlhbG9nQ2xvc2VFdmVudH0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnYmVmb3JlY2xvc2UnLCB7XG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHBhcmFtZXRlciBgZGV0YWlsYFxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlzcGF0Y2hDbG9zZUV2ZW50KF9kZXRhaWw/OiBTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnY2xvc2UnLCB7XG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nRWxlbWVudCA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7KCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZSgpfT48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZyc6IFNiYkRpYWxvZ0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDOEJhLDBCQUFnQjttQkFBUzs7Ozs7OztjQUF6Qix5QkFBeUIsWUFBcUI7OztpQ0FLeEQsU0FBUyxFQUFFLFdBQVcsbUJBQW1CLENBQUMsQ0FBQTsyQkFJMUMsU0FBUztJQUFFLFdBQVc7SUFBWSxTQUFTO0lBQU0sQ0FBQyxDQUFBO0dBSlAsYUFBQSxNQUFBLE1BQUEsNEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxvQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFjLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBZCxpQkFBYzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDhCQUFBLGtDQUFBO0dBSXRCLGFBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7Ozs7Ozs7OztHQVI1QyxLQUFBLGNBQXNCOzs7R0FDL0IsS0FBQSxTQUF5QixDQUFDLHdCQUF3QixVQUFVLGVBQU0sQ0FBQzs7RUFHOUM7O0VBQUEsSUFBZ0IsaUJBQWM7R0FBQSxPQUFBLEtBQUE7O0VBQTlCLElBQWdCLGVBQWMsT0FBQTtHQUFBLEtBQUEsbUNBQUE7O0VBSXRCOztF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
|
|
227
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1CMVRrZTJ5bS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xufVxuXG46aG9zdCg6c3RhdGUodG9wLXNoYWRvdykpIHtcbiAgLS1zYmItZGlhbG9nLWJsb2NrLXN0YXJ0LWJveC1zaGFkb3c6IHZhcigtLV9zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSkpIHtcbiAgLS1zYmItZGlhbG9nLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0LWJsb2NrOiAwO1xuICAtLXNiYi1kaWFsb2ctaW5zZXQtaW5saW5lOiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gIGluc2V0LWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1pbmxpbmUpO1xuXG4gIC8vIERpYWxvZyBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZpc2liaWxpdHk6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtdmlzaWJpbGl0eSk7XG4gICAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZGlhbG9nLWluc2V0LWlubGluZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWRpYWxvZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBpbnNldC1ibG9jazogYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWRpYWxvZy1ib3JkZXItcmFkaXVzKSAwIDA7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIG91dGxpbmU6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLWhlaWdodCk7XG4gICAgd2lkdGg6IHZhcigtLXNiYi1kaWFsb2ctd2lkdGgpO1xuICAgIGluc2V0OiB1bnNldDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZGlhbG9nLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGhhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCkpIDo6c2xvdHRlZCg6Zmlyc3QtY2hpbGQpLFxuLnNiYi1kaWFsb2dfX3dyYXBwZXIge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICB3aWR0aDogdmFyKC0tc2JiLWRpYWxvZy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLWhlaWdodCk7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGhhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCkpIDo6c2xvdHRlZCg6Zmlyc3QtY2hpbGQpLFxuOmhvc3QoOm5vdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkpIC5zYmItZGlhbG9nX193cmFwcGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAndGl0bGUgY2xvc2UtYnV0dG9uJyBhdXRvXG4gICAgJ2NvbnRlbnQgY29udGVudCcgMWZyXG4gICAgJ2FjdGlvbnMgYWN0aW9ucycgYXV0byAvIDFmciBhdXRvO1xuICBnYXA6IDA7XG59XG5cbi8vIEl0IGlzIG5lY2Vzc2FyeSB0byB1c2UgYW5pbWF0aW9ucyB3aXRoIGtleWZyYW1lcyBpbnN0ZWFkIG9mIHRyYW5zaXRpb25zIGluIG9yZGVyIG5vdCB0byBhbHRlclxuLy8gdGhlIGRlZmF1bHQgYGRpc3BsYXk6IGJsb2NrYCBvZiB0aGUgbW9kYWwgb3RoZXJ3aXNlIGl0IGNhdXNlcyBzZXZlcmFsIHByb2JsZW1zLFxuLy8gZXNwZWNpYWxseSBmb3IgYWNjZXNzaWJpbGl0eS5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1kaWFsb2ctdHJhbnNsYXRlLXksIDEwMCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLWRpYWxvZy10cmFuc2xhdGUteSwgMTAwJSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIHNjcmVlblJlYWRlck9ubHlTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIG92ZXJsYXlSZWZzLFxuICBTYmJPdmVybGF5QmFzZUVsZW1lbnQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IHtcbiAgYXNzaWduT3ZlcmxheVJlc3VsdCBhcyBhc3NpZ25EaWFsb2dSZXN1bHQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgYSBgc2JiLWRpYWxvZy10aXRsZWAsIGBzYmItZGlhbG9nLWNvbnRlbnRgIGFuZCBhbiBvcHRpb25hbCBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3NjcmVlblJlYWRlck9ubHlTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID1cbiAgICAnY2xvc2UnO1xuXG4gIC8qKiBCYWNrZHJvcCBkZW5zaXR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wOlxuICAgIHwgJ29wYXF1ZSdcbiAgICB8ICd0cmFuc2x1Y2VudCcgPSAnb3BhcXVlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfZGlhbG9nRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNsb3NlVGFnOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEFubm91bmNlIHRoZSBhY2Nlc3NpYmlsaXR5IGxhYmVsIG9yIGRpYWxvZyB0aXRsZSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4gIHB1YmxpYyBhbm5vdW5jZVRpdGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXJpYUxpdmVSZWZDb250ZW50KFxuICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk/LnRleHRDb250ZW50LnRyaW0oKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuXG4gICAgY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcblxuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICBpZiAoIXRoaXMuc2tpcEZvY3VzUmVzdG9yYXRpb24pIHtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAoY29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5ob3N0RGlzY29ubmVjdGVkKCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICAvLyBVc2UgdGltZW91dCB0byByZWFkIGxhYmVsIGFmdGVyIGZvY3VzZWQgZWxlbWVudFxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbm5vdW5jZVRpdGxlKCkpO1xuXG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuICAgIGlmIChjb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGVudEVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJZiB0aGUgY29tcG9uZW50IGlzIGFscmVhZHkgb3BlbiBvbiBmaXJzdFVwZGF0ZSwgYW5ub3VuY2UgdGhlIHRpdGxlXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmFubm91bmNlVGl0bGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fc3luY1RpdGxlTmVnYXRpdmUoKTtcbiAgICB0aGlzLl9kZXRlY3RJbnRlcm1lZGlhdGVFbGVtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jVGl0bGVOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dUaXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLXRpdGxlJyk7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3I/Lignc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nKTtcblxuICAgIGlmIChkaWFsb2dUaXRsZSkge1xuICAgICAgZGlhbG9nVGl0bGUubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH1cblxuICAgIGlmIChjbG9zZUJ1dHRvbikge1xuICAgICAgY2xvc2VCdXR0b24ubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdEludGVybWVkaWF0ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgaGFzTm9FeHBlY3RlZERpcmVjdENoaWxkcmVuID1cbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJzpzY29wZSA+IDppcyhzYmItZGlhbG9nLXRpdGxlLCBzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbiwgc2JiLWRpYWxvZy1jb250ZW50LCBzYmItZGlhbG9nLWFjdGlvbnMpJyxcbiAgICAgICkgPT09IG51bGw7XG5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQnLCBoYXNOb0V4cGVjdGVkRGlyZWN0Q2hpbGRyZW4pO1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBkaWFsb2cuICovXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgPVxuICAgICAgISF0aGlzLl9kaWFsb2dFbGVtZW50ICYmIGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpO1xuICB9O1xuXG4gIC8qKiBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2suICovXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmJhY2tkcm9wQWN0aW9uID09PSAnY2xvc2UnICYmXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgJiZcbiAgICAgIHRoaXMuX2RpYWxvZ0VsZW1lbnQgJiZcbiAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF91cGRhdGVPdmVyZmxvd1N0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRlbnRFbGVtZW50ID0gdGhpcy5fY29udGVudEVsZW1lbnQoKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCd0b3Atc2hhZG93JywgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxUb3AgPz8gMCkgPiAwKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ2JvdHRvbS1zaGFkb3cnLFxuICAgICAgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxUb3AgPz8gMCkgKyAoY29udGVudEVsZW1lbnQ/Lm9mZnNldEhlaWdodCA/PyAwKSA8XG4gICAgICAgIChjb250ZW50RWxlbWVudD8uc2Nyb2xsSGVpZ2h0ID8/IDApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb250ZW50RWxlbWVudCgpOiBTYmJEaWFsb2dDb250ZW50RWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctY29udGVudCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYkRpYWxvZ0Nsb3NlRXZlbnQoJ2JlZm9yZWNsb3NlJywge1xuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBjbG9zZUF0dHJpYnV0ZTogdGhpcy5jbG9zZUF0dHJpYnV0ZSxcbiAgICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMubGFzdENsb3NlZFRhcmdldCxcbiAgICAgICAgcmVzdWx0OiB0aGlzLmxhc3RSZXN1bHQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnY2xvc2UnLCB7XG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5sYXN0Q2xvc2VkVGFyZ2V0LFxuICAgICAgICByZXN1bHQ6IHRoaXMubGFzdFJlc3VsdCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLm9uT3ZlcmxheUFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9kaWFsb2dFbGVtZW50ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHsoKSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlKCl9Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPjwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nJzogU2JiRGlhbG9nRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM2QmEsMEJBQWdCO21CQUFTOzs7Ozs7O2NBQXpCLHlCQUF5QixZQUFxQjs7O2lDQUt4RCxTQUFTLEVBQUUsV0FBVyxrQkFBaUIsQ0FBRSxDQUFDOzJCQUkx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
|
package/development/dialog.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as SbbDialogActionsElement } from "./dialog-actions.component-
|
|
2
|
-
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-
|
|
3
|
-
import { t as SbbDialogContentElement } from "./dialog-content.component-
|
|
4
|
-
import { t as SbbDialogTitleElement } from "./dialog-title.component-
|
|
5
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-
|
|
1
|
+
import { t as SbbDialogActionsElement } from "./dialog-actions.component-Dyzg7z-B.js";
|
|
2
|
+
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-dgLnsaLx.js";
|
|
3
|
+
import { t as SbbDialogContentElement } from "./dialog-content.component-DDtVV0Lh.js";
|
|
4
|
+
import { t as SbbDialogTitleElement } from "./dialog-title.component-DyItyahT.js";
|
|
5
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-B1Tke2ym.js";
|
|
6
6
|
import "./dialog.pure.js";
|
|
7
7
|
//#region src/elements/dialog.ts
|
|
8
8
|
/** @entrypoint */
|
|
@@ -14,4 +14,4 @@ SbbDialogTitleElement.define();
|
|
|
14
14
|
//#endregion
|
|
15
15
|
export { SbbDialogActionsElement, SbbDialogCloseButtonElement, SbbDialogCloseEvent, SbbDialogContentElement, SbbDialogElement, SbbDialogTitleElement, assignDialogResult };
|
|
16
16
|
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQge1xuICBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCxcbiAgU2JiRGlhbG9nQ2xvc2VCdXR0b25FbGVtZW50LFxuICBTYmJEaWFsb2dDb250ZW50RWxlbWVudCxcbiAgU2JiRGlhbG9nRWxlbWVudCxcbiAgU2JiRGlhbG9nVGl0bGVFbGVtZW50LFxufSBmcm9tICcuL2RpYWxvZy5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cucHVyZS50cyc7XG5cblNiYkRpYWxvZ0VsZW1lbnQuZGVmaW5lKCk7XG5TYmJEaWFsb2dBY3Rpb25zRWxlbWVudC5kZWZpbmUoKTtcblNiYkRpYWxvZ0Nsb3NlQnV0dG9uRWxlbWVudC5kZWZpbmUoKTtcblNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50LmRlZmluZSgpO1xuU2JiRGlhbG9nVGl0bGVFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLGlCQUFpQixPQUFNO0FBQ3ZCLHdCQUF3QixPQUFNO0FBQzlCLDRCQUE0QixPQUFNO0FBQ2xDLHdCQUF3QixPQUFNO0FBQzlCLHNCQUFzQixPQUFNIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as SbbDialogActionsElement } from "./dialog-actions.component-
|
|
2
|
-
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-
|
|
3
|
-
import { t as SbbDialogContentElement } from "./dialog-content.component-
|
|
4
|
-
import { t as SbbDialogTitleElement } from "./dialog-title.component-
|
|
5
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-
|
|
1
|
+
import { t as SbbDialogActionsElement } from "./dialog-actions.component-Dyzg7z-B.js";
|
|
2
|
+
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-dgLnsaLx.js";
|
|
3
|
+
import { t as SbbDialogContentElement } from "./dialog-content.component-DDtVV0Lh.js";
|
|
4
|
+
import { t as SbbDialogTitleElement } from "./dialog-title.component-DyItyahT.js";
|
|
5
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-B1Tke2ym.js";
|
|
6
6
|
export { SbbDialogActionsElement, SbbDialogCloseButtonElement, SbbDialogCloseEvent, SbbDialogContentElement, SbbDialogElement, SbbDialogTitleElement, assignDialogResult };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbDividerElement } from "../divider.component-
|
|
1
|
+
import { t as SbbDividerElement } from "../divider.component-CYP23U4q.js";
|
|
2
2
|
export { SbbDividerElement };
|
|
@@ -72,4 +72,4 @@ var SbbDividerElement = (() => {
|
|
|
72
72
|
//#endregion
|
|
73
73
|
export { SbbDividerElement as t };
|
|
74
74
|
|
|
75
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQtQ1lQMjNVNHEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpdmlkZXIvZGl2aWRlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZGl2aWRlci1jb2xvcjogdmFyKC0tc2JiLWRpdmlkZXItY29sb3ItbmVnYXRpdmUpO1xufVxuXG4uc2JiLWRpdmlkZXIge1xuICA6aG9zdCg6aXMoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10sIDpub3QoW29yaWVudGF0aW9uXSkpKSAmIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1kaXZpZGVyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkgJiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1kaXZpZGVyLWNvbG9yKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQsIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGl2aWRlci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBkaXZpZGVyIGJldHdlZW4gc2VjdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaXZpZGVyRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpdmlkZXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnc2VwYXJhdG9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBPcmllbnRhdGlvbiBwcm9wZXJ0eSB3aXRoIHBvc3NpYmxlIHZhbHVlcyAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnLiBEZWZhdWx0cyB0byBob3Jpem9udGFsLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9XG4gICAgJ2hvcml6b250YWwnO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3JpZW50YXRpb24nKSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYU9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLWRpdmlkZXJcIj48L2Rpdj4gYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpdmlkZXInOiBTYmJEaXZpZGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQ2dCYSwyQkFBaUI7bUJBQVMsaUJBQWlCLFVBQVU7Ozs7Y0FBckQsMEJBQTBCLFlBQTRCOzs7OEJBTWhFLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDO0dBQUMsYUFBQSxNQUFBLE1BQUEseUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxpQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFXLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBWCxjQUFXO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLDJCQUFBLDhCQUFBOzs7Ozs7Ozs7R0FMeEIsS0FBQSxjQUFzQjtFQUFjOztHQUNwQyxLQUFBLE9BQU87RUFBWTs7R0FDNUIsS0FBQSxTQUF5QixDQUFDLFVBQVUsZUFBSyxDQUFDO0VBQUU7RUFHdEMsZ0NBQUEsa0JBQUEsTUFBQSwyQkFDM0IsWUFBWTs7RUFEZSxJQUFnQixjQUFXO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBM0IsSUFBZ0IsWUFBVyxPQUFBO0dBQUEsS0FBQSxnQ0FBQTtFQUFBO0VBR3JDLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxpQkFBaUI7R0FFbEMsSUFBSSxrQkFBa0IsSUFBSSxhQUFhLEdBQ3JDLEtBQUssVUFBVSxrQkFBa0IsS0FBSztFQUUxQztFQUVtQixTQUFNO0dBQ3ZCLE9BQU8sSUFBSTtFQUNiIn0=
|
package/development/divider.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SbbDividerElement } from "./divider.component-
|
|
1
|
+
import { t as SbbDividerElement } from "./divider.component-CYP23U4q.js";
|
|
2
2
|
import "./divider.pure.js";
|
|
3
3
|
//#region src/elements/divider.ts
|
|
4
4
|
/** @entrypoint */
|
|
@@ -6,4 +6,4 @@ SbbDividerElement.define();
|
|
|
6
6
|
//#endregion
|
|
7
7
|
export { SbbDividerElement };
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGl2aWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi9kaXZpZGVyLnB1cmUudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RpdmlkZXIucHVyZS50cyc7XG5cblNiYkRpdmlkZXJFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBS0Esa0JBQWtCLE9BQU0ifQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbDividerElement } from "./divider.component-
|
|
1
|
+
import { t as SbbDividerElement } from "./divider.component-CYP23U4q.js";
|
|
2
2
|
export { SbbDividerElement };
|
|
@@ -391,4 +391,4 @@ var SbbElement = class extends LitElement {
|
|
|
391
391
|
//#endregion
|
|
392
392
|
export { ɵstateController as a, removeAriaElements as i, SbbSlottedChangeEvent as n, appendAriaElements as r, SbbElement as t };
|
|
393
393
|
|
|
394
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CQXNCYXlmNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGFuZCByZW1vdmUgU2JiRWxlbWVudEludGVybmFsc01peGluIGFuZCBTYmJIeWRyYXRpb25NaXhpbiBhcyBhIGJyZWFraW5nIGNoYW5nZVxuZXhwb3J0IGNsYXNzIFNiYkVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBbJ18kc2JiRWxlbWVudCQnXSA9IHRydWU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZztcbiAgcHVibGljIHN0YXRpYyBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcHVibGljIHN0YXRpYyByb2xlPzogRWxlbWVudEludGVybmFsc1sncm9sZSddO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTtcblxuICBwcml2YXRlIF9jb250cm9sbGVycz86IFNldDxTYmJSZWFjdGl2ZUNvbnRyb2xsZXI+O1xuICBwcml2YXRlIF9oeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uQ29tcGxldGUgPSBuZXcgUHJvbWlzZTxib29sZWFuPihcbiAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgKTtcbiAgcHJpdmF0ZSBfcmVzb2x2ZUh5ZHJhdGlvbiE6IChoeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfdGV4dE9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbGVtZW50IGhhcyBjb21wbGV0ZWQgaHlkcmF0aW9uLlxuICAgKiBUaGUgUHJvbWlzZSB2YWx1ZSBpcyBhIGJvb2xlYW4gdGhhdCBpcyBgdHJ1ZWAgaWYgdGhlIGVsZW1lbnQgcmVxdWlyZWQgaHlkcmF0aW9uXG4gICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICpcbiAgICogQHJldHVybiBBIHByb21pc2Ugb2YgYSBib29sZWFuIHRoYXQgcmVzb2x2ZXMgdG8gdHJ1ZSBvbmNlIHRoZSBoeWRyYXRpb24gY29tcGxldGVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciBoeWRyYXRpb24gaXMgcmVxdWlyZWQgYW5kIG5vdCBjb21wbGV0ZWQuICovXG4gIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLnNldCh0aGlzLCB0aGlzLmludGVybmFscyk7XG4gICAgaWYgKEN1c3RvbVN0YXRlU2V0UG9seWZpbGwpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLmludGVybmFscywgJ3N0YXRlcycsIHtcbiAgICAgICAgdmFsdWU6IG5ldyBDdXN0b21TdGF0ZVNldFBvbHlmaWxsKHRoaXMpLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlIHVzZSB0aGUgQ3VzdG9tU3RhdGVTZXQgcG9seWZpbGwgaW4gU1NSLCB3aGljaCByZW5kZXJzIHRoZSBzdGF0ZSBhcyBhdHRyaWJ1dGVzXG4gICAgICAvLyB3aGljaCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gY2xpZW50IHNpZGUsIHdoZXJlIHdlIGNhbiB0aGVuIGNvbnZlcnQgW3N0YXRlLS0qXVxuICAgICAgLy8gYXR0cmlidXRlcyB0byBpbnRlcm5hbCBzdGF0ZS5cbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmdldEF0dHJpYnV0ZU5hbWVzKCkuZmlsdGVyKChuKSA9PiBuLnN0YXJ0c1dpdGgoJ3N0YXRlLS0nKSkpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChuYW1lLnNsaWNlKDcpKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJvbGUgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyBTYmJFbGVtZW50Q29uc3RydWN0b3IpLnJvbGU7XG4gICAgaWYgKHJvbGUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSByb2xlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgIC8vIGlzIGF2YWlsYWJsZSBkdXJpbmcgY29uc3RydWN0aW9uL3VwZ3JhZGUgcGhhc2UuXG4gICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSAhIXRoaXMuc2hhZG93Um9vdDtcbiAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAvLyBjYW4gY2F1c2UgcmVuZGVyIGRpZmZlcmVuY2VzLCB3aGljaCB3b3VsZCBicmVhayBoeWRyYXRpb24uIEFmdGVyXG4gICAgICAvLyBoeWRyYXRpb24gaXMgY29tcGxldGUsIHdlIGRpc3BhdGNoIGEgbWFudWFsIHNsb3RjaGFuZ2UgZXZlbnQsIGlmIHRoZXJlXG4gICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgY29uc3Qgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgY29uc3Qgc2xvdHMgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3Nsb3QnKTtcbiAgICAgIGlmIChzbG90cz8ubGVuZ3RoKSB7XG4gICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgc2xvdC5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQsIGV2ZW50T3B0aW9ucyksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+IHtcbiAgICAgICAgICAgIHNsb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBSZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQgaW4gdGhlIGdsb2JhbCBDdXN0b21FbGVtZW50UmVnaXN0cnkuICovXG4gIHB1YmxpYyBzdGF0aWMgZGVmaW5lKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbGVtZW50TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHN0YXRpYyBwcm9wZXJ0eSBcImVsZW1lbnROYW1lXCIgaXMgbm90IGRlZmluZWQgb24gJHt0aGlzLm5hbWV9LiBQbGVhc2UgZGVmaW5lIGl0IHRvIHJlZ2lzdGVyIHRoZSBjdXN0b20gZWxlbWVudC5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50Q2xhc3MgPSBjdXN0b21FbGVtZW50cy5nZXQodGhpcy5lbGVtZW50TmFtZSk7XG4gICAgaWYgKCFlbGVtZW50Q2xhc3MpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0aGlzLmVsZW1lbnROYW1lLCB0aGlzIGFzIHVua25vd24gYXMgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yKTtcblxuICAgICAgY29uc3QgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgICBsZXQgY3RvcjogU2JiRWxlbWVudFR5cGUgPSB0aGlzO1xuICAgICAgd2hpbGUgKGN0b3JbJ18kc2JiRWxlbWVudCQnXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpKSB7XG4gICAgICAgICAgZWxlbWVudERlcGVuZGVuY2llcy5wdXNoKC4uLmN0b3IuZWxlbWVudERlcGVuZGVuY2llcyk7XG4gICAgICAgIH1cbiAgICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKTtcbiAgICAgIH1cbiAgICAgIG5ldyBTZXQoZWxlbWVudERlcGVuZGVuY2llcykuZm9yRWFjaCgoZGVwZW5kZW5jeSkgPT4gZGVwZW5kZW5jeS5kZWZpbmUoKSk7XG4gICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIGVsZW1lbnRDbGFzcyAhPT0gdGhpcykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgVGhlIGN1c3RvbSBlbGVtZW50IHdpdGggbmFtZSBcIiR7dGhpcy5lbGVtZW50TmFtZX1cIiBpcyBhbHJlYWR5IGRlZmluZWQuIFNraXBwaW5nLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBgc3R5bGVzYCBmcm9tIGV2ZXJ5IGNsYXNzIGluIHRoZSBwcm90b3R5cGUgY2hhaW4gKHVzaW5nIGBPYmplY3QuaGFzT3duYClcbiAgICogYW5kIG1lcmdlcyB0aGVtIGluIHRvcC1kb3duIG9yZGVyLiBUaGlzIG1lYW5zIGVhY2ggY2xhc3MvbWl4aW4gb25seSBuZWVkcyB0byBkZWNsYXJlXG4gICAqIGl0cyAqKm93bioqIHN0eWxlcyDigJQgdGhlcmUgaXMgbm8gbmVlZCB0byByZWZlcmVuY2UgYHN1cGVyLnN0eWxlc2AuXG4gICAqXG4gICAqIExpdCdzIGRlZmF1bHQgYmVoYXZpb3VyIGFscmVhZHkgd2Fsa3MgdGhlIGNoYWluLCBidXQgZmFpbHMgZm9yIG1peGlucyB3aGVyZVxuICAgKiBgc3VwZXIuc3R5bGVzYCByZXNvbHZlcyB0byB0aGUgd3JvbmcgY2xhc3MuIFRoaXMgb3ZlcnJpZGUgZml4ZXMgdGhhdC5cbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgb3ZlcnJpZGUgZmluYWxpemVTdHlsZXMoX3N0eWxlczogQ1NTUmVzdWx0R3JvdXApOiBDU1NSZXN1bHRPck5hdGl2ZVtdIHtcbiAgICBjb25zdCBjb2xsZWN0ZWQ6IENTU1Jlc3VsdEdyb3VwW10gPSBbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBsZXQgY3RvcjogdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsID0gdGhpcztcbiAgICB3aGlsZSAoY3RvciAmJiBjdG9yICE9PSBMaXRFbGVtZW50KSB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihjdG9yLCAnc3R5bGVzJykgJiYgY3Rvci5zdHlsZXMpIHtcbiAgICAgICAgY29sbGVjdGVkLnVuc2hpZnQoY3Rvci5zdHlsZXMpO1xuICAgICAgfVxuICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKSBhcyB0eXBlb2YgU2JiRWxlbWVudCB8IG51bGw7XG4gICAgfVxuICAgIC8vIENhbGwgTGl0RWxlbWVudC5maW5hbGl6ZVN0eWxlcyB3aGljaCBoYW5kbGVzIGRlZHVwICYgYWRvcHRpb25cbiAgICByZXR1cm4gc3VwZXIuZmluYWxpemVTdHlsZXMoY29sbGVjdGVkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVSZW5kZXJSb290KCk6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB7XG4gICAgY29uc3Qgcm9vdCA9IHN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZSkgPT5cbiAgICAgIHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3R0ZWRjaGFuZ2UnLCAoZSkgPT4gdGhpcy5fc2xvdGNoYW5nZUhhbmRsZXIoZSwgZS5zbG90KSwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnNoYWRvd1Jvb3RcbiAgICAgID8ucXVlcnlTZWxlY3RvckFsbD8uKCdzbG90JylcbiAgICAgIC5mb3JFYWNoKChzbG90KSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3QpKTtcblxuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBlbGVtZW50J3MgcmVhY3RpdmVcbiAgICogdXBkYXRlIGN5Y2xlLiBUaGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGNhbGxzIGludG8gYW55IHJlZ2lzdGVyZWRcbiAgICogY29udHJvbGxlcnMgZHVyaW5nIGl0cyBsaWZlY3ljbGUgY2FsbGJhY2tzLlxuICAgKlxuICAgKiBJZiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgd2hlbiBgYWRkQ29udHJvbGxlcigpYCBpcyBjYWxsZWQsIHRoZVxuICAgKiBjb250cm9sbGVyJ3MgYGhvc3RDb25uZWN0ZWQoKWAgY2FsbGJhY2sgd2lsbCBiZSBpbW1lZGlhdGVseSBjYWxsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgICh0aGlzLl9jb250cm9sbGVycyA/Pz0gbmV3IFNldCgpKS5hZGQoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIGZyb20gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5kZWxldGUoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdHMgYW4gdXBkYXRlIHdoaWNoIGlzIHByb2Nlc3NlZCBhc3luY2hyb25vdXNseS4gVGhpcyBzaG91bGQgYmUgY2FsbGVkXG4gICAqIHdoZW4gYW4gZWxlbWVudCBzaG91bGQgdXBkYXRlIGJhc2VkIG9uIHNvbWUgc3RhdGUgbm90IHRyaWdnZXJlZCBieSBzZXR0aW5nXG4gICAqIGEgcmVhY3RpdmUgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwgcGFzcyBubyBhcmd1bWVudHMuIEl0IHNob3VsZCBhbHNvIGJlXG4gICAqIGNhbGxlZCB3aGVuIG1hbnVhbGx5IGltcGxlbWVudGluZyBhIHByb3BlcnR5IHNldHRlci4gSW4gdGhpcyBjYXNlLCBwYXNzIHRoZVxuICAgKiBwcm9wZXJ0eSBgbmFtZWAgYW5kIGBvbGRWYWx1ZWAgdG8gZW5zdXJlIHRoYXQgYW55IGNvbmZpZ3VyZWQgcHJvcGVydHlcbiAgICogb3B0aW9ucyBhcmUgaG9ub3JlZC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgbmFtZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAqIEBwYXJhbSBvbGRWYWx1ZSBvbGQgdmFsdWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBwcm9wZXJ0eSBvcHRpb25zIHRvIHVzZSBpbnN0ZWFkIG9mIHRoZSBwcmV2aW91c2x5XG4gICAqICAgICBjb25maWd1cmVkIG9wdGlvbnNcbiAgICogQHBhcmFtIHVzZU5ld1ZhbHVlIGlmIHRydWUsIHRoZSBuZXdWYWx1ZSBhcmd1bWVudCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICogICAgIHJlYWRpbmcgdGhlIHByb3BlcnR5IHZhbHVlLiBUaGlzIGlzIGltcG9ydGFudCB0byB1c2UgaWYgdGhlIHJlYWN0aXZlXG4gICAqICAgICBwcm9wZXJ0eSBpcyBhIHN0YW5kYXJkIHByaXZhdGUgYWNjZXNzb3IsIGFzIG9wcG9zZWQgdG8gYSBwbGFpblxuICAgKiAgICAgcHJvcGVydHksIHNpbmNlIHByaXZhdGUgbWVtYmVycyBjYW4ndCBiZSBkeW5hbWljYWxseSByZWFkIGJ5IG5hbWUuXG4gICAqIEBwYXJhbSBuZXdWYWx1ZSB0aGUgbmV3IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBpcyBvbmx5IHVzZWQgaWZcbiAgICogICAgIGB1c2VOZXdWYWx1ZWAgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgdXNlTmV3VmFsdWU/OiBib29sZWFuLFxuICAgIG5ld1ZhbHVlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucywgdXNlTmV3VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgY29uc3QgdmFsdWVzOiBTYmJQcm9wZXJ0eVZhbHVlcyA9IHtcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIHZhbHVlOiB1c2VOZXdWYWx1ZSA/IG5ld1ZhbHVlIDogdGhpc1tuYW1lIGFzIGtleW9mIHRoaXNdLFxuICAgICAgfTtcbiAgICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5mb3JFYWNoKChjb250cm9sbGVyKSA9PlxuICAgICAgICBjb250cm9sbGVyLmhvc3RQcm9wZXJ0eVVwZGF0ZT8uKG5hbWUsIHZhbHVlcywgb3B0aW9ucyksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgLy8gV2hlbiBoeWRyYXRpb24gaXMgbmVlZGVkLCB3ZSB3YWl0IHRoZSBoeWRyYXRpb24gcHJvY2VzcyB0byBmaW5pc2gsIHdoaWNoIGlzIHBhdGNoZWRcbiAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgc3VwZXIudXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVN0YXRlKHZhbHVlOiBzdHJpbmcsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChmb3JjZSB8fCAoZm9yY2UgIT09IGZhbHNlICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHZhbHVlKSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zbG90Y2hhbmdlSGFuZGxlcihldmVudDogRXZlbnQsIHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc29sdmVkU2xvdCA9IHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoc2xvdClcbiAgICAgID8gc2xvdFxuICAgICAgOiBldmVudFxuICAgICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAgIC5maW5kKFxuICAgICAgICAgICAgKGVsKTogZWwgaXMgSFRNTFNsb3RFbGVtZW50ID0+XG4gICAgICAgICAgICAgIGVsIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50ICYmIHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoZWwpLFxuICAgICAgICAgICk7XG4gICAgaWYgKHJlc29sdmVkU2xvdCkge1xuICAgICAgdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShyZXNvbHZlZFNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgIGlmICghc2xvdC5uYW1lKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU5hbWUgPSBzbG90Lm5hbWUgPyBgc2xvdHRlZC0ke3Nsb3QubmFtZX1gIDogJ3Nsb3R0ZWQnO1xuICAgIGNvbnN0IGhhc1Nsb3R0ZWRDb250ZW50ID0gdGhpcy5faGFzU2xvdHRlZENvbnRlbnQoc2xvdCk7XG4gICAgaWYgKGhhc1Nsb3R0ZWRDb250ZW50ICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9IGVsc2UgaWYgKCFoYXNTbG90dGVkQ29udGVudCAmJiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3RleHRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIC8vIE9ubHkgY3JlYXRlIHRoZSBNdXRhdGlvbk9ic2VydmVyIHdoZW4gaXQgaXMgYWN0dWFsbHkgbmVlZGVkIHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLlxuICAgIHRoaXMuX3RleHRPYnNlcnZlciA/Pz0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgY29uc3Qgc2xvdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MU2xvdEVsZW1lbnQ+KCdzbG90Om5vdChbbmFtZV0pJyk7XG4gICAgICBpZiAoc2xvdCkge1xuICAgICAgICB0aGlzLl91cGRhdGVTbG90dGVkU3RhdGUoc2xvdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBUZXh0IG5vZGVzIGNhbiBiZSBlbXB0eSBhbmQgZmlsbGVkIGxhdGVyIChvciB2aWNlIHZlcnNhKS5cbiAgICAvLyBGaWxsaW5nIGFuIGV4aXN0aW5nIG5vZGUgbGF0ZXIgd291bGQgbm90IHRyaWdnZXIgYW5vdGhlciBzbG90Y2hhbmdlIGV2ZW50LlxuICAgIC8vIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBvYnNlcnZlIHRleHQgbm9kZXMgYW5kIGNoZWNrIGlmIHRoZXkgYmVjb21lIGZpbGxlZCBvciBlbXB0eS5cbiAgICAvLyBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgdW5uYW1lZCBzbG90IGFzIGZvciBldmVyeSBvdGhlciB0aGVyZSB3b3VsZFxuICAgIC8vIGJlIGEgdGFnIHdoaWNoIHRyaWdnZXJzIHRoZSBzbG90IGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGUgbWFpbiByZWFzb24gaXMgdGhhdCBBbmd1bGFyIGNyZWF0ZXMgZW1wdHkgdGV4dCBub2RlcyBhbmQgZmlsbHMgdGhlbSBsYXRlci5cbiAgICBzbG90XG4gICAgICAuYXNzaWduZWROb2RlcygpXG4gICAgICAuZmlsdGVyKChuKSA9PiBuLm5vZGVUeXBlID09PSBuLlRFWFRfTk9ERSlcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB0aGlzLl90ZXh0T2JzZXJ2ZXIhLm9ic2VydmUobm9kZSwgeyBjaGFyYWN0ZXJEYXRhOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzbG90Lm5hbWVcbiAgICAgID8gc2xvdFxuICAgICAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgICAgICAuc29tZSgobm9kZSkgPT4gIShub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50KSB8fCB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKSlcbiAgICAgIDogc2xvdC5hc3NpZ25lZE5vZGVzKCkuc29tZSgobm9kZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50XG4gICAgICAgICAgICA/IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KG5vZGUpXG4gICAgICAgICAgICA6IG5vZGUubm9kZVR5cGUgIT09IG5vZGUuVEVYVF9OT0RFIHx8ICEhbm9kZS50ZXh0Q29udGVudD8udHJpbSgpO1xuICAgICAgICB9KTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBzbG90dGVkY2hhbmdlOiBTYmJTbG90dGVkQ2hhbmdlRXZlbnQ7XG4gIH1cbiAgaW50ZXJmYWNlIFNoYWRvd1Jvb3RFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FDbUJBLElBQU0seUJBQ0osWUFBWSxDQUFDLElBQUksU0FBUyw0QkFBNEIsR0FDbEQsTUFBTSx1QkFDSSxJQUFXO0NBS25CLFlBQTJCLE9BQWlCO0VBQzFDLE9BQU87RUFEa0IsS0FBQSxRQUFBO0VBRm5CLEtBQUEsV0FBVztFQUlqQixLQUFLLE1BQU0sY0FBYyxLQUFLO0VBQzlCLElBQUksQ0FBQyxVQUdILFFBQVEsU0FBUyxDQUFDLFdBQVcsS0FBSyxjQUFjLENBQUM7O0NBSXJDLElBQUksT0FBYTtFQUMvQixJQUFJLEtBQUssVUFDUCxLQUFLLGFBQWEsT0FBTyxLQUFLO0VBRWhDLE9BQU8sTUFBTSxJQUFJLE1BQU07O0NBR1QsT0FBTyxPQUFhO0VBQ2xDLEtBQUssYUFBYSxPQUFPLE1BQU07RUFDL0IsT0FBTyxNQUFNLE9BQU8sTUFBTTs7Q0FHWixRQUFLO0VBQ25CLEtBQUssU0FBUyxVQUFVLEtBQUssT0FBTyxNQUFNLENBQUM7O0NBR3RDLGdCQUFhO0VBQ2xCLEtBQUssY0FBYzs7Q0FHYixhQUFhLE9BQWUsU0FBZ0I7RUFDbEQsS0FBSyxNQUFNLGdCQUFnQixVQUFVLFNBQVMsUUFBUTs7Q0FHaEQsZUFBWTtFQUNsQixJQUFJLEtBQUssVUFDUDtFQUVGLEtBQUssV0FBVztFQUNoQixLQUFLLFNBQVMsVUFBVSxLQUFLLGFBQWEsT0FBTyxLQUFLLENBQUM7O0lBRzNEO0FBRU4sSUFBSSxDQUFDLFVBQVU7Q0FFYixJQUFJLFNBQVM7Q0FDYixNQUFNLGVBQWUsV0FDbkIsT0FBTyxZQUFZLFNBQ2xCLGtCQUFrQixVQUNmLGdCQUNN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
|
|
394
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CUzI4YmE3dy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgWydfJHNiYkVsZW1lbnQkJ10gPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0aWMgZWxlbWVudERlcGVuZGVuY2llcz86IFNiYkVsZW1lbnRUeXBlW107XG4gIHB1YmxpYyBzdGF0aWMgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGludGVybmFsczogRWxlbWVudEludGVybmFscyA9IHRoaXMuYXR0YWNoSW50ZXJuYWxzKCk7XG5cbiAgcHJpdmF0ZSBfY29udHJvbGxlcnM/OiBTZXQ8U2JiUmVhY3RpdmVDb250cm9sbGVyPjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgKHJlc29sdmUpID0+ICh0aGlzLl9yZXNvbHZlSHlkcmF0aW9uID0gcmVzb2x2ZSksXG4gICk7XG4gIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHByaXZhdGUgX3RleHRPYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25Db21wbGV0ZTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICBwcm90ZWN0ZWQgZ2V0IGh5ZHJhdGlvblJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25SZXF1aXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGF0dGFjaGVkRWxlbWVudEludGVybmFscy5zZXQodGhpcywgdGhpcy5pbnRlcm5hbHMpO1xuICAgIGlmIChDdXN0b21TdGF0ZVNldFBvbHlmaWxsKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMsICdzdGF0ZXMnLCB7XG4gICAgICAgIHZhbHVlOiBuZXcgQ3VzdG9tU3RhdGVTZXRQb2x5ZmlsbCh0aGlzKSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSB1c2UgdGhlIEN1c3RvbVN0YXRlU2V0IHBvbHlmaWxsIGluIFNTUiwgd2hpY2ggcmVuZGVycyB0aGUgc3RhdGUgYXMgYXR0cmlidXRlc1xuICAgICAgLy8gd2hpY2ggY2FuIGJlIHRyYW5zZmVycmVkIHRvIGNsaWVudCBzaWRlLCB3aGVyZSB3ZSBjYW4gdGhlbiBjb252ZXJ0IFtzdGF0ZS0tKl1cbiAgICAgIC8vIGF0dHJpYnV0ZXMgdG8gaW50ZXJuYWwgc3RhdGUuXG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZpbHRlcigobikgPT4gbi5zdGFydHNXaXRoKCdzdGF0ZS0tJykpKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQobmFtZS5zbGljZSg3KSk7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb2xlID0gKHRoaXMuY29uc3RydWN0b3IgYXMgU2JiRWxlbWVudENvbnN0cnVjdG9yKS5yb2xlO1xuICAgIGlmIChyb2xlKSB7XG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gcm9sZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayB3aGV0aGVyIGh5ZHJhdGlvbiBpcyBuZWVkZWQgYnkgY2hlY2tpbmcgd2hldGhlciB0aGUgc2hhZG93IHJvb3RcbiAgICAvLyBpcyBhdmFpbGFibGUgZHVyaW5nIGNvbnN0cnVjdGlvbi91cGdyYWRlIHBoYXNlLlxuICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgaWYgKCF0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIER1cmluZyBoeWRyYXRpb24gcGhhc2UsIHdlIHdhbnQgdG8gc3VwcHJlc3Mgc2xvdGNoYW5nZSBldmVudHMgYXMgdGhleVxuICAgICAgLy8gY2FuIGNhdXNlIHJlbmRlciBkaWZmZXJlbmNlcywgd2hpY2ggd291bGQgYnJlYWsgaHlkcmF0aW9uLiBBZnRlclxuICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgLy8gYXJlIGVsZW1lbnRzIGFzc2lnbmVkIHRvIGEgc2xvdC5cbiAgICAgIGNvbnN0IHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50ID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGV2ZW50T3B0aW9uczogRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7IGNhcHR1cmU6IHRydWUgfTtcbiAgICAgIGNvbnN0IHNsb3RzID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCdzbG90Jyk7XG4gICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PlxuICAgICAgICAgIHNsb3QuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT5cbiAgICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PiB7XG4gICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgIGlmIChzbG90LmFzc2lnbmVkTm9kZXMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgICAgICAgICBzbG90LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzbG90Y2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUmVnaXN0ZXIgdGhlIGN1c3RvbSBlbGVtZW50IGluIHRoZSBnbG9iYWwgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LiAqL1xuICBwdWJsaWMgc3RhdGljIGRlZmluZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBzdGF0aWMgcHJvcGVydHkgXCJlbGVtZW50TmFtZVwiIGlzIG5vdCBkZWZpbmVkIG9uICR7dGhpcy5uYW1lfS4gUGxlYXNlIGRlZmluZSBpdCB0byByZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudENsYXNzID0gY3VzdG9tRWxlbWVudHMuZ2V0KHRoaXMuZWxlbWVudE5hbWUpO1xuICAgIGlmICghZWxlbWVudENsYXNzKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGhpcy5lbGVtZW50TmFtZSwgdGhpcyBhcyB1bmtub3duIGFzIEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvcik7XG5cbiAgICAgIGNvbnN0IGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgICAgbGV0IGN0b3I6IFNiYkVsZW1lbnRUeXBlID0gdGhpcztcbiAgICAgIHdoaWxlIChjdG9yWydfJHNiYkVsZW1lbnQkJ10pIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3Rvci5lbGVtZW50RGVwZW5kZW5jaWVzKSkge1xuICAgICAgICAgIGVsZW1lbnREZXBlbmRlbmNpZXMucHVzaCguLi5jdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpO1xuICAgICAgICB9XG4gICAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3Rvcik7XG4gICAgICB9XG4gICAgICBuZXcgU2V0KGVsZW1lbnREZXBlbmRlbmNpZXMpLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IGRlcGVuZGVuY3kuZGVmaW5lKCkpO1xuICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiBlbGVtZW50Q2xhc3MgIT09IHRoaXMpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFRoZSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgXCIke3RoaXMuZWxlbWVudE5hbWV9XCIgaXMgYWxyZWFkeSBkZWZpbmVkLiBTa2lwcGluZy5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdHMgYHN0eWxlc2AgZnJvbSBldmVyeSBjbGFzcyBpbiB0aGUgcHJvdG90eXBlIGNoYWluICh1c2luZyBgT2JqZWN0Lmhhc093bmApXG4gICAqIGFuZCBtZXJnZXMgdGhlbSBpbiB0b3AtZG93biBvcmRlci4gVGhpcyBtZWFucyBlYWNoIGNsYXNzL21peGluIG9ubHkgbmVlZHMgdG8gZGVjbGFyZVxuICAgKiBpdHMgKipvd24qKiBzdHlsZXMg4oCUIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVmZXJlbmNlIGBzdXBlci5zdHlsZXNgLlxuICAgKlxuICAgKiBMaXQncyBkZWZhdWx0IGJlaGF2aW91ciBhbHJlYWR5IHdhbGtzIHRoZSBjaGFpbiwgYnV0IGZhaWxzIGZvciBtaXhpbnMgd2hlcmVcbiAgICogYHN1cGVyLnN0eWxlc2AgcmVzb2x2ZXMgdG8gdGhlIHdyb25nIGNsYXNzLiBUaGlzIG92ZXJyaWRlIGZpeGVzIHRoYXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RhdGljIG92ZXJyaWRlIGZpbmFsaXplU3R5bGVzKF9zdHlsZXM6IENTU1Jlc3VsdEdyb3VwKTogQ1NTUmVzdWx0T3JOYXRpdmVbXSB7XG4gICAgY29uc3QgY29sbGVjdGVkOiBDU1NSZXN1bHRHcm91cFtdID0gW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgbGV0IGN0b3I6IHR5cGVvZiBTYmJFbGVtZW50IHwgbnVsbCA9IHRoaXM7XG4gICAgd2hpbGUgKGN0b3IgJiYgY3RvciAhPT0gTGl0RWxlbWVudCkge1xuICAgICAgaWYgKE9iamVjdC5oYXNPd24oY3RvciwgJ3N0eWxlcycpICYmIGN0b3Iuc3R5bGVzKSB7XG4gICAgICAgIGNvbGxlY3RlZC51bnNoaWZ0KGN0b3Iuc3R5bGVzKTtcbiAgICAgIH1cbiAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3RvcikgYXMgdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsO1xuICAgIH1cbiAgICAvLyBDYWxsIExpdEVsZW1lbnQuZmluYWxpemVTdHlsZXMgd2hpY2ggaGFuZGxlcyBkZWR1cCAmIGFkb3B0aW9uXG4gICAgcmV0dXJuIHN1cGVyLmZpbmFsaXplU3R5bGVzKGNvbGxlY3RlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlUmVuZGVyUm9vdCgpOiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQge1xuICAgIGNvbnN0IHJvb3QgPSBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGUpID0+XG4gICAgICB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcihlLCBlLnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLFxuICAgICk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90dGVkY2hhbmdlJywgKGUpID0+IHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUuc2xvdCksIHtcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5zaGFkb3dSb290XG4gICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2xvdCcpXG4gICAgICAuZm9yRWFjaCgoc2xvdCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShzbG90KSk7XG5cbiAgICByZXR1cm4gcm9vdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgZWxlbWVudCdzIHJlYWN0aXZlXG4gICAqIHVwZGF0ZSBjeWNsZS4gVGhlIGVsZW1lbnQgYXV0b21hdGljYWxseSBjYWxscyBpbnRvIGFueSByZWdpc3RlcmVkXG4gICAqIGNvbnRyb2xsZXJzIGR1cmluZyBpdHMgbGlmZWN5Y2xlIGNhbGxiYWNrcy5cbiAgICpcbiAgICogSWYgdGhlIGVsZW1lbnQgaXMgY29ubmVjdGVkIHdoZW4gYGFkZENvbnRyb2xsZXIoKWAgaXMgY2FsbGVkLCB0aGVcbiAgICogY29udHJvbGxlcidzIGBob3N0Q29ubmVjdGVkKClgIGNhbGxiYWNrIHdpbGwgYmUgaW1tZWRpYXRlbHkgY2FsbGVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAodGhpcy5fY29udHJvbGxlcnMgPz89IG5ldyBTZXQoKSkuYWRkKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCBmcm9tIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIucmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICB0aGlzLl9jb250cm9sbGVycz8uZGVsZXRlKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3RzIGFuIHVwZGF0ZSB3aGljaCBpcyBwcm9jZXNzZWQgYXN5bmNocm9ub3VzbHkuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZFxuICAgKiB3aGVuIGFuIGVsZW1lbnQgc2hvdWxkIHVwZGF0ZSBiYXNlZCBvbiBzb21lIHN0YXRlIG5vdCB0cmlnZ2VyZWQgYnkgc2V0dGluZ1xuICAgKiBhIHJlYWN0aXZlIHByb3BlcnR5LiBJbiB0aGlzIGNhc2UsIHBhc3Mgbm8gYXJndW1lbnRzLiBJdCBzaG91bGQgYWxzbyBiZVxuICAgKiBjYWxsZWQgd2hlbiBtYW51YWxseSBpbXBsZW1lbnRpbmcgYSBwcm9wZXJ0eSBzZXR0ZXIuIEluIHRoaXMgY2FzZSwgcGFzcyB0aGVcbiAgICogcHJvcGVydHkgYG5hbWVgIGFuZCBgb2xkVmFsdWVgIHRvIGVuc3VyZSB0aGF0IGFueSBjb25maWd1cmVkIHByb3BlcnR5XG4gICAqIG9wdGlvbnMgYXJlIGhvbm9yZWQuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIG5hbWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb2xkVmFsdWUgb2xkIHZhbHVlIG9mIHJlcXVlc3RpbmcgcHJvcGVydHlcbiAgICogQHBhcmFtIG9wdGlvbnMgcHJvcGVydHkgb3B0aW9ucyB0byB1c2UgaW5zdGVhZCBvZiB0aGUgcHJldmlvdXNseVxuICAgKiAgICAgY29uZmlndXJlZCBvcHRpb25zXG4gICAqIEBwYXJhbSB1c2VOZXdWYWx1ZSBpZiB0cnVlLCB0aGUgbmV3VmFsdWUgYXJndW1lbnQgaXMgdXNlZCBpbnN0ZWFkIG9mXG4gICAqICAgICByZWFkaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZS4gVGhpcyBpcyBpbXBvcnRhbnQgdG8gdXNlIGlmIHRoZSByZWFjdGl2ZVxuICAgKiAgICAgcHJvcGVydHkgaXMgYSBzdGFuZGFyZCBwcml2YXRlIGFjY2Vzc29yLCBhcyBvcHBvc2VkIHRvIGEgcGxhaW5cbiAgICogICAgIHByb3BlcnR5LCBzaW5jZSBwcml2YXRlIG1lbWJlcnMgY2FuJ3QgYmUgZHluYW1pY2FsbHkgcmVhZCBieSBuYW1lLlxuICAgKiBAcGFyYW0gbmV3VmFsdWUgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgcHJvcGVydHkuIFRoaXMgaXMgb25seSB1c2VkIGlmXG4gICAqICAgICBgdXNlTmV3VmFsdWVgIGlzIHRydWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgIHVzZU5ld1ZhbHVlPzogYm9vbGVhbixcbiAgICBuZXdWYWx1ZT86IHVua25vd24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMsIHVzZU5ld1ZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlczogU2JiUHJvcGVydHlWYWx1ZXMgPSB7XG4gICAgICAgIG9sZFZhbHVlLFxuICAgICAgICB2YWx1ZTogdXNlTmV3VmFsdWUgPyBuZXdWYWx1ZSA6IHRoaXNbbmFtZSBhcyBrZXlvZiB0aGlzXSxcbiAgICAgIH07XG4gICAgICB0aGlzLl9jb250cm9sbGVycz8uZm9yRWFjaCgoY29udHJvbGxlcikgPT5cbiAgICAgICAgY29udHJvbGxlci5ob3N0UHJvcGVydHlVcGRhdGU/LihuYW1lLCB2YWx1ZXMsIG9wdGlvbnMpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgLy8gaW50byB0aGUgdXBkYXRlIG1ldGhvZCBvZiB0aGUgTGl0RWxlbWVudCBiYXNlIGNsYXNzLlxuICAgIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVTdGF0ZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyh2YWx1ZSkpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2xvdGNoYW5nZUhhbmRsZXIoZXZlbnQ6IEV2ZW50LCBzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZXNvbHZlZFNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKHNsb3QpXG4gICAgICA/IHNsb3RcbiAgICAgIDogZXZlbnRcbiAgICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgIChlbCk6IGVsIGlzIEhUTUxTbG90RWxlbWVudCA9PlxuICAgICAgICAgICAgICBlbCBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCAmJiB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKGVsKSxcbiAgICAgICAgICApO1xuICAgIGlmIChyZXNvbHZlZFNsb3QpIHtcbiAgICAgIHRoaXMuX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUocmVzb2x2ZWRTbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90KTtcbiAgICBpZiAoIXNsb3QubmFtZSkge1xuICAgICAgdGhpcy5fb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGVOYW1lID0gc2xvdC5uYW1lID8gYHNsb3R0ZWQtJHtzbG90Lm5hbWV9YCA6ICdzbG90dGVkJztcbiAgICBjb25zdCBoYXNTbG90dGVkQ29udGVudCA9IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3QpO1xuICAgIGlmIChoYXNTbG90dGVkQ29udGVudCAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfSBlbHNlIGlmICghaGFzU2xvdHRlZENvbnRlbnQgJiYgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgTXV0YXRpb25PYnNlcnZlciB3aGVuIGl0IGlzIGFjdHVhbGx5IG5lZWRlZCB0byBvcHRpbWl6ZSBwZXJmb3JtYW5jZS5cbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIgPz89IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3I8SFRNTFNsb3RFbGVtZW50Pignc2xvdDpub3QoW25hbWVdKScpO1xuICAgICAgaWYgKHNsb3QpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdGV4dE9ic2VydmVyIS5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gVGV4dCBub2RlcyBjYW4gYmUgZW1wdHkgYW5kIGZpbGxlZCBsYXRlciAob3IgdmljZSB2ZXJzYSkuXG4gICAgLy8gRmlsbGluZyBhbiBleGlzdGluZyBub2RlIGxhdGVyIHdvdWxkIG5vdCB0cmlnZ2VyIGFub3RoZXIgc2xvdGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gb2JzZXJ2ZSB0ZXh0IG5vZGVzIGFuZCBjaGVjayBpZiB0aGV5IGJlY29tZSBmaWxsZWQgb3IgZW1wdHkuXG4gICAgLy8gVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlIHVubmFtZWQgc2xvdCBhcyBmb3IgZXZlcnkgb3RoZXIgdGhlcmUgd291bGRcbiAgICAvLyBiZSBhIHRhZyB3aGljaCB0cmlnZ2VycyB0aGUgc2xvdCBjaGFuZ2UgZXZlbnQuXG4gICAgLy8gVGhlIG1haW4gcmVhc29uIGlzIHRoYXQgQW5ndWxhciBjcmVhdGVzIGVtcHR5IHRleHQgbm9kZXMgYW5kIGZpbGxzIHRoZW0gbGF0ZXIuXG4gICAgc2xvdFxuICAgICAgLmFzc2lnbmVkTm9kZXMoKVxuICAgICAgLmZpbHRlcigobikgPT4gbi5ub2RlVHlwZSA9PT0gbi5URVhUX05PREUpXG4gICAgICAuZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5fdGV4dE9ic2VydmVyIS5vYnNlcnZlKG5vZGUsIHsgY2hhcmFjdGVyRGF0YTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9oYXNTbG90dGVkQ29udGVudChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2xvdC5uYW1lXG4gICAgICA/IHNsb3RcbiAgICAgICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAgICAgLnNvbWUoKG5vZGUpID0+ICEobm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCkgfHwgdGhpcy5faGFzU2xvdHRlZENvbnRlbnQobm9kZSkpXG4gICAgICA6IHNsb3QuYXNzaWduZWROb2RlcygpLnNvbWUoKG5vZGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudFxuICAgICAgICAgICAgPyB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKVxuICAgICAgICAgICAgOiBub2RlLm5vZGVUeXBlICE9PSBub2RlLlRFWFRfTk9ERSB8fCAhIW5vZGUudGV4dENvbnRlbnQ/LnRyaW0oKTtcbiAgICAgICAgfSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG4gIGludGVyZmFjZSBTaGFkb3dSb290RXZlbnRNYXAge1xuICAgIHNsb3R0ZWRjaGFuZ2U6IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQ21CQSxJQUFNLHlCQUNKLFlBQVksQ0FBQyxJQUFJLFNBQVMsMkJBQTJCLElBQ2pELE1BQU0sdUJBQ0ksSUFBVztDQUtuQixZQUEyQixPQUFpQjtFQUMxQyxNQUFLO0VBRG9CLEtBQUEsUUFBQTtFQUZuQixLQUFBLFdBQVc7RUFJakIsS0FBSyxNQUFNLGNBQWMsSUFBSTtFQUM3QixJQUFJLENBQUMsVUFHSCxRQUFRLFFBQU8sRUFBRyxXQUFXLEtBQUssYUFBWSxDQUFFO0NBRXBEO0NBRWdCLElBQUksT0FBYTtFQUMvQixJQUFJLEtBQUssVUFDUCxLQUFLLGFBQWEsT0FBTyxJQUFJO0VBRS9CLE9BQU8sTUFBTSxJQUFJLEtBQUs7Q0FDeEI7Q0FFZ0IsT0FBTyxPQUFhO0VBQ2xDLEtBQUssYUFBYSxPQUFPLEtBQUs7RUFDOUIsT0FBTyxNQUFNLE9BQU8sS0FBSztDQUMzQjtDQUVnQixRQUFLO0VBQ25CLEtBQUssU0FBUyxVQUFVLEtBQUssT0FBTyxLQUFLLENBQUM7Q0FDNUM7Q0FFTyxnQkFBYTtFQUNsQixLQUFLLGFBQVk7Q0FDbkI7Q0FFUSxhQUFhLE9BQWUsU0FBZ0I7RUFDbEQsS0FBSyxNQUFNLGdCQUFnQixVQUFVLFNBQVMsT0FBTztDQUN2RDtDQUVRLGVBQVk7RUFDbEIsSUFBSSxLQUFLLFVBQ1A7RUFFRixLQUFLLFdBQVc7RUFDaEIsS0FBSyxTQUFTLFVBQVUsS0FBSyxhQUFhLE9BQU8sSUFBSSxDQUFDO0NBQ3hEO0lBRUY7QUFFTixJQUFJLENBQUMsVUFBVTtDQUViLElBQUksU0FBUztDQUNiLE1BQU0sZUFBZSxXQUNuQixPQUFPLFlBQVksU0FDbEIsa0JBQWtCLFVBQ2YsZ0JBQ007RUFDSixNQUFNLElBQUksTUFBTSw4REFBOEQ7Q0FDaEYsR0FBRTtDQUNSLE1BQU0sa0JBQXdDO0VBQUUsWUFBWTtFQUFNLGlCQUFpQixD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
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { html, unsafeCSS } from "lit";
|
|
2
|
+
import { SbbElement, SbbNegativeMixin } from "./core.js";
|
|
3
|
+
//#region src/elements/form-field/error/error.scss?inline
|
|
4
|
+
var error_default = ":host {\n --_sbb-error-height: calc(var(--sbb-typo-line-height-text) * 1em);\n --sbb-icon-svg-width: var(--sbb-error-icon-size);\n --sbb-icon-svg-height: var(--sbb-error-icon-size);\n display: flex;\n align-items: flex-start;\n color: var(--sbb-error-color);\n min-height: var(--_sbb-error-height);\n font-size: var(--sbb-error-font-size);\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n@media (forced-colors: active) {\n :host {\n --sbb-error-color: LinkText !important;\n }\n}\n\n:host([negative]) {\n --sbb-error-color: var(--sbb-color-red85);\n}\n\n.error__icon {\n display: flex;\n align-items: center;\n height: var(--_sbb-error-height);\n margin-inline-end: var(--sbb-spacing-fixed-1x);\n}\n\n.error-content {\n line-height: var(--sbb-typo-line-height-text);\n vertical-align: text-top;\n}\n\n.error__icon-svg {\n stroke: currentcolor;\n height: var(--_sbb-error-height);\n}";
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/elements/form-field/error/error.component.ts
|
|
7
|
+
/**
|
|
8
|
+
* It displays an error message in the `sbb-form-field`.
|
|
9
|
+
*
|
|
10
|
+
* @slot - Use this slot to display the error message.
|
|
11
|
+
* @slot icon - Use this slot to override the default error icon.
|
|
12
|
+
*/
|
|
13
|
+
var SbbErrorElement = class extends SbbNegativeMixin(SbbElement) {
|
|
14
|
+
static {
|
|
15
|
+
this.elementName = "sbb-error";
|
|
16
|
+
}
|
|
17
|
+
static {
|
|
18
|
+
this.styles = [unsafeCSS(error_default)];
|
|
19
|
+
}
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
super.connectedCallback();
|
|
22
|
+
const formField = this.closest?.("sbb-form-field");
|
|
23
|
+
if (formField) this.negative = formField.hasAttribute("negative");
|
|
24
|
+
}
|
|
25
|
+
render() {
|
|
26
|
+
return html`
|
|
27
|
+
<span class="error__icon">
|
|
28
|
+
<slot name="icon">
|
|
29
|
+
<svg
|
|
30
|
+
class="error__icon-svg"
|
|
31
|
+
aria-hidden="true"
|
|
32
|
+
width="14"
|
|
33
|
+
height="14"
|
|
34
|
+
viewBox="0 0 14 14"
|
|
35
|
+
fill="none"
|
|
36
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
37
|
+
>
|
|
38
|
+
<line x1="7" y1="3" x2="7" y2="8.5" />
|
|
39
|
+
<line x1="7" y1="10" x2="7" y2="11" />
|
|
40
|
+
<circle cx="7" cy="7" r="6.5" />
|
|
41
|
+
</svg>
|
|
42
|
+
</slot>
|
|
43
|
+
</span>
|
|
44
|
+
<span class="error-content">
|
|
45
|
+
<slot></slot>
|
|
46
|
+
</span>
|
|
47
|
+
`;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//#endregion
|
|
51
|
+
export { SbbErrorElement as t };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LUJwN3p0dlFCLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1lcnJvci1jb2xvcjogTGlua1RleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLWVycm9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcmVkODUpO1xufVxuXG4uZXJyb3JfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLmVycm9yLWNvbnRlbnQge1xuICAvLyBGaXggZm9yIGxpbmUtaGVpZ2h0IHRha2luZyBtb3JlIHRoYW4gcmVzZXJ2ZWQgc3BhY2VcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG5cbi5lcnJvcl9faWNvbi1zdmcge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjtcbiAgaGVpZ2h0OiB2YXIoLS1fc2JiLWVycm9yLWhlaWdodCk7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50LCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Vycm9yLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBgc2JiLWZvcm0tZmllbGRgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgZXJyb3IgaWNvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkVycm9yRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWVycm9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvcl9faWNvblwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaWNvblwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiZXJyb3JfX2ljb24tc3ZnXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICB3aWR0aD1cIjE0XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjE0XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTQgMTRcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIzXCIgeDI9XCI3XCIgeTI9XCI4LjVcIiAvPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIxMFwiIHgyPVwiN1wiIHkyPVwiMTFcIiAvPlxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjdcIiBjeT1cIjdcIiByPVwiNi41XCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1jb250ZW50XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXJyb3InOiBTYmJFcnJvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FDWUEsSUFBYSxrQkFBYixjQUFxQyxpQkFBaUIsVUFBVSxFQUFDOztFQUMvQixLQUFBLGNBQXNCO0NBQVk7O0VBQzNDLEtBQUEsU0FBeUIsQ0FBQyxVQUFVLGFBQUssQ0FBQztDQUFFO0NBRW5ELG9CQUFpQjtFQUMvQixNQUFNLGtCQUFpQjtFQUN2QixNQUFNLFlBQVksS0FBSyxVQUFVLGdCQUFnQjtFQUNqRCxJQUFJLFdBQ0YsS0FBSyxXQUFXLFVBQVUsYUFBYSxVQUFVO0NBRXJEO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0JiIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expansion-panel.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel/expansion-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"expansion-panel.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel/expansion-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAGzF,OAAO,EAGL,UAAU,EACV,KAAK,eAAe,EAGrB,MAAM,eAAe,CAAC;AAQvB;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,gBAAgC,WAAW,EAAE,MAAM,CAAyB;IAC5E,OAAuB,MAAM,EAAE,cAAc,CAAsB;IACnE,gBAAuB,MAAM;;;;;MAKlB;IAEX,yDAAyD;IACzD,SAAwD,UAAU,EAAE,eAAe,GAAG,IAAI,CAAQ;IAElG,yCAAyC;IACzC,SAA6C,KAAK,EAAE,OAAO,GAAG,MAAM,CAAW;IAE/E,qCAAqC;IACrC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC,6EAA6E;IAC7E,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC,uCAAuC;IACvC,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C;;OAEG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAQ;IAE3E,kCAAkC;IAClC,OAAO,KAAK,MAAM,QAQjB;IACD,OAAO,KAAK,MAAM,GAEjB;IACD,OAAO,CAAC,cAAc,CAAwB;IAE9C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,OAAO,CAAC,WAAW,CAAC,CAAkC;;IAatC,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,eAAe;cAQJ,MAAM,IAAI,cAAc;CAiB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-
|
|
1
|
+
import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-BnbRiLrk.js";
|
|
2
2
|
export { SbbExpansionPanelElement };
|
package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbExpansionPanelContentElement } from "../../expansion-panel-content.component-
|
|
1
|
+
import { t as SbbExpansionPanelContentElement } from "../../expansion-panel-content.component-CKhGtjji.js";
|
|
2
2
|
export { SbbExpansionPanelContentElement };
|
package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expansion-panel-header.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel-header/expansion-panel-header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEzF,OAAO,EACL,oBAAoB,EAMrB,MAAM,eAAe,CAAC;;AAMvB;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,mCAEnD;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAgC;IACnF,OAAuB,MAAM,EAAE,cAAc,CAAsB;IACnE,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,aAAa,CAElB;IAEH,OAAO,CAAC,QAAQ,CAAoE;IACpF,OAAO,CAAC,aAAa,CAA0C;;IAuB/C,iBAAiB,IAAI,IAAI;IAKzC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"expansion-panel-header.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel-header/expansion-panel-header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEzF,OAAO,EACL,oBAAoB,EAMrB,MAAM,eAAe,CAAC;;AAMvB;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,mCAEnD;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAgC;IACnF,OAAuB,MAAM,EAAE,cAAc,CAAsB;IACnE,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,aAAa,CAElB;IAEH,OAAO,CAAC,QAAQ,CAAoE;IACpF,OAAO,CAAC,aAAa,CAA0C;;IAuB/C,iBAAiB,IAAI,IAAI;IAKzC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,gBAAgB;IASxB;;;;OAIG;IACH,OAAO,CAAC,aAAa;cAIF,cAAc,IAAI,cAAc;CAkBpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,4BAA4B,EAAE,8BAA8B,CAAC;KAC9D;CACF"}
|
package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbExpansionPanelHeaderElement } from "../../expansion-panel-header.component-
|
|
1
|
+
import { t as SbbExpansionPanelHeaderElement } from "../../expansion-panel-header.component-Do3pLbzs.js";
|
|
2
2
|
export { SbbExpansionPanelHeaderElement };
|
|
@@ -39,4 +39,4 @@ var SbbExpansionPanelContentElement = class extends SbbElement {
|
|
|
39
39
|
//#endregion
|
|
40
40
|
export { SbbExpansionPanelContentElement as t };
|
|
41
41
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuY29tcG9uZW50LUNLaEd0amppLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1jb250ZW50L2V4cGFuc2lvbi1wYW5lbC1jb250ZW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoXG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmVcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWJsb2NrLWVuZCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQpXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoXG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtZGVmYXVsdFxuICApO1xufVxuXG46aG9zdCg6c3RhdGUoaWNvbi1zcGFjZSkpIHtcbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC8vIFRoZSBzcGFjZSB0YWtlbiBieSB0aGUgaWNvbiBpbiB0aGUgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgbXVzdCBiZSBjb25zaWRlcmVkIGhlcmUgdG8gY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgcGFkZGluZyB2YWx1ZTtcbiAgICAvLyB0aGlzIGlzIHRoZSBzdW0gb2YgdGhlIGRlZmF1bHQgcGFkZGluZywgcGx1cyB0aGUgaWNvbiBzcGFjZSBwbHVzIHRoZSBnYXAgYmV0d2VlbiB0aGUgaWNvbiBhbmQgdGhlIGhlYWRlciB0aXRsZS5cbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyhcbiAgICAgIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZSkgKyB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSkgK1xuICAgICAgICB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcClcbiAgICApO1xuICB9XG59XG5cbjo6c2xvdHRlZCg6aXMocCwgc2JiLXRpdGxlKTpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50LCBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciB0aGUgY29udGVudCBvZiB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmVnaW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpLCB7XG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2NvbnRlbnQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCc6IFNiYkV4cGFuc2lvblBhbmVsQ29udGVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLGtDQUFiLGNBQXFELFdBQVU7O0VBQzdCLEtBQUEsY0FBc0I7Q0FBOEI7O0VBQ3BELEtBQUEsT0FBTztDQUFTOztFQUN6QixLQUFBLFNBQXlCLENBQUMsVUFBVSwrQkFBSyxDQUFDO0NBQUU7Q0FJbkUsY0FBQTtFQUNFLE1BQUs7RUFIQyxLQUFBLGdCQUFrRDtFQUl4RCxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEscUJBQXFCLEdBQUcsRUFDaEYsT0FBTyxNQUFLO0dBQ1YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtHQUUzRCxLQUFLLGdCQUFnQixFQUFFO0dBQ3ZCLElBQUksS0FBSyxlQUNQLEtBQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGVBQWU7RUFFMUQsRUFBQSxDQUNELENBQUM7Q0FFTjtDQUVnQixvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxTQUFTO0NBQ2hCO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJO0NBQ2IifQ==
|