@sbb-esta/lyne-elements 1.2.0 → 1.3.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/accordion/accordion.d.ts +1 -1
- package/accordion/accordion.d.ts.map +1 -1
- package/alert/alert/alert.d.ts +1 -1
- package/alert/alert/alert.d.ts.map +1 -1
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common.js +20 -20
- package/button/mini-button/mini-button.d.ts +0 -1
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button.js +16 -18
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +22 -20
- package/checkbox/checkbox/checkbox.d.ts +0 -1
- package/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts +0 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +5 -3
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +0 -1
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +12 -11
- package/checkbox/checkbox.js +12 -11
- package/clock/clock.d.ts +19 -13
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +86 -75
- package/core/datetime/date-adapter.d.ts +23 -13
- package/core/datetime/date-adapter.d.ts.map +1 -1
- package/core/datetime/native-date-adapter.d.ts +0 -1
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +23 -23
- package/core/decorators/host-attributes.d.ts +1 -1
- package/core/decorators/slot-state.d.ts +18 -0
- package/core/decorators/slot-state.d.ts.map +1 -0
- package/core/decorators.d.ts +1 -0
- package/core/decorators.d.ts.map +1 -1
- package/core/decorators.js +15 -9
- package/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/core/mixins.js +126 -132
- package/core/styles/mixins/buttons.scss +15 -48
- package/custom-elements.json +509 -540
- package/datepicker/common/datepicker-button.d.ts +5 -5
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.js +21 -20
- package/datepicker/datepicker/datepicker.d.ts +55 -38
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/datepicker/datepicker-next-day.js +16 -16
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -1
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day.js +14 -14
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +25 -23
- package/datepicker/datepicker.js +147 -181
- package/development/accordion/accordion.d.ts +1 -1
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +1 -1
- package/development/alert/alert/alert.d.ts +1 -1
- package/development/alert/alert/alert.d.ts.map +1 -1
- package/development/alert/alert.js +1 -1
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common.js +30 -25
- package/development/button/mini-button/mini-button.d.ts +0 -1
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.js +17 -55
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +4 -2
- package/development/checkbox/checkbox/checkbox.d.ts +0 -1
- package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts +0 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +6 -5
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +0 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +5 -5
- package/development/checkbox/checkbox.js +5 -5
- package/development/clock/clock.d.ts +19 -13
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +85 -80
- package/development/core/datetime/date-adapter.d.ts +23 -13
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/native-date-adapter.d.ts +0 -1
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +28 -26
- package/development/core/decorators/host-attributes.d.ts +1 -1
- package/development/core/decorators/slot-state.d.ts +18 -0
- package/development/core/decorators/slot-state.d.ts.map +1 -0
- package/development/core/decorators.d.ts +1 -0
- package/development/core/decorators.d.ts.map +1 -1
- package/development/core/decorators.js +11 -2
- package/development/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +15 -16
- package/development/datepicker/common/datepicker-button.d.ts +5 -5
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.js +10 -9
- package/development/datepicker/datepicker/datepicker.d.ts +55 -38
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +14 -54
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day.js +14 -54
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +16 -10
- package/development/datepicker/datepicker.js +134 -159
- package/development/dialog/dialog.js +1 -1
- package/development/file-selector/file-selector.d.ts +0 -1
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +6 -5
- package/development/form-field/form-field/form-field.d.ts +1 -2
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +15 -51
- package/development/form-field/form-field.js +8 -7
- package/development/icon/icon-request.d.ts.map +1 -1
- package/development/icon.js +8 -13
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common.js +6 -7
- package/development/link-list/link-list.d.ts +0 -1
- package/development/link-list/link-list.d.ts.map +1 -1
- package/development/link-list.js +5 -5
- package/development/map-container.js +5 -2
- package/development/navigation/navigation-list/navigation-list.d.ts +0 -1
- package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/development/navigation/navigation-list.js +5 -5
- package/development/navigation/navigation-section/navigation-section.d.ts +0 -1
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +6 -6
- package/development/notification/notification.d.ts +5 -16
- package/development/notification/notification.d.ts.map +1 -1
- package/development/notification.js +8 -9
- package/development/option/option/option.d.ts.map +1 -1
- package/development/option/option.js +5 -5
- package/development/popover/popover/popover.d.ts +3 -1
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover-trigger.js +14 -49
- package/development/popover/popover.js +11 -4
- package/development/radio-button/radio-button/radio-button.d.ts +0 -1
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +6 -6
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +0 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +4 -7
- package/development/radio-button/radio-button.js +4 -7
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -1
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +6 -5
- package/development/skiplink-list/skiplink-list.d.ts +0 -1
- package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +5 -5
- package/development/status/status.d.ts +0 -1
- package/development/status/status.d.ts.map +1 -1
- package/development/status.js +5 -5
- package/development/stepper/stepper/stepper.d.ts +3 -1
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +3 -2
- package/development/tabs/tab-group/tab-group.d.ts +3 -1
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +3 -2
- package/development/tabs/tab-label/tab-label.d.ts +0 -1
- package/development/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/development/tabs/tab-label.js +5 -5
- package/development/tag/tag/tag.d.ts +0 -1
- package/development/tag/tag/tag.d.ts.map +1 -1
- package/development/tag/tag.js +6 -5
- package/development/teaser/teaser.d.ts +0 -1
- package/development/teaser/teaser.d.ts.map +1 -1
- package/development/teaser.js +5 -5
- package/development/toast/toast.d.ts +1 -2
- package/development/toast/toast.d.ts.map +1 -1
- package/development/toast.js +10 -8
- package/development/toggle/toggle-option/toggle-option.d.ts +0 -1
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +6 -6
- package/development/toggle-check/toggle-check.d.ts +2 -3
- package/development/toggle-check/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +5 -5
- package/development/visual-checkbox.js +2 -2
- package/dialog/dialog.js +1 -1
- package/file-selector/file-selector.d.ts +0 -1
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +17 -15
- package/form-field/form-field/form-field.d.ts +1 -2
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +17 -18
- package/form-field/form-field.js +16 -14
- package/icon/icon-request.d.ts.map +1 -1
- package/icon.js +86 -86
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common.js +9 -9
- package/link-list/link-list.d.ts +0 -1
- package/link-list/link-list.d.ts.map +1 -1
- package/link-list.js +8 -7
- package/map-container.js +1 -1
- package/navigation/navigation-list/navigation-list.d.ts +0 -1
- package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/navigation/navigation-list.js +9 -8
- package/navigation/navigation-section/navigation-section.d.ts +0 -1
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +10 -9
- package/notification/notification.d.ts +5 -16
- package/notification/notification.d.ts.map +1 -1
- package/notification.js +9 -9
- package/option/option/option.d.ts.map +1 -1
- package/option/option.js +6 -5
- package/package.json +1 -1
- package/popover/popover/popover.d.ts +3 -1
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover-trigger.js +13 -13
- package/popover/popover.js +55 -48
- package/radio-button/radio-button/radio-button.d.ts +0 -1
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +7 -6
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +0 -1
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +12 -14
- package/radio-button/radio-button.js +7 -9
- package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -1
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +15 -13
- package/skiplink-list/skiplink-list.d.ts +0 -1
- package/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/skiplink-list.js +4 -3
- package/status/status.d.ts +0 -1
- package/status/status.d.ts.map +1 -1
- package/status.js +9 -8
- package/stepper/stepper/stepper.d.ts +3 -1
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +7 -6
- package/tabs/tab-group/tab-group.d.ts +3 -1
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +14 -13
- package/tabs/tab-label/tab-label.d.ts +0 -1
- package/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/tabs/tab-label.js +4 -3
- package/tag/tag/tag.d.ts +0 -1
- package/tag/tag/tag.d.ts.map +1 -1
- package/tag/tag.js +6 -4
- package/teaser/teaser.d.ts +0 -1
- package/teaser/teaser.d.ts.map +1 -1
- package/teaser.js +4 -3
- package/toast/toast.d.ts +1 -2
- package/toast/toast.d.ts.map +1 -1
- package/toast.js +15 -12
- package/toggle/toggle-option/toggle-option.d.ts +0 -1
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +12 -11
- package/toggle-check/toggle-check.d.ts +2 -3
- package/toggle-check/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +4 -3
- package/visual-checkbox.js +4 -4
|
@@ -3,7 +3,8 @@ import { property, state, customElement } from "lit/decorators.js";
|
|
|
3
3
|
import { ref } from "lit/directives/ref.js";
|
|
4
4
|
import { html, unsafeStatic } from "lit/static-html.js";
|
|
5
5
|
import { sbbInputModalityDetector } from "./core/a11y.js";
|
|
6
|
-
import { SbbLanguageController
|
|
6
|
+
import { SbbLanguageController } from "./core/controllers.js";
|
|
7
|
+
import { slotState } from "./core/decorators.js";
|
|
7
8
|
import { EventEmitter } from "./core/eventing.js";
|
|
8
9
|
import { i18nFileSelectorCurrentlySelected, i18nFileSelectorButtonLabel, i18nFileSelectorSubtitleLabel, i18nFileSelectorDeleteFile } from "./core/i18n.js";
|
|
9
10
|
import { SbbDisabledMixin } from "./core/mixins.js";
|
|
@@ -192,7 +193,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
192
193
|
};
|
|
193
194
|
let SbbFileSelectorElement = class extends SbbDisabledMixin(LitElement) {
|
|
194
195
|
constructor() {
|
|
195
|
-
super();
|
|
196
|
+
super(...arguments);
|
|
196
197
|
this.variant = "default";
|
|
197
198
|
this.size = "m";
|
|
198
199
|
this.multiple = false;
|
|
@@ -204,7 +205,6 @@ let SbbFileSelectorElement = class extends SbbDisabledMixin(LitElement) {
|
|
|
204
205
|
this._counter = 0;
|
|
205
206
|
this._suffixes = ["B", "kB", "MB", "GB", "TB"];
|
|
206
207
|
this._language = new SbbLanguageController(this);
|
|
207
|
-
new SbbSlotStateController(this);
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
210
|
* Gets the currently selected files.
|
|
@@ -425,9 +425,10 @@ __decorateClass([
|
|
|
425
425
|
state()
|
|
426
426
|
], SbbFileSelectorElement.prototype, "_files", 2);
|
|
427
427
|
SbbFileSelectorElement = __decorateClass([
|
|
428
|
-
customElement("sbb-file-selector")
|
|
428
|
+
customElement("sbb-file-selector"),
|
|
429
|
+
slotState()
|
|
429
430
|
], SbbFileSelectorElement);
|
|
430
431
|
export {
|
|
431
432
|
SbbFileSelectorElement
|
|
432
433
|
};
|
|
433
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ZpbGUtc2VsZWN0b3IvZmlsZS1zZWxlY3Rvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlNlY29uZGFyeUJ1dHRvblN0YXRpY0VsZW1lbnQgfSBmcm9tICcuLi9idXR0b24uanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciwgU2JiU2xvdFN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQge1xuICBpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWwsXG4gIGkxOG5GaWxlU2VsZWN0b3JDdXJyZW50bHlTZWxlY3RlZCxcbiAgaTE4bkZpbGVTZWxlY3RvckRlbGV0ZUZpbGUsXG4gIGkxOG5GaWxlU2VsZWN0b3JTdWJ0aXRsZUxhYmVsLFxufSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZmlsZS1zZWxlY3Rvci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLmpzJztcbmltcG9ydCAnLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24tc3RhdGljLmpzJztcbmltcG9ydCAnLi4vaWNvbi5qcyc7XG5cbmV4cG9ydCB0eXBlIERPTUV2ZW50ID0gZ2xvYmFsVGhpcy5FdmVudDtcblxuLyoqXG4gKiBJdCBhbGxvd3MgdG8gc2VsZWN0IG9uZSBvciBtb3JlIGZpbGUgZnJvbSBzdG9yYWdlIGRldmljZXMgYW5kIGRpc3BsYXkgdGhlbS5cbiAqXG4gKiBAc2xvdCBlcnJvciAtIFVzZSB0aGlzIHRvIHByb3ZpZGUgYSBgc2JiLWZvcm0tZXJyb3JgIHRvIHNob3cgYW4gZXJyb3IgbWVzc2FnZS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8RmlsZVtdPn0gZmlsZUNoYW5nZWQgLSBBbiBldmVudCB3aGljaCBpcyBlbWl0dGVkIGVhY2ggdGltZSB0aGUgZmlsZSBsaXN0IGNoYW5nZXMuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZmlsZS1zZWxlY3RvcicpXG5leHBvcnQgY2xhc3MgU2JiRmlsZVNlbGVjdG9yRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZmlsZUNoYW5nZWRFdmVudDogJ2ZpbGVDaGFuZ2VkJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGhhcyBhIGRyb3B6b25lIGFyZWEgb3Igbm90LiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgdmFyaWFudDogJ2RlZmF1bHQnIHwgJ2Ryb3B6b25lJyA9ICdkZWZhdWx0JztcblxuICAvKiogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiAncycgfCAnbScgPSAnbSc7XG5cbiAgLyoqIFdoZXRoZXIgbW9yZSB0aGFuIG9uZSBmaWxlIGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgbmV3bHkgYWRkZWQgZmlsZXMgc2hvdWxkIG92ZXJyaWRlIHRoZSBwcmV2aW91c2x5IGFkZGVkIG9uZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ211bHRpcGxlLW1vZGUnIH0pXG4gIHB1YmxpYyBtdWx0aXBsZU1vZGU6ICdkZWZhdWx0JyB8ICdwZXJzaXN0ZW50JyA9ICdkZWZhdWx0JztcblxuICAvKiogQSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBhbGxvd2VkIHVuaXF1ZSBmaWxlIHR5cGUgc3BlY2lmaWVycy4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2VwdD86IHN0cmluZztcblxuICAvKiogVGhlIHRpdGxlIGRpc3BsYXllZCBpbiBgZHJvcHpvbmVgIHZhcmlhbnQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnIH0pIHB1YmxpYyB0aXRsZUNvbnRlbnQ/OiBzdHJpbmc7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgbmF0aXZlIGlucHV0IGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pIHB1YmxpYyBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgZmlsZXMuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2ZpbGVzPzogRmlsZVtdO1xuXG4gIC8qKiBBbiBldmVudCB3aGljaCBpcyBlbWl0dGVkIGVhY2ggdGltZSB0aGUgZmlsZSBsaXN0IGNoYW5nZXMuICovXG4gIHByaXZhdGUgX2ZpbGVDaGFuZ2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkZpbGVTZWxlY3RvckVsZW1lbnQuZXZlbnRzLmZpbGVDaGFuZ2VkRXZlbnQsXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgZmlsZXMoKTogRmlsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZXMgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICdmaWxlcycgcHJvcGVydHkgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGdldEZpbGVzKCk6IEZpbGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVzIHx8IFtdO1xuICB9XG5cbiAgLy8gU2FmYXJpIGhhcyBhIHBlY3VsaWFyIGJlaGF2aW9yIHdoZW4gZHJhZ2dpbmcgZmlsZXMgb24gdGhlIGlubmVyIGJ1dHRvbiBpbiAnZHJvcHpvbmUnIHZhcmlhbnQ7XG4gIC8vIHRoaXMgd2lsbCByZXF1aXJlIGEgY291bnRlciB0byBjb3JyZWN0bHkgaGFuZGxlIHRoZSBkcmFnRW50ZXIvZHJhZ0xlYXZlLlxuICBwcml2YXRlIF9jb3VudGVyOiBudW1iZXIgPSAwO1xuXG4gIHByaXZhdGUgX2xvYWRCdXR0b24hOiBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50O1xuICBwcml2YXRlIF9kcmFnVGFyZ2V0PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2hpZGRlbklucHV0ITogSFRNTElucHV0RWxlbWVudDtcbiAgcHJpdmF0ZSBfc3VmZml4ZXM6IHN0cmluZ1tdID0gWydCJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJ107XG4gIHByaXZhdGUgX2xpdmVSZWdpb24hOiBIVE1MUGFyYWdyYXBoRWxlbWVudDtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgbmV3IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIF9ibG9ja0V2ZW50KGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tGaWxlRXF1YWxpdHkoZmlsZTE6IEZpbGUsIGZpbGUyOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGZpbGUxLm5hbWUgPT09IGZpbGUyLm5hbWUgJiZcbiAgICAgIGZpbGUxLnNpemUgPT09IGZpbGUyLnNpemUgJiZcbiAgICAgIGZpbGUxLmxhc3RNb2RpZmllZCA9PT0gZmlsZTIubGFzdE1vZGlmaWVkXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uRHJhZ0VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9jb3VudGVyKys7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9zZXREcmFnU3RhdGUoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB0cnVlKTtcbiAgICAgIHRoaXMuX2Jsb2NrRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9jb3VudGVyLS07XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5fZHJhZ1RhcmdldCAmJiB0aGlzLl9jb3VudGVyID09PSAwKSB7XG4gICAgICB0aGlzLl9zZXREcmFnU3RhdGUoKTtcbiAgICAgIHRoaXMuX2Jsb2NrRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uRmlsZURyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NvdW50ZXIgPSAwO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fc2V0RHJhZ1N0YXRlKCk7XG4gICAgICB0aGlzLl9ibG9ja0V2ZW50KGV2ZW50KTtcbiAgICAgIHRoaXMuX2NyZWF0ZUZpbGVMaXN0KGV2ZW50LmRhdGFUcmFuc2ZlciEuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgIHRoaXMuX2xvYWRCdXR0b24udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkJsdXIoKTogdm9pZCB7XG4gICAgaWYgKHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgIHRoaXMuX2xvYWRCdXR0b24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXREcmFnU3RhdGUoXG4gICAgZHJhZ1RhcmdldDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgaXNEcmFnRW50ZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhZ1RhcmdldCA9IGRyYWdUYXJnZXQ7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aXZlJywgaXNEcmFnRW50ZXIpO1xuICAgIHRoaXMuX2xvYWRCdXR0b24udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGl2ZScsIGlzRHJhZ0VudGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRGaWxlcyhldmVudDogRE9NRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlSW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAoZmlsZUlucHV0LmZpbGVzKSB7XG4gICAgICB0aGlzLl9jcmVhdGVGaWxlTGlzdChmaWxlSW5wdXQuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUZpbGVMaXN0KGZpbGVzOiBGaWxlTGlzdCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLm11bHRpcGxlIHx8XG4gICAgICB0aGlzLm11bHRpcGxlTW9kZSAhPT0gJ3BlcnNpc3RlbnQnIHx8XG4gICAgICAhdGhpcy5fZmlsZXMgfHxcbiAgICAgIHRoaXMuX2ZpbGVzLmxlbmd0aCA9PT0gMFxuICAgICkge1xuICAgICAgdGhpcy5fZmlsZXMgPSBBcnJheS5mcm9tKGZpbGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZmlsZXMgPSBBcnJheS5mcm9tKGZpbGVzKVxuICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgIChuZXdGaWxlOiBGaWxlKTogYm9vbGVhbiA9PlxuICAgICAgICAgICAgdGhpcy5fZmlsZXMhLmZpbmRJbmRleCgob2xkRmlsZTogRmlsZSkgPT4gdGhpcy5fY2hlY2tGaWxlRXF1YWxpdHkobmV3RmlsZSwgb2xkRmlsZSkpID09PVxuICAgICAgICAgICAgLTEsXG4gICAgICAgIClcbiAgICAgICAgLmNvbmNhdCh0aGlzLl9maWxlcyk7XG4gICAgfVxuICAgIHRoaXMuX2xpdmVSZWdpb24uaW5uZXJUZXh0ID0gaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkKHRoaXMuX2ZpbGVzLm1hcCgoZSkgPT4gZS5uYW1lKSlbXG4gICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50XG4gICAgXTtcbiAgICB0aGlzLl9maWxlQ2hhbmdlZEV2ZW50LmVtaXQodGhpcy5fZmlsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlRmlsZShmaWxlOiBGaWxlKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsZXMgPSB0aGlzLl9maWxlcyEuZmlsdGVyKChmOiBGaWxlKSA9PiAhdGhpcy5fY2hlY2tGaWxlRXF1YWxpdHkoZmlsZSwgZikpO1xuICAgIC8vIFRoZSBpdGVtIG11c3QgYmUgcmVtb3ZlZCBmcm9tIHRoZSBoaWRkZW4gZmlsZSBpbnB1dCB0b287IHRoZSBGaWxlTGlzdCBBUEkgaXMgZmxhd2VkLCBzbyB0aGUgRGF0YVRyYW5zZmVyIG9iamVjdCBpcyB1c2VkLlxuICAgIGNvbnN0IGR0OiBEYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG4gICAgdGhpcy5fZmlsZXMuZm9yRWFjaCgoZTogRmlsZSkgPT4gZHQuaXRlbXMuYWRkKGUpKTtcbiAgICB0aGlzLl9oaWRkZW5JbnB1dC5maWxlcyA9IGR0LmZpbGVzO1xuICAgIHRoaXMuX2xpdmVSZWdpb24uaW5uZXJUZXh0ID0gaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkKHRoaXMuX2ZpbGVzLm1hcCgoZSkgPT4gZS5uYW1lKSlbXG4gICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50XG4gICAgXTtcbiAgICB0aGlzLl9maWxlQ2hhbmdlZEV2ZW50LmVtaXQodGhpcy5fZmlsZXMpO1xuICB9XG5cbiAgLyoqIENhbGN1bGF0ZXMgdGhlIGNvcnJlY3QgdW5pdCBmb3IgdGhlIGZpbGUncyBzaXplLiAqL1xuICBwcml2YXRlIF9mb3JtYXRGaWxlU2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGk6IG51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5sb2coc2l6ZSkgLyBNYXRoLmxvZygxMDI0KSk7XG4gICAgcmV0dXJuIGAkeyhzaXplIC8gTWF0aC5wb3coMTAyNCwgaSkpLnRvRml4ZWQoMCl9ICR7dGhpcy5fc3VmZml4ZXNbaV19YDtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckRlZmF1bHRNb2RlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvbi1zdGF0aWNcbiAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgaWNvbi1uYW1lPVwiZm9sZGVyLW9wZW4tc21hbGxcIlxuICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5fbG9hZEJ1dHRvbiA9IGVsIGFzIFNiYlNlY29uZGFyeUJ1dHRvblN0YXRpY0VsZW1lbnQ7XG4gICAgICAgIH0pfVxuICAgICAgPlxuICAgICAgICAke2kxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgIDwvc2JiLXNlY29uZGFyeS1idXR0b24tc3RhdGljPlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJEcm9wem9uZUFyZWEoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZHJvcHpvbmUtYXJlYVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19kcm9wem9uZS1hcmVhLS1pY29uXCI+XG4gICAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgICBuYW1lPSR7dGhpcy5zaXplID09PSAnbScgPyAnZm9sZGVyLW9wZW4tbWVkaXVtJyA6ICdmb2xkZXItb3Blbi1zbWFsbCd9XG4gICAgICAgICAgPjwvc2JiLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZHJvcHpvbmUtYXJlYS0tdGl0bGVcIj4ke3RoaXMudGl0bGVDb250ZW50fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZHJvcHpvbmUtYXJlYS0tc3VidGl0bGVcIj5cbiAgICAgICAgICAke2kxOG5GaWxlU2VsZWN0b3JTdWJ0aXRsZUxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWEtLWJ1dHRvblwiPlxuICAgICAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvbi1zdGF0aWNcbiAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkQnV0dG9uID0gZWwgYXMgU2JiU2Vjb25kYXJ5QnV0dG9uU3RhdGljRWxlbWVudDtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7aTE4bkZpbGVTZWxlY3RvckJ1dHRvbkxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgIDwvc2JiLXNlY29uZGFyeS1idXR0b24tc3RhdGljPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckZpbGVMaXN0KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdfTkFNRTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9XG4gICAgICB0aGlzLl9maWxlcyEubGVuZ3RoID4gMVxuICAgICAgICA/IHsgV1JBUFBFUjogJ3VsJywgRUxFTUVOVDogJ2xpJyB9XG4gICAgICAgIDogeyBXUkFQUEVSOiAnZGl2JywgRUxFTUVOVDogJ3NwYW4nIH07XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRS5XUkFQUEVSKX0gY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1saXN0XCI+XG4gICAgICAgICR7dGhpcy5fZmlsZXMhLm1hcChcbiAgICAgICAgICAoZmlsZTogRmlsZSkgPT4gaHRtbGBcbiAgICAgICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuRUxFTUVOVCl9IGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtZGV0YWlsc1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19maWxlLW5hbWVcIj4ke2ZpbGUubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtc2l6ZVwiPiR7dGhpcy5fZm9ybWF0RmlsZVNpemUoZmlsZS5zaXplKX08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICAgICAgaWNvbi1uYW1lPVwidHJhc2gtc21hbGxcIlxuICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9yZW1vdmVGaWxlKGZpbGUpfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7YCR7aTE4bkZpbGVTZWxlY3RvckRlbGV0ZUZpbGVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19IC0gJHtmaWxlLm5hbWV9YH1cbiAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgIDwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuRUxFTUVOVCl9PmAsXG4gICAgICAgICl9XG4gICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR19OQU1FLldSQVBQRVIpfT5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgYXJpYUxhYmVsID0gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWxcbiAgICAgID8gYCR7aTE4bkZpbGVTZWxlY3RvckJ1dHRvbkxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAtICR7dGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWx9YFxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2lucHV0LWNvbnRhaW5lclwiXG4gICAgICAgICAgQGRyYWdlbnRlcj0ke3RoaXMuX29uRHJhZ0VudGVyfVxuICAgICAgICAgIEBkcmFnb3Zlcj0ke3RoaXMuX2Jsb2NrRXZlbnR9XG4gICAgICAgICAgQGRyYWdsZWF2ZT0ke3RoaXMuX29uRHJhZ0xlYXZlfVxuICAgICAgICAgIEBkcm9wPSR7dGhpcy5fb25GaWxlRHJvcH1cbiAgICAgICAgPlxuICAgICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgICR7dGhpcy52YXJpYW50ID09PSAnZGVmYXVsdCcgPyB0aGlzLl9yZW5kZXJEZWZhdWx0TW9kZSgpIDogdGhpcy5fcmVuZGVyRHJvcHpvbmVBcmVhKCl9XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAgICAgICA/bXVsdGlwbGU9JHt0aGlzLm11bHRpcGxlfVxuICAgICAgICAgICAgICBhY2NlcHQ9JHt0aGlzLmFjY2VwdCB8fCBub3RoaW5nfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7YXJpYUxhYmVsIHx8IG5vdGhpbmd9XG4gICAgICAgICAgICAgIEBjaGFuZ2U9JHt0aGlzLl9yZWFkRmlsZXN9XG4gICAgICAgICAgICAgIEBmb2N1cz0ke3RoaXMuX29uRm9jdXN9XG4gICAgICAgICAgICAgIEBibHVyPSR7dGhpcy5fb25CbHVyfVxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faGlkZGVuSW5wdXQgPSBlbCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwXG4gICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAke3JlZigocD86IEVsZW1lbnQpID0+ICh0aGlzLl9saXZlUmVnaW9uID0gcCBhcyBIVE1MUGFyYWdyYXBoRWxlbWVudCkpfVxuICAgICAgICA+PC9wPlxuICAgICAgICAke3RoaXMuX2ZpbGVzICYmIHRoaXMuX2ZpbGVzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZW5kZXJGaWxlTGlzdCgpIDogbm90aGluZ31cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19lcnJvclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZmlsZS1zZWxlY3Rvcic6IFNiYkZpbGVTZWxlY3RvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ08sSUFBTSx5QkFBTixjQUFxQyxpQkFBaUIsVUFBVSxFQUFFO0FBQUEsRUErRGhFLGNBQWM7QUFDYjtBQXpESSxTQUFPLFVBQWtDO0FBR3hCLFNBQU8sT0FBa0I7QUFHekIsU0FBTyxXQUFvQjtBQUl4RCxTQUFPLGVBQXlDO0FBZWhELFNBQVEsb0JBQTBDLElBQUk7QUFBQSxNQUNwRDtBQUFBLE1BQ0EsdUJBQXVCLE9BQU87QUFBQSxJQUFBO0FBbUJoQyxTQUFRLFdBQW1CO0FBSzNCLFNBQVEsWUFBc0IsQ0FBQyxLQUFLLE1BQU0sTUFBTSxNQUFNLElBQUk7QUFHbEQsU0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFJaEQsUUFBSSx1QkFBdUIsSUFBSTtBQUFBLEVBQ2pDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUExQkEsSUFBVyxRQUFnQjtBQUNsQixXQUFBLEtBQUssVUFBVTtFQUN4QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sV0FBbUI7QUFDakIsV0FBQSxLQUFLLFVBQVU7RUFDeEI7QUFBQSxFQW1CUSxZQUFZLE9BQXdCO0FBQzFDLFVBQU0sZ0JBQWdCO0FBQ3RCLFVBQU0sZUFBZTtBQUFBLEVBQ3ZCO0FBQUEsRUFFUSxtQkFBbUIsT0FBYSxPQUFzQjtBQUUxRCxXQUFBLE1BQU0sU0FBUyxNQUFNLFFBQ3JCLE1BQU0sU0FBUyxNQUFNLFFBQ3JCLE1BQU0saUJBQWlCLE1BQU07QUFBQSxFQUVqQztBQUFBLEVBRVEs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
|
|
434
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ZpbGUtc2VsZWN0b3IvZmlsZS1zZWxlY3Rvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlNlY29uZGFyeUJ1dHRvblN0YXRpY0VsZW1lbnQgfSBmcm9tICcuLi9idXR0b24uanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHtcbiAgaTE4bkZpbGVTZWxlY3RvckJ1dHRvbkxhYmVsLFxuICBpMThuRmlsZVNlbGVjdG9yQ3VycmVudGx5U2VsZWN0ZWQsXG4gIGkxOG5GaWxlU2VsZWN0b3JEZWxldGVGaWxlLFxuICBpMThuRmlsZVNlbGVjdG9yU3VidGl0bGVMYWJlbCxcbn0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2ZpbGUtc2VsZWN0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLXN0YXRpYy5qcyc7XG5pbXBvcnQgJy4uL2ljb24uanMnO1xuXG5leHBvcnQgdHlwZSBET01FdmVudCA9IGdsb2JhbFRoaXMuRXZlbnQ7XG5cbi8qKlxuICogSXQgYWxsb3dzIHRvIHNlbGVjdCBvbmUgb3IgbW9yZSBmaWxlIGZyb20gc3RvcmFnZSBkZXZpY2VzIGFuZCBkaXNwbGF5IHRoZW0uXG4gKlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyB0byBwcm92aWRlIGEgYHNiYi1mb3JtLWVycm9yYCB0byBzaG93IGFuIGVycm9yIG1lc3NhZ2UuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PEZpbGVbXT59IGZpbGVDaGFuZ2VkIC0gQW4gZXZlbnQgd2hpY2ggaXMgZW1pdHRlZCBlYWNoIHRpbWUgdGhlIGZpbGUgbGlzdCBjaGFuZ2VzLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWZpbGUtc2VsZWN0b3InKVxuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiRmlsZVNlbGVjdG9yRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZmlsZUNoYW5nZWRFdmVudDogJ2ZpbGVDaGFuZ2VkJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGhhcyBhIGRyb3B6b25lIGFyZWEgb3Igbm90LiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgdmFyaWFudDogJ2RlZmF1bHQnIHwgJ2Ryb3B6b25lJyA9ICdkZWZhdWx0JztcblxuICAvKiogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiAncycgfCAnbScgPSAnbSc7XG5cbiAgLyoqIFdoZXRoZXIgbW9yZSB0aGFuIG9uZSBmaWxlIGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgbmV3bHkgYWRkZWQgZmlsZXMgc2hvdWxkIG92ZXJyaWRlIHRoZSBwcmV2aW91c2x5IGFkZGVkIG9uZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ211bHRpcGxlLW1vZGUnIH0pXG4gIHB1YmxpYyBtdWx0aXBsZU1vZGU6ICdkZWZhdWx0JyB8ICdwZXJzaXN0ZW50JyA9ICdkZWZhdWx0JztcblxuICAvKiogQSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBhbGxvd2VkIHVuaXF1ZSBmaWxlIHR5cGUgc3BlY2lmaWVycy4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2VwdD86IHN0cmluZztcblxuICAvKiogVGhlIHRpdGxlIGRpc3BsYXllZCBpbiBgZHJvcHpvbmVgIHZhcmlhbnQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnIH0pIHB1YmxpYyB0aXRsZUNvbnRlbnQ/OiBzdHJpbmc7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgbmF0aXZlIGlucHV0IGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pIHB1YmxpYyBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgZmlsZXMuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2ZpbGVzPzogRmlsZVtdO1xuXG4gIC8qKiBBbiBldmVudCB3aGljaCBpcyBlbWl0dGVkIGVhY2ggdGltZSB0aGUgZmlsZSBsaXN0IGNoYW5nZXMuICovXG4gIHByaXZhdGUgX2ZpbGVDaGFuZ2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkZpbGVTZWxlY3RvckVsZW1lbnQuZXZlbnRzLmZpbGVDaGFuZ2VkRXZlbnQsXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgZmlsZXMoKTogRmlsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZXMgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICdmaWxlcycgcHJvcGVydHkgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGdldEZpbGVzKCk6IEZpbGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVzIHx8IFtdO1xuICB9XG5cbiAgLy8gU2FmYXJpIGhhcyBhIHBlY3VsaWFyIGJlaGF2aW9yIHdoZW4gZHJhZ2dpbmcgZmlsZXMgb24gdGhlIGlubmVyIGJ1dHRvbiBpbiAnZHJvcHpvbmUnIHZhcmlhbnQ7XG4gIC8vIHRoaXMgd2lsbCByZXF1aXJlIGEgY291bnRlciB0byBjb3JyZWN0bHkgaGFuZGxlIHRoZSBkcmFnRW50ZXIvZHJhZ0xlYXZlLlxuICBwcml2YXRlIF9jb3VudGVyOiBudW1iZXIgPSAwO1xuXG4gIHByaXZhdGUgX2xvYWRCdXR0b24hOiBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50O1xuICBwcml2YXRlIF9kcmFnVGFyZ2V0PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2hpZGRlbklucHV0ITogSFRNTElucHV0RWxlbWVudDtcbiAgcHJpdmF0ZSBfc3VmZml4ZXM6IHN0cmluZ1tdID0gWydCJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJ107XG4gIHByaXZhdGUgX2xpdmVSZWdpb24hOiBIVE1MUGFyYWdyYXBoRWxlbWVudDtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfYmxvY2tFdmVudChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrRmlsZUVxdWFsaXR5KGZpbGUxOiBGaWxlLCBmaWxlMjogRmlsZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBmaWxlMS5uYW1lID09PSBmaWxlMi5uYW1lICYmXG4gICAgICBmaWxlMS5zaXplID09PSBmaWxlMi5zaXplICYmXG4gICAgICBmaWxlMS5sYXN0TW9kaWZpZWQgPT09IGZpbGUyLmxhc3RNb2RpZmllZFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vbkRyYWdFbnRlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fY291bnRlcisrO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fc2V0RHJhZ1N0YXRlKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCwgdHJ1ZSk7XG4gICAgICB0aGlzLl9ibG9ja0V2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fY291bnRlci0tO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiBldmVudC50YXJnZXQgPT09IHRoaXMuX2RyYWdUYXJnZXQgJiYgdGhpcy5fY291bnRlciA9PT0gMCkge1xuICAgICAgdGhpcy5fc2V0RHJhZ1N0YXRlKCk7XG4gICAgICB0aGlzLl9ibG9ja0V2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkZpbGVEcm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9jb3VudGVyID0gMDtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3NldERyYWdTdGF0ZSgpO1xuICAgICAgdGhpcy5fYmxvY2tFdmVudChldmVudCk7XG4gICAgICB0aGlzLl9jcmVhdGVGaWxlTGlzdChldmVudC5kYXRhVHJhbnNmZXIhLmZpbGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICB0aGlzLl9sb2FkQnV0dG9uLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25CbHVyKCk6IHZvaWQge1xuICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICB0aGlzLl9sb2FkQnV0dG9uLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RHJhZ1N0YXRlKFxuICAgIGRyYWdUYXJnZXQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIGlzRHJhZ0VudGVyOiBib29sZWFuID0gZmFsc2UsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2RyYWdUYXJnZXQgPSBkcmFnVGFyZ2V0O1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGl2ZScsIGlzRHJhZ0VudGVyKTtcbiAgICB0aGlzLl9sb2FkQnV0dG9uLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY3RpdmUnLCBpc0RyYWdFbnRlcik7XG4gIH1cblxuICBwcml2YXRlIF9yZWFkRmlsZXMoZXZlbnQ6IERPTUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZmlsZUlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgaWYgKGZpbGVJbnB1dC5maWxlcykge1xuICAgICAgdGhpcy5fY3JlYXRlRmlsZUxpc3QoZmlsZUlucHV0LmZpbGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVGaWxlTGlzdChmaWxlczogRmlsZUxpc3QpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5tdWx0aXBsZSB8fFxuICAgICAgdGhpcy5tdWx0aXBsZU1vZGUgIT09ICdwZXJzaXN0ZW50JyB8fFxuICAgICAgIXRoaXMuX2ZpbGVzIHx8XG4gICAgICB0aGlzLl9maWxlcy5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHRoaXMuX2ZpbGVzID0gQXJyYXkuZnJvbShmaWxlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZpbGVzID0gQXJyYXkuZnJvbShmaWxlcylcbiAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAobmV3RmlsZTogRmlsZSk6IGJvb2xlYW4gPT5cbiAgICAgICAgICAgIHRoaXMuX2ZpbGVzIS5maW5kSW5kZXgoKG9sZEZpbGU6IEZpbGUpID0+IHRoaXMuX2NoZWNrRmlsZUVxdWFsaXR5KG5ld0ZpbGUsIG9sZEZpbGUpKSA9PT1cbiAgICAgICAgICAgIC0xLFxuICAgICAgICApXG4gICAgICAgIC5jb25jYXQodGhpcy5fZmlsZXMpO1xuICAgIH1cbiAgICB0aGlzLl9saXZlUmVnaW9uLmlubmVyVGV4dCA9IGkxOG5GaWxlU2VsZWN0b3JDdXJyZW50bHlTZWxlY3RlZCh0aGlzLl9maWxlcy5tYXAoKGUpID0+IGUubmFtZSkpW1xuICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudFxuICAgIF07XG4gICAgdGhpcy5fZmlsZUNoYW5nZWRFdmVudC5lbWl0KHRoaXMuX2ZpbGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbGVzID0gdGhpcy5fZmlsZXMhLmZpbHRlcigoZjogRmlsZSkgPT4gIXRoaXMuX2NoZWNrRmlsZUVxdWFsaXR5KGZpbGUsIGYpKTtcbiAgICAvLyBUaGUgaXRlbSBtdXN0IGJlIHJlbW92ZWQgZnJvbSB0aGUgaGlkZGVuIGZpbGUgaW5wdXQgdG9vOyB0aGUgRmlsZUxpc3QgQVBJIGlzIGZsYXdlZCwgc28gdGhlIERhdGFUcmFuc2ZlciBvYmplY3QgaXMgdXNlZC5cbiAgICBjb25zdCBkdDogRGF0YVRyYW5zZmVyID0gbmV3IERhdGFUcmFuc2ZlcigpO1xuICAgIHRoaXMuX2ZpbGVzLmZvckVhY2goKGU6IEZpbGUpID0+IGR0Lml0ZW1zLmFkZChlKSk7XG4gICAgdGhpcy5faGlkZGVuSW5wdXQuZmlsZXMgPSBkdC5maWxlcztcbiAgICB0aGlzLl9saXZlUmVnaW9uLmlubmVyVGV4dCA9IGkxOG5GaWxlU2VsZWN0b3JDdXJyZW50bHlTZWxlY3RlZCh0aGlzLl9maWxlcy5tYXAoKGUpID0+IGUubmFtZSkpW1xuICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudFxuICAgIF07XG4gICAgdGhpcy5fZmlsZUNoYW5nZWRFdmVudC5lbWl0KHRoaXMuX2ZpbGVzKTtcbiAgfVxuXG4gIC8qKiBDYWxjdWxhdGVzIHRoZSBjb3JyZWN0IHVuaXQgZm9yIHRoZSBmaWxlJ3Mgc2l6ZS4gKi9cbiAgcHJpdmF0ZSBfZm9ybWF0RmlsZVNpemUoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBpOiBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgubG9nKHNpemUpIC8gTWF0aC5sb2coMTAyNCkpO1xuICAgIHJldHVybiBgJHsoc2l6ZSAvIE1hdGgucG93KDEwMjQsIGkpKS50b0ZpeGVkKDApfSAke3RoaXMuX3N1ZmZpeGVzW2ldfWA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJEZWZhdWx0TW9kZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2JiLXNlY29uZGFyeS1idXR0b24tc3RhdGljXG4gICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgIGljb24tbmFtZT1cImZvbGRlci1vcGVuLXNtYWxsXCJcbiAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuX2xvYWRCdXR0b24gPSBlbCBhcyBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50O1xuICAgICAgICB9KX1cbiAgICAgID5cbiAgICAgICAgJHtpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICA8L3NiYi1zZWNvbmRhcnktYnV0dG9uLXN0YXRpYz5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyRHJvcHpvbmVBcmVhKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWFcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZHJvcHpvbmUtYXJlYS0taWNvblwiPlxuICAgICAgICAgIDxzYmItaWNvblxuICAgICAgICAgICAgbmFtZT0ke3RoaXMuc2l6ZSA9PT0gJ20nID8gJ2ZvbGRlci1vcGVuLW1lZGl1bScgOiAnZm9sZGVyLW9wZW4tc21hbGwnfVxuICAgICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWEtLXRpdGxlXCI+JHt0aGlzLnRpdGxlQ29udGVudH08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWEtLXN1YnRpdGxlXCI+XG4gICAgICAgICAgJHtpMThuRmlsZVNlbGVjdG9yU3VidGl0bGVMYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19kcm9wem9uZS1hcmVhLS1idXR0b25cIj5cbiAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b24tc3RhdGljXG4gICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fbG9hZEJ1dHRvbiA9IGVsIGFzIFNiYlNlY29uZGFyeUJ1dHRvblN0YXRpY0VsZW1lbnQ7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICAke2kxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICA8L3NiYi1zZWNvbmRhcnktYnV0dG9uLXN0YXRpYz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJGaWxlTGlzdCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHX05BTUU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPVxuICAgICAgdGhpcy5fZmlsZXMhLmxlbmd0aCA+IDFcbiAgICAgICAgPyB7IFdSQVBQRVI6ICd1bCcsIEVMRU1FTlQ6ICdsaScgfVxuICAgICAgICA6IHsgV1JBUFBFUjogJ2RpdicsIEVMRU1FTlQ6ICdzcGFuJyB9O1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuV1JBUFBFUil9IGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtbGlzdFwiPlxuICAgICAgICAke3RoaXMuX2ZpbGVzIS5tYXAoXG4gICAgICAgICAgKGZpbGU6IEZpbGUpID0+IGh0bWxgXG4gICAgICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR19OQU1FLkVMRU1FTlQpfSBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19maWxlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19maWxlLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1uYW1lXCI+JHtmaWxlLm5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19maWxlLXNpemVcIj4ke3RoaXMuX2Zvcm1hdEZpbGVTaXplKGZpbGUuc2l6ZSl9PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgIGljb24tbmFtZT1cInRyYXNoLXNtYWxsXCJcbiAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5fcmVtb3ZlRmlsZShmaWxlKX1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2Ake2kxOG5GaWxlU2VsZWN0b3JEZWxldGVGaWxlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAtICR7ZmlsZS5uYW1lfWB9XG4gICAgICAgICAgICA+PC9zYmItc2Vjb25kYXJ5LWJ1dHRvbj5cbiAgICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR19OQU1FLkVMRU1FTlQpfT5gLFxuICAgICAgICApfVxuICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRS5XUkFQUEVSKX0+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGFyaWFMYWJlbCA9IHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsXG4gICAgICA/IGAke2kxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gLSAke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsfWBcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19pbnB1dC1jb250YWluZXJcIlxuICAgICAgICAgIEBkcmFnZW50ZXI9JHt0aGlzLl9vbkRyYWdFbnRlcn1cbiAgICAgICAgICBAZHJhZ292ZXI9JHt0aGlzLl9ibG9ja0V2ZW50fVxuICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLl9vbkRyYWdMZWF2ZX1cbiAgICAgICAgICBAZHJvcD0ke3RoaXMuX29uRmlsZURyb3B9XG4gICAgICAgID5cbiAgICAgICAgICA8bGFiZWw+XG4gICAgICAgICAgICAke3RoaXMudmFyaWFudCA9PT0gJ2RlZmF1bHQnID8gdGhpcy5fcmVuZGVyRGVmYXVsdE1vZGUoKSA6IHRoaXMuX3JlbmRlckRyb3B6b25lQXJlYSgpfVxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX3Zpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgP211bHRpcGxlPSR7dGhpcy5tdWx0aXBsZX1cbiAgICAgICAgICAgICAgYWNjZXB0PSR7dGhpcy5hY2NlcHQgfHwgbm90aGluZ31cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2FyaWFMYWJlbCB8fCBub3RoaW5nfVxuICAgICAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5fcmVhZEZpbGVzfVxuICAgICAgICAgICAgICBAZm9jdXM9JHt0aGlzLl9vbkZvY3VzfVxuICAgICAgICAgICAgICBAYmx1cj0ke3RoaXMuX29uQmx1cn1cbiAgICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hpZGRlbklucHV0ID0gZWwgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cFxuICAgICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAgIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX3Zpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgJHtyZWYoKHA/OiBFbGVtZW50KSA9PiAodGhpcy5fbGl2ZVJlZ2lvbiA9IHAgYXMgSFRNTFBhcmFncmFwaEVsZW1lbnQpKX1cbiAgICAgICAgPjwvcD5cbiAgICAgICAgJHt0aGlzLl9maWxlcyAmJiB0aGlzLl9maWxlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVuZGVyRmlsZUxpc3QoKSA6IG5vdGhpbmd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZXJyb3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiZXJyb3JcIj48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZpbGUtc2VsZWN0b3InOiBTYmJGaWxlU2VsZWN0b3JFbGVtZW50O1xuICB9XG59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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
|
|
2
2
|
|
|
3
|
-
declare const SbbFormFieldElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof LitElement;
|
|
3
|
+
declare const SbbFormFieldElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
|
|
4
4
|
/**
|
|
5
5
|
* It wraps an input element adding label, errors, icon, etc.
|
|
6
6
|
*
|
|
@@ -54,7 +54,6 @@ export declare class SbbFormFieldElement extends SbbFormFieldElement_base {
|
|
|
54
54
|
*/
|
|
55
55
|
private _formFieldAttributeObserver;
|
|
56
56
|
private _inputAbortController;
|
|
57
|
-
constructor();
|
|
58
57
|
connectedCallback(): void;
|
|
59
58
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
60
59
|
disconnectedCallback(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAehD,OAAO,eAAe,CAAC;;
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAehD,OAAO,eAAe,CAAC;;AAOvB;;;;;;;;GAQG;AACH,qBAEa,mBAAoB,SAAQ,wBAA+C;IACtF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAmC;IAEjF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAItC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAKnD;IAEF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAQhD;IAEF;;;;OAIG;IAEI,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAU;IAEhD,+CAA+C;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEvD,mCAAmC;IACC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAO;IAE3D,0DAA0D;IACP,UAAU,UAAS;IAEtE;;+EAE2E;IACvC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAa;IAE9E,wFAAwF;IACV,WAAW,UAAS;IAElG,4FAA4F;IACZ,aAAa,UACrF;IAER,qDAAqD;IAC5C,OAAO,CAAC,cAAc,CAAiB;IAEhD,oEAAoE;IACpE,OAAO,CAAC,6BAA6B,CAAC,CAAgB;IAEtD,8CAA8C;IACrC,OAAO,CAAC,MAAM,CAAC,CAAqD;IAE7E,+CAA+C;IACtC,OAAO,CAAC,MAAM,CAAC,CAAmB;IAE3C,iCAAiC;IACjC,IAAW,YAAY,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAExF;IAED,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpD;;OAEG;IACH,OAAO,CAAC,2BAA2B,CAMjC;IAEF,OAAO,CAAC,qBAAqB,CAAyB;IAEtC,iBAAiB,IAAI,IAAI;cAStB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5D,oBAAoB,IAAI,IAAI;IAM5C,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,yBAAyB;IA4BjC,OAAO,CAAC,sBAAsB;IAuD9B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,qBAAqB;IAiB7B,qFAAqF;IAC9E,KAAK,IAAI,IAAI;IAIpB,4FAA4F;IACrF,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,eAAe,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,GAAG,SAAS;IAIxF,OAAO,CAAC,aAAa;cAMF,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-field-clear.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field-clear/form-field-clear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"form-field-clear.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field-clear/form-field-clear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASnE,OAAO,eAAe,CAAC;;AAEvB;;GAEG;AACH,qBAIa,wBAAyB,SAAQ,6BAAsC;IAClF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;YAW3B,YAAY;cAWP,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAKzD,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,wBAAwB,CAAC;KAClD;CACF"}
|
|
@@ -3,7 +3,6 @@ import { customElement } from "lit/decorators.js";
|
|
|
3
3
|
import { SbbButtonBaseElement } from "../core/base-elements.js";
|
|
4
4
|
import { SbbConnectedAbortController, SbbLanguageController } from "../core/controllers.js";
|
|
5
5
|
import { hostAttributes } from "../core/decorators.js";
|
|
6
|
-
import { hostContext } from "../core/dom.js";
|
|
7
6
|
import { i18nClearInput } from "../core/i18n.js";
|
|
8
7
|
import { SbbNegativeMixin } from "../core/mixins.js";
|
|
9
8
|
import "../icon.js";
|
|
@@ -43,36 +42,30 @@ const style = css`/**
|
|
|
43
42
|
-webkit-tap-highlight-color: transparent;
|
|
44
43
|
height: fit-content;
|
|
45
44
|
outline: none !important;
|
|
45
|
+
--sbb-button-color-text: var(--sbb-color-charcoal);
|
|
46
46
|
--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);
|
|
47
|
-
--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);
|
|
48
|
-
--sbb-button-color-default-text: var(--sbb-color-charcoal);
|
|
49
47
|
--sbb-button-color-hover-background: var(--sbb-color-milk);
|
|
50
|
-
--sbb-button-color-hover-border: var(--sbb-color-milk);
|
|
51
|
-
--sbb-button-color-hover-text: var(--sbb-color-charcoal);
|
|
52
48
|
--sbb-button-color-active-background: var(--sbb-color-cloud);
|
|
53
|
-
--sbb-button-color-active-border: var(--sbb-color-cloud);
|
|
54
|
-
--sbb-button-color-active-text: var(--sbb-color-charcoal);
|
|
55
49
|
--sbb-button-color-disabled-background: var(--sbb-color-milk);
|
|
56
50
|
--sbb-button-color-disabled-border: var(--sbb-color-smoke);
|
|
57
51
|
--sbb-button-color-disabled-text: var(--sbb-color-granite);
|
|
58
|
-
--sbb-button-border-
|
|
52
|
+
--sbb-button-border-disabled-width: var(--sbb-border-width-1x);
|
|
59
53
|
--sbb-button-border-disabled-style: dashed;
|
|
60
|
-
--sbb-button-border-width: 0rem;
|
|
61
54
|
--sbb-button-border-radius: var(--sbb-border-radius-infinity);
|
|
62
55
|
--sbb-button-transition-duration: var(
|
|
63
56
|
--sbb-disable-animation-zero-time,
|
|
64
57
|
var(--sbb-animation-duration-2x)
|
|
65
58
|
);
|
|
66
59
|
--sbb-button-transition-easing-function: var(--sbb-animation-easing);
|
|
67
|
-
--sbb-button-inset: 0;
|
|
68
60
|
}
|
|
69
61
|
@media (forced-colors: active) {
|
|
70
62
|
:host {
|
|
71
|
-
--sbb-button-color-
|
|
72
|
-
--sbb-button-color-
|
|
73
|
-
--sbb-button-color-active-
|
|
74
|
-
--sbb-button-color-
|
|
75
|
-
--sbb-button-color-
|
|
63
|
+
--sbb-button-color-text: ButtonText !important;
|
|
64
|
+
--sbb-button-color-hover-background: Highlight !important;
|
|
65
|
+
--sbb-button-color-active-background: Highlight !important;
|
|
66
|
+
--sbb-button-color-disabled-background: Canvas !important;
|
|
67
|
+
--sbb-button-color-disabled-border: GrayText !important;
|
|
68
|
+
--sbb-button-color-disabled-text: GrayText !important;
|
|
76
69
|
}
|
|
77
70
|
}
|
|
78
71
|
:host .sbb-form-field-clear {
|
|
@@ -81,7 +74,7 @@ const style = css`/**
|
|
|
81
74
|
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
82
75
|
transition-property: color;
|
|
83
76
|
border-radius: var(--sbb-button-border-radius);
|
|
84
|
-
color: var(--sbb-button-color-
|
|
77
|
+
color: var(--sbb-button-color-text);
|
|
85
78
|
cursor: pointer;
|
|
86
79
|
user-select: none;
|
|
87
80
|
display: flex;
|
|
@@ -89,13 +82,12 @@ const style = css`/**
|
|
|
89
82
|
:host .sbb-form-field-clear::before {
|
|
90
83
|
position: absolute;
|
|
91
84
|
content: "";
|
|
92
|
-
inset:
|
|
93
|
-
border: var(--sbb-button-border-width) var(--sbb-button-border-style) var(--sbb-button-color-default-border);
|
|
85
|
+
inset: 0;
|
|
94
86
|
border-radius: var(--sbb-button-border-radius);
|
|
95
87
|
background-color: var(--sbb-button-color-default-background);
|
|
96
88
|
transition-duration: var(--sbb-button-transition-duration);
|
|
97
89
|
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
98
|
-
transition-property: inset, background-color
|
|
90
|
+
transition-property: inset, background-color;
|
|
99
91
|
}
|
|
100
92
|
|
|
101
93
|
sbb-icon {
|
|
@@ -105,28 +97,15 @@ sbb-icon {
|
|
|
105
97
|
}
|
|
106
98
|
|
|
107
99
|
:host([negative]) {
|
|
100
|
+
--sbb-button-color-text: var(--sbb-color-milk);
|
|
108
101
|
--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);
|
|
109
|
-
--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);
|
|
110
|
-
--sbb-button-color-default-text: var(--sbb-color-milk);
|
|
111
102
|
--sbb-button-color-hover-background: var(--sbb-color-charcoal);
|
|
112
|
-
--sbb-button-color-hover-border: var(--sbb-color-charcoal);
|
|
113
|
-
--sbb-button-color-hover-text: var(--sbb-color-milk);
|
|
114
103
|
--sbb-button-color-active-background: var(--sbb-color-iron);
|
|
115
|
-
--sbb-button-color-active-border: var(--sbb-color-iron);
|
|
116
|
-
--sbb-button-color-active-text: var(--sbb-color-milk);
|
|
117
104
|
--sbb-button-color-disabled-background: var(--sbb-color-black-alpha-0);
|
|
118
105
|
--sbb-button-color-disabled-border: var(--sbb-color-smoke);
|
|
119
106
|
--sbb-button-color-disabled-text: var(--sbb-color-smoke);
|
|
120
107
|
}
|
|
121
108
|
|
|
122
|
-
:host(:is([disabled], [data-disabled])) {
|
|
123
|
-
--sbb-button-border-width: var(--sbb-border-width-1x);
|
|
124
|
-
}
|
|
125
|
-
@media (forced-colors: active) {
|
|
126
|
-
:host(:is([disabled], [data-disabled])) {
|
|
127
|
-
--sbb-button-color-disabled-text: GrayText !important;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
109
|
:host(:is([disabled], [data-disabled])) .sbb-form-field-clear {
|
|
131
110
|
color: var(--sbb-button-color-disabled-text);
|
|
132
111
|
cursor: default;
|
|
@@ -134,8 +113,7 @@ sbb-icon {
|
|
|
134
113
|
}
|
|
135
114
|
:host(:is([disabled], [data-disabled])) .sbb-form-field-clear::before {
|
|
136
115
|
background-color: var(--sbb-button-color-disabled-background);
|
|
137
|
-
border
|
|
138
|
-
border-style: var(--sbb-button-border-disabled-style);
|
|
116
|
+
border: var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style) var(--sbb-button-color-disabled-border);
|
|
139
117
|
}
|
|
140
118
|
|
|
141
119
|
:host(:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch])) .sbb-form-field-clear::before {
|
|
@@ -148,28 +126,14 @@ sbb-icon {
|
|
|
148
126
|
--sbb-button-translate-y-content-hover: -0.0625rem;
|
|
149
127
|
}
|
|
150
128
|
}
|
|
151
|
-
@media (forced-colors: active) {
|
|
152
|
-
:host(:not([disabled], [data-disabled], :active, [data-active]):hover) {
|
|
153
|
-
--sbb-button-color-hover-border: Highlight !important;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
129
|
@media (any-hover: hover) {
|
|
157
130
|
:host(:not([disabled], [data-disabled], :active, [data-active]):hover) .sbb-form-field-clear::before {
|
|
158
|
-
inset: calc(var(--sbb-button-border-width) * -1);
|
|
159
131
|
background-color: var(--sbb-button-color-hover-background);
|
|
160
|
-
border-color: var(--sbb-button-color-hover-border);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
@media (any-hover: hover) {
|
|
164
|
-
:host(:not([disabled], [data-disabled], :active, [data-active]):hover) .sbb-form-field-clear {
|
|
165
|
-
color: var(--sbb-button-color-hover-text);
|
|
166
132
|
}
|
|
167
133
|
}
|
|
168
134
|
|
|
169
135
|
:host(:not([disabled], [data-disabled]):is(:active, [data-active])) .sbb-form-field-clear::before {
|
|
170
|
-
color: var(--sbb-button-color-active-text);
|
|
171
136
|
background-color: var(--sbb-button-color-active-background);
|
|
172
|
-
border-color: var(--sbb-button-color-active-border);
|
|
173
137
|
}`;
|
|
174
138
|
var __defProp = Object.defineProperty;
|
|
175
139
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -191,7 +155,7 @@ let SbbFormFieldClearElement = class extends SbbNegativeMixin(SbbButtonBaseEleme
|
|
|
191
155
|
super.connectedCallback();
|
|
192
156
|
const signal = this._abort.signal;
|
|
193
157
|
this.addEventListener("click", () => this._handleClick(), { signal });
|
|
194
|
-
this._formField =
|
|
158
|
+
this._formField = this.closest("sbb-form-field, [data-form-field]");
|
|
195
159
|
if (this._formField) {
|
|
196
160
|
this.negative = this._formField.hasAttribute("negative");
|
|
197
161
|
}
|
|
@@ -225,4 +189,4 @@ SbbFormFieldClearElement = __decorateClass([
|
|
|
225
189
|
export {
|
|
226
190
|
SbbFormFieldClearElement
|
|
227
191
|
};
|
|
228
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jbGVhci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1jbGVhci9mb3JtLWZpZWxkLWNsZWFyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xlYXJJbnB1dCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Zvcm0tZmllbGQtY2xlYXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGBzYmItZm9ybS1maWVsZGAsIGl0IGRpc3BsYXlzIGEgYnV0dG9uIHdoaWNoIGNsZWFycyB0aGUgaW5wdXQgdmFsdWUuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZm9ybS1maWVsZC1jbGVhcicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAnc3VmZml4Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRm9ybUZpZWxkQ2xlYXJFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIF9mb3JtRmllbGQ/OiBTYmJGb3JtRmllbGRFbGVtZW50IHwgbnVsbDtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLl9mb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q8U2JiRm9ybUZpZWxkRWxlbWVudD4oJ3NiYi1mb3JtLWZpZWxkLCBbZGF0YS1mb3JtLWZpZWxkXScpO1xuXG4gICAgaWYgKHRoaXMuX2Zvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IHRoaXMuX2Zvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLl9mb3JtRmllbGQ/LmlucHV0RWxlbWVudDtcbiAgICBpZiAoIWlucHV0IHx8IGlucHV0LmxvY2FsTmFtZSAhPT0gJ2lucHV0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9mb3JtRmllbGQ/LmNsZWFyKCk7XG4gICAgaW5wdXQuZm9jdXMoKTtcbiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCBpMThuQ2xlYXJJbnB1dFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYCA8c2JiLWljb24gbmFtZT1cImNyb3NzLXNtYWxsXCI+PC9zYmItaWNvbj4gYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZvcm0tZmllbGQtY2xlYXInOiBTYmJGb3JtRmllbGRDbGVhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQk8sSUFBTSwyQkFBTixjQUF1QyxpQkFBaUIsb0JBQW9CLEVBQUU7QUFBQSxFQUE5RSxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFJRyxTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUM3QyxTQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUVsQyxvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixTQUFBLGlCQUFpQixTQUFTLE1BQU0sS0FBSyxnQkFBZ0IsRUFBRSxRQUFRO0FBQy9ELFNBQUEsYUFBYSxLQUFLLFFBQTZCLG1DQUFtQztBQUV2RixRQUFJLEtBQUssWUFBWTtBQUNuQixXQUFLLFdBQVcsS0FBSyxXQUFXLGFBQWEsVUFBVTtBQUFBLElBQ3pEO0FBQUEsRUFDRjtBQUFBLEVBRUEsTUFBYyxlQUE4Qjs7QUFDcEMsVUFBQSxTQUFRLFVBQUssZUFBTCxtQkFBaUI7QUFDL0IsUUFBSSxDQUFDLFNBQVMsTUFBTSxjQUFjLFNBQVM7QUFDekM7QUFBQSxJQUNGO0FBQ0EsZUFBSyxlQUFMLG1CQUFpQjtBQUNqQixVQUFNLE1BQU07QUFDTixVQUFBLGNBQWMsSUFBSSxXQUFXLFNBQVMsRUFBRSxTQUFTLE1BQU0sVUFBVSxLQUFNLENBQUEsQ0FBQztBQUN4RSxVQUFBLGNBQWMsSUFBSSxNQUFNLFVBQVUsRUFBRSxTQUFTLEtBQU0sQ0FBQSxDQUFDO0FBQUEsRUFDNUQ7QUFBQSxFQUVtQixXQUFXLG1CQUErQztBQUMzRSxVQUFNLFdBQVcsaUJBQWlCO0FBQ2xDLFNBQUssYUFBYSxjQUFjLGVBQWUsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBLEVBQ3hFO0FBQUEsRUFFbUIsaUJBQWlDO0FBQzNDLFdBQUE7QUFBQSxFQUNUO0FBQ0Y7QUFyQ2EseUJBQ1ksU0FBeUI7QUFEckMsMkJBQU4sZ0JBQUE7QUFBQSxFQUpOLGNBQWMsc0JBQXNCO0FBQUEsRUFDcEMsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUDtBQUFBLEdBQ1ksd0JBQUE7In0=
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { css, LitElement, html, nothing } from "lit";
|
|
2
2
|
import { property, state, customElement } from "lit/decorators.js";
|
|
3
3
|
import { sbbInputModalityDetector } from "../core/a11y.js";
|
|
4
|
-
import { SbbConnectedAbortController, SbbLanguageController
|
|
4
|
+
import { SbbConnectedAbortController, SbbLanguageController } from "../core/controllers.js";
|
|
5
|
+
import { slotState } from "../core/decorators.js";
|
|
5
6
|
import { isFirefox, setOrRemoveAttribute } from "../core/dom.js";
|
|
6
7
|
import { i18nOptional } from "../core/i18n.js";
|
|
7
|
-
import { SbbNegativeMixin } from "../core/mixins.js";
|
|
8
|
+
import { SbbNegativeMixin, SbbHydrationMixin } from "../core/mixins.js";
|
|
8
9
|
import { AgnosticMutationObserver } from "../core/observers.js";
|
|
9
10
|
import "../icon.js";
|
|
10
11
|
const style = css`@charset "UTF-8";
|
|
@@ -518,9 +519,9 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
518
519
|
let nextId = 0;
|
|
519
520
|
let nextFormFieldErrorId = 0;
|
|
520
521
|
const supportedPopupTagNames = ["sbb-autocomplete", "sbb-select"];
|
|
521
|
-
let SbbFormFieldElement = class extends SbbNegativeMixin(LitElement) {
|
|
522
|
+
let SbbFormFieldElement = class extends SbbNegativeMixin(SbbHydrationMixin(LitElement)) {
|
|
522
523
|
constructor() {
|
|
523
|
-
super();
|
|
524
|
+
super(...arguments);
|
|
524
525
|
this._supportedNativeInputElements = ["input", "select", "textarea"];
|
|
525
526
|
this._supportedInputElements = [
|
|
526
527
|
...this._supportedNativeInputElements,
|
|
@@ -560,7 +561,6 @@ let SbbFormFieldElement = class extends SbbNegativeMixin(LitElement) {
|
|
|
560
561
|
}
|
|
561
562
|
);
|
|
562
563
|
this._inputAbortController = new AbortController();
|
|
563
|
-
new SbbSlotStateController(this);
|
|
564
564
|
}
|
|
565
565
|
/** Returns the input element. */
|
|
566
566
|
get inputElement() {
|
|
@@ -882,9 +882,10 @@ __decorateClass([
|
|
|
882
882
|
state()
|
|
883
883
|
], SbbFormFieldElement.prototype, "_label", 2);
|
|
884
884
|
SbbFormFieldElement = __decorateClass([
|
|
885
|
-
customElement("sbb-form-field")
|
|
885
|
+
customElement("sbb-form-field"),
|
|
886
|
+
slotState()
|
|
886
887
|
], SbbFormFieldElement);
|
|
887
888
|
export {
|
|
888
889
|
SbbFormFieldElement
|
|
889
890
|
};
|
|
890
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJJbnB1dE1vZGFsaXR5IH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQge1xuICBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiU2xvdFN0YXRlQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc0ZpcmVmb3gsIHNldE9yUmVtb3ZlQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaTE4bk9wdGlvbmFsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNlbGVjdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9zZWxlY3QuanMnO1xuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZm9ybS1maWVsZC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcbmxldCBuZXh0Rm9ybUZpZWxkRXJyb3JJZCA9IDA7XG5cbmNvbnN0IHN1cHBvcnRlZFBvcHVwVGFnTmFtZXMgPSBbJ3NiYi1hdXRvY29tcGxldGUnLCAnc2JiLXNlbGVjdCddO1xuXG4vKipcbiAqIEl0IHdyYXBzIGFuIGlucHV0IGVsZW1lbnQgYWRkaW5nIGxhYmVsLCBlcnJvcnMsIGljb24sIGV0Yy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGlucHV0L3NlbGVjdCBvciBhIHN1cHBvcnRlZCBub24tbmF0aXZlIGVsZW1lbnQuXG4gKiBAc2xvdCBsYWJlbCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGEgbGFiZWwuXG4gKiBAc2xvdCBwcmVmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGlucHV0LlxuICogQHNsb3Qgc3VmZml4IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaWNvbiBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBlcnJvciAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGVycm9yLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWZvcm0tZmllbGQnKVxuZXhwb3J0IGNsYXNzIFNiYkZvcm1GaWVsZEVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyA9IFsnaW5wdXQnLCAnc2VsZWN0JywgJ3RleHRhcmVhJ107XG4gIC8vIExpc3Qgb2Ygc3VwcG9ydGVkIGVsZW1lbnQgc2VsZWN0b3JzIGluIHVubmFtZWQgc2xvdFxuICBwcml2YXRlIHJlYWRvbmx5IF9zdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgIC4uLnRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMsXG4gICAgJ3NiYi1zZWxlY3QnLFxuICAgICdzYmItc2xpZGVyJyxcbiAgXTtcbiAgLy8gTGlzdCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgZm9jdXMgaW5wdXQgb24gY2xpY2tcbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZWRGb2N1c0VsZW1lbnRzID0gWydidXR0b24nLCAnc2JiLXBvcG92ZXInXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRFbGVtZW50cyA9IFtcbiAgICAnaW5wdXQnLFxuICAgICdzZWxlY3QnLFxuICAgICdzYmItc2VsZWN0JyxcbiAgICAndGV4dGFyZWEnLFxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dFR5cGVzID0gW1xuICAgICdlbWFpbCcsXG4gICAgJ251bWJlcicsXG4gICAgJ3Bhc3N3b3JkJyxcbiAgICAnc2VhcmNoJyxcbiAgICAndGVsJyxcbiAgICAndGV4dCcsXG4gICAgJ3VybCcsXG4gIF07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICogYG5vbmVgIGRvZXMgbm90IHJlc2VydmUgYW55IHNwYWNlLlxuICAgKiBgcmVzZXJ2ZWAgZG9lcyByZXNlcnZlIG9uZSByb3cgZm9yIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdlcnJvci1zcGFjZScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGVycm9yU3BhY2U/OiAnbm9uZScgfCAncmVzZXJ2ZScgPSAnbm9uZSc7XG5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbnB1dCBpcyBvcHRpb25hbC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgb3B0aW9uYWw/OiBib29sZWFuO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsIG9yIG0uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU/OiAnbCcgfCAnbScgPSAnbSc7XG5cbiAgLyoqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgZm9ybSBmaWVsZCB3aXRob3V0IGEgYm9yZGVyLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBib3JkZXJsZXNzID0gZmFsc2U7XG5cbiAgLyoqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQ6XG4gICAqIC0gYGRlZmF1bHRgOiB0aGUgY29tcG9uZW50IGhhcyBkZWZpbmVkIHdpZHRoIGFuZCBtaW4td2lkdGg7XG4gICAqIC0gYGNvbGxhcHNlYDogdGhlIGNvbXBvbmVudCBhZGFwdHMgaXRzZWxmIHRvIGl0cyBpbm5lciBpbnB1dCBjb250ZW50LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyB3aWR0aDogJ2RlZmF1bHQnIHwgJ2NvbGxhcHNlJyA9ICdkZWZhdWx0JztcblxuICAvKiogV2hldGhlciB0byB2aXN1YWxseSBoaWRlIHRoZSBsYWJlbC4gSWYgaGlkZGVuLCBzY3JlZW4gcmVhZGVycyB3aWxsIHN0aWxsIHJlYWQgaXQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGRlbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGhpZGRlbkxhYmVsID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGxhYmVsIHNob3VsZCBmbG9hdC4gSWYgYWN0aXZhdGVkLCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGlucHV0IGlzIGhpZGRlbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZmxvYXRpbmctbGFiZWwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBmbG9hdGluZ0xhYmVsID1cbiAgICBmYWxzZTtcblxuICAvKiogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIGdldCB0aGUgYGVycm9yYCBzbG90LiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9lcnJvckVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAvKiogT3JpZ2luYWwgYXJpYS1kZXNjcmliZWRieSB2YWx1ZSBvZiB0aGUgc2xvdHRlZCBpbnB1dCBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2lucHV0PzogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2xvdHRlZCBsYWJlbCBlbGVtZW50cy4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfbGFiZWw/OiBIVE1MTGFiZWxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgdG8gdGhlIGNoYW5nZXMgb24gYHJlYWRvbmx5YCBhbmQgYGRpc2FibGVkYCBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YC5cbiAgICovXG4gIHByaXZhdGUgX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlcihcbiAgICAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICBpZiAobXV0YXRpb25zLnNvbWUoKG0pID0+IG0udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSkge1xuICAgICAgICB0aGlzLl9yZWFkSW5wdXRTdGF0ZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBfaW5wdXRBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgbmV3IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCd3aWxsT3BlbicsIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4gdGhpcy5fb25Qb3B1cE9wZW4oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignZGlkQ2xvc2UnLCAoZTogQ3VzdG9tRXZlbnQ8dm9pZD4pID0+IHRoaXMuX29uUG9wdXBDbG9zZShlKSwgeyBzaWduYWwgfSk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Qb3B1cE9wZW4oeyB0YXJnZXQgfTogQ3VzdG9tRXZlbnQ8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAoc3VwcG9ydGVkUG9wdXBUYWdOYW1lcy5pbmNsdWRlcygodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5sb2NhbE5hbWUpKSB7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcG9wdXAtb3BlbicsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uUG9wdXBDbG9zZSh7IHRhcmdldCB9OiBDdXN0b21FdmVudDx2b2lkPik6IHZvaWQge1xuICAgIGlmIChzdXBwb3J0ZWRQb3B1cFRhZ05hbWVzLmluY2x1ZGVzKCh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSkpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWhhcy1wb3B1cC1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0J1dHRvbk9yUG9wdXAoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuY2xpY2soKTtcbiAgICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XG4gICAgfSBlbHNlIGlmICgoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ2xhYmVsJykge1xuICAgICAgdGhpcy5faW5wdXQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNCdXR0b25PclBvcHVwKGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuc29tZShcbiAgICAgICAgKGVsKSA9PlxuICAgICAgICAgIChlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCAmJiBlbC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ2J1dHRvbicpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpXG4gICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAuZmluZCgoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gdGhpcy5fc3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyhlLmxvY2FsTmFtZSkpO1xuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG5cbiAgICBpZiAoIXRoaXMuX2lucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3JpZ2luYWxJbnB1dEFyaWFEZXNjcmliZWRieSA9IHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xuICAgIHRoaXMuX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk7XG4gICAgdGhpcy5fcmVhZElucHV0U3RhdGUoKTtcbiAgICB0aGlzLl9yZWdpc3RlcklucHV0TGlzdGVuZXIoKTtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX2lucHV0LnNldEF0dHJpYnV0ZSgncm93cycsIHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgncm93cycpIHx8ICczJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUodGhpcy5faW5wdXQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnLCAnY2xhc3MnLCAnZGF0YS1zYmItaW52YWxpZCddLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLWlucHV0LXR5cGUnLCB0aGlzLl9pbnB1dC5sb2NhbE5hbWUpO1xuICAgIHRoaXMuX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQgfHwgIXRoaXMuX2xhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMuaW5jbHVkZXModGhpcy5faW5wdXQubG9jYWxOYW1lKSkge1xuICAgICAgLy8gRm9yIG5hdGl2ZSBpbnB1dCBlbGVtZW50cyB3ZSB1c2UgdGhlIGBmb3JgIGF0dHJpYnV0ZSBvbiB0aGUgbGFiZWwgdG8gcmVmZXJlbmNlIHRoZSBpbnB1dFxuICAgICAgLy8gdmlhIGlkIHJlZmVyZW5jZS5cbiAgICAgIGlmICghdGhpcy5faW5wdXQuaWQpIHtcbiAgICAgICAgdGhpcy5faW5wdXQuaWQgPSBgc2JiLWZvcm0tZmllbGQtaW5wdXQtJHtuZXh0SWQrK31gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9sYWJlbC5odG1sRm9yID0gdGhpcy5faW5wdXQuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBub24tbmF0aXZlIGlucHV0IGVsZW1lbnRzLCB0aGF0IGRvIG5vdCBzdXBwb3J0IHJlZmVyZW5jZXMgdmlhIHRoZSBsYWJlbCBmb3IgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB0aGUgaW5wdXQgZWxlbWVudCB0byByZWZlcmVuY2UgdGhlIGxhYmVsIGVsZW1lbnQgdmlhIGlkLlxuICAgICAgaWYgKCF0aGlzLl9sYWJlbC5pZCkge1xuICAgICAgICB0aGlzLl9sYWJlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgICB9XG4gICAgICBjb25zdCBsYWJlbGxlZGJ5ID1cbiAgICAgICAgdGhpcy5faW5wdXRcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKVxuICAgICAgICAgID8uc3BsaXQoJyAnKVxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+ICEhbCAmJiBsICE9PSB0aGlzLl9sYWJlbCEuaWQpID8/IFtdO1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBbLi4ubGFiZWxsZWRieSwgdGhpcy5fbGFiZWwuaWRdLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIC8vIFRpbWVvdXQgbmVlZGVkIHRvIGhhdmUgdmFsdWUgdXBkYXRlZFxuICAgIHRoaXMuX2dldElucHV0Rm9ybSgpPy5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNldCgpKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICBsZXQgaW5wdXRGb2N1c0VsZW1lbnQgPSB0aGlzLl9pbnB1dDtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVDaGFuZ2UnLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuXG4gICAgICBpbnB1dEZvY3VzRWxlbWVudCA9ICh0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50KS5pbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgaW5wdXRGb2N1c0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c2luJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtZm9jdXNlZCcsIHRydWUpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1mb2N1cy1vcmlnaW4nLFxuICAgICAgICAgIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5IGFzIFNiYklucHV0TW9kYWxpdHkpID8/ICcnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2ZvY3Vzb3V0JyxcbiAgICAgICgpID0+XG4gICAgICAgIFsnZGF0YS1mb2N1cy1vcmlnaW4nLCAnZGF0YS1pbnB1dC1mb2N1c2VkJ10uZm9yRWFjaCgobmFtZSkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSkpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElucHV0Rm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnB1dC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faW5wdXQ/LmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWlucHV0LWVtcHR5JyxcbiAgICAgIHRoaXMuX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzLmluY2x1ZGVzKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0RW1wdHkoKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dEVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dFR5cGVzLmluY2x1ZGVzKHRoaXMuX2lucHV0LnR5cGUpICYmXG4gICAgICAgIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KClcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuc2VsZWN0ZWRPcHRpb25zPy5pdGVtKDApPy5sYWJlbD8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgcmV0dXJuICh0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50KS5nZXREaXNwbGF5VmFsdWUoKT8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dFZhbHVlRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlO1xuICAgIHJldHVybiBbJycsIHVuZGVmaW5lZCwgbnVsbF0uaW5jbHVkZXModmFsdWUpIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduU2xvdHMoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdsYWJlbDpub3QoW3Nsb3RdKScpLmZvckVhY2goKGUpID0+IGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2xhYmVsJykpO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnc2JiLWZvcm0tZXJyb3I6bm90KFtzbG90XSknKS5mb3JFYWNoKChlKSA9PlxuICAgICAgZS5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnZXJyb3InKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVhZElucHV0U3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZWFkb25seScsIHRoaXMuX2lucHV0Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnLCB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtaW52YWxpZCcsXG4gICAgICB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLWludmFsaWQnKSB8fFxuICAgICAgICB0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ3NiYi1pbnZhbGlkJykgfHxcbiAgICAgICAgKHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctdG91Y2hlZCcpICYmXG4gICAgICAgICAgdGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgZm9yIHRoZSBzbG90dGVkIGlucHV0IHJlZmVyZW5jaW5nIGF2YWlsYWJsZSA8c2JiLWZvcm0tZXJyb3I+IGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdEVycm9yQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2Vycm9yRWxlbWVudHMgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWRFbGVtZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiB0aGlzLl9lcnJvckVsZW1lbnRzKSB7XG4gICAgICAvLyBBbHRob3VnaCBhIGZvcm0gZXJyb3IgYXNzaWducyBhbiBpZCBpdHNlbGYsIHdlIG5lZWQgdG8gYmUgZWFybGllciBieSBjcmVhdGluZyBvbmUgaGVyZVxuICAgICAgaWYgKCFlbC5pZCkge1xuICAgICAgICBlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1lcnJvci0keysrbmV4dEZvcm1GaWVsZEVycm9ySWR9YDtcbiAgICAgIH1cbiAgICAgIGlmICghZWwucm9sZSkge1xuICAgICAgICAvLyBJbnN0ZWFkIG9mIGRlZmluaW5nIGEgY29udGFpbmVyIHdpdGggYW4gYXJpYS1saXZlIHJlZ2lvbiBhcyBleHBlY3RlZCwgd2UgaGFkIHRvIGNoYW5nZVxuICAgICAgICAvLyBzZXR0aW5nIGl0IGZvciBldmVyeSBzbG90dGVkIGVsZW1lbnQgdG8gcHJvcGVybHkgd29yayBpbiBhbGwgYnJvd3NlcnMgYW5kIHNjcmVlbiByZWFkZXIgY29tYmluYXRpb25zLlxuICAgICAgICBlbC5yb2xlID0gJ3N0YXR1cyc7XG4gICAgICAgIGlmIChpc0ZpcmVmb3gpIHtcbiAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnc3RhdHVzJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYXBwbHlBcmlhRGVzY3JpYmVkYnkoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtZXJyb3InLCAhIXRoaXMuX2Vycm9yRWxlbWVudHMubGVuZ3RoKTtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlkcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpIHtcbiAgICAgIGlkcy5wdXNoKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZXJyb3JFbGVtZW50cy5mb3JFYWNoKChlKSA9PiBpZHMucHVzaChlLmlkKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXJpYURlc2NyaWJlZGJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMuX2lucHV0LCAnYXJpYS1kZXNjcmliZWRieScsIGFyaWFEZXNjcmliZWRieSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE1hbnVhbGx5IHJlc2V0IHRoZSBmb3JtIGZpZWxkLiBDdXJyZW50bHksIHRoaXMgb25seSByZXNldHMgdGhlIGZsb2F0aW5nIGxhYmVsLiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICAvKiogTWFudWFsbHkgY2xlYXJzIHRoZSBpbnB1dCB2YWx1ZS4gSXQgb25seSB3b3JrcyBmb3IgaW5wdXRzLCBzZWxlY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgIT09ICdpbnB1dCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZSA9ICcnO1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSB0aGUgJ2lucHV0RWxlbWVudCcgcHJvcGVydHkgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGdldElucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKFxuICAgICAgJ3NiYi1mb3JtLWVycm9yLHNiYi1taW5pLWJ1dHRvbixzYmItcG9wb3Zlci10cmlnZ2VyLHNiYi1mb3JtLWZpZWxkLWNsZWFyLHNiYi1kYXRlcGlja2VyLW5leHQtZGF5LHNiYi1kYXRlcGlja2VyLXByZXZpb3VzLWRheSxzYmItZGF0ZXBpY2tlci10b2dnbGUsc2JiLXNlbGVjdCxzYmItYXV0b2NvbXBsZXRlJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyXCI+XG4gICAgICAgICR7LyogUXVlcmllZCBieSBpZCBmcm9tIHRoZSBhdXRvY29tcGxldGUvc2VsZWN0IHRvIGJlIHVzZWQgYXMgdGhlIGFuY2hvciBlbGVtZW50ICovICcnfVxuICAgICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuX2hhbmRsZVdyYXBwZXJDbGlja30gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fd3JhcHBlclwiIGlkPVwib3ZlcmxheS1hbmNob3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwicHJlZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwibGFiZWxcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdExhYmVsQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICAgICAgJHt0aGlzLm9wdGlvbmFsXG4gICAgICAgICAgICAgICAgICA/IGh0bWxgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiAke2kxOG5PcHRpb25hbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gPC9zcGFuPmBcbiAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19pbnB1dFwiPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdElucHV0Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICR7WydzZWxlY3QnLCAnc2JiLXNlbGVjdCddLmluY2x1ZGVzKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1zbWFsbC1kb3duLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NlbGVjdC1pbnB1dC1pY29uXCJcbiAgICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3VmZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19lcnJvclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90RXJyb3JDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZm9ybS1maWVsZCc6IFNiYkZvcm1GaWVsZEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
891
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJJbnB1dE1vZGFsaXR5IH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzRmlyZWZveCwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuT3B0aW9uYWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNlbGVjdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9zZWxlY3QuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9mb3JtLWZpZWxkLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xubGV0IG5leHRGb3JtRmllbGRFcnJvcklkID0gMDtcblxuY29uc3Qgc3VwcG9ydGVkUG9wdXBUYWdOYW1lcyA9IFsnc2JiLWF1dG9jb21wbGV0ZScsICdzYmItc2VsZWN0J107XG5cbi8qKlxuICogSXQgd3JhcHMgYW4gaW5wdXQgZWxlbWVudCBhZGRpbmcgbGFiZWwsIGVycm9ycywgaWNvbiwgZXRjLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaW5wdXQvc2VsZWN0IG9yIGEgc3VwcG9ydGVkIG5vbi1uYXRpdmUgZWxlbWVudC5cbiAqIEBzbG90IGxhYmVsIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYSBsYWJlbC5cbiAqIEBzbG90IHByZWZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBzdWZmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IGVycm9yIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gZXJyb3IuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZm9ybS1maWVsZCcpXG5Ac2xvdFN0YXRlKClcbmV4cG9ydCBjbGFzcyBTYmJGb3JtRmllbGRFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdXBwb3J0ZWROYXRpdmVJbnB1dEVsZW1lbnRzID0gWydpbnB1dCcsICdzZWxlY3QnLCAndGV4dGFyZWEnXTtcbiAgLy8gTGlzdCBvZiBzdXBwb3J0ZWQgZWxlbWVudCBzZWxlY3RvcnMgaW4gdW5uYW1lZCBzbG90XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1cHBvcnRlZElucHV0RWxlbWVudHMgPSBbXG4gICAgLi4udGhpcy5fc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyxcbiAgICAnc2JiLXNlbGVjdCcsXG4gICAgJ3NiYi1zbGlkZXInLFxuICBdO1xuICAvLyBMaXN0IG9mIGVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBmb2N1cyBpbnB1dCBvbiBjbGlja1xuICBwcml2YXRlIHJlYWRvbmx5IF9leGNsdWRlZEZvY3VzRWxlbWVudHMgPSBbJ2J1dHRvbicsICdzYmItcG9wb3ZlciddO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NlbGVjdCcsXG4gICAgJ3NiYi1zZWxlY3QnLFxuICAgICd0ZXh0YXJlYScsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0VHlwZXMgPSBbXG4gICAgJ2VtYWlsJyxcbiAgICAnbnVtYmVyJyxcbiAgICAncGFzc3dvcmQnLFxuICAgICdzZWFyY2gnLFxuICAgICd0ZWwnLFxuICAgICd0ZXh0JyxcbiAgICAndXJsJyxcbiAgXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNlcnZlIHNwYWNlIGZvciBhbiBlcnJvciBtZXNzYWdlLlxuICAgKiBgbm9uZWAgZG9lcyBub3QgcmVzZXJ2ZSBhbnkgc3BhY2UuXG4gICAqIGByZXNlcnZlYCBkb2VzIHJlc2VydmUgb25lIHJvdyBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Vycm9yLXNwYWNlJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgZXJyb3JTcGFjZT86ICdub25lJyB8ICdyZXNlcnZlJyA9ICdub25lJztcblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGlzIG9wdGlvbmFsLiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBvcHRpb25hbD86IGJvb2xlYW47XG5cbiAgLyoqIFNpemUgdmFyaWFudCwgZWl0aGVyIGwgb3IgbS4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZT86ICdsJyB8ICdtJyA9ICdtJztcblxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBmb3JtIGZpZWxkIHdpdGhvdXQgYSBib3JkZXIuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGJvcmRlcmxlc3MgPSBmYWxzZTtcblxuICAvKiogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudDpcbiAgICogLSBgZGVmYXVsdGA6IHRoZSBjb21wb25lbnQgaGFzIGRlZmluZWQgd2lkdGggYW5kIG1pbi13aWR0aDtcbiAgICogLSBgY29sbGFwc2VgOiB0aGUgY29tcG9uZW50IGFkYXB0cyBpdHNlbGYgdG8gaXRzIGlubmVyIGlucHV0IGNvbnRlbnQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHdpZHRoOiAnZGVmYXVsdCcgfCAnY29sbGFwc2UnID0gJ2RlZmF1bHQnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHZpc3VhbGx5IGhpZGUgdGhlIGxhYmVsLiBJZiBoaWRkZW4sIHNjcmVlbiByZWFkZXJzIHdpbGwgc3RpbGwgcmVhZCBpdC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZGVuLWxhYmVsJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgaGlkZGVuTGFiZWwgPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgbGFiZWwgc2hvdWxkIGZsb2F0LiBJZiBhY3RpdmF0ZWQsIHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgaW5wdXQgaXMgaGlkZGVuLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmbG9hdGluZy1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGZsb2F0aW5nTGFiZWwgPVxuICAgIGZhbHNlO1xuXG4gIC8qKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gZ2V0IHRoZSBgZXJyb3JgIHNsb3QuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2Vycm9yRWxlbWVudHM6IEVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKiBPcmlnaW5hbCBhcmlhLWRlc2NyaWJlZGJ5IHZhbHVlIG9mIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIHByaXZhdGUgX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNsb3R0ZWQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfaW5wdXQ/OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGxhYmVsIGVsZW1lbnRzLiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9sYWJlbD86IEhUTUxMYWJlbEVsZW1lbnQ7XG5cbiAgLyoqIFJldHVybnMgdGhlIGlucHV0IGVsZW1lbnQuICovXG4gIHB1YmxpYyBnZXQgaW5wdXRFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXQ7XG4gIH1cblxuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXIgPSBuZXcgQWdub3N0aWNNdXRhdGlvbk9ic2VydmVyKFxuICAgIChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pID0+IHtcbiAgICAgIGlmIChtdXRhdGlvbnMuc29tZSgobSkgPT4gbS50eXBlID09PSAnYXR0cmlidXRlcycpKSB7XG4gICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgKTtcblxuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCd3aWxsT3BlbicsIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4gdGhpcy5fb25Qb3B1cE9wZW4oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignZGlkQ2xvc2UnLCAoZTogQ3VzdG9tRXZlbnQ8dm9pZD4pID0+IHRoaXMuX29uUG9wdXBDbG9zZShlKSwgeyBzaWduYWwgfSk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Qb3B1cE9wZW4oeyB0YXJnZXQgfTogQ3VzdG9tRXZlbnQ8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAoc3VwcG9ydGVkUG9wdXBUYWdOYW1lcy5pbmNsdWRlcygodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5sb2NhbE5hbWUpKSB7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcG9wdXAtb3BlbicsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uUG9wdXBDbG9zZSh7IHRhcmdldCB9OiBDdXN0b21FdmVudDx2b2lkPik6IHZvaWQge1xuICAgIGlmIChzdXBwb3J0ZWRQb3B1cFRhZ05hbWVzLmluY2x1ZGVzKCh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSkpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWhhcy1wb3B1cC1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0J1dHRvbk9yUG9wdXAoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuY2xpY2soKTtcbiAgICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XG4gICAgfSBlbHNlIGlmICgoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ2xhYmVsJykge1xuICAgICAgdGhpcy5faW5wdXQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNCdXR0b25PclBvcHVwKGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuc29tZShcbiAgICAgICAgKGVsKSA9PlxuICAgICAgICAgIChlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCAmJiBlbC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ2J1dHRvbicpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpXG4gICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAuZmluZCgoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gdGhpcy5fc3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyhlLmxvY2FsTmFtZSkpO1xuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG5cbiAgICBpZiAoIXRoaXMuX2lucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3JpZ2luYWxJbnB1dEFyaWFEZXNjcmliZWRieSA9IHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xuICAgIHRoaXMuX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk7XG4gICAgdGhpcy5fcmVhZElucHV0U3RhdGUoKTtcbiAgICB0aGlzLl9yZWdpc3RlcklucHV0TGlzdGVuZXIoKTtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX2lucHV0LnNldEF0dHJpYnV0ZSgncm93cycsIHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgncm93cycpIHx8ICczJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUodGhpcy5faW5wdXQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnLCAnY2xhc3MnLCAnZGF0YS1zYmItaW52YWxpZCddLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLWlucHV0LXR5cGUnLCB0aGlzLl9pbnB1dC5sb2NhbE5hbWUpO1xuICAgIHRoaXMuX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQgfHwgIXRoaXMuX2xhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMuaW5jbHVkZXModGhpcy5faW5wdXQubG9jYWxOYW1lKSkge1xuICAgICAgLy8gRm9yIG5hdGl2ZSBpbnB1dCBlbGVtZW50cyB3ZSB1c2UgdGhlIGBmb3JgIGF0dHJpYnV0ZSBvbiB0aGUgbGFiZWwgdG8gcmVmZXJlbmNlIHRoZSBpbnB1dFxuICAgICAgLy8gdmlhIGlkIHJlZmVyZW5jZS5cbiAgICAgIGlmICghdGhpcy5faW5wdXQuaWQpIHtcbiAgICAgICAgdGhpcy5faW5wdXQuaWQgPSBgc2JiLWZvcm0tZmllbGQtaW5wdXQtJHtuZXh0SWQrK31gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9sYWJlbC5odG1sRm9yID0gdGhpcy5faW5wdXQuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBub24tbmF0aXZlIGlucHV0IGVsZW1lbnRzLCB0aGF0IGRvIG5vdCBzdXBwb3J0IHJlZmVyZW5jZXMgdmlhIHRoZSBsYWJlbCBmb3IgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB0aGUgaW5wdXQgZWxlbWVudCB0byByZWZlcmVuY2UgdGhlIGxhYmVsIGVsZW1lbnQgdmlhIGlkLlxuICAgICAgaWYgKCF0aGlzLl9sYWJlbC5pZCkge1xuICAgICAgICB0aGlzLl9sYWJlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgICB9XG4gICAgICBjb25zdCBsYWJlbGxlZGJ5ID1cbiAgICAgICAgdGhpcy5faW5wdXRcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKVxuICAgICAgICAgID8uc3BsaXQoJyAnKVxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+ICEhbCAmJiBsICE9PSB0aGlzLl9sYWJlbCEuaWQpID8/IFtdO1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBbLi4ubGFiZWxsZWRieSwgdGhpcy5fbGFiZWwuaWRdLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIC8vIFRpbWVvdXQgbmVlZGVkIHRvIGhhdmUgdmFsdWUgdXBkYXRlZFxuICAgIHRoaXMuX2dldElucHV0Rm9ybSgpPy5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNldCgpKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICBsZXQgaW5wdXRGb2N1c0VsZW1lbnQgPSB0aGlzLl9pbnB1dDtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVDaGFuZ2UnLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuXG4gICAgICBpbnB1dEZvY3VzRWxlbWVudCA9ICh0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50KS5pbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgaW5wdXRGb2N1c0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c2luJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtZm9jdXNlZCcsIHRydWUpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1mb2N1cy1vcmlnaW4nLFxuICAgICAgICAgIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5IGFzIFNiYklucHV0TW9kYWxpdHkpID8/ICcnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2ZvY3Vzb3V0JyxcbiAgICAgICgpID0+XG4gICAgICAgIFsnZGF0YS1mb2N1cy1vcmlnaW4nLCAnZGF0YS1pbnB1dC1mb2N1c2VkJ10uZm9yRWFjaCgobmFtZSkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSkpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElucHV0Rm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnB1dC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faW5wdXQ/LmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWlucHV0LWVtcHR5JyxcbiAgICAgIHRoaXMuX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzLmluY2x1ZGVzKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0RW1wdHkoKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dEVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dFR5cGVzLmluY2x1ZGVzKHRoaXMuX2lucHV0LnR5cGUpICYmXG4gICAgICAgIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KClcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuc2VsZWN0ZWRPcHRpb25zPy5pdGVtKDApPy5sYWJlbD8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgcmV0dXJuICh0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50KS5nZXREaXNwbGF5VmFsdWUoKT8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dFZhbHVlRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlO1xuICAgIHJldHVybiBbJycsIHVuZGVmaW5lZCwgbnVsbF0uaW5jbHVkZXModmFsdWUpIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduU2xvdHMoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdsYWJlbDpub3QoW3Nsb3RdKScpLmZvckVhY2goKGUpID0+IGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2xhYmVsJykpO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnc2JiLWZvcm0tZXJyb3I6bm90KFtzbG90XSknKS5mb3JFYWNoKChlKSA9PlxuICAgICAgZS5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnZXJyb3InKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVhZElucHV0U3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZWFkb25seScsIHRoaXMuX2lucHV0Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnLCB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtaW52YWxpZCcsXG4gICAgICB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLWludmFsaWQnKSB8fFxuICAgICAgICB0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ3NiYi1pbnZhbGlkJykgfHxcbiAgICAgICAgKHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctdG91Y2hlZCcpICYmXG4gICAgICAgICAgdGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgZm9yIHRoZSBzbG90dGVkIGlucHV0IHJlZmVyZW5jaW5nIGF2YWlsYWJsZSA8c2JiLWZvcm0tZXJyb3I+IGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdEVycm9yQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2Vycm9yRWxlbWVudHMgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWRFbGVtZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiB0aGlzLl9lcnJvckVsZW1lbnRzKSB7XG4gICAgICAvLyBBbHRob3VnaCBhIGZvcm0gZXJyb3IgYXNzaWducyBhbiBpZCBpdHNlbGYsIHdlIG5lZWQgdG8gYmUgZWFybGllciBieSBjcmVhdGluZyBvbmUgaGVyZVxuICAgICAgaWYgKCFlbC5pZCkge1xuICAgICAgICBlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1lcnJvci0keysrbmV4dEZvcm1GaWVsZEVycm9ySWR9YDtcbiAgICAgIH1cbiAgICAgIGlmICghZWwucm9sZSkge1xuICAgICAgICAvLyBJbnN0ZWFkIG9mIGRlZmluaW5nIGEgY29udGFpbmVyIHdpdGggYW4gYXJpYS1saXZlIHJlZ2lvbiBhcyBleHBlY3RlZCwgd2UgaGFkIHRvIGNoYW5nZVxuICAgICAgICAvLyBzZXR0aW5nIGl0IGZvciBldmVyeSBzbG90dGVkIGVsZW1lbnQgdG8gcHJvcGVybHkgd29yayBpbiBhbGwgYnJvd3NlcnMgYW5kIHNjcmVlbiByZWFkZXIgY29tYmluYXRpb25zLlxuICAgICAgICBlbC5yb2xlID0gJ3N0YXR1cyc7XG4gICAgICAgIGlmIChpc0ZpcmVmb3gpIHtcbiAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnc3RhdHVzJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYXBwbHlBcmlhRGVzY3JpYmVkYnkoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtZXJyb3InLCAhIXRoaXMuX2Vycm9yRWxlbWVudHMubGVuZ3RoKTtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlkcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpIHtcbiAgICAgIGlkcy5wdXNoKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZXJyb3JFbGVtZW50cy5mb3JFYWNoKChlKSA9PiBpZHMucHVzaChlLmlkKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXJpYURlc2NyaWJlZGJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMuX2lucHV0LCAnYXJpYS1kZXNjcmliZWRieScsIGFyaWFEZXNjcmliZWRieSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE1hbnVhbGx5IHJlc2V0IHRoZSBmb3JtIGZpZWxkLiBDdXJyZW50bHksIHRoaXMgb25seSByZXNldHMgdGhlIGZsb2F0aW5nIGxhYmVsLiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICAvKiogTWFudWFsbHkgY2xlYXJzIHRoZSBpbnB1dCB2YWx1ZS4gSXQgb25seSB3b3JrcyBmb3IgaW5wdXRzLCBzZWxlY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgIT09ICdpbnB1dCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZSA9ICcnO1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSB0aGUgJ2lucHV0RWxlbWVudCcgcHJvcGVydHkgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGdldElucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKFxuICAgICAgJ3NiYi1mb3JtLWVycm9yLHNiYi1taW5pLWJ1dHRvbixzYmItcG9wb3Zlci10cmlnZ2VyLHNiYi1mb3JtLWZpZWxkLWNsZWFyLHNiYi1kYXRlcGlja2VyLW5leHQtZGF5LHNiYi1kYXRlcGlja2VyLXByZXZpb3VzLWRheSxzYmItZGF0ZXBpY2tlci10b2dnbGUsc2JiLXNlbGVjdCxzYmItYXV0b2NvbXBsZXRlJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyXCI+XG4gICAgICAgICR7LyogUXVlcmllZCBieSBpZCBmcm9tIHRoZSBhdXRvY29tcGxldGUvc2VsZWN0IHRvIGJlIHVzZWQgYXMgdGhlIGFuY2hvciBlbGVtZW50ICovICcnfVxuICAgICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuX2hhbmRsZVdyYXBwZXJDbGlja30gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fd3JhcHBlclwiIGlkPVwib3ZlcmxheS1hbmNob3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwicHJlZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwibGFiZWxcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdExhYmVsQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICAgICAgJHt0aGlzLm9wdGlvbmFsXG4gICAgICAgICAgICAgICAgICA/IGh0bWxgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiAke2kxOG5PcHRpb25hbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gPC9zcGFuPmBcbiAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19pbnB1dFwiPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdElucHV0Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICR7WydzZWxlY3QnLCAnc2JiLXNlbGVjdCddLmluY2x1ZGVzKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1zbWFsbC1kb3duLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NlbGVjdC1pbnB1dC1pY29uXCJcbiAgICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3VmZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19lcnJvclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90RXJyb3JDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZm9ybS1maWVsZCc6IFNiYkZvcm1GaWVsZEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-request.d.ts","sourceRoot":"","sources":["../../../../src/elements/icon/icon-request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icon-request.d.ts","sourceRoot":"","sources":["../../../../src/elements/icon/icon-request.ts"],"names":[],"mappings":"AAcA,6FAA6F;AAC7F,eAAO,MAAM,aAAa,cACb,MAAM,QACX,MAAM,YACF,OAAO,KAChB,OAAO,CAAC,MAAM,CA6ChB,CAAC"}
|