@sbb-esta/lyne-elements 3.10.0 → 3.12.0
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/action-group/action-group.component.js +1 -1
- package/alert/alert/alert.component.js +1 -1
- package/autocomplete/autocomplete-base-element.d.ts +5 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete-base-element.js +72 -59
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
- package/badge.css +1 -0
- package/breadcrumb/breadcrumb/breadcrumb.component.js +4 -4
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/button/common.js +1 -1
- package/button/mini-button/mini-button.component.js +1 -1
- package/button.js +1 -1
- package/calendar/calendar.component.d.ts +2 -1
- package/calendar/calendar.component.d.ts.map +1 -1
- package/calendar/calendar.component.js +1 -1
- package/card/card/card.component.js +1 -1
- package/card/card-badge/card-badge.component.js +1 -1
- package/carousel/carousel-list/carousel-list.component.d.ts +8 -3
- package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
- package/carousel/carousel-list/carousel-list.component.js +62 -40
- package/checkbox/checkbox-group/checkbox-group.component.js +1 -1
- package/chip/chip/chip.component.js +1 -1
- package/chip/chip-group/chip-group.component.js +1 -1
- package/chip-label/chip-label.component.js +1 -1
- package/container/container/container.component.js +11 -11
- package/container/sticky-bar/sticky-bar.component.js +9 -9
- package/core/controllers/escapable-overlay-controller.d.ts +3 -0
- package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
- package/core/controllers/overlay-position-controller.d.ts +60 -0
- package/core/controllers/overlay-position-controller.d.ts.map +1 -0
- package/core/controllers/overlay-position-controller.js +224 -0
- package/core/controllers.d.ts +1 -0
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +12 -10
- package/core/mixins.js +1 -1
- package/core/overlay/overlay-option-panel.d.ts +2 -1
- package/core/overlay/overlay-option-panel.d.ts.map +1 -1
- package/core/overlay/overlay-option-panel.js +8 -5
- package/core/overlay/position.d.ts +2 -0
- package/core/overlay/position.d.ts.map +1 -1
- package/core/overlay/position.js +19 -17
- package/core/styles/core.scss +27 -2
- package/core/styles/layout.scss +4 -0
- package/core/styles/mixins/badge.scss +3 -0
- package/core/styles/mixins/layout.scss +5 -4
- package/core/styles/mixins/link.scss +0 -11
- package/core.css +21 -2
- package/custom-elements.json +2024 -417
- package/date-input/date-input.component.js +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
- package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +5 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +25 -5
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -2
- package/development/calendar/calendar.component.d.ts +2 -1
- package/development/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar.component.js +1 -1
- package/development/carousel/carousel-list/carousel-list.component.d.ts +8 -3
- package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
- package/development/carousel/carousel-list/carousel-list.component.js +51 -19
- package/development/container/container/container.component.js +3 -3
- package/development/container/sticky-bar/sticky-bar.component.js +5 -5
- package/development/core/controllers/escapable-overlay-controller.d.ts +3 -0
- package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
- package/development/core/controllers/escapable-overlay-controller.js +1 -1
- package/development/core/controllers/overlay-position-controller.d.ts +60 -0
- package/development/core/controllers/overlay-position-controller.d.ts.map +1 -0
- package/development/core/controllers/overlay-position-controller.js +306 -0
- package/development/core/controllers.d.ts +1 -0
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +3 -1
- package/development/core/overlay/overlay-option-panel.d.ts +2 -1
- package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
- package/development/core/overlay/overlay-option-panel.js +6 -3
- package/development/core/overlay/position.d.ts +2 -0
- package/development/core/overlay/position.d.ts.map +1 -1
- package/development/core/overlay/position.js +3 -2
- package/development/footer/footer.component.js +3 -3
- package/development/header/header/header.component.js +3 -3
- package/development/lead-container/lead-container.component.js +8 -7
- package/development/link/common/block-link-common.js +2 -12
- package/development/link/common/inline-link-common.js +2 -10
- package/development/link/common/link-common.js +1 -1
- package/development/link/common.js +1 -1
- package/development/{link-common-DPLJx5Uo.js → link-common-BDFF9Oiz.js} +1 -3
- package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -2
- package/development/link.js +1 -1
- package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
- package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar/mini-calendar.component.js +199 -0
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +181 -0
- package/development/mini-calendar/mini-calendar-day.d.ts +5 -0
- package/development/mini-calendar/mini-calendar-day.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-day.js +5 -0
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +123 -0
- package/development/mini-calendar/mini-calendar-month.d.ts +5 -0
- package/development/mini-calendar/mini-calendar-month.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-month.js +5 -0
- package/development/mini-calendar/mini-calendar.d.ts +5 -0
- package/development/mini-calendar/mini-calendar.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar.js +5 -0
- package/development/mini-calendar.d.ts +7 -0
- package/development/mini-calendar.d.ts.map +1 -0
- package/development/mini-calendar.js +9 -0
- package/development/paginator/common/paginator-common.d.ts +2 -1
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +87 -49
- package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +3 -2
- package/development/paginator/paginator/paginator.component.d.ts +6 -0
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +19 -4
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +5 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +5 -1
- package/development/tabs/tab/tab.component.d.ts +9 -0
- package/development/tabs/tab/tab.component.d.ts.map +1 -1
- package/development/tabs/tab/tab.component.js +48 -7
- package/development/tabs/tab-group/tab-group.component.d.ts +7 -3
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +19 -39
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +4 -3
- package/development/tag/tag/tag.component.js +2 -1
- package/development/tooltip/tooltip.component.d.ts +11 -4
- package/development/tooltip/tooltip.component.d.ts.map +1 -1
- package/development/tooltip/tooltip.component.js +57 -78
- package/dialog/dialog/dialog.component.js +1 -1
- package/dialog/dialog-actions/dialog-actions.component.js +1 -1
- 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/file-selector/common.js +1 -1
- package/file-selector-common-BEWjyy75.js +5 -0
- package/file-selector.js +1 -1
- package/flip-card/flip-card/flip-card.component.js +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
- package/footer/footer.component.js +8 -8
- package/form-error/form-error.component.js +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/form-field/form-field-clear/form-field-clear.component.js +1 -1
- package/header/common/header-action-common.js +1 -1
- package/header/header/header.component.js +32 -32
- package/icon-sidebar-button-common-XcKoF2SP.js +7 -0
- package/index.d.ts +6 -0
- package/index.js +6 -0
- package/layout.css +9 -3
- package/lead-container/lead-container.component.js +8 -8
- package/link/common/block-link-common.js +25 -25
- package/link/common/inline-link-common.js +7 -7
- package/link/common/link-common.js +1 -1
- package/link/common.js +1 -1
- package/link-common-nA3q92jp.js +46 -0
- package/link-list/link-list/link-list.component.js +1 -1
- package/link-list/link-list-anchor/link-list-anchor.component.js +5 -5
- package/link.js +1 -1
- package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/logo/logo.component.js +1 -1
- package/map-container/map-container.component.js +1 -1
- package/menu/common/menu-action-common.js +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.js +129 -0
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +66 -0
- package/mini-calendar/mini-calendar-day.d.ts +5 -0
- package/mini-calendar/mini-calendar-day.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-day.js +4 -0
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +59 -0
- package/mini-calendar/mini-calendar-month.d.ts +5 -0
- package/mini-calendar/mini-calendar-month.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-month.js +4 -0
- package/mini-calendar/mini-calendar.d.ts +5 -0
- package/mini-calendar/mini-calendar.d.ts.map +1 -0
- package/mini-calendar/mini-calendar.js +4 -0
- package/mini-calendar.d.ts +7 -0
- package/mini-calendar.d.ts.map +1 -0
- package/mini-calendar.js +8 -0
- package/navigation/common/navigation-action-common.js +1 -1
- package/navigation/navigation/navigation.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/notification/notification.component.js +1 -1
- package/off-brand-theme.css +31 -5
- package/option/option/option.component.js +1 -1
- package/overlay/overlay.component.js +1 -1
- package/package.json +21 -1
- package/paginator/common/paginator-common.d.ts +2 -1
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common/paginator-common.js +102 -81
- package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +2 -1
- package/paginator/paginator/paginator.component.d.ts +6 -0
- package/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.js +57 -45
- package/popover/popover/popover.component.js +1 -1
- package/popover/popover-trigger/popover-trigger.component.js +1 -1
- package/radio-button/common.js +1 -1
- package/radio-button/radio-button-group/radio-button-group.component.js +1 -1
- package/radio-button-common-Bw2t3Sxz.js +5 -0
- package/radio-button.js +1 -1
- package/safety-theme.css +31 -5
- package/select/select.component.js +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/sidebar/common.js +1 -1
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +9 -6
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +13 -10
- package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/sidebar.js +1 -1
- package/signet/signet.component.js +1 -1
- package/slider/slider.component.js +1 -1
- package/standard-theme.css +31 -5
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper/stepper/stepper.component.js +1 -1
- package/tabs/tab/tab.component.d.ts +9 -0
- package/tabs/tab/tab.component.d.ts.map +1 -1
- package/tabs/tab/tab.component.js +37 -18
- package/tabs/tab-group/tab-group.component.d.ts +7 -3
- package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.component.js +51 -52
- package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/tabs/tab-label/tab-label.component.js +12 -12
- package/tag/tag/tag.component.js +4 -4
- package/teaser/teaser.component.js +1 -1
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/teaser-product/common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product-common-Du28QCY3.js +5 -0
- package/teaser-product.js +1 -1
- package/time-input/time-input.component.js +1 -1
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/toggle/toggle/toggle.component.js +1 -1
- package/toggle-check/toggle-check.component.js +1 -1
- package/tooltip/tooltip.component.d.ts +11 -4
- package/tooltip/tooltip.component.d.ts.map +1 -1
- package/tooltip/tooltip.component.js +60 -84
- 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/train-wagon.component.js +1 -1
- package/transparent-button-DJIkG5hj.js +9 -0
- package/visual-checkbox/visual-checkbox.component.js +1 -1
- package/file-selector-common-D88J9PEh.js +0 -5
- package/icon-sidebar-button-common-BeRXvifI.js +0 -7
- package/link-common-BBKGg9HN.js +0 -46
- package/radio-button-common-Nm9ULjVb.js +0 -5
- package/teaser-product-common-DIra6aVg.js +0 -5
- package/transparent-button-Bg9fU_iZ.js +0 -9
|
@@ -19,12 +19,17 @@ import "../../button/mini-button-group.js";
|
|
|
19
19
|
import "../../divider.js";
|
|
20
20
|
const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
21
21
|
let SbbPaginatorCommonElement = (() => {
|
|
22
|
-
var _pagerPosition_accessor_storage, _size_accessor_storage, _accessibilityPageLabel_accessor_storage, _accessibilityPreviousPageLabel_accessor_storage, _accessibilityNextPageLabel_accessor_storage, _a;
|
|
22
|
+
var _length_accessor_storage, _pageSize_accessor_storage, _pageIndex_accessor_storage, _pagerPosition_accessor_storage, _size_accessor_storage, _accessibilityPageLabel_accessor_storage, _accessibilityPreviousPageLabel_accessor_storage, _accessibilityNextPageLabel_accessor_storage, _a;
|
|
23
23
|
let _classSuper = SbbNegativeMixin(SbbDisabledMixin(SbbElementInternalsMixin(superClass)));
|
|
24
|
-
let
|
|
25
|
-
let
|
|
26
|
-
let
|
|
27
|
-
let
|
|
24
|
+
let _length_decorators;
|
|
25
|
+
let _length_initializers = [];
|
|
26
|
+
let _length_extraInitializers = [];
|
|
27
|
+
let _pageSize_decorators;
|
|
28
|
+
let _pageSize_initializers = [];
|
|
29
|
+
let _pageSize_extraInitializers = [];
|
|
30
|
+
let _pageIndex_decorators;
|
|
31
|
+
let _pageIndex_initializers = [];
|
|
32
|
+
let _pageIndex_extraInitializers = [];
|
|
28
33
|
let _pagerPosition_decorators;
|
|
29
34
|
let _pagerPosition_initializers = [];
|
|
30
35
|
let _pagerPosition_extraInitializers = [];
|
|
@@ -43,47 +48,44 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
43
48
|
return _a = class extends _classSuper {
|
|
44
49
|
constructor() {
|
|
45
50
|
super(...arguments);
|
|
51
|
+
__privateAdd(this, _length_accessor_storage);
|
|
52
|
+
__privateAdd(this, _pageSize_accessor_storage);
|
|
53
|
+
__privateAdd(this, _pageIndex_accessor_storage);
|
|
46
54
|
__privateAdd(this, _pagerPosition_accessor_storage);
|
|
47
55
|
__privateAdd(this, _size_accessor_storage);
|
|
48
56
|
__privateAdd(this, _accessibilityPageLabel_accessor_storage);
|
|
49
57
|
__privateAdd(this, _accessibilityPreviousPageLabel_accessor_storage);
|
|
50
58
|
__privateAdd(this, _accessibilityNextPageLabel_accessor_storage);
|
|
51
|
-
this
|
|
52
|
-
this
|
|
53
|
-
this
|
|
54
|
-
__privateSet(this, _pagerPosition_accessor_storage, __runInitializers(this, _pagerPosition_initializers, "start"));
|
|
59
|
+
__privateSet(this, _length_accessor_storage, __runInitializers(this, _length_initializers, 0));
|
|
60
|
+
__privateSet(this, _pageSize_accessor_storage, (__runInitializers(this, _length_extraInitializers), __runInitializers(this, _pageSize_initializers, 10)));
|
|
61
|
+
__privateSet(this, _pageIndex_accessor_storage, (__runInitializers(this, _pageSize_extraInitializers), __runInitializers(this, _pageIndex_initializers, 0)));
|
|
62
|
+
__privateSet(this, _pagerPosition_accessor_storage, (__runInitializers(this, _pageIndex_extraInitializers), __runInitializers(this, _pagerPosition_initializers, "start")));
|
|
55
63
|
__privateSet(this, _size_accessor_storage, (__runInitializers(this, _pagerPosition_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
|
|
56
64
|
__privateSet(this, _accessibilityPageLabel_accessor_storage, (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _accessibilityPageLabel_initializers, "")));
|
|
57
65
|
__privateSet(this, _accessibilityPreviousPageLabel_accessor_storage, (__runInitializers(this, _accessibilityPageLabel_extraInitializers), __runInitializers(this, _accessibilityPreviousPageLabel_initializers, "")));
|
|
58
66
|
__privateSet(this, _accessibilityNextPageLabel_accessor_storage, (__runInitializers(this, _accessibilityPreviousPageLabel_extraInitializers), __runInitializers(this, _accessibilityNextPageLabel_initializers, "")));
|
|
59
67
|
this.language = (__runInitializers(this, _accessibilityNextPageLabel_extraInitializers), new SbbLanguageController(this));
|
|
60
|
-
this._previousPageSize = this._pageSize;
|
|
61
68
|
}
|
|
62
69
|
/** Total number of items. */
|
|
63
|
-
set length(value) {
|
|
64
|
-
this._length = isNaN(value) || value < 0 ? 0 : value;
|
|
65
|
-
this.pageIndex = this.pageIndex;
|
|
66
|
-
}
|
|
67
70
|
get length() {
|
|
68
|
-
return this
|
|
71
|
+
return __privateGet(this, _length_accessor_storage);
|
|
69
72
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this._previousPageSize = this.pageSize;
|
|
73
|
-
this._pageSize = Math.max(value, 0);
|
|
74
|
-
this.pageIndex = Math.floor(this.pageIndex * this._previousPageSize / this.pageSize) || 0;
|
|
73
|
+
set length(value) {
|
|
74
|
+
__privateSet(this, _length_accessor_storage, value);
|
|
75
75
|
}
|
|
76
|
+
/** Number of items per page. */
|
|
76
77
|
get pageSize() {
|
|
77
|
-
return this
|
|
78
|
+
return __privateGet(this, _pageSize_accessor_storage);
|
|
78
79
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const previousPageIndex = this._pageIndex;
|
|
82
|
-
this._pageIndex = this._coercePageIndexInRange(value);
|
|
83
|
-
this.emitPageEvent(previousPageIndex);
|
|
80
|
+
set pageSize(value) {
|
|
81
|
+
__privateSet(this, _pageSize_accessor_storage, value);
|
|
84
82
|
}
|
|
83
|
+
/** Current page index. */
|
|
85
84
|
get pageIndex() {
|
|
86
|
-
return this
|
|
85
|
+
return __privateGet(this, _pageIndex_accessor_storage);
|
|
86
|
+
}
|
|
87
|
+
set pageIndex(value) {
|
|
88
|
+
__privateSet(this, _pageIndex_accessor_storage, value);
|
|
87
89
|
}
|
|
88
90
|
/** Position of the prev/next buttons. */
|
|
89
91
|
get pagerPosition() {
|
|
@@ -132,6 +134,29 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
132
134
|
set accessibilityNextPageLabel(value) {
|
|
133
135
|
__privateSet(this, _accessibilityNextPageLabel_accessor_storage, value);
|
|
134
136
|
}
|
|
137
|
+
willUpdate(changedProperties) {
|
|
138
|
+
super.willUpdate(changedProperties);
|
|
139
|
+
let prevPageIndex = null;
|
|
140
|
+
if (changedProperties.has("length") && this.length !== changedProperties.get("length")) {
|
|
141
|
+
this.length = isNaN(this.length) || this.length < 0 ? 0 : this.length;
|
|
142
|
+
this.pageIndex = this._coercePageIndexInRange(this.pageIndex);
|
|
143
|
+
}
|
|
144
|
+
if (changedProperties.has("pageSize") && this.pageSize !== changedProperties.get("pageSize")) {
|
|
145
|
+
const previousPageSize = changedProperties.get("pageSize");
|
|
146
|
+
this.pageSize = isNaN(this.pageSize) || this.pageSize < 0 ? 0 : this.pageSize;
|
|
147
|
+
if (previousPageSize) {
|
|
148
|
+
this.pageIndex = Math.floor(this.pageIndex * previousPageSize / this.pageSize) || 0;
|
|
149
|
+
}
|
|
150
|
+
prevPageIndex = this.pageIndex;
|
|
151
|
+
}
|
|
152
|
+
if (changedProperties.has("pageIndex") && this.pageIndex !== changedProperties.get("pageIndex")) {
|
|
153
|
+
this.pageIndex = this._coercePageIndexInRange(this.pageIndex);
|
|
154
|
+
prevPageIndex = changedProperties.get("pageIndex");
|
|
155
|
+
}
|
|
156
|
+
if (prevPageIndex !== null) {
|
|
157
|
+
this._emitPrivatePageEvent(prevPageIndex);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
135
160
|
updated(changedProperties) {
|
|
136
161
|
super.updated(changedProperties);
|
|
137
162
|
this.shadowRoot.querySelector("sbb-screen-reader-only#status").textContent = this._currentPageLabel();
|
|
@@ -143,6 +168,11 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
143
168
|
_currentPageLabel() {
|
|
144
169
|
return `${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${this.pageIndex + 1} ${i18nPaginatorSelected[this.language.current]}.`;
|
|
145
170
|
}
|
|
171
|
+
changeAndEmitPage(pageIndex) {
|
|
172
|
+
const prevPageIndex = this.pageIndex;
|
|
173
|
+
this.pageIndex = pageIndex;
|
|
174
|
+
this.emitPageEvent(prevPageIndex);
|
|
175
|
+
}
|
|
146
176
|
/** Advances to the next page if it exists. */
|
|
147
177
|
nextPage() {
|
|
148
178
|
this.pageIndex = this.pageIndex + 1;
|
|
@@ -179,22 +209,32 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
179
209
|
numberOfPages() {
|
|
180
210
|
return this.pageSize ? Math.ceil(this.length / this.pageSize) : 0;
|
|
181
211
|
}
|
|
182
|
-
emitPageEvent(previousPageIndex) {
|
|
183
|
-
if (!this.hasUpdated || this.pageIndex === previousPageIndex && this._previousPageSize === this.pageSize) {
|
|
184
|
-
this._previousPageSize = this.pageSize;
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
212
|
+
emitPageEvent(previousPageIndex, pageIndex) {
|
|
187
213
|
this.dispatchEvent(new CustomEvent("page", {
|
|
188
214
|
bubbles: true,
|
|
189
215
|
composed: true,
|
|
190
216
|
detail: {
|
|
191
217
|
previousPageIndex,
|
|
192
|
-
pageIndex: this.pageIndex,
|
|
218
|
+
pageIndex: pageIndex ?? this.pageIndex,
|
|
193
219
|
length: this.length,
|
|
194
220
|
pageSize: this.pageSize
|
|
195
221
|
}
|
|
196
222
|
}));
|
|
197
223
|
}
|
|
224
|
+
_emitPrivatePageEvent(previousPageIndex) {
|
|
225
|
+
if (this.hasUpdated) {
|
|
226
|
+
this.dispatchEvent(new CustomEvent("ɵpage", {
|
|
227
|
+
bubbles: true,
|
|
228
|
+
composed: true,
|
|
229
|
+
detail: {
|
|
230
|
+
previousPageIndex,
|
|
231
|
+
pageIndex: this.pageIndex,
|
|
232
|
+
length: this.length,
|
|
233
|
+
pageSize: this.pageSize
|
|
234
|
+
}
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
}
|
|
198
238
|
renderPrevNextButtons() {
|
|
199
239
|
return html`
|
|
200
240
|
<sbb-mini-button-group ?negative=${this.negative} size=${this.size === "s" ? "s" : "l"}>
|
|
@@ -204,7 +244,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
204
244
|
icon-name="chevron-small-left-small"
|
|
205
245
|
?disabled=${this.disabled || !this.hasPreviousPage()}
|
|
206
246
|
@click=${() => {
|
|
207
|
-
this.
|
|
247
|
+
this.changeAndEmitPage(this.pageIndex - 1);
|
|
208
248
|
if (!this.hasPreviousPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") {
|
|
209
249
|
this.shadowRoot?.getElementById("sbb-paginator-next-page").focus();
|
|
210
250
|
}
|
|
@@ -217,7 +257,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
217
257
|
icon-name="chevron-small-right-small"
|
|
218
258
|
?disabled=${this.disabled || !this.hasNextPage()}
|
|
219
259
|
@click=${() => {
|
|
220
|
-
this.
|
|
260
|
+
this.changeAndEmitPage(this.pageIndex + 1);
|
|
221
261
|
if (!this.hasNextPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") {
|
|
222
262
|
this.shadowRoot?.getElementById("sbb-paginator-prev-page").focus();
|
|
223
263
|
}
|
|
@@ -232,25 +272,25 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
232
272
|
<sbb-screen-reader-only id="status" role="status"></sbb-screen-reader-only>
|
|
233
273
|
`;
|
|
234
274
|
}
|
|
235
|
-
}, _pagerPosition_accessor_storage = new WeakMap(), _size_accessor_storage = new WeakMap(), _accessibilityPageLabel_accessor_storage = new WeakMap(), _accessibilityPreviousPageLabel_accessor_storage = new WeakMap(), _accessibilityNextPageLabel_accessor_storage = new WeakMap(), (() => {
|
|
275
|
+
}, _length_accessor_storage = new WeakMap(), _pageSize_accessor_storage = new WeakMap(), _pageIndex_accessor_storage = new WeakMap(), _pagerPosition_accessor_storage = new WeakMap(), _size_accessor_storage = new WeakMap(), _accessibilityPageLabel_accessor_storage = new WeakMap(), _accessibilityPreviousPageLabel_accessor_storage = new WeakMap(), _accessibilityNextPageLabel_accessor_storage = new WeakMap(), (() => {
|
|
236
276
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
277
|
+
_length_decorators = [forceType(), property({ type: Number })];
|
|
278
|
+
_pageSize_decorators = [forceType(), property({ attribute: "page-size", type: Number })];
|
|
279
|
+
_pageIndex_decorators = [forceType(), property({ attribute: "page-index", type: Number })];
|
|
240
280
|
_pagerPosition_decorators = [property({ attribute: "pager-position", reflect: true })];
|
|
241
281
|
_size_decorators = [property({ reflect: true })];
|
|
242
282
|
_accessibilityPageLabel_decorators = [forceType(), property({ attribute: "accessibility-page-label" })];
|
|
243
283
|
_accessibilityPreviousPageLabel_decorators = [forceType(), property({ attribute: "accessibility-previous-page-label" })];
|
|
244
284
|
_accessibilityNextPageLabel_decorators = [forceType(), property({ attribute: "accessibility-next-page-label" })];
|
|
245
|
-
__esDecorate(_a, null,
|
|
285
|
+
__esDecorate(_a, null, _length_decorators, { kind: "accessor", name: "length", static: false, private: false, access: { has: (obj) => "length" in obj, get: (obj) => obj.length, set: (obj, value) => {
|
|
246
286
|
obj.length = value;
|
|
247
|
-
} }, metadata: _metadata },
|
|
248
|
-
__esDecorate(_a, null,
|
|
287
|
+
} }, metadata: _metadata }, _length_initializers, _length_extraInitializers);
|
|
288
|
+
__esDecorate(_a, null, _pageSize_decorators, { kind: "accessor", name: "pageSize", static: false, private: false, access: { has: (obj) => "pageSize" in obj, get: (obj) => obj.pageSize, set: (obj, value) => {
|
|
249
289
|
obj.pageSize = value;
|
|
250
|
-
} }, metadata: _metadata },
|
|
251
|
-
__esDecorate(_a, null,
|
|
290
|
+
} }, metadata: _metadata }, _pageSize_initializers, _pageSize_extraInitializers);
|
|
291
|
+
__esDecorate(_a, null, _pageIndex_decorators, { kind: "accessor", name: "pageIndex", static: false, private: false, access: { has: (obj) => "pageIndex" in obj, get: (obj) => obj.pageIndex, set: (obj, value) => {
|
|
252
292
|
obj.pageIndex = value;
|
|
253
|
-
} }, metadata: _metadata },
|
|
293
|
+
} }, metadata: _metadata }, _pageIndex_initializers, _pageIndex_extraInitializers);
|
|
254
294
|
__esDecorate(_a, null, _pagerPosition_decorators, { kind: "accessor", name: "pagerPosition", static: false, private: false, access: { has: (obj) => "pagerPosition" in obj, get: (obj) => obj.pagerPosition, set: (obj, value) => {
|
|
255
295
|
obj.pagerPosition = value;
|
|
256
296
|
} }, metadata: _metadata }, _pagerPosition_initializers, _pagerPosition_extraInitializers);
|
|
@@ -267,13 +307,11 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
|
|
|
267
307
|
obj.accessibilityNextPageLabel = value;
|
|
268
308
|
} }, metadata: _metadata }, _accessibilityNextPageLabel_initializers, _accessibilityNextPageLabel_extraInitializers);
|
|
269
309
|
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
270
|
-
})(), _a.role = "group", _a
|
|
271
|
-
page: "page"
|
|
272
|
-
}, _a;
|
|
310
|
+
})(), _a.role = "group", _a;
|
|
273
311
|
})();
|
|
274
312
|
return SbbPaginatorCommonElement;
|
|
275
313
|
};
|
|
276
314
|
export {
|
|
277
315
|
SbbPaginatorCommonElementMixin
|
|
278
316
|
};
|
|
279
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBodG1sLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBpMThuTmV4dFBhZ2UsXG4gIGkxOG5QYWdlLFxuICBpMThuUGFnaW5hdG9yU2VsZWN0ZWQsXG4gIGkxOG5QcmV2aW91c1BhZ2UsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZTogbnVtYmVyO1xuICBwdWJsaWMgYWNjZXNzb3IgcGFnZUluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncyc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkO1xuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZDtcbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuO1xuICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyKTogdm9pZDtcbiAgcHJvdGVjdGVkIHJlbmRlclByZXZOZXh0QnV0dG9ucygpOiBUZW1wbGF0ZVJlc3VsdDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdDtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcykpKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByb2xlID0gJ2dyb3VwJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHBhZ2U6ICdwYWdlJyxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgc2V0IGxlbmd0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICB0aGlzLl9sZW5ndGggPSBpc05hTih2YWx1ZSkgfHwgdmFsdWUgPCAwID8gMCA6IHZhbHVlO1xuICAgICAgLy8gQ2FsbCBzZXR0ZXIgb2YgcGFnZUluZGV4IHRvIGVuc3VyZSBib3VuZHNcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleDtcbiAgICB9XG4gICAgcHVibGljIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9sZW5ndGg7XG4gICAgfVxuICAgIHByaXZhdGUgX2xlbmd0aDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBOdW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplJywgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIHNldCBwYWdlU2l6ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAvLyBDdXJyZW50IHBhZ2UgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBuZXcgcGFnZSBzaXplLiBOYXZpZ2F0ZSB0byB0aGUgcGFnZVxuICAgICAgLy8gY29udGFpbmluZyB0aGUgcHJldmlvdXMgcGFnZSdzIGZpcnN0IGl0ZW0uXG4gICAgICB0aGlzLl9wcmV2aW91c1BhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZTtcbiAgICAgIHRoaXMuX3BhZ2VTaXplID0gTWF0aC5tYXgodmFsdWUsIDApO1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSBNYXRoLmZsb29yKCh0aGlzLnBhZ2VJbmRleCAqIHRoaXMuX3ByZXZpb3VzUGFnZVNpemUpIC8gdGhpcy5wYWdlU2l6ZSkgfHwgMDtcbiAgICB9XG4gICAgcHVibGljIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xuICAgIH1cbiAgICBwcml2YXRlIF9wYWdlU2l6ZTogbnVtYmVyID0gMTA7XG5cbiAgICAvKiogQ3VycmVudCBwYWdlIGluZGV4LiAqL1xuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2UtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgc2V0IHBhZ2VJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICBjb25zdCBwcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMuX3BhZ2VJbmRleDtcbiAgICAgIHRoaXMuX3BhZ2VJbmRleCA9IHRoaXMuX2NvZXJjZVBhZ2VJbmRleEluUmFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5lbWl0UGFnZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4KTtcbiAgICB9XG4gICAgcHVibGljIGdldCBwYWdlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9wYWdlSW5kZXg7XG4gICAgfVxuICAgIHByaXZhdGUgX3BhZ2VJbmRleDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgICAgfCAnc3RhcnQnXG4gICAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcGFnZS4gRGVmYXVsdHMgdG8gYHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcHJldmlvdXMgcGFnZS4gRGVmYXVsdHMgdG8gYHByZXZpb3VzIHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcHJldmlvdXMtcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBuZXh0IHBhZ2UuIERlZmF1bHRzIHRvIGBuZXh0IHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbmV4dC1wYWdlLWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICAgIHByaXZhdGUgX3ByZXZpb3VzUGFnZVNpemU6IG51bWJlciA9IHRoaXMuX3BhZ2VTaXplO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICAvLyBUbyByZWxpYWJseSBhbm5vdW5jZSBwYWdlIGNoYW5nZSwgd2UgaGF2ZSB0byBzZXQgdGhlIGxhYmVsIGluIHVwZGF0ZWQoKSAoYSB0aWNrIGxhdGVyIHRoYW4gdGhlIG90aGVyIGNoYW5nZXMpLlxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItc2NyZWVuLXJlYWRlci1vbmx5I3N0YXR1cycpIS50ZXh0Q29udGVudCA9XG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlTGFiZWwoKTtcbiAgICB9XG5cbiAgICAvKiogRXZhbHVhdGUgYHBhZ2VJbmRleGAgYnkgZXhjbHVkaW5nIGVkZ2UgY2FzZXMuICovXG4gICAgcHJpdmF0ZSBfY29lcmNlUGFnZUluZGV4SW5SYW5nZShwYWdlSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIE1hdGgubWluKE1hdGgubWF4KGlzTmFOKHBhZ2VJbmRleCkgPyAwIDogcGFnZUluZGV4LCAwKSwgdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxKSxcbiAgICAgICAgMCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3VycmVudFBhZ2VMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGAke3RoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCA/IHRoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCA6IGkxOG5QYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19ICR7dGhpcy5wYWdlSW5kZXggKyAxfSAke2kxOG5QYWdpbmF0b3JTZWxlY3RlZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfS5gO1xuICAgIH1cblxuICAgIC8qKiBBZHZhbmNlcyB0byB0aGUgbmV4dCBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4ICsgMTtcbiAgICB9XG5cbiAgICAvKiogTW92ZSBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgLyoqIE1vdmUgdG8gdGhlIGZpcnN0IHBhZ2UgaWYgbm90IGFscmVhZHkgdGhlcmUuICovXG4gICAgcHVibGljIGZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB9XG5cbiAgICAvKiogTW92ZSB0byB0aGUgbGFzdCBwYWdlIGlmIG5vdCBhbHJlYWR5IHRoZXJlLiAqL1xuICAgIHB1YmxpYyBsYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIHRvIGEgc3BlY2lmaWMgcGFnZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0UGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGEgcHJldmlvdXMgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ID49IDEgJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGVyZSBpcyBhIG5leHQgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBtYXhQYWdlSW5kZXggPSB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IG51bWJlciBvZiBwYWdlcyBiYXNlZCBvbiB0aGUgYGxlbmd0aGAgYW5kIHRoZSBgcGFnZVNpemVgO1xuICAgICAqIHZhbHVlIG11c3QgYmUgcm91bmRlZCB1cCAoZS5nLiBgbGVuZ3RoID0gMjFgIGFuZCBgcGFnZVNpemUgPSAxMGAgbWVhbnMgMyBwYWdlcykuXG4gICAgICovXG4gICAgcHVibGljIG51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VTaXplID8gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbWl0UGFnZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuaGFzVXBkYXRlZCB8fFxuICAgICAgICAodGhpcy5wYWdlSW5kZXggPT09IHByZXZpb3VzUGFnZUluZGV4ICYmIHRoaXMuX3ByZXZpb3VzUGFnZVNpemUgPT09IHRoaXMucGFnZVNpemUpXG4gICAgICApIHtcbiAgICAgICAgLy8gV2hlbiBlbWl0dGluZyB0aGUgcGFnZSBldmVudCBpcyBza2lwcGVkIGR1cmluZyBpbml0aWFsaXphdGlvbixcbiAgICAgICAgLy8gd2UgaGF2ZSB0byB1cGRhdGUgdGhlIHByZXZpb3VzIHBhZ2Ugc2l6ZS5cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBjb3VsZCB0cmlnZ2VyIGFuIHVubmVjZXNzYXJ5IHBhZ2UgZXZlbnQgd2hlbiBvdGhlciBwcm9wXG4gICAgICAgIC8vIGlzIHJlLWFzc2lnbmVkIHdpdGggdGhlIGUuZy4gdGhlIHNhbWUgdmFsdWUuXG4gICAgICAgIHRoaXMuX3ByZXZpb3VzUGFnZVNpemUgPSB0aGlzLnBhZ2VTaXplOyAvLyBVcGRhdGUgdGhlIHByZXZpb3VzIHBhZ2Ugc2l6ZSBmb3IgbmV4dCBjb21wYXJpc29uXG5cbiAgICAgICAgLy8gRG8gbm90IGVtaXQgdGhlIGV2ZW50IGlmIHRoZSBwYWdlIGV2ZW50IGRldGFpbHMgZGlkIG5vdCBjaGFuZ2VcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPn1cbiAgICAgICAqIFRoZSBwYWdlIGV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiB0aGUgcGFnZSBpbmRleCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPigncGFnZScsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlSW5kZXgsXG4gICAgICAgICAgICBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8c2JiLW1pbmktYnV0dG9uLWdyb3VwID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9IHNpemU9JHt0aGlzLnNpemUgPT09ICdzJyA/ICdzJyA6ICdsJ30+XG4gICAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzYmItcGFnaW5hdG9yLXByZXYtcGFnZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWxcbiAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbFxuICAgICAgICAgICAgICA6IGkxOG5QcmV2aW91c1BhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmhhc1ByZXZpb3VzUGFnZSgpfVxuICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzUGFnZSgpO1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkgJiZcbiAgICAgICAgICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3NiYi1wYWdpbmF0b3ItbmV4dC1wYWdlJykhLmZvY3VzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgICAgIDxzYmItZGl2aWRlciBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICA8c2JiLW1pbmktYnV0dG9uXG4gICAgICAgICAgICBpZD1cInNiYi1wYWdpbmF0b3ItbmV4dC1wYWdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsXG4gICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbFxuICAgICAgICAgICAgICA6IGkxOG5OZXh0UGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1yaWdodC1zbWFsbFwiXG4gICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmhhc05leHRQYWdlKCl9XG4gICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmV4dFBhZ2UoKTtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmhhc05leHRQYWdlKCkgJiZcbiAgICAgICAgICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3NiYi1wYWdpbmF0b3ItcHJldi1wYWdlJykhLmZvY3VzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgICA8L3NiYi1taW5pLWJ1dHRvbi1ncm91cD5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgJHt0aGlzLnJlbmRlclBhZ2luYXRvcigpfVxuICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSBpZD1cInN0YXR1c1wiIHJvbGU9XCJzdGF0dXNcIj48L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICBgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBwYWdlOiBDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtRE8sTUFBTSxpQ0FBaUMsQ0FDNUMsZUFDK0Q7TUFDaEQsNkJBQXlCLE1BQUE7O3NCQUM5QixpQkFBaUIsaUJBQWlCLHlCQUF5QixVQUFVLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEbEUsV0FBQSxtQkFDTCxZQUF3RTtBQUFBOztBQWdEdEI7QUFRN0I7QUFRN0I7QUFRQTtBQVFBO0FBN0RRLGFBQUEsV0FwQkssa0JBQUEsTUFBQSwwQkFBQSxHQW9CYTtBQWNsQixhQUFBLFlBQW9CO0FBWXBCLGFBQUEsYUFBcUI7QUFHNkMsMkJBQUEsaUNBQUEsa0JBQUEsTUFBQSw2QkFFOUQsT0FBTztBQU0wQiwyQkFBQSx5QkFBQSxrQkFBQSxNQUFBLGdDQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBa0IsT0FBQSxJQUFXLE1BQU0sR0FBRztBQVFuRSwyQkFBQSwyQ0FBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSxzQ0FBaUMsRUFBRTtBQVFuQywyQkFBQSxtREFBQSxrQkFBQSxNQUFBLHlDQUFBLEdBQUEsa0JBQUEsTUFBQSw4Q0FBeUMsRUFBRTtBQVEzQywyQkFBQSwrQ0FBQSxrQkFBQSxNQUFBLGlEQUFBLEdBQUEsa0JBQUEsTUFBQSwwQ0FBcUMsRUFBRTtBQUU3QyxhQUFBLG9GQUFXLElBQUksc0JBQXNCLElBQUk7QUFDM0MsYUFBQSxvQkFBNEIsS0FBSztBQUFBLE1Bb0ozQztBQUFBO0FBQUEsTUE3TkUsSUFBVyxPQUFPLE9BQWE7QUFDN0IsYUFBSyxVQUFVLE1BQU0sS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFJO0FBRy9DLGFBQUssWUFBWSxLQUFLO0FBQUEsTUFDeEI7QUFBQSxNQUNBLElBQVcsU0FBTTtBQUNmLGVBQU8sS0FBSztBQUFBLE1BQ2Q7QUFBQTtBQUFBLE1BS0EsSUFBVyxTQUFTLE9BQWE7QUFHL0IsYUFBSyxvQkFBb0IsS0FBSztBQUM5QixhQUFLLFlBQVksS0FBSyxJQUFJLE9BQU8sQ0FBQztBQUNsQyxhQUFLLFlBQVksS0FBSyxNQUFPLEtBQUssWUFBWSxLQUFLLG9CQUFxQixLQUFLLFFBQVEsS0FBSztBQUFBLE1BQzVGO0FBQUEsTUFDQSxJQUFXLFdBQVE7QUFDakIsZUFBTyxLQUFLO0FBQUEsTUFDZDtBQUFBO0FBQUEsTUFLQSxJQUFXLFVBQVUsT0FBYTtBQUNoQyxjQUFNLG9CQUFvQixLQUFLO0FBQy9CLGFBQUssYUFBYSxLQUFLLHdCQUF3QixLQUFLO0FBQ3BELGFBQUssY0FBYyxpQkFBaUI7QUFBQSxNQUN0QztBQUFBLE1BQ0EsSUFBVyxZQUFTO0FBQ2xCLGVBQU8sS0FBSztBQUFBLE1BQ2Q7QUFBQTtBQUFBLE1BSTBELElBQWdCLGdCQUFhO0FBQUEsZUFBQSxtQkFBQTtBQUFBLE1BQUE7QUFBQSxNQUE3QixJQUFnQixjQUFhLE9BQUE7QUFBQSwyQkFBQSxpQ0FBQTtBQUFBLE1BQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BUTFELElBQWdCLE9BQUk7QUFBQSxlQUFBLG1CQUFBO0FBQUEsTUFBQTtBQUFBLE1BQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLDJCQUFBLHdCQUFBO0FBQUEsTUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFRakQsSUFBZ0IseUJBQXNCO0FBQUEsZUFBQSxtQkFBQTtBQUFBLE1BQUE7QUFBQSxNQUF0QyxJQUFnQix1QkFBc0IsT0FBQTtBQUFBLDJCQUFBLDBDQUFBO0FBQUEsTUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFRdEMsSUFBZ0IsaUNBQThCO0FBQUEsZUFBQSxtQkFBQTtBQUFBLE1BQUE7QUFBQSxNQUE5QyxJQUFnQiwrQkFBOEIsT0FBQTtBQUFBLDJCQUFBLGtEQUFBO0FBQUEsTUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFROUMsSUFBZ0IsNkJBQTBCO0FBQUEsZUFBQSxtQkFBQTtBQUFBLE1BQUE7QUFBQSxNQUExQyxJQUFnQiwyQkFBMEIsT0FBQTtBQUFBLDJCQUFBLDhDQUFBO0FBQUEsTUFBQTtBQUFBLE1BTXZCLFFBQVEsbUJBQXVDO0FBQ2hFLGNBQU0sUUFBUSxpQkFBaUI7QUFHL0IsYUFBSyxXQUFZLGNBQWMsK0JBQStCLEVBQUcsY0FDL0QsS0FBSyxrQkFBQTtBQUFBLE1BQ1Q7QUFBQTtBQUFBLE1BR1Esd0JBQXdCLFdBQWlCO0FBQy9DLGVBQU8sS0FBSyxJQUNWLEtBQUssSUFBSSxLQUFLLElBQUksTUFBTSxTQUFTLElBQUksSUFBSSxXQUFXLENBQUMsR0FBRyxLQUFLLGtCQUFrQixDQUFDLEdBQ2hGLENBQUM7QUFBQSxNQUVMO0FBQUEsTUFFUSxvQkFBaUI7QUFDdkIsZUFBTyxHQUFHLEtBQUsseUJBQXlCLEtBQUsseUJBQXlCLFNBQVMsS0FBSyxTQUFTLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksc0JBQXNCLEtBQUssU0FBUyxPQUFPLENBQUM7QUFBQSxNQUM3SztBQUFBO0FBQUEsTUFHTyxXQUFRO0FBQ2IsYUFBSyxZQUFZLEtBQUssWUFBWTtBQUFBLE1BQ3BDO0FBQUE7QUFBQSxNQUdPLGVBQVk7QUFDakIsYUFBSyxZQUFZLEtBQUssWUFBWTtBQUFBLE1BQ3BDO0FBQUE7QUFBQSxNQUdPLFlBQVM7QUFDZCxhQUFLLFlBQVk7QUFBQSxNQUNuQjtBQUFBO0FBQUEsTUFHTyxXQUFRO0FBQ2IsYUFBSyxZQUFZLEtBQUssY0FBQSxJQUFrQjtBQUFBLE1BQzFDO0FBQUE7QUFBQSxNQUdPLFdBQVcsT0FBYTtBQUM3QixhQUFLLFlBQVk7QUFBQSxNQUNuQjtBQUFBO0FBQUEsTUFHTyxrQkFBZTtBQUNwQixlQUFPLEtBQUssYUFBYSxLQUFLLEtBQUssYUFBYTtBQUFBLE1BQ2xEO0FBQUE7QUFBQSxNQUdPLGNBQVc7QUFDaEIsY0FBTSxlQUFlLEtBQUssY0FBQSxJQUFrQjtBQUM1QyxlQUFPLEtBQUssWUFBWSxnQkFBZ0IsS0FBSyxhQUFhO0FBQUEsTUFDNUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BTU8sZ0JBQWE7QUFDbEIsZUFBTyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssU0FBUyxLQUFLLFFBQVEsSUFBSTtBQUFBLE1BQ2xFO0FBQUEsTUFFVSxjQUFjLG1CQUF5QjtBQUMvQyxZQUNFLENBQUMsS0FBSyxjQUNMLEtBQUssY0FBYyxxQkFBcUIsS0FBSyxzQkFBc0IsS0FBSyxVQUN6RTtBQUtBLGVBQUssb0JBQW9CLEtBQUs7QUFHOUI7QUFBQSxRQUNGO0FBTUEsYUFBSyxjQUNILElBQUksWUFBMEMsUUFBUTtBQUFBLFVBQ3BELFNBQVM7QUFBQSxVQUNULFVBQVU7QUFBQSxVQUNWLFFBQVE7QUFBQSxZQUNOO0FBQUEsWUFDQSxXQUFXLEtBQUs7QUFBQSxZQUNoQixRQUFRLEtBQUs7QUFBQSxZQUNiLFVBQVUsS0FBSztBQUFBLFVBQUE7QUFBQSxRQUNoQixDQUNGLENBQUM7QUFBQSxNQUVOO0FBQUEsTUFFVSx3QkFBcUI7QUFDN0IsZUFBTztBQUFBLDJDQUM4QixLQUFLLFFBQVEsU0FBUyxLQUFLLFNBQVMsTUFBTSxNQUFNLEdBQUc7QUFBQTtBQUFBO0FBQUEseUJBR3JFLEtBQUssaUNBQ2QsS0FBSyxpQ0FDTCxpQkFBaUIsS0FBSyxTQUFTLE9BQU8sQ0FBQztBQUFBO0FBQUEsd0JBRS9CLEtBQUssWUFBWSxDQUFDLEtBQUssaUJBQWlCO0FBQUEscUJBQzNDLE1BQUs7QUFDWixlQUFLLGFBQUE7QUFDTCxjQUNFLENBQUMsS0FBSyxnQkFBQSxLQUNOLHlCQUF5Qix1QkFBdUIsWUFDaEQ7QUFDQSxpQkFBSyxZQUFZLGVBQWUseUJBQXlCLEVBQUcsTUFBQTtBQUFBLFVBQzlEO0FBQUEsUUFDRixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx5QkFLWSxLQUFLLDZCQUNkLEtBQUssNkJBQ0wsYUFBYSxLQUFLLFNBQVMsT0FBTyxDQUFDO0FBQUE7QUFBQSx3QkFFM0IsS0FBSyxZQUFZLENBQUMsS0FBSyxhQUFhO0FBQUEscUJBQ3ZDLE1BQUs7QUFDWixlQUFLLFNBQUE7QUFDTCxjQUNFLENBQUMsS0FBSyxZQUFBLEtBQ04seUJBQXlCLHVCQUF1QixZQUNoRDtBQUNBLGlCQUFLLFlBQVksZUFBZSx5QkFBeUIsRUFBRyxNQUFBO0FBQUEsVUFDOUQ7QUFBQSxRQUNGLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQUlUO0FBQUEsTUFFbUIsU0FBTTtBQUN2QixlQUFPO0FBQUEsVUFDSCxLQUFLLGlCQUFpQjtBQUFBO0FBQUE7QUFBQSxNQUc1QjtBQUFBLElBQUEsR0F0TDBELGlEQVE3Qix3Q0FRN0IsMERBUUEsa0VBUUE7O0FBdkVDLCtCQUFBLENBQUEsU0FBUyxFQUFFLE1BQU0sT0FBQSxDQUFRLENBQUM7a0NBYTFCLFNBQVMsRUFBRSxXQUFXLGFBQWEsTUFBTSxPQUFBLENBQVEsQ0FBQzttQ0FjbEQsU0FBUyxFQUFFLFdBQVcsY0FBYyxNQUFNLE9BQUEsQ0FBUSxDQUFDO21DQVluRCxTQUFTLEVBQUUsV0FBVyxrQkFBa0IsU0FBUyxLQUFBLENBQU0sQ0FBQztBQVF4RCx5QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDOzRDQU0zQixhQUNBLFNBQVMsRUFBRSxXQUFXLDJCQUFBLENBQTRCLENBQUM7b0RBT25ELGFBQ0EsU0FBUyxFQUFFLFdBQVcsb0NBQUEsQ0FBcUMsQ0FBQztnREFPNUQsYUFDQSxTQUFTLEVBQUUsV0FBVyxnQ0FBQSxDQUFpQyxDQUFDO0FBckV6RCxtQkFBQSxJQUFBLE1BQUEsd0JBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSxVQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFlBQUEsS0FBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsWUFBVyxTQUFNO0FBQUEsTUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsMEJBQUE7QUFhakIsbUJBQUEsSUFBQSxNQUFBLDBCQUFBLEVBQUEsTUFBQSxVQUFBLE1BQUEsWUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxjQUFBLEtBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQVcsV0FBUTtBQUFBLE1BQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLDBCQUFBO0FBY25CLG1CQUFBLElBQUEsTUFBQSwyQkFBQSxFQUFBLE1BQUEsVUFBQSxNQUFBLGFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsZUFBQSxLQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFXLFlBQVM7QUFBQSxNQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSwwQkFBQTtBQVdzQyxtQkFBQSxJQUFBLE1BQUEsMkJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxpQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxtQkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLGVBQWEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQWIsZ0JBQWE7QUFBQSxNQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsNkJBQUEsZ0NBQUE7QUFRMUQsbUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsWUFBSixPQUFJO0FBQUEsTUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBUWpELG1CQUFBLElBQUEsTUFBQSxvQ0FBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLDBCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLDRCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0Isd0JBQXNCLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUF0Qix5QkFBc0I7QUFBQSxNQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsc0NBQUEseUNBQUE7QUFRdEMsbUJBQUEsSUFBQSxNQUFBLDRDQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsa0NBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsb0NBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixnQ0FBOEIsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQTlCLGlDQUE4QjtBQUFBLE1BQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSw4Q0FBQSxpREFBQTtBQVE5QyxtQkFBQSxJQUFBLE1BQUEsd0NBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSw4QkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxnQ0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLDRCQUEwQixLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsWUFBMUIsNkJBQTBCO0FBQUEsTUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLDBDQUFBLDZDQUFBOztVQTdFbkIsR0FBQSxPQUFPLFNBQ1AsR0FBQSxTQUFpQztBQUFBLE1BQ3RELE1BQU07QUFBQSxJQUFBLEdBTks7QUFBQTtBQXlPZixTQUFPO0FBRVQ7In0=
|
|
317
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBodG1sLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBpMThuTmV4dFBhZ2UsXG4gIGkxOG5QYWdlLFxuICBpMThuUGFnaW5hdG9yU2VsZWN0ZWQsXG4gIGkxOG5QcmV2aW91c1BhZ2UsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZTogbnVtYmVyO1xuICBwdWJsaWMgYWNjZXNzb3IgcGFnZUluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncyc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkO1xuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZDtcbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuO1xuICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgY2hhbmdlQW5kRW1pdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyLCBwYWdlSW5kZXg/OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAnZ3JvdXAnO1xuXG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqIE51bWJlciBvZiBpdGVtcyBwZXIgcGFnZS4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLXNpemUnLCB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuXG4gICAgLyoqIEN1cnJlbnQgcGFnZSBpbmRleC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgICAgfCAnc3RhcnQnXG4gICAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcGFnZS4gRGVmYXVsdHMgdG8gYHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcHJldmlvdXMgcGFnZS4gRGVmYXVsdHMgdG8gYHByZXZpb3VzIHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcHJldmlvdXMtcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBuZXh0IHBhZ2UuIERlZmF1bHRzIHRvIGBuZXh0IHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbmV4dC1wYWdlLWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgbGV0IHByZXZQYWdlSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsZW5ndGgnKSAmJiB0aGlzLmxlbmd0aCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdsZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmxlbmd0aCA9IGlzTmFOKHRoaXMubGVuZ3RoKSB8fCB0aGlzLmxlbmd0aCA8IDAgPyAwIDogdGhpcy5sZW5ndGg7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcFxuICAgICAgICAgKiBhbmQgaGFuZGxlZCBpbiB0aGUgcGFnZUluZGV4IGxvZ2ljIGJlbG93LCBlbWl0dGluZyB0aGUgcGFnZSBldmVudC5cbiAgICAgICAgICogSWYgdGhlIHBhZ2VJbmRleCBkb2Vzbid0IGNoYW5nZSB0aGVyZSdzIG5vIG5lZWQgdG8gZW1pdC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlU2l6ZScpICYmXG4gICAgICAgIHRoaXMucGFnZVNpemUgIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgncGFnZVNpemUnKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZVNpemUgPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VTaXplJyk7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBpc05hTih0aGlzLnBhZ2VTaXplKSB8fCB0aGlzLnBhZ2VTaXplIDwgMCA/IDAgOiB0aGlzLnBhZ2VTaXplO1xuICAgICAgICAvLyBDdXJyZW50IHBhZ2UgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBuZXcgcGFnZSBzaXplLlxuICAgICAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgcGFnZSBjb250YWluaW5nIHRoZSBwcmV2aW91cyBwYWdlJ3MgZmlyc3QgaXRlbS5cbiAgICAgICAgaWYgKHByZXZpb3VzUGFnZVNpemUpIHtcbiAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IE1hdGguZmxvb3IoKHRoaXMucGFnZUluZGV4ICogcHJldmlvdXNQYWdlU2l6ZSkgLyB0aGlzLnBhZ2VTaXplKSB8fCAwO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcCxcbiAgICAgICAgICogYW5kIHRoaXMgbGluZSBpcyB1c2VsZXNzLCBzaW5jZSB0aGUgY29ycmVjdCB2YWx1ZSB3aWxsIGJlIGNhbGN1bGF0ZWQgaW4gdGhlIGxvZ2ljIGJlbG93O1xuICAgICAgICAgKiBpZiB0aGUgcGFnZUluZGV4IGRvZXNuJ3QgY2hhbmdlIChlLmcuIGNoYW5nZSBwYWdlU2l6ZSBhdCBwYWdlSW5kZXggMCksIHRoZSBwcmV2UGFnZUluZGV4IGFuZCBwYWdlSW5kZXggYXJlIHRoZSBzYW1lLlxuICAgICAgICAgKiBJbiBib3RoIGNhc2UgdGhlIHBhZ2UgZXZlbnQgbXVzdCBiZSB0cmlnZ2VyZWQgdG8gYWxsb3cgY29uc3VtZXJzIHRvIHJldHJpZXZlIHRoZSBjb3JyZWN0IGRhdGEuXG4gICAgICAgICAqL1xuICAgICAgICBwcmV2UGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlSW5kZXgnKSAmJlxuICAgICAgICB0aGlzLnBhZ2VJbmRleCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdwYWdlSW5kZXgnKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICAgIHByZXZQYWdlSW5kZXggPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VJbmRleCcpITtcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXZQYWdlSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5fZW1pdFByaXZhdGVQYWdlRXZlbnQocHJldlBhZ2VJbmRleCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gVG8gcmVsaWFibHkgYW5ub3VuY2UgcGFnZSBjaGFuZ2UsIHdlIGhhdmUgdG8gc2V0IHRoZSBsYWJlbCBpbiB1cGRhdGVkKCkgKGEgdGljayBsYXRlciB0aGFuIHRoZSBvdGhlciBjaGFuZ2VzKS5cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLXNjcmVlbi1yZWFkZXItb25seSNzdGF0dXMnKSEudGV4dENvbnRlbnQgPVxuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZUxhYmVsKCk7XG4gICAgfVxuXG4gICAgLyoqIEV2YWx1YXRlIGBwYWdlSW5kZXhgIGJ5IGV4Y2x1ZGluZyBlZGdlIGNhc2VzLiAqL1xuICAgIHByaXZhdGUgX2NvZXJjZVBhZ2VJbmRleEluUmFuZ2UocGFnZUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICBNYXRoLm1pbihNYXRoLm1heChpc05hTihwYWdlSW5kZXgpID8gMCA6IHBhZ2VJbmRleCwgMCksIHRoaXMubnVtYmVyT2ZQYWdlcygpIC0gMSksXG4gICAgICAgIDAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2N1cnJlbnRQYWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMucGFnZUluZGV4ICsgMX0gJHtpMThuUGFnaW5hdG9yU2VsZWN0ZWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0uYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2hhbmdlQW5kRW1pdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHByZXZQYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleDtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4O1xuICAgICAgdGhpcy5lbWl0UGFnZUV2ZW50KHByZXZQYWdlSW5kZXgpO1xuICAgIH1cblxuICAgIC8qKiBBZHZhbmNlcyB0byB0aGUgbmV4dCBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4ICsgMTtcbiAgICB9XG5cbiAgICAvKiogTW92ZSBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgLyoqIE1vdmUgdG8gdGhlIGZpcnN0IHBhZ2UgaWYgbm90IGFscmVhZHkgdGhlcmUuICovXG4gICAgcHVibGljIGZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB9XG5cbiAgICAvKiogTW92ZSB0byB0aGUgbGFzdCBwYWdlIGlmIG5vdCBhbHJlYWR5IHRoZXJlLiAqL1xuICAgIHB1YmxpYyBsYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIHRvIGEgc3BlY2lmaWMgcGFnZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0UGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGEgcHJldmlvdXMgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ID49IDEgJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGVyZSBpcyBhIG5leHQgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBtYXhQYWdlSW5kZXggPSB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IG51bWJlciBvZiBwYWdlcyBiYXNlZCBvbiB0aGUgYGxlbmd0aGAgYW5kIHRoZSBgcGFnZVNpemVgO1xuICAgICAqIHZhbHVlIG11c3QgYmUgcm91bmRlZCB1cCAoZS5nLiBgbGVuZ3RoID0gMjFgIGFuZCBgcGFnZVNpemUgPSAxMGAgbWVhbnMgMyBwYWdlcykuXG4gICAgICovXG4gICAgcHVibGljIG51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VTaXplID8gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbWl0UGFnZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXIsIHBhZ2VJbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgICAgLyoqXG4gICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz59XG4gICAgICAgKiBUaGUgcGFnZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW5ldmVyIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHBhZ2UuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+KCdwYWdlJywge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcbiAgICAgICAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4ID8/IHRoaXMucGFnZUluZGV4LFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbWl0UHJpdmF0ZVBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAaW50ZXJuYWxcbiAgICAgICAgICogQHR5cGUge0N1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+fVxuICAgICAgICAgKiBUaGUgcGFnZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gdGhlIHBhZ2UgaW5kZXggY2hhbmdlcy5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz4oJ8m1cGFnZScsIHtcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcbiAgICAgICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzYmItbWluaS1idXR0b24tZ3JvdXAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0gc2l6ZT0ke3RoaXMuc2l6ZSA9PT0gJ3MnID8gJ3MnIDogJ2wnfT5cbiAgICAgICAgICA8c2JiLW1pbmktYnV0dG9uXG4gICAgICAgICAgICBpZD1cInNiYi1wYWdpbmF0b3ItcHJldi1wYWdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbFxuICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsXG4gICAgICAgICAgICAgIDogaTE4blByZXZpb3VzUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCJcbiAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaGFzUHJldmlvdXNQYWdlKCl9XG4gICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdlQW5kRW1pdFBhZ2UodGhpcy5wYWdlSW5kZXggLSAxKTtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmhhc1ByZXZpb3VzUGFnZSgpICYmXG4gICAgICAgICAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJ1xuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdzYmItcGFnaW5hdG9yLW5leHQtcGFnZScpIS5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgICA8c2JiLWRpdmlkZXIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzYmItcGFnaW5hdG9yLW5leHQtcGFnZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbFxuICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eU5leHRQYWdlTGFiZWxcbiAgICAgICAgICAgICAgOiBpMThuTmV4dFBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5oYXNOZXh0UGFnZSgpfVxuICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNoYW5nZUFuZEVtaXRQYWdlKHRoaXMucGFnZUluZGV4ICsgMSk7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5oYXNOZXh0UGFnZSgpICYmXG4gICAgICAgICAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJ1xuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdzYmItcGFnaW5hdG9yLXByZXYtcGFnZScpIS5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgPC9zYmItbWluaS1idXR0b24tZ3JvdXA+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICR7dGhpcy5yZW5kZXJQYWdpbmF0b3IoKX1cbiAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgaWQ9XCJzdGF0dXNcIiByb2xlPVwic3RhdHVzXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgcGFnZTogQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz47XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,OAAO,CAAC,kBAAkB;cAiBP,eAAe,IAAI,cAAc;CASrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
|
|
@@ -93,11 +93,12 @@ let SbbCompactPaginatorElement = (() => {
|
|
|
93
93
|
_classThis = _classDescriptor.value;
|
|
94
94
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
95
95
|
})(), _a.styles = style, _a.events = {
|
|
96
|
-
page: "page"
|
|
96
|
+
page: "page",
|
|
97
|
+
ɵpage: "ɵpage"
|
|
97
98
|
}, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
98
99
|
return _classThis;
|
|
99
100
|
})();
|
|
100
101
|
export {
|
|
101
102
|
SbbCompactPaginatorElement
|
|
102
103
|
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IGkxOG5QYWdlLCBpMThuUGFnaW5hdG9yT2YgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29tcGFjdC1wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHBhZ2luYXRvciBjb21wb25lbnQgaW4gY29tcGFjdCBtb2RlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY29tcGFjdC1wYWdpbmF0b3InKVxuY2xhc3MgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICAgIMm1cGFnZTogJ8m1cGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID4ke3RoaXMucGFnZUluZGV4ICsgMX08c2JiLWRpdmlkZXJcbiAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1jb21wYWN0LXBhZ2luYXRvcl9fZGl2aWRlclwiXG4gICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7ICctLXNiYi1kaXZpZGVyLWNvbG9yJzogJ2N1cnJlbnRjb2xvcicgfSl9XG4gICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgPjwvc2JiLWRpdmlkZXJcbiAgICAgICAgPiR7dGhpcy5udW1iZXJPZlBhZ2VzKCl9PC9zcGFuXG4gICAgICA+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgJHtgJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMucGFnZUluZGV4ICsgMX0gJHtpMThuUGFnaW5hdG9yT2ZbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLm51bWJlck9mUGFnZXMoKX1gfVxuICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY29tcGFjdC1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHt0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICA/IGh0bWxgJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfSAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9YFxuICAgICAgICAgIDogaHRtbGAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9ICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX1gfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNvbXBhY3QtcGFnaW5hdG9yJzogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0JNLDhCQUEwQixNQUFBOzswQkFEL0IsY0FBYyx1QkFBdUIsQ0FBQzs7OztvQkFDRSwrQkFBK0IsVUFBVTtBQUFqRCxFQUFBLG1CQUFRLFlBQTBDO0FBQUEsSUFPekUscUJBQWtCO0FBQ3hCLGFBQU87QUFBQTtBQUFBLFdBRUEsS0FBSyxZQUFZLENBQUM7QUFBQTtBQUFBO0FBQUEsa0JBR1gsU0FBUyxFQUFFLHVCQUF1QixnQkFBZ0IsQ0FBQztBQUFBLHNCQUMvQyxLQUFLLFFBQVE7QUFBQTtBQUFBLFdBRXhCLEtBQUssZUFBZTtBQUFBO0FBQUE7QUFBQSxVQUdyQixHQUFHLEtBQUsseUJBQXlCLEtBQUsseUJBQXlCLFNBQVMsS0FBSyxTQUFTLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksZ0JBQWdCLEtBQUssU0FBUyxPQUFPLENBQUMsSUFBSSxLQUFLLGNBQUEsQ0FBZSxFQUFFO0FBQUE7QUFBQTtBQUFBLElBR2hNO0FBQUEsSUFFbUIsa0JBQWU7QUFDaEMsYUFBTztBQUFBO0FBQUEsVUFFRCxLQUFLLGtCQUFrQixVQUNyQixPQUFPLEtBQUssdUJBQXVCLElBQUksS0FBSyxtQkFBQSxDQUFvQixLQUNoRSxPQUFPLEtBQUssbUJBQUEsQ0FBb0IsSUFBSSxLQUFLLHNCQUFBLENBQXVCLEVBQUU7QUFBQTtBQUFBO0FBQUEsSUFHNUU7QUFBQTs7QUFoQ0YsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLE9BQ3pCLEdBQUEsU0FBaUM7QUFBQSxJQUN0RCxNQUFNO0FBQUEsSUFDTixPQUFPO0FBQUEsRUFBQSxHQUpMLGtCQUFBLFlBQUEsdUJBQUEsR0FBMkI7OzsifQ==
|
|
@@ -32,6 +32,12 @@ export declare class SbbPaginatorElement extends SbbPaginatorElement_base {
|
|
|
32
32
|
/** Creates an array of consecutive numbers given the length and the starting value. */
|
|
33
33
|
private _range;
|
|
34
34
|
private _handleKeyUp;
|
|
35
|
+
/**
|
|
36
|
+
* A `pageSize` change would trigger a `pageIndex` change via `willUpdate`;
|
|
37
|
+
* this triggers a `ɵpage` event, but it's late for the `page` event,
|
|
38
|
+
* so the checks on the `pageIndex` changes are done here, and possibly the event is emitted.
|
|
39
|
+
*/
|
|
40
|
+
private _setPageSizeFromSizeOptionsSelect;
|
|
35
41
|
private _renderItemPerPageTemplate;
|
|
36
42
|
private _renderPageNumbers;
|
|
37
43
|
protected renderPaginator(): TemplateResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB;;;OAGG;IACH,SAEgB,8BAA8B,EAAE,MAAM,CAAM;IAE5D,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAezE,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,kBAAkB;cAmCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
|
|
@@ -371,6 +371,20 @@ let SbbPaginatorElement = (() => {
|
|
|
371
371
|
this._markForFocus = this.pageIndex;
|
|
372
372
|
}
|
|
373
373
|
}
|
|
374
|
+
/**
|
|
375
|
+
* A `pageSize` change would trigger a `pageIndex` change via `willUpdate`;
|
|
376
|
+
* this triggers a `ɵpage` event, but it's late for the `page` event,
|
|
377
|
+
* so the checks on the `pageIndex` changes are done here, and possibly the event is emitted.
|
|
378
|
+
*/
|
|
379
|
+
_setPageSizeFromSizeOptionsSelect(value) {
|
|
380
|
+
const previousPageSize = this.pageSize;
|
|
381
|
+
const currentPageIndex = this.pageIndex;
|
|
382
|
+
this.pageSize = value;
|
|
383
|
+
const newPageIndex = Math.floor(this.pageIndex * previousPageSize / this.pageSize) || 0;
|
|
384
|
+
if (currentPageIndex !== newPageIndex) {
|
|
385
|
+
this.emitPageEvent(currentPageIndex, newPageIndex);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
374
388
|
_renderItemPerPageTemplate() {
|
|
375
389
|
return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? html`
|
|
376
390
|
<div class="sbb-paginator__page-size-options">
|
|
@@ -387,7 +401,7 @@ let SbbPaginatorElement = (() => {
|
|
|
387
401
|
id="select"
|
|
388
402
|
?disabled=${this.disabled}
|
|
389
403
|
value=${this.pageSizeOptions?.find((e) => e === this.pageSize) ?? this.pageSizeOptions[0]}
|
|
390
|
-
@change=${(e) => this.
|
|
404
|
+
@change=${(e) => this._setPageSizeFromSizeOptionsSelect(+e.target.value)}
|
|
391
405
|
>
|
|
392
406
|
${repeat(this.pageSizeOptions, (element) => html`<sbb-option value=${element}>${element}</sbb-option>`)}
|
|
393
407
|
</sbb-select>
|
|
@@ -411,7 +425,7 @@ let SbbPaginatorElement = (() => {
|
|
|
411
425
|
data-index=${item}
|
|
412
426
|
aria-label="${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${item + 1}"
|
|
413
427
|
aria-current=${this.pageIndex === item ? "true" : nothing}
|
|
414
|
-
@click=${() => this.
|
|
428
|
+
@click=${() => this.changeAndEmitPage(item)}
|
|
415
429
|
@keyup=${this._handleKeyUp}
|
|
416
430
|
>
|
|
417
431
|
<span class="sbb-paginator__page--number-item-label">${item + 1}</span>
|
|
@@ -452,11 +466,12 @@ let SbbPaginatorElement = (() => {
|
|
|
452
466
|
_classThis = _classDescriptor.value;
|
|
453
467
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
454
468
|
})(), _a.styles = style, _a.events = {
|
|
455
|
-
page: "page"
|
|
469
|
+
page: "page",
|
|
470
|
+
ɵpage: "ɵpage"
|
|
456
471
|
}, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
457
472
|
return _classThis;
|
|
458
473
|
})();
|
|
459
474
|
export {
|
|
460
475
|
SbbPaginatorElement
|
|
461
476
|
};
|
|
462
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5JdGVtc1BlclBhZ2UsIGkxOG5QYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5qcyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLmpzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBhZ2luYXRvcicpXG5jbGFzcyBTYmJQYWdpbmF0b3JFbGVtZW50IGV4dGVuZHMgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHBhZ2U6ICdwYWdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVGhlIGF2YWlsYWJsZSBgcGFnZVNpemVgIGNob2ljZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2Utc2l6ZS1vcHRpb25zJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbXTtcblxuICAvKipcbiAgICogUG9zaXRpb24gb2YgdGhlIHByZXYvbmV4dCBidXR0b25zOiBpZiBgcGFnZVNpemVPcHRpb25zYCBpcyBzZXQsXG4gICAqIHRoZSBzYmItc2VsZWN0IGZvciB0aGUgcGFnZVNpemUgY2hhbmdlIHdpbGwgYmUgcG9zaXRpb25lZCBvcHBvc2l0ZWx5LCB3aXRoIHRoZSBwYWdlIG51bWJlcnMgYWx3YXlzIGluIHRoZSBjZW50ZXIuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlci1wb3NpdGlvbicsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIG92ZXJyaWRlIGFjY2Vzc29yIHBhZ2VyUG9zaXRpb246XG4gICAgfCAnc3RhcnQnXG4gICAgfCAnZW5kJyA9ICdzdGFydCc7XG5cbiAgLyoqXG4gICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBpdGVtcyBwZXIgcGFnZS4gRGVmYXVsdHMgdG8gYEl0ZW1zIHBlciBwYWdlLmAuXG4gICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktaXRlbXMtcGVyLXBhZ2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX21hcmtGb3JGb2N1czogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvKiogVGFiIG5hdmlnYXRpb24gY2FuIGZvcmNlIGEgcmVyZW5kZXIgd2hlbiBlbGxpcHNpcyBlbGVtZW50cyBuZWVkIHRvIGJlIGRpc3BsYXllZDsgdGhlIGZvY3VzIG11c3Qgc3RheSBvbiB0aGUgY29ycmVjdCBlbGVtZW50LiAqL1xuICAgIGlmICh0aGlzLl9tYXJrRm9yRm9jdXMgJiYgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgY29uc3QgZm9jdXNFbGVtZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZChcbiAgICAgICAgKGUpID0+IHRoaXMucGFnZUluZGV4ID09PSArZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnKSEsXG4gICAgICApO1xuICAgICAgaWYgKGZvY3VzRWxlbWVudCkge1xuICAgICAgICAoZm9jdXNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IG51bGw7XG4gICAgfVxuICB9XG4gIC8qKiBSZXR1cm5zIHRoZSBkaXNwbGF5ZWQgcGFnZSBlbGVtZW50cy4gKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzKCk6IEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yQWxsKCcuc2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0nKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBwYWdlcyBzZXQgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICogIC0gdGhlIGZpcnN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gdGhlIGxhc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIGBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRGAgb3RoZXIgcGFnZXMsIGVsbGlwc2lzIGJ1dHRvbiBtdXN0IGJlIHVzZWQuXG4gICAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXNJbmRleCgpOiAobnVtYmVyIHwgJ2VsbGlwc2lzJylbXSB7XG4gICAgY29uc3QgdG90YWxQYWdlczogbnVtYmVyID0gdGhpcy5udW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgY3VycmVudFBhZ2VJbmRleDogbnVtYmVyID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICBpZiAodG90YWxQYWdlcyA8PSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yYW5nZSh0b3RhbFBhZ2VzKTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEpLCAnZWxsaXBzaXMnLCB0b3RhbFBhZ2VzIC0gMV07XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4ID49IHRvdGFsUGFnZXMgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxLCB0b3RhbFBhZ2VzIC0gMSAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggLSAxLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4LFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4ICsgMSxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgdG90YWxQYWdlcyAtIDEsXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGFuIGFycmF5IG9mIGNvbnNlY3V0aXZlIG51bWJlcnMgZ2l2ZW4gdGhlIGxlbmd0aCBhbmQgdGhlIHN0YXJ0aW5nIHZhbHVlLiAqL1xuICBwcml2YXRlIF9yYW5nZShsZW5ndGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIgPSAwKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBrKSA9PiBrICsgb2Zmc2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJyAnICYmIGV2ZW50LmtleSAhPT0gJ0VudGVyJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9nZXRWaXNpYmxlUGFnZXMoKS5maW5kKChlOiBFbGVtZW50KSA9PiBlID09PSBldmVudC50YXJnZXQpO1xuICAgIGlmIChjdXJyZW50KSB7XG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0aGlzLnBhZ2VJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplT3B0aW9ucyAmJiB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICA/IGh0bWxgXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgPiR7dGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eUl0ZW1zUGVyUGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgOiBpMThuSXRlbXNQZXJQYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19PC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNiYi1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgIGJvcmRlcmxlc3NcbiAgICAgICAgICAgICAgd2lkdGg9XCJjb2xsYXBzZVwiXG4gICAgICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzYmItc2VsZWN0XG4gICAgICAgICAgICAgICAgaWQ9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgdmFsdWU9JHt0aGlzLnBhZ2VTaXplT3B0aW9ucz8uZmluZCgoZSkgPT4gZSA9PT0gdGhpcy5wYWdlU2l6ZSkgPz9cbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyFbMF19XG4gICAgICAgICAgICAgICAgQGNoYW5nZT0keyhlOiBFdmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICh0aGlzLnBhZ2VTaXplID0gKygoZS50YXJnZXQgYXMgU2JiU2VsZWN0RWxlbWVudCkudmFsdWUgYXMgc3RyaW5nKSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAke3JlcGVhdChcbiAgICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zISxcbiAgICAgICAgICAgICAgICAgIChlbGVtZW50KSA9PiBodG1sYDxzYmItb3B0aW9uIHZhbHVlPSR7ZWxlbWVudH0+JHtlbGVtZW50fTwvc2JiLW9wdGlvbj5gLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvc2JiLXNlbGVjdD5cbiAgICAgICAgICAgIDwvc2JiLWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIGBcbiAgICAgIDogbm90aGluZztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlclBhZ2VOdW1iZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDx1bCBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2VzXCI+XG4gICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgIHRoaXMuX2dldFZpc2libGVQYWdlc0luZGV4KCksXG4gICAgICAgICAgKGl0ZW06IG51bWJlciB8ICdlbGxpcHNpcycpOiBUZW1wbGF0ZVJlc3VsdCA9PlxuICAgICAgICAgICAgaXRlbSA9PT0gJ2VsbGlwc2lzJ1xuICAgICAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzLWl0ZW1cIj7igKY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgOiBodG1sYFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICA/ZGF0YS1zZWxlY3RlZD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS1pbmRleD0ke2l0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7dGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke2l0ZW0gKyAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW0gPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+ICh0aGlzLnBhZ2VJbmRleCA9IGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLE1BQU0sNkJBQTZCO0lBTzdCLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxlQUFlLENBQUM7Ozs7b0JBQ0csK0JBQStCLFVBQVU7Ozs7Ozs7Ozs7QUFBakQsRUFBQSxtQkFBUSxZQUEwQztBQUFBOztBQVExRTtBQU0wRDtBQVUxRDtBQWhCZ0IseUJBQUEsbUNBQUEsa0JBQUEsTUFBQSwrQkFBNEIsQ0FBQSxDQUFFO0FBTXFDLHlCQUFBLGtDQUFBLGtCQUFBLE1BQUEsa0NBQUEsR0FBQSxrQkFBQSxNQUFBLDZCQUV2RSxPQUFPO0FBUUgseUJBQUEsbURBQUEsa0JBQUEsTUFBQSxnQ0FBQSxHQUFBLGtCQUFBLE1BQUEsOENBQXlDLEVBQUU7QUFFbkQsV0FBQSxpQkFBYSxrQkFBQSxNQUFBLGlEQUFBLEdBQWtCO0FBQUEsSUE2SnpDO0FBQUE7QUFBQSxJQS9LRSxJQUFnQixrQkFBZTtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBL0IsSUFBZ0IsZ0JBQWUsT0FBQTtBQUFBLHlCQUFBLG1DQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtB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
|
|
477
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5JdGVtc1BlclBhZ2UsIGkxOG5QYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5qcyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLmpzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBhZ2luYXRvcicpXG5jbGFzcyBTYmJQYWdpbmF0b3JFbGVtZW50IGV4dGVuZHMgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHBhZ2U6ICdwYWdlJyxcbiAgICDJtXBhZ2U6ICfJtXBhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnM6IGlmIGBwYWdlU2l6ZU9wdGlvbnNgIGlzIHNldCxcbiAgICogdGhlIHNiYi1zZWxlY3QgZm9yIHRoZSBwYWdlU2l6ZSBjaGFuZ2Ugd2lsbCBiZSBwb3NpdGlvbmVkIG9wcG9zaXRlbHksIHdpdGggdGhlIHBhZ2UgbnVtYmVycyBhbHdheXMgaW4gdGhlIGNlbnRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICB8ICdzdGFydCdcbiAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogQWNjZXNzaWJpbGl0eSBsYWJlbCBmb3IgdGhlIGl0ZW1zIHBlciBwYWdlLiBEZWZhdWx0cyB0byBgSXRlbXMgcGVyIHBhZ2UuYC5cbiAgICogQ2FuIGJlIHNldCBmb3IgY2FzZXMgbGlrZSBhIGNhcm91c2VsLCB3aGVyZSBgc2xpZGVgIG9yIGBpbWFnZWAgZml0cyBiZXR0ZXIuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1pdGVtcy1wZXItcGFnZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlJdGVtc1BlclBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfbWFya0ZvckZvY3VzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8qKiBUYWIgbmF2aWdhdGlvbiBjYW4gZm9yY2UgYSByZXJlbmRlciB3aGVuIGVsbGlwc2lzIGVsZW1lbnRzIG5lZWQgdG8gYmUgZGlzcGxheWVkOyB0aGUgZm9jdXMgbXVzdCBzdGF5IG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQuICovXG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cyAmJiBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICBjb25zdCBmb2N1c0VsZW1lbnQgPSB0aGlzLl9nZXRWaXNpYmxlUGFnZXMoKS5maW5kKFxuICAgICAgICAoZSkgPT4gdGhpcy5wYWdlSW5kZXggPT09ICtlLmdldEF0dHJpYnV0ZSgnZGF0YS1pbmRleCcpISxcbiAgICAgICk7XG4gICAgICBpZiAoZm9jdXNFbGVtZW50KSB7XG4gICAgICAgIChmb2N1c0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICAvLyBSZXNldCBtYXJrIGZvciBmb2N1c1xuICAgICAgdGhpcy5fbWFya0ZvckZvY3VzID0gbnVsbDtcbiAgICB9XG4gIH1cbiAgLyoqIFJldHVybnMgdGhlIGRpc3BsYXllZCBwYWdlIGVsZW1lbnRzLiAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXMoKTogRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbScpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIHBhZ2VzIHNldCBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHJ1bGVzOlxuICAgKiAgLSB0aGUgZmlyc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSB0aGUgbGFzdCBwYWdlIG11c3QgYWx3YXlzIGJlIHZpc2libGU7XG4gICAqICAtIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gYE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEYCBvdGhlciBwYWdlcywgZWxsaXBzaXMgYnV0dG9uIG11c3QgYmUgdXNlZC5cbiAgICovXG4gIHByaXZhdGUgX2dldFZpc2libGVQYWdlc0luZGV4KCk6IChudW1iZXIgfCAnZWxsaXBzaXMnKVtdIHtcbiAgICBjb25zdCB0b3RhbFBhZ2VzOiBudW1iZXIgPSB0aGlzLm51bWJlck9mUGFnZXMoKTtcbiAgICBjb25zdCBjdXJyZW50UGFnZUluZGV4OiBudW1iZXIgPSB0aGlzLnBhZ2VJbmRleDtcblxuICAgIGlmICh0b3RhbFBhZ2VzIDw9IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMikge1xuICAgICAgcmV0dXJuIHRoaXMuX3JhbmdlKHRvdGFsUGFnZXMpO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhZ2VJbmRleCA8IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gWy4uLnRoaXMuX3JhbmdlKE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMSksICdlbGxpcHNpcycsIHRvdGFsUGFnZXMgLSAxXTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPj0gdG90YWxQYWdlcyAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAwLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICAuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEsIHRvdGFsUGFnZXMgLSAxIC0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCAtIDEsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXgsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggKyAxLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICB0b3RhbFBhZ2VzIC0gMSxcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgLyoqIENyZWF0ZXMgYW4gYXJyYXkgb2YgY29uc2VjdXRpdmUgbnVtYmVycyBnaXZlbiB0aGUgbGVuZ3RoIGFuZCB0aGUgc3RhcnRpbmcgdmFsdWUuICovXG4gIHByaXZhdGUgX3JhbmdlKGxlbmd0aDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlciA9IDApOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgKF8sIGspID0+IGsgKyBvZmZzZXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnICcgJiYgZXZlbnQua2V5ICE9PSAnRW50ZXInKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoKGU6IEVsZW1lbnQpID0+IGUgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IHRoaXMucGFnZUluZGV4O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBIGBwYWdlU2l6ZWAgY2hhbmdlIHdvdWxkIHRyaWdnZXIgYSBgcGFnZUluZGV4YCBjaGFuZ2UgdmlhIGB3aWxsVXBkYXRlYDtcbiAgICogdGhpcyB0cmlnZ2VycyBhIGDJtXBhZ2VgIGV2ZW50LCBidXQgaXQncyBsYXRlIGZvciB0aGUgYHBhZ2VgIGV2ZW50LFxuICAgKiBzbyB0aGUgY2hlY2tzIG9uIHRoZSBgcGFnZUluZGV4YCBjaGFuZ2VzIGFyZSBkb25lIGhlcmUsIGFuZCBwb3NzaWJseSB0aGUgZXZlbnQgaXMgZW1pdHRlZC5cbiAgICovXG4gIHByaXZhdGUgX3NldFBhZ2VTaXplRnJvbVNpemVPcHRpb25zU2VsZWN0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c1BhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZTtcbiAgICBjb25zdCBjdXJyZW50UGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHZhbHVlO1xuICAgIGNvbnN0IG5ld1BhZ2VJbmRleCA9IE1hdGguZmxvb3IoKHRoaXMucGFnZUluZGV4ICogcHJldmlvdXNQYWdlU2l6ZSkgLyB0aGlzLnBhZ2VTaXplKSB8fCAwO1xuICAgIGlmIChjdXJyZW50UGFnZUluZGV4ICE9PSBuZXdQYWdlSW5kZXgpIHtcbiAgICAgIHRoaXMuZW1pdFBhZ2VFdmVudChjdXJyZW50UGFnZUluZGV4LCBuZXdQYWdlSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFnZVNpemVPcHRpb25zICYmIHRoaXMucGFnZVNpemVPcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgID8gaHRtbGBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS1zaXplLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICA+JHt0aGlzLmFjY2Vzc2liaWxpdHlJdGVtc1BlclBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA6IGkxOG5JdGVtc1BlclBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX08L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c2JiLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICAgICAgICB3aWR0aD1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1zZWxlY3RcbiAgICAgICAgICAgICAgICBpZD1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT0ke3RoaXMucGFnZVNpemVPcHRpb25zPy5maW5kKChlKSA9PiBlID09PSB0aGlzLnBhZ2VTaXplKSA/P1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zIVswXX1cbiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7KGU6IEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0UGFnZVNpemVGcm9tU2l6ZU9wdGlvbnNTZWxlY3QoXG4gICAgICAgICAgICAgICAgICAgICsoKGUudGFyZ2V0IGFzIFNiYlNlbGVjdEVsZW1lbnQpLnZhbHVlIGFzIHN0cmluZyksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyEsXG4gICAgICAgICAgICAgICAgICAoZWxlbWVudCkgPT4gaHRtbGA8c2JiLW9wdGlvbiB2YWx1ZT0ke2VsZW1lbnR9PiR7ZWxlbWVudH08L3NiYi1vcHRpb24+YCxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L3NiYi1zZWxlY3Q+XG4gICAgICAgICAgICA8L3NiYi1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgXG4gICAgICA6IG5vdGhpbmc7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJQYWdlTnVtYmVycygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8dWwgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiPlxuICAgICAgICAke3JlcGVhdChcbiAgICAgICAgICB0aGlzLl9nZXRWaXNpYmxlUGFnZXNJbmRleCgpLFxuICAgICAgICAgIChpdGVtOiBudW1iZXIgfCAnZWxsaXBzaXMnKTogVGVtcGxhdGVSZXN1bHQgPT5cbiAgICAgICAgICAgIGl0ZW0gPT09ICdlbGxpcHNpcydcbiAgICAgICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpcy1pdGVtXCI+4oCmPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICBgXG4gICAgICAgICAgICAgIDogaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgP2RhdGEtc2VsZWN0ZWQ9JHt0aGlzLnBhZ2VJbmRleCA9PT0gaXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaW5kZXg9JHtpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCIke3RoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaTE4blBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHtpdGVtICsgMX1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtID8gJ3RydWUnIDogbm90aGluZ31cbiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNoYW5nZUFuZEVtaXRQYWdlKGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpb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
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { CSSResultGroup, TemplateResult } from 'lit';
|
|
2
2
|
import { SbbButtonBaseElement } from '../../core/base-elements.js';
|
|
3
|
+
import { SbbTooltipDefaultPositions } from '../../tooltip.js';
|
|
3
4
|
declare const SbbIconSidebarButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof SbbButtonBaseElement;
|
|
4
5
|
/**
|
|
5
6
|
* Button to be placed inside `sbb-icon-sidebar`.
|
|
6
7
|
*
|
|
7
8
|
* @slot icon - Slot used to display the icon.
|
|
8
9
|
*/
|
|
9
|
-
export declare class SbbIconSidebarButtonElement extends SbbIconSidebarButtonElement_base {
|
|
10
|
+
export declare class SbbIconSidebarButtonElement extends SbbIconSidebarButtonElement_base implements SbbTooltipDefaultPositions {
|
|
10
11
|
static styles: CSSResultGroup;
|
|
12
|
+
/** @internal */
|
|
13
|
+
readonly tooltipPositions: string[];
|
|
11
14
|
protected renderTemplate(): TemplateResult;
|
|
12
15
|
}
|
|
13
16
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-sidebar-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/sidebar/icon-sidebar-button/icon-sidebar-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;;
|
|
1
|
+
{"version":3,"file":"icon-sidebar-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/sidebar/icon-sidebar-button/icon-sidebar-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;;AAGnE;;;;GAIG;AACH,qBAEM,2BACJ,SAAQ,gCACR,YAAW,0BAA0B;IAErC,OAAuB,MAAM,EAAE,cAAc,CAAgC;IAC7E,gBAAgB;IAChB,SAAgB,gBAAgB,WAAkC;cAE/C,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,yBAAyB,EAAE,2BAA2B,CAAC;KACxD;CACF"}
|
|
@@ -11,6 +11,10 @@ let SbbIconSidebarButtonElement = (() => {
|
|
|
11
11
|
let _classThis;
|
|
12
12
|
let _classSuper = SbbIconNameMixin(SbbButtonBaseElement);
|
|
13
13
|
_a = class extends _classSuper {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.tooltipPositions = ["inline-end", "inline-start"];
|
|
17
|
+
}
|
|
14
18
|
renderTemplate() {
|
|
15
19
|
return super.renderIconSlot();
|
|
16
20
|
}
|
|
@@ -25,4 +29,4 @@ let SbbIconSidebarButtonElement = (() => {
|
|
|
25
29
|
export {
|
|
26
30
|
SbbIconSidebarButtonElement
|
|
27
31
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zaWRlYmFyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zaWRlYmFyL2ljb24tc2lkZWJhci1idXR0b24vaWNvbi1zaWRlYmFyLWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9ucyB9IGZyb20gJy4uLy4uL3Rvb2x0aXAuanMnO1xuaW1wb3J0IHsgaWNvblNpZGViYXJCdXR0b25Db21tb25TdHlsZSB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogQnV0dG9uIHRvIGJlIHBsYWNlZCBpbnNpZGUgYHNiYi1pY29uLXNpZGViYXJgLlxuICpcbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbi5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWljb24tc2lkZWJhci1idXR0b24nKVxuY2xhc3MgU2JiSWNvblNpZGViYXJCdXR0b25FbGVtZW50XG4gIGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudClcbiAgaW1wbGVtZW50cyBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9uc1xue1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBpY29uU2lkZWJhckJ1dHRvbkNvbW1vblN0eWxlO1xuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyByZWFkb25seSB0b29sdGlwUG9zaXRpb25zID0gWydpbmxpbmUtZW5kJywgJ2lubGluZS1zdGFydCddO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25TbG90KCk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1pY29uLXNpZGViYXItYnV0dG9uJzogU2JiSWNvblNpZGViYXJCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7SUFlTSwrQkFBMkIsTUFBQTs7MEJBRGhDLGNBQWMseUJBQXlCLENBQUM7Ozs7b0JBRS9CLGlCQUFpQixvQkFBb0I7QUFBN0MsRUFBQSxtQkFBUSxZQUFzQztBQUFBOztBQUs5QixXQUFBLG1CQUFtQixDQUFDLGNBQWMsY0FBYztBQUFBLElBS2xFO0FBQUEsSUFIcUIsaUJBQWM7QUFDL0IsYUFBTyxNQUFNLGVBQUE7QUFBQSxJQUNmO0FBQUE7O0FBVkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUl5QixHQUFBLFNBQXlCLDhCQUo1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQ0o7OzsifQ==
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { CSSResultGroup, TemplateResult } from 'lit';
|
|
2
2
|
import { SbbLinkBaseElement } from '../../core/base-elements.js';
|
|
3
|
+
import { SbbTooltipDefaultPositions } from '../../tooltip.js';
|
|
3
4
|
declare const SbbIconSidebarLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof SbbLinkBaseElement;
|
|
4
5
|
/**
|
|
5
6
|
* Link to be placed inside `sbb-icon-sidebar`.
|
|
6
7
|
*
|
|
7
8
|
* @slot icon - Slot used to display the icon.
|
|
8
9
|
*/
|
|
9
|
-
export declare class SbbIconSidebarLinkElement extends SbbIconSidebarLinkElement_base {
|
|
10
|
+
export declare class SbbIconSidebarLinkElement extends SbbIconSidebarLinkElement_base implements SbbTooltipDefaultPositions {
|
|
10
11
|
static styles: CSSResultGroup;
|
|
12
|
+
/** @internal */
|
|
13
|
+
readonly tooltipPositions: string[];
|
|
11
14
|
protected renderTemplate(): TemplateResult;
|
|
12
15
|
}
|
|
13
16
|
declare global {
|