@db-ux/ngx-core-components 1.0.0-test-13b991d
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/README.md +130 -0
- package/components/accordion/accordion.d.ts +31 -0
- package/components/accordion/index.d.ts +1 -0
- package/components/accordion/model.d.ts +41 -0
- package/components/accordion-item/accordion-item.d.ts +29 -0
- package/components/accordion-item/index.d.ts +1 -0
- package/components/accordion-item/model.d.ts +24 -0
- package/components/badge/badge.d.ts +28 -0
- package/components/badge/index.d.ts +1 -0
- package/components/badge/model.d.ts +16 -0
- package/components/brand/brand.d.ts +24 -0
- package/components/brand/index.d.ts +1 -0
- package/components/brand/model.d.ts +10 -0
- package/components/button/button.d.ts +39 -0
- package/components/button/index.d.ts +1 -0
- package/components/button/model.d.ts +52 -0
- package/components/card/card.d.ts +24 -0
- package/components/card/index.d.ts +1 -0
- package/components/card/model.d.ts +18 -0
- package/components/checkbox/checkbox.d.ts +64 -0
- package/components/checkbox/index.d.ts +1 -0
- package/components/checkbox/model.d.ts +10 -0
- package/components/divider/divider.d.ts +22 -0
- package/components/divider/index.d.ts +1 -0
- package/components/divider/model.d.ts +18 -0
- package/components/drawer/drawer.d.ts +34 -0
- package/components/drawer/index.d.ts +1 -0
- package/components/drawer/model.d.ts +41 -0
- package/components/header/MetaNavigation.directive.d.ts +5 -0
- package/components/header/Navigation.directive.d.ts +5 -0
- package/components/header/SecondaryAction.directive.d.ts +5 -0
- package/components/header/header.d.ts +34 -0
- package/components/header/index.d.ts +1 -0
- package/components/header/model.d.ts +44 -0
- package/components/icon/icon.d.ts +22 -0
- package/components/icon/index.d.ts +1 -0
- package/components/icon/model.d.ts +12 -0
- package/components/infotext/index.d.ts +1 -0
- package/components/infotext/infotext.d.ts +24 -0
- package/components/infotext/model.d.ts +5 -0
- package/components/input/index.d.ts +1 -0
- package/components/input/input.d.ts +87 -0
- package/components/input/model.d.ts +39 -0
- package/components/link/index.d.ts +1 -0
- package/components/link/link.d.ts +37 -0
- package/components/link/model.d.ts +24 -0
- package/components/navigation/index.d.ts +1 -0
- package/components/navigation/model.d.ts +5 -0
- package/components/navigation/navigation.d.ts +21 -0
- package/components/navigation-item/NavigationContent.directive.d.ts +5 -0
- package/components/navigation-item/index.d.ts +1 -0
- package/components/navigation-item/model.d.ts +34 -0
- package/components/navigation-item/navigation-item.d.ts +44 -0
- package/components/notification/index.d.ts +1 -0
- package/components/notification/model.d.ts +57 -0
- package/components/notification/notification.d.ts +38 -0
- package/components/page/index.d.ts +1 -0
- package/components/page/model.d.ts +32 -0
- package/components/page/page.d.ts +25 -0
- package/components/popover/index.d.ts +1 -0
- package/components/popover/model.d.ts +18 -0
- package/components/popover/popover.d.ts +33 -0
- package/components/radio/index.d.ts +1 -0
- package/components/radio/model.d.ts +7 -0
- package/components/radio/radio.d.ts +51 -0
- package/components/section/index.d.ts +1 -0
- package/components/section/model.d.ts +5 -0
- package/components/section/section.d.ts +22 -0
- package/components/select/index.d.ts +1 -0
- package/components/select/model.d.ts +43 -0
- package/components/select/select.d.ts +77 -0
- package/components/stack/index.d.ts +1 -0
- package/components/stack/model.d.ts +34 -0
- package/components/stack/stack.d.ts +25 -0
- package/components/switch/index.d.ts +1 -0
- package/components/switch/model.d.ts +12 -0
- package/components/switch/switch.d.ts +55 -0
- package/components/tab-item/index.d.ts +1 -0
- package/components/tab-item/model.d.ts +24 -0
- package/components/tab-item/tab-item.d.ts +44 -0
- package/components/tab-list/index.d.ts +1 -0
- package/components/tab-list/model.d.ts +5 -0
- package/components/tab-list/tab-list.d.ts +20 -0
- package/components/tab-panel/index.d.ts +1 -0
- package/components/tab-panel/model.d.ts +10 -0
- package/components/tab-panel/tab-panel.d.ts +21 -0
- package/components/tabs/index.d.ts +1 -0
- package/components/tabs/model.d.ts +47 -0
- package/components/tabs/tabs.d.ts +42 -0
- package/components/tag/index.d.ts +1 -0
- package/components/tag/model.d.ts +45 -0
- package/components/tag/tag.d.ts +37 -0
- package/components/textarea/index.d.ts +1 -0
- package/components/textarea/model.d.ts +30 -0
- package/components/textarea/textarea.d.ts +79 -0
- package/components/tooltip/index.d.ts +1 -0
- package/components/tooltip/model.d.ts +7 -0
- package/components/tooltip/tooltip.d.ts +32 -0
- package/esm2022/components/accordion/accordion.mjs +196 -0
- package/esm2022/components/accordion/index.mjs +2 -0
- package/esm2022/components/accordion/model.mjs +3 -0
- package/esm2022/components/accordion-item/accordion-item.mjs +136 -0
- package/esm2022/components/accordion-item/index.mjs +2 -0
- package/esm2022/components/accordion-item/model.mjs +2 -0
- package/esm2022/components/badge/badge.mjs +130 -0
- package/esm2022/components/badge/index.mjs +2 -0
- package/esm2022/components/badge/model.mjs +2 -0
- package/esm2022/components/brand/brand.mjs +99 -0
- package/esm2022/components/brand/index.mjs +2 -0
- package/esm2022/components/brand/model.mjs +2 -0
- package/esm2022/components/button/button.mjs +158 -0
- package/esm2022/components/button/index.mjs +2 -0
- package/esm2022/components/button/model.mjs +4 -0
- package/esm2022/components/card/card.mjs +107 -0
- package/esm2022/components/card/index.mjs +2 -0
- package/esm2022/components/card/model.mjs +3 -0
- package/esm2022/components/checkbox/checkbox.mjs +328 -0
- package/esm2022/components/checkbox/index.mjs +2 -0
- package/esm2022/components/checkbox/model.mjs +2 -0
- package/esm2022/components/divider/divider.mjs +93 -0
- package/esm2022/components/divider/index.mjs +2 -0
- package/esm2022/components/divider/model.mjs +3 -0
- package/esm2022/components/drawer/drawer.mjs +218 -0
- package/esm2022/components/drawer/index.mjs +2 -0
- package/esm2022/components/drawer/model.mjs +4 -0
- package/esm2022/components/header/MetaNavigation.directive.mjs +15 -0
- package/esm2022/components/header/Navigation.directive.mjs +15 -0
- package/esm2022/components/header/SecondaryAction.directive.mjs +15 -0
- package/esm2022/components/header/header.mjs +251 -0
- package/esm2022/components/header/index.mjs +2 -0
- package/esm2022/components/header/model.mjs +2 -0
- package/esm2022/components/icon/icon.mjs +100 -0
- package/esm2022/components/icon/index.mjs +2 -0
- package/esm2022/components/icon/model.mjs +3 -0
- package/esm2022/components/infotext/index.mjs +2 -0
- package/esm2022/components/infotext/infotext.mjs +103 -0
- package/esm2022/components/infotext/model.mjs +2 -0
- package/esm2022/components/input/index.mjs +2 -0
- package/esm2022/components/input/input.mjs +421 -0
- package/esm2022/components/input/model.mjs +6 -0
- package/esm2022/components/link/index.mjs +2 -0
- package/esm2022/components/link/link.mjs +152 -0
- package/esm2022/components/link/model.mjs +4 -0
- package/esm2022/components/navigation/index.mjs +2 -0
- package/esm2022/components/navigation/model.mjs +2 -0
- package/esm2022/components/navigation/navigation.mjs +92 -0
- package/esm2022/components/navigation-item/NavigationContent.directive.mjs +15 -0
- package/esm2022/components/navigation-item/index.mjs +2 -0
- package/esm2022/components/navigation-item/model.mjs +2 -0
- package/esm2022/components/navigation-item/navigation-item.mjs +236 -0
- package/esm2022/components/notification/index.mjs +2 -0
- package/esm2022/components/notification/model.mjs +4 -0
- package/esm2022/components/notification/notification.mjs +181 -0
- package/esm2022/components/page/index.mjs +2 -0
- package/esm2022/components/page/model.mjs +3 -0
- package/esm2022/components/page/page.mjs +127 -0
- package/esm2022/components/popover/index.mjs +2 -0
- package/esm2022/components/popover/model.mjs +2 -0
- package/esm2022/components/popover/popover.mjs +189 -0
- package/esm2022/components/radio/index.mjs +2 -0
- package/esm2022/components/radio/model.mjs +2 -0
- package/esm2022/components/radio/radio.mjs +230 -0
- package/esm2022/components/section/index.mjs +2 -0
- package/esm2022/components/section/model.mjs +2 -0
- package/esm2022/components/section/section.mjs +96 -0
- package/esm2022/components/select/index.mjs +2 -0
- package/esm2022/components/select/model.mjs +2 -0
- package/esm2022/components/select/select.mjs +426 -0
- package/esm2022/components/stack/index.mjs +2 -0
- package/esm2022/components/stack/model.mjs +5 -0
- package/esm2022/components/stack/stack.mjs +106 -0
- package/esm2022/components/switch/index.mjs +2 -0
- package/esm2022/components/switch/model.mjs +2 -0
- package/esm2022/components/switch/switch.mjs +237 -0
- package/esm2022/components/tab-item/index.mjs +2 -0
- package/esm2022/components/tab-item/model.mjs +2 -0
- package/esm2022/components/tab-item/tab-item.mjs +195 -0
- package/esm2022/components/tab-list/index.mjs +2 -0
- package/esm2022/components/tab-list/model.mjs +2 -0
- package/esm2022/components/tab-list/tab-list.mjs +84 -0
- package/esm2022/components/tab-panel/index.mjs +2 -0
- package/esm2022/components/tab-panel/model.mjs +2 -0
- package/esm2022/components/tab-panel/tab-panel.mjs +96 -0
- package/esm2022/components/tabs/index.mjs +2 -0
- package/esm2022/components/tabs/model.mjs +3 -0
- package/esm2022/components/tabs/tabs.mjs +322 -0
- package/esm2022/components/tag/index.mjs +2 -0
- package/esm2022/components/tag/model.mjs +2 -0
- package/esm2022/components/tag/tag.mjs +186 -0
- package/esm2022/components/textarea/index.mjs +2 -0
- package/esm2022/components/textarea/model.mjs +3 -0
- package/esm2022/components/textarea/textarea.mjs +363 -0
- package/esm2022/components/tooltip/index.mjs +2 -0
- package/esm2022/components/tooltip/model.mjs +2 -0
- package/esm2022/components/tooltip/tooltip.mjs +149 -0
- package/esm2022/db-ux-ngx-core-components.mjs +5 -0
- package/esm2022/index.mjs +41 -0
- package/esm2022/shared/constants.mjs +94 -0
- package/esm2022/shared/model.mjs +22 -0
- package/esm2022/utils/form-components.mjs +11 -0
- package/esm2022/utils/index.mjs +174 -0
- package/esm2022/utils/navigation.mjs +133 -0
- package/fesm2022/db-ux-ngx-core-components.mjs +6109 -0
- package/fesm2022/db-ux-ngx-core-components.mjs.map +1 -0
- package/index.d.ts +40 -0
- package/package.json +35 -0
- package/shared/constants.d.ts +83 -0
- package/shared/model.d.ts +445 -0
- package/utils/form-components.d.ts +2 -0
- package/utils/index.d.ts +61 -0
- package/utils/navigation.d.ts +32 -0
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
import { Output, EventEmitter, Component, ViewChild, Input } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { CommonModule } from "@angular/common";
|
|
4
|
+
import { cls, delay, getHideProp, hasVoiceOver, isArrayOfStrings, stringPropVisible, uuid, } from "../../utils";
|
|
5
|
+
import { DEFAULT_DATALIST_ID_SUFFIX, DEFAULT_INVALID_MESSAGE, DEFAULT_INVALID_MESSAGE_ID_SUFFIX, DEFAULT_LABEL, DEFAULT_MESSAGE_ID_SUFFIX, DEFAULT_PLACEHOLDER, DEFAULT_VALID_MESSAGE, DEFAULT_VALID_MESSAGE_ID_SUFFIX, } from "../../shared/constants";
|
|
6
|
+
import { DBInfotext } from "../infotext/infotext";
|
|
7
|
+
import { handleFrameworkEventAngular, } from "../../utils/form-components";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
const defaultProps = {};
|
|
11
|
+
export class DBInput {
|
|
12
|
+
constructor(renderer) {
|
|
13
|
+
this.renderer = renderer;
|
|
14
|
+
this.cls = cls;
|
|
15
|
+
this.getHideProp = getHideProp;
|
|
16
|
+
this.stringPropVisible = stringPropVisible;
|
|
17
|
+
this.DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;
|
|
18
|
+
this.DEFAULT_LABEL = DEFAULT_LABEL;
|
|
19
|
+
this.DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;
|
|
20
|
+
this.DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;
|
|
21
|
+
this.onInput = new EventEmitter();
|
|
22
|
+
this.input = new EventEmitter();
|
|
23
|
+
this.onChange = new EventEmitter();
|
|
24
|
+
this.change = new EventEmitter();
|
|
25
|
+
this.onBlur = new EventEmitter();
|
|
26
|
+
this.blur = new EventEmitter();
|
|
27
|
+
this.onFocus = new EventEmitter();
|
|
28
|
+
this.focus = new EventEmitter();
|
|
29
|
+
this._id = undefined;
|
|
30
|
+
this._messageId = undefined;
|
|
31
|
+
this._validMessageId = undefined;
|
|
32
|
+
this._invalidMessageId = undefined;
|
|
33
|
+
this._dataListId = undefined;
|
|
34
|
+
this._descByIds = "";
|
|
35
|
+
this._value = "";
|
|
36
|
+
this._voiceOverFallback = "";
|
|
37
|
+
}
|
|
38
|
+
handleInput(event) {
|
|
39
|
+
if (this.onInput) {
|
|
40
|
+
this.onInput.emit(event);
|
|
41
|
+
}
|
|
42
|
+
if (this.input) {
|
|
43
|
+
this.input.emit(event);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
handleChange(event) {
|
|
47
|
+
if (this.onChange) {
|
|
48
|
+
this.onChange.emit(event);
|
|
49
|
+
}
|
|
50
|
+
if (this.change) {
|
|
51
|
+
this.change.emit(event);
|
|
52
|
+
}
|
|
53
|
+
handleFrameworkEventAngular(this, event);
|
|
54
|
+
/* For a11y reasons we need to map the correct message with the input */
|
|
55
|
+
if (!this._ref?.nativeElement?.validity.valid ||
|
|
56
|
+
this.validation === "invalid") {
|
|
57
|
+
this._descByIds = this._invalidMessageId;
|
|
58
|
+
if (hasVoiceOver()) {
|
|
59
|
+
this._voiceOverFallback =
|
|
60
|
+
this.invalidMessage ??
|
|
61
|
+
this._ref?.nativeElement?.validationMessage ??
|
|
62
|
+
DEFAULT_INVALID_MESSAGE;
|
|
63
|
+
delay(() => (this._voiceOverFallback = ""), 1000);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else if (this.validation === "valid" ||
|
|
67
|
+
(this._ref?.nativeElement?.validity.valid &&
|
|
68
|
+
(this.required || this.minLength || this.maxLength || this.pattern))) {
|
|
69
|
+
this._descByIds = this._validMessageId;
|
|
70
|
+
if (hasVoiceOver()) {
|
|
71
|
+
this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;
|
|
72
|
+
delay(() => (this._voiceOverFallback = ""), 1000);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (stringPropVisible(this.message, this.showMessage)) {
|
|
76
|
+
this._descByIds = this._messageId;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this._descByIds = "";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
handleBlur(event) {
|
|
83
|
+
if (this.onBlur) {
|
|
84
|
+
this.onBlur.emit(event);
|
|
85
|
+
}
|
|
86
|
+
if (this.blur) {
|
|
87
|
+
this.blur.emit(event);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
handleFocus(event) {
|
|
91
|
+
if (this.onFocus) {
|
|
92
|
+
this.onFocus.emit(event);
|
|
93
|
+
}
|
|
94
|
+
if (this.focus) {
|
|
95
|
+
this.focus.emit(event);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
getDataList(_list) {
|
|
99
|
+
return Array.from((isArrayOfStrings(_list)
|
|
100
|
+
? _list.map((val) => ({
|
|
101
|
+
value: val,
|
|
102
|
+
label: undefined,
|
|
103
|
+
}))
|
|
104
|
+
: _list) || []);
|
|
105
|
+
}
|
|
106
|
+
trackByOption0(_, option) {
|
|
107
|
+
return this._dataListId + "-option-" + option.value;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
111
|
+
* @param element the ref for the component
|
|
112
|
+
* @param customElementSelector the custom element like `my-component`
|
|
113
|
+
*/
|
|
114
|
+
enableAttributePassing(element, customElementSelector) {
|
|
115
|
+
const parent = element?.closest(customElementSelector);
|
|
116
|
+
if (element && parent) {
|
|
117
|
+
const attributes = parent.attributes;
|
|
118
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
119
|
+
const attr = attributes.item(i);
|
|
120
|
+
if (attr &&
|
|
121
|
+
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
122
|
+
element.setAttribute(attr.name, attr.value);
|
|
123
|
+
parent.removeAttribute(attr.name);
|
|
124
|
+
}
|
|
125
|
+
if (attr && attr.name === "class") {
|
|
126
|
+
const isWebComponent = attr.value.includes("hydrated");
|
|
127
|
+
const value = attr.value.replace("hydrated", "").trim();
|
|
128
|
+
const currentClass = element.getAttribute("class");
|
|
129
|
+
element.setAttribute(attr.name, `${currentClass ? `${currentClass} ` : ""}${value}`);
|
|
130
|
+
if (isWebComponent) {
|
|
131
|
+
// Stencil is using this class for lazy loading component
|
|
132
|
+
parent.setAttribute("class", "hydrated");
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
parent.removeAttribute(attr.name);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
writeValue(value) {
|
|
142
|
+
this.value = value;
|
|
143
|
+
if (this._ref?.nativeElement) {
|
|
144
|
+
this.renderer.setProperty(this._ref?.nativeElement, 'value', value);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
propagateChange(_) { }
|
|
148
|
+
registerOnChange(onChange) {
|
|
149
|
+
this.propagateChange = onChange;
|
|
150
|
+
}
|
|
151
|
+
registerOnTouched(onTouched) {
|
|
152
|
+
//this.onTouched = onTouched;
|
|
153
|
+
}
|
|
154
|
+
setDisabledState(disabled) {
|
|
155
|
+
this.disabled = disabled;
|
|
156
|
+
}
|
|
157
|
+
ngOnInit() {
|
|
158
|
+
if (typeof window !== "undefined") {
|
|
159
|
+
const mId = this.id ?? `input-${uuid()}`;
|
|
160
|
+
this._id = mId;
|
|
161
|
+
this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;
|
|
162
|
+
this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;
|
|
163
|
+
this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;
|
|
164
|
+
this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
ngAfterViewInit() {
|
|
168
|
+
const element = this._ref?.nativeElement;
|
|
169
|
+
this.enableAttributePassing(element, "db-input");
|
|
170
|
+
}
|
|
171
|
+
ngAfterContentChecked(changes) {
|
|
172
|
+
if (typeof window !== "undefined") {
|
|
173
|
+
if (this._id) {
|
|
174
|
+
const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;
|
|
175
|
+
this._messageId = messageId;
|
|
176
|
+
this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;
|
|
177
|
+
this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;
|
|
178
|
+
this._dataListId =
|
|
179
|
+
this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;
|
|
180
|
+
if (stringPropVisible(this.message, this.showMessage)) {
|
|
181
|
+
this._descByIds = messageId;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
this._value = this.value;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBInput, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
188
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DBInput, isStandalone: true, selector: "db-input", inputs: { id: "id", dataListId: "dataListId", message: "message", showMessage: "showMessage", value: "value", validation: "validation", invalidMessage: "invalidMessage", required: "required", minLength: "minLength", maxLength: "maxLength", pattern: "pattern", validMessage: "validMessage", className: "className", variant: "variant", showLabel: "showLabel", showIcon: "showIcon", icon: "icon", iconAfter: "iconAfter", label: "label", name: "name", type: "type", placeholder: "placeholder", disabled: "disabled", step: "step", max: "max", min: "min", readOnly: "readOnly", form: "form", autocomplete: "autocomplete", autofocus: "autofocus", dataList: "dataList", messageIcon: "messageIcon" }, outputs: { onInput: "onInput", input: "input", onChange: "onChange", change: "change", onBlur: "onBlur", blur: "blur", onFocus: "onFocus", focus: "focus" }, providers: [{
|
|
189
|
+
provide: NG_VALUE_ACCESSOR,
|
|
190
|
+
useExisting: DBInput,
|
|
191
|
+
multi: true
|
|
192
|
+
}], viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true }], ngImport: i0, template: `
|
|
193
|
+
<div
|
|
194
|
+
[class]="cls('db-input', className)"
|
|
195
|
+
[attr.data-variant]="variant"
|
|
196
|
+
[attr.data-hide-label]="getHideProp(showLabel)"
|
|
197
|
+
[attr.data-hide-icon]="getHideProp(showIcon)"
|
|
198
|
+
[attr.data-icon]="icon"
|
|
199
|
+
[attr.data-icon-after]="iconAfter"
|
|
200
|
+
[attr.data-hide-icon-after]="getHideProp(showIcon)"
|
|
201
|
+
>
|
|
202
|
+
<label [attr.for]="_id">{{label ?? DEFAULT_LABEL}}</label>
|
|
203
|
+
<input
|
|
204
|
+
[attr.aria-invalid]="validation === 'invalid'"
|
|
205
|
+
[attr.data-custom-validity]="validation"
|
|
206
|
+
#_ref
|
|
207
|
+
[attr.id]="_id"
|
|
208
|
+
[attr.name]="name"
|
|
209
|
+
[attr.type]="type || 'text'"
|
|
210
|
+
[attr.placeholder]="placeholder ?? DEFAULT_PLACEHOLDER"
|
|
211
|
+
[disabled]="disabled"
|
|
212
|
+
[required]="required"
|
|
213
|
+
[attr.step]="step"
|
|
214
|
+
[attr.value]="value ?? _value"
|
|
215
|
+
[attr.maxLength]="maxLength"
|
|
216
|
+
[attr.minLength]="minLength"
|
|
217
|
+
[attr.max]="max"
|
|
218
|
+
[attr.min]="min"
|
|
219
|
+
[attr.readOnly]="readOnly"
|
|
220
|
+
[attr.form]="form"
|
|
221
|
+
[attr.pattern]="pattern"
|
|
222
|
+
[attr.autoComplete]="autocomplete"
|
|
223
|
+
[attr.autoFocus]="autofocus"
|
|
224
|
+
(input)="handleInput($event)"
|
|
225
|
+
(change)="handleChange($event)"
|
|
226
|
+
(blur)="handleBlur($event)"
|
|
227
|
+
(focus)="handleFocus($event)"
|
|
228
|
+
[attr.list]="dataList && _dataListId"
|
|
229
|
+
[attr.aria-describedby]="_descByIds"
|
|
230
|
+
/>
|
|
231
|
+
<ng-container *ngIf="dataList">
|
|
232
|
+
<datalist [attr.id]="_dataListId">
|
|
233
|
+
<ng-container
|
|
234
|
+
*ngFor="let option of getDataList(dataList); trackBy: trackByOption0"
|
|
235
|
+
>
|
|
236
|
+
<option [attr.value]="option.value">{{option.label}}</option>
|
|
237
|
+
</ng-container>
|
|
238
|
+
</datalist>
|
|
239
|
+
</ng-container>
|
|
240
|
+
<ng-content></ng-content>
|
|
241
|
+
<ng-container *ngIf="stringPropVisible(message, showMessage)">
|
|
242
|
+
<db-infotext size="small" [icon]="messageIcon" [id]="_messageId">
|
|
243
|
+
{{message}}
|
|
244
|
+
</db-infotext>
|
|
245
|
+
</ng-container>
|
|
246
|
+
<db-infotext size="small" semantic="successful" [id]="_validMessageId">
|
|
247
|
+
{{validMessage ?? DEFAULT_VALID_MESSAGE}}
|
|
248
|
+
</db-infotext>
|
|
249
|
+
<db-infotext size="small" semantic="critical" [id]="_invalidMessageId">
|
|
250
|
+
{{invalidMessage ?? this._ref?.validationMessage ??
|
|
251
|
+
DEFAULT_INVALID_MESSAGE}}
|
|
252
|
+
</db-infotext>
|
|
253
|
+
<span data-visually-hidden="true" role="status">
|
|
254
|
+
{{_voiceOverFallback}}
|
|
255
|
+
</span>
|
|
256
|
+
</div>
|
|
257
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }] }); }
|
|
258
|
+
}
|
|
259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBInput, decorators: [{
|
|
260
|
+
type: Component,
|
|
261
|
+
args: [{
|
|
262
|
+
providers: [{
|
|
263
|
+
provide: NG_VALUE_ACCESSOR,
|
|
264
|
+
useExisting: DBInput,
|
|
265
|
+
multi: true
|
|
266
|
+
}],
|
|
267
|
+
selector: "db-input",
|
|
268
|
+
template: `
|
|
269
|
+
<div
|
|
270
|
+
[class]="cls('db-input', className)"
|
|
271
|
+
[attr.data-variant]="variant"
|
|
272
|
+
[attr.data-hide-label]="getHideProp(showLabel)"
|
|
273
|
+
[attr.data-hide-icon]="getHideProp(showIcon)"
|
|
274
|
+
[attr.data-icon]="icon"
|
|
275
|
+
[attr.data-icon-after]="iconAfter"
|
|
276
|
+
[attr.data-hide-icon-after]="getHideProp(showIcon)"
|
|
277
|
+
>
|
|
278
|
+
<label [attr.for]="_id">{{label ?? DEFAULT_LABEL}}</label>
|
|
279
|
+
<input
|
|
280
|
+
[attr.aria-invalid]="validation === 'invalid'"
|
|
281
|
+
[attr.data-custom-validity]="validation"
|
|
282
|
+
#_ref
|
|
283
|
+
[attr.id]="_id"
|
|
284
|
+
[attr.name]="name"
|
|
285
|
+
[attr.type]="type || 'text'"
|
|
286
|
+
[attr.placeholder]="placeholder ?? DEFAULT_PLACEHOLDER"
|
|
287
|
+
[disabled]="disabled"
|
|
288
|
+
[required]="required"
|
|
289
|
+
[attr.step]="step"
|
|
290
|
+
[attr.value]="value ?? _value"
|
|
291
|
+
[attr.maxLength]="maxLength"
|
|
292
|
+
[attr.minLength]="minLength"
|
|
293
|
+
[attr.max]="max"
|
|
294
|
+
[attr.min]="min"
|
|
295
|
+
[attr.readOnly]="readOnly"
|
|
296
|
+
[attr.form]="form"
|
|
297
|
+
[attr.pattern]="pattern"
|
|
298
|
+
[attr.autoComplete]="autocomplete"
|
|
299
|
+
[attr.autoFocus]="autofocus"
|
|
300
|
+
(input)="handleInput($event)"
|
|
301
|
+
(change)="handleChange($event)"
|
|
302
|
+
(blur)="handleBlur($event)"
|
|
303
|
+
(focus)="handleFocus($event)"
|
|
304
|
+
[attr.list]="dataList && _dataListId"
|
|
305
|
+
[attr.aria-describedby]="_descByIds"
|
|
306
|
+
/>
|
|
307
|
+
<ng-container *ngIf="dataList">
|
|
308
|
+
<datalist [attr.id]="_dataListId">
|
|
309
|
+
<ng-container
|
|
310
|
+
*ngFor="let option of getDataList(dataList); trackBy: trackByOption0"
|
|
311
|
+
>
|
|
312
|
+
<option [attr.value]="option.value">{{option.label}}</option>
|
|
313
|
+
</ng-container>
|
|
314
|
+
</datalist>
|
|
315
|
+
</ng-container>
|
|
316
|
+
<ng-content></ng-content>
|
|
317
|
+
<ng-container *ngIf="stringPropVisible(message, showMessage)">
|
|
318
|
+
<db-infotext size="small" [icon]="messageIcon" [id]="_messageId">
|
|
319
|
+
{{message}}
|
|
320
|
+
</db-infotext>
|
|
321
|
+
</ng-container>
|
|
322
|
+
<db-infotext size="small" semantic="successful" [id]="_validMessageId">
|
|
323
|
+
{{validMessage ?? DEFAULT_VALID_MESSAGE}}
|
|
324
|
+
</db-infotext>
|
|
325
|
+
<db-infotext size="small" semantic="critical" [id]="_invalidMessageId">
|
|
326
|
+
{{invalidMessage ?? this._ref?.validationMessage ??
|
|
327
|
+
DEFAULT_INVALID_MESSAGE}}
|
|
328
|
+
</db-infotext>
|
|
329
|
+
<span data-visually-hidden="true" role="status">
|
|
330
|
+
{{_voiceOverFallback}}
|
|
331
|
+
</span>
|
|
332
|
+
</div>
|
|
333
|
+
`,
|
|
334
|
+
standalone: true,
|
|
335
|
+
imports: [CommonModule, DBInfotext],
|
|
336
|
+
}]
|
|
337
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { id: [{
|
|
338
|
+
type: Input
|
|
339
|
+
}], dataListId: [{
|
|
340
|
+
type: Input
|
|
341
|
+
}], message: [{
|
|
342
|
+
type: Input
|
|
343
|
+
}], showMessage: [{
|
|
344
|
+
type: Input
|
|
345
|
+
}], value: [{
|
|
346
|
+
type: Input
|
|
347
|
+
}], validation: [{
|
|
348
|
+
type: Input
|
|
349
|
+
}], invalidMessage: [{
|
|
350
|
+
type: Input
|
|
351
|
+
}], required: [{
|
|
352
|
+
type: Input
|
|
353
|
+
}], minLength: [{
|
|
354
|
+
type: Input
|
|
355
|
+
}], maxLength: [{
|
|
356
|
+
type: Input
|
|
357
|
+
}], pattern: [{
|
|
358
|
+
type: Input
|
|
359
|
+
}], validMessage: [{
|
|
360
|
+
type: Input
|
|
361
|
+
}], className: [{
|
|
362
|
+
type: Input
|
|
363
|
+
}], variant: [{
|
|
364
|
+
type: Input
|
|
365
|
+
}], showLabel: [{
|
|
366
|
+
type: Input
|
|
367
|
+
}], showIcon: [{
|
|
368
|
+
type: Input
|
|
369
|
+
}], icon: [{
|
|
370
|
+
type: Input
|
|
371
|
+
}], iconAfter: [{
|
|
372
|
+
type: Input
|
|
373
|
+
}], label: [{
|
|
374
|
+
type: Input
|
|
375
|
+
}], name: [{
|
|
376
|
+
type: Input
|
|
377
|
+
}], type: [{
|
|
378
|
+
type: Input
|
|
379
|
+
}], placeholder: [{
|
|
380
|
+
type: Input
|
|
381
|
+
}], disabled: [{
|
|
382
|
+
type: Input
|
|
383
|
+
}], step: [{
|
|
384
|
+
type: Input
|
|
385
|
+
}], max: [{
|
|
386
|
+
type: Input
|
|
387
|
+
}], min: [{
|
|
388
|
+
type: Input
|
|
389
|
+
}], readOnly: [{
|
|
390
|
+
type: Input
|
|
391
|
+
}], form: [{
|
|
392
|
+
type: Input
|
|
393
|
+
}], autocomplete: [{
|
|
394
|
+
type: Input
|
|
395
|
+
}], autofocus: [{
|
|
396
|
+
type: Input
|
|
397
|
+
}], dataList: [{
|
|
398
|
+
type: Input
|
|
399
|
+
}], messageIcon: [{
|
|
400
|
+
type: Input
|
|
401
|
+
}], onInput: [{
|
|
402
|
+
type: Output
|
|
403
|
+
}], input: [{
|
|
404
|
+
type: Output
|
|
405
|
+
}], onChange: [{
|
|
406
|
+
type: Output
|
|
407
|
+
}], change: [{
|
|
408
|
+
type: Output
|
|
409
|
+
}], onBlur: [{
|
|
410
|
+
type: Output
|
|
411
|
+
}], blur: [{
|
|
412
|
+
type: Output
|
|
413
|
+
}], onFocus: [{
|
|
414
|
+
type: Output
|
|
415
|
+
}], focus: [{
|
|
416
|
+
type: Output
|
|
417
|
+
}], _ref: [{
|
|
418
|
+
type: ViewChild,
|
|
419
|
+
args: ["_ref"]
|
|
420
|
+
}] } });
|
|
421
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9pbnB1dC9pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUVULEtBQUssRUFFSSxNQUFNLGVBQWUsQ0FBQztBQUNqQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFDTCxHQUFHLEVBQ0gsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixJQUFJLEdBQ0wsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsaUNBQWlDLEVBQ2pDLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQiwrQkFBK0IsR0FDaEMsTUFBTSx3QkFBd0IsQ0FBQztBQU9oQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUVMLDJCQUEyQixHQUM1QixNQUFNLDZCQUE2QixDQUFDOzs7QUFoQ3JDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQThHeEIsTUFBTSxPQUFPLE9BQU87SUFDbEIsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUN2QyxRQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ1YsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFDMUIsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDdEMsNEJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDbEQsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsd0JBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFtQ3BDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXJDLFFBQUcsR0FBd0IsU0FBUyxDQUFDO1FBQ3JDLGVBQVUsR0FBK0IsU0FBUyxDQUFDO1FBQ25ELG9CQUFlLEdBQW9DLFNBQVMsQ0FBQztRQUM3RCxzQkFBaUIsR0FBc0MsU0FBUyxDQUFDO1FBQ2pFLGdCQUFXLEdBQWdDLFNBQVMsQ0FBQztRQUNyRCxlQUFVLEdBQStCLEVBQUUsQ0FBQztRQUM1QyxXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUNwQyx1QkFBa0IsR0FBdUMsRUFBRSxDQUFDO0lBNURqQixDQUFDO0lBNkQ1QyxXQUFXLENBQ1QsS0FBbUM7UUFFbkMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCxZQUFZLENBQ1YsS0FBb0M7UUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekMsd0VBQXdFO1FBQ3hFLElBQ0UsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsS0FBSztZQUN6QyxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFDN0IsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3pDLElBQUksWUFBWSxFQUFFLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGtCQUFrQjtvQkFDckIsSUFBSSxDQUFDLGNBQWM7d0JBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLGlCQUFpQjt3QkFDM0MsdUJBQXVCLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwRCxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQ0wsSUFBSSxDQUFDLFVBQVUsS0FBSyxPQUFPO1lBQzNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3ZDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3RFLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDdkMsSUFBSSxZQUFZLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxxQkFBcUIsQ0FBQztnQkFDckUsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUNSLEtBQXlDO1FBRXpDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBQ0QsV0FBVyxDQUNULEtBQXlDO1FBRXpDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsV0FBVyxDQUNULEtBQW1DO1FBRW5DLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDMUIsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsS0FBSyxFQUFFLFNBQVM7YUFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFDRCxjQUFjLENBQUMsQ0FBQyxFQUFFLE1BQU07UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssc0JBQXNCLENBQzVCLE9BQTJCLEVBQzNCLHFCQUE2QjtRQUU3QixNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkQsSUFBSSxPQUFPLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNyQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxJQUNFLElBQUk7b0JBQ0osQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUNoRSxDQUFDO29CQUNELE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzVDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUNELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ2xDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3hELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ25ELE9BQU8sQ0FBQyxZQUFZLENBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQ1QsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FDcEQsQ0FBQztvQkFDRixJQUFJLGNBQWMsRUFBRSxDQUFDO3dCQUNuQix5REFBeUQ7d0JBQ3pELE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUMzQyxDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUdELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBTSxJQUFHLENBQUM7SUFFMUIsZ0JBQWdCLENBQUMsUUFBYTtRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBYztRQUMvQiw2QkFBNkI7SUFDOUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWlCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLHlCQUF5QixDQUFDO1lBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxHQUFHLCtCQUErQixDQUFDO1lBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsaUNBQWlDLENBQUM7WUFDakUsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsMEJBQTBCLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQXVCLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQXNCO1FBQzFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRywrQkFBK0IsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsaUNBQWlDLENBQUM7Z0JBQ3RFLElBQUksQ0FBQyxXQUFXO29CQUNkLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRywwQkFBMEIsQ0FBQztnQkFDM0QsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztnQkFDOUIsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBbFBVLE9BQU87bUdBQVAsT0FBTyx3NEJBM0VQLENBQUM7Z0JBQ1gsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLEtBQUssRUFBRSxJQUFJO2FBQ1gsQ0FBQyx3SEFFUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRVQsMkRBRVMsWUFBWSxnUUFBRSxVQUFVOzs0RkFFdkIsT0FBTztrQkE1RW5CLFNBQVM7bUJBQUM7b0JBQ1QsU0FBUyxFQUFFLENBQUM7NEJBQ1gsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxTQUFTOzRCQUNwQixLQUFLLEVBQUUsSUFBSTt5QkFDWCxDQUFDO29CQUNGLFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUVUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO2lCQUNwQzs4RUFXVSxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUVZLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG5SZW5kZXJlcjIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHt9O1xuXG5pbXBvcnQge1xuICBjbHMsXG4gIGRlbGF5LFxuICBnZXRIaWRlUHJvcCxcbiAgaGFzVm9pY2VPdmVyLFxuICBpc0FycmF5T2ZTdHJpbmdzLFxuICBzdHJpbmdQcm9wVmlzaWJsZSxcbiAgdXVpZCxcbn0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBEQklucHV0UHJvcHMsIERCSW5wdXRTdGF0ZSB9IGZyb20gXCIuL21vZGVsXCI7XG5pbXBvcnQge1xuICBERUZBVUxUX0RBVEFMSVNUX0lEX1NVRkZJWCxcbiAgREVGQVVMVF9JTlZBTElEX01FU1NBR0UsXG4gIERFRkFVTFRfSU5WQUxJRF9NRVNTQUdFX0lEX1NVRkZJWCxcbiAgREVGQVVMVF9MQUJFTCxcbiAgREVGQVVMVF9NRVNTQUdFX0lEX1NVRkZJWCxcbiAgREVGQVVMVF9QTEFDRUhPTERFUixcbiAgREVGQVVMVF9WQUxJRF9NRVNTQUdFLFxuICBERUZBVUxUX1ZBTElEX01FU1NBR0VfSURfU1VGRklYLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRXZlbnQsXG4gIElucHV0RXZlbnQsXG4gIEludGVyYWN0aW9uRXZlbnQsXG4gIFZhbHVlTGFiZWxUeXBlLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL21vZGVsXCI7XG5pbXBvcnQgeyBEQkluZm90ZXh0IH0gZnJvbSBcIi4uL2luZm90ZXh0L2luZm90ZXh0XCI7XG5pbXBvcnQge1xuICBoYW5kbGVGcmFtZXdvcmtFdmVudFZ1ZSxcbiAgaGFuZGxlRnJhbWV3b3JrRXZlbnRBbmd1bGFyLFxufSBmcm9tIFwiLi4vLi4vdXRpbHMvZm9ybS1jb21wb25lbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuXHRcdHByb3ZpZGVyczogW3tcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IERCSW5wdXQsXG5cdFx0XHRtdWx0aTogdHJ1ZVxuXHRcdH1dLFx0XG4gIHNlbGVjdG9yOiBcImRiLWlucHV0XCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImNscygnZGItaW5wdXQnLCBjbGFzc05hbWUpXCJcbiAgICAgIFthdHRyLmRhdGEtdmFyaWFudF09XCJ2YXJpYW50XCJcbiAgICAgIFthdHRyLmRhdGEtaGlkZS1sYWJlbF09XCJnZXRIaWRlUHJvcChzaG93TGFiZWwpXCJcbiAgICAgIFthdHRyLmRhdGEtaGlkZS1pY29uXT1cImdldEhpZGVQcm9wKHNob3dJY29uKVwiXG4gICAgICBbYXR0ci5kYXRhLWljb25dPVwiaWNvblwiXG4gICAgICBbYXR0ci5kYXRhLWljb24tYWZ0ZXJdPVwiaWNvbkFmdGVyXCJcbiAgICAgIFthdHRyLmRhdGEtaGlkZS1pY29uLWFmdGVyXT1cImdldEhpZGVQcm9wKHNob3dJY29uKVwiXG4gICAgPlxuICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJfaWRcIj57e2xhYmVsID8/IERFRkFVTFRfTEFCRUx9fTwvbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cInZhbGlkYXRpb24gPT09ICdpbnZhbGlkJ1wiXG4gICAgICAgIFthdHRyLmRhdGEtY3VzdG9tLXZhbGlkaXR5XT1cInZhbGlkYXRpb25cIlxuICAgICAgICAjX3JlZlxuICAgICAgICBbYXR0ci5pZF09XCJfaWRcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPz8gREVGQVVMVF9QTEFDRUhPTERFUlwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLnN0ZXBdPVwic3RlcFwiXG4gICAgICAgIFthdHRyLnZhbHVlXT1cInZhbHVlID8/IF92YWx1ZVwiXG4gICAgICAgIFthdHRyLm1heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICBbYXR0ci5taW5MZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgICAgIFthdHRyLm1pbl09XCJtaW5cIlxuICAgICAgICBbYXR0ci5yZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFthdHRyLmZvcm1dPVwiZm9ybVwiXG4gICAgICAgIFthdHRyLnBhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgIFthdHRyLmF1dG9Db21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICBbYXR0ci5hdXRvRm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUZvY3VzKCRldmVudClcIlxuICAgICAgICBbYXR0ci5saXN0XT1cImRhdGFMaXN0ICYmIF9kYXRhTGlzdElkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJfZGVzY0J5SWRzXCJcbiAgICAgIC8+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YUxpc3RcIj5cbiAgICAgICAgPGRhdGFsaXN0IFthdHRyLmlkXT1cIl9kYXRhTGlzdElkXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBnZXREYXRhTGlzdChkYXRhTGlzdCk7IHRyYWNrQnk6IHRyYWNrQnlPcHRpb24wXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uIFthdHRyLnZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPnt7b3B0aW9uLmxhYmVsfX08L29wdGlvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kYXRhbGlzdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0cmluZ1Byb3BWaXNpYmxlKG1lc3NhZ2UsIHNob3dNZXNzYWdlKVwiPlxuICAgICAgICA8ZGItaW5mb3RleHQgc2l6ZT1cInNtYWxsXCIgW2ljb25dPVwibWVzc2FnZUljb25cIiBbaWRdPVwiX21lc3NhZ2VJZFwiPlxuICAgICAgICAgIHt7bWVzc2FnZX19XG4gICAgICAgIDwvZGItaW5mb3RleHQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkYi1pbmZvdGV4dCBzaXplPVwic21hbGxcIiBzZW1hbnRpYz1cInN1Y2Nlc3NmdWxcIiBbaWRdPVwiX3ZhbGlkTWVzc2FnZUlkXCI+XG4gICAgICAgIHt7dmFsaWRNZXNzYWdlID8/IERFRkFVTFRfVkFMSURfTUVTU0FHRX19XG4gICAgICA8L2RiLWluZm90ZXh0PlxuICAgICAgPGRiLWluZm90ZXh0IHNpemU9XCJzbWFsbFwiIHNlbWFudGljPVwiY3JpdGljYWxcIiBbaWRdPVwiX2ludmFsaWRNZXNzYWdlSWRcIj5cbiAgICAgICAge3tpbnZhbGlkTWVzc2FnZSA/PyB0aGlzLl9yZWY/LnZhbGlkYXRpb25NZXNzYWdlID8/XG4gICAgICAgICAgICBERUZBVUxUX0lOVkFMSURfTUVTU0FHRX19XG4gICAgICA8L2RiLWluZm90ZXh0PlxuICAgICAgPHNwYW4gZGF0YS12aXN1YWxseS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cInN0YXR1c1wiPlxuICAgICAgICB7e192b2ljZU92ZXJGYWxsYmFja319XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERCSW5mb3RleHRdLFxufSlcbmV4cG9ydCBjbGFzcyBEQklucHV0IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXHRcdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikgeyB9XG4gIGNscyA9IGNscztcbiAgZ2V0SGlkZVByb3AgPSBnZXRIaWRlUHJvcDtcbiAgc3RyaW5nUHJvcFZpc2libGUgPSBzdHJpbmdQcm9wVmlzaWJsZTtcbiAgREVGQVVMVF9JTlZBTElEX01FU1NBR0UgPSBERUZBVUxUX0lOVkFMSURfTUVTU0FHRTtcbiAgREVGQVVMVF9MQUJFTCA9IERFRkFVTFRfTEFCRUw7XG4gIERFRkFVTFRfUExBQ0VIT0xERVIgPSBERUZBVUxUX1BMQUNFSE9MREVSO1xuICBERUZBVUxUX1ZBTElEX01FU1NBR0UgPSBERUZBVUxUX1ZBTElEX01FU1NBR0U7XG5cbiAgQElucHV0KCkgaWQhOiBEQklucHV0UHJvcHNbXCJpZFwiXTtcbiAgQElucHV0KCkgZGF0YUxpc3RJZCE6IERCSW5wdXRQcm9wc1tcImRhdGFMaXN0SWRcIl07XG4gIEBJbnB1dCgpIG1lc3NhZ2UhOiBEQklucHV0UHJvcHNbXCJtZXNzYWdlXCJdO1xuICBASW5wdXQoKSBzaG93TWVzc2FnZSE6IERCSW5wdXRQcm9wc1tcInNob3dNZXNzYWdlXCJdO1xuICBASW5wdXQoKSB2YWx1ZSE6IERCSW5wdXRQcm9wc1tcInZhbHVlXCJdO1xuICBASW5wdXQoKSB2YWxpZGF0aW9uITogREJJbnB1dFByb3BzW1widmFsaWRhdGlvblwiXTtcbiAgQElucHV0KCkgaW52YWxpZE1lc3NhZ2UhOiBEQklucHV0UHJvcHNbXCJpbnZhbGlkTWVzc2FnZVwiXTtcbiAgQElucHV0KCkgcmVxdWlyZWQhOiBEQklucHV0UHJvcHNbXCJyZXF1aXJlZFwiXTtcbiAgQElucHV0KCkgbWluTGVuZ3RoITogREJJbnB1dFByb3BzW1wibWluTGVuZ3RoXCJdO1xuICBASW5wdXQoKSBtYXhMZW5ndGghOiBEQklucHV0UHJvcHNbXCJtYXhMZW5ndGhcIl07XG4gIEBJbnB1dCgpIHBhdHRlcm4hOiBEQklucHV0UHJvcHNbXCJwYXR0ZXJuXCJdO1xuICBASW5wdXQoKSB2YWxpZE1lc3NhZ2UhOiBEQklucHV0UHJvcHNbXCJ2YWxpZE1lc3NhZ2VcIl07XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSE6IERCSW5wdXRQcm9wc1tcImNsYXNzTmFtZVwiXTtcbiAgQElucHV0KCkgdmFyaWFudCE6IERCSW5wdXRQcm9wc1tcInZhcmlhbnRcIl07XG4gIEBJbnB1dCgpIHNob3dMYWJlbCE6IERCSW5wdXRQcm9wc1tcInNob3dMYWJlbFwiXTtcbiAgQElucHV0KCkgc2hvd0ljb24hOiBEQklucHV0UHJvcHNbXCJzaG93SWNvblwiXTtcbiAgQElucHV0KCkgaWNvbiE6IERCSW5wdXRQcm9wc1tcImljb25cIl07XG4gIEBJbnB1dCgpIGljb25BZnRlciE6IERCSW5wdXRQcm9wc1tcImljb25BZnRlclwiXTtcbiAgQElucHV0KCkgbGFiZWwhOiBEQklucHV0UHJvcHNbXCJsYWJlbFwiXTtcbiAgQElucHV0KCkgbmFtZSE6IERCSW5wdXRQcm9wc1tcIm5hbWVcIl07XG4gIEBJbnB1dCgpIHR5cGUhOiBEQklucHV0UHJvcHNbXCJ0eXBlXCJdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciE6IERCSW5wdXRQcm9wc1tcInBsYWNlaG9sZGVyXCJdO1xuICBASW5wdXQoKSBkaXNhYmxlZCE6IERCSW5wdXRQcm9wc1tcImRpc2FibGVkXCJdO1xuICBASW5wdXQoKSBzdGVwITogREJJbnB1dFByb3BzW1wic3RlcFwiXTtcbiAgQElucHV0KCkgbWF4ITogREJJbnB1dFByb3BzW1wibWF4XCJdO1xuICBASW5wdXQoKSBtaW4hOiBEQklucHV0UHJvcHNbXCJtaW5cIl07XG4gIEBJbnB1dCgpIHJlYWRPbmx5ITogREJJbnB1dFByb3BzW1wicmVhZE9ubHlcIl07XG4gIEBJbnB1dCgpIGZvcm0hOiBEQklucHV0UHJvcHNbXCJmb3JtXCJdO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUhOiBEQklucHV0UHJvcHNbXCJhdXRvY29tcGxldGVcIl07XG4gIEBJbnB1dCgpIGF1dG9mb2N1cyE6IERCSW5wdXRQcm9wc1tcImF1dG9mb2N1c1wiXTtcbiAgQElucHV0KCkgZGF0YUxpc3QhOiBEQklucHV0UHJvcHNbXCJkYXRhTGlzdFwiXTtcbiAgQElucHV0KCkgbWVzc2FnZUljb24hOiBEQklucHV0UHJvcHNbXCJtZXNzYWdlSWNvblwiXTtcblxuICBAT3V0cHV0KCkgb25JbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGlucHV0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJfcmVmXCIpIF9yZWYhOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIF9pZDogREJJbnB1dFN0YXRlW1wiX2lkXCJdID0gdW5kZWZpbmVkO1xuICBfbWVzc2FnZUlkOiBEQklucHV0U3RhdGVbXCJfbWVzc2FnZUlkXCJdID0gdW5kZWZpbmVkO1xuICBfdmFsaWRNZXNzYWdlSWQ6IERCSW5wdXRTdGF0ZVtcIl92YWxpZE1lc3NhZ2VJZFwiXSA9IHVuZGVmaW5lZDtcbiAgX2ludmFsaWRNZXNzYWdlSWQ6IERCSW5wdXRTdGF0ZVtcIl9pbnZhbGlkTWVzc2FnZUlkXCJdID0gdW5kZWZpbmVkO1xuICBfZGF0YUxpc3RJZDogREJJbnB1dFN0YXRlW1wiX2RhdGFMaXN0SWRcIl0gPSB1bmRlZmluZWQ7XG4gIF9kZXNjQnlJZHM6IERCSW5wdXRTdGF0ZVtcIl9kZXNjQnlJZHNcIl0gPSBcIlwiO1xuICBfdmFsdWU6IERCSW5wdXRTdGF0ZVtcIl92YWx1ZVwiXSA9IFwiXCI7XG4gIF92b2ljZU92ZXJGYWxsYmFjazogREJJbnB1dFN0YXRlW1wiX3ZvaWNlT3ZlckZhbGxiYWNrXCJdID0gXCJcIjtcbiAgaGFuZGxlSW5wdXQoXG4gICAgZXZlbnQ6IElucHV0RXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKTogUmV0dXJuVHlwZTxEQklucHV0U3RhdGVbXCJoYW5kbGVJbnB1dFwiXT4ge1xuICAgIGlmICh0aGlzLm9uSW5wdXQpIHtcbiAgICAgIHRoaXMub25JbnB1dC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG4gIGhhbmRsZUNoYW5nZShcbiAgICBldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKTogUmV0dXJuVHlwZTxEQklucHV0U3RhdGVbXCJoYW5kbGVDaGFuZ2VcIl0+IHtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2hhbmdlKSB7XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgaGFuZGxlRnJhbWV3b3JrRXZlbnRBbmd1bGFyKHRoaXMsIGV2ZW50KTtcblxuICAgIC8qIEZvciBhMTF5IHJlYXNvbnMgd2UgbmVlZCB0byBtYXAgdGhlIGNvcnJlY3QgbWVzc2FnZSB3aXRoIHRoZSBpbnB1dCAqL1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQ/LnZhbGlkaXR5LnZhbGlkIHx8XG4gICAgICB0aGlzLnZhbGlkYXRpb24gPT09IFwiaW52YWxpZFwiXG4gICAgKSB7XG4gICAgICB0aGlzLl9kZXNjQnlJZHMgPSB0aGlzLl9pbnZhbGlkTWVzc2FnZUlkO1xuICAgICAgaWYgKGhhc1ZvaWNlT3ZlcigpKSB7XG4gICAgICAgIHRoaXMuX3ZvaWNlT3ZlckZhbGxiYWNrID1cbiAgICAgICAgICB0aGlzLmludmFsaWRNZXNzYWdlID8/XG4gICAgICAgICAgdGhpcy5fcmVmPy5uYXRpdmVFbGVtZW50Py52YWxpZGF0aW9uTWVzc2FnZSA/P1xuICAgICAgICAgIERFRkFVTFRfSU5WQUxJRF9NRVNTQUdFO1xuICAgICAgICBkZWxheSgoKSA9PiAodGhpcy5fdm9pY2VPdmVyRmFsbGJhY2sgPSBcIlwiKSwgMTAwMCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMudmFsaWRhdGlvbiA9PT0gXCJ2YWxpZFwiIHx8XG4gICAgICAodGhpcy5fcmVmPy5uYXRpdmVFbGVtZW50Py52YWxpZGl0eS52YWxpZCAmJlxuICAgICAgICAodGhpcy5yZXF1aXJlZCB8fCB0aGlzLm1pbkxlbmd0aCB8fCB0aGlzLm1heExlbmd0aCB8fCB0aGlzLnBhdHRlcm4pKVxuICAgICkge1xuICAgICAgdGhpcy5fZGVzY0J5SWRzID0gdGhpcy5fdmFsaWRNZXNzYWdlSWQ7XG4gICAgICBpZiAoaGFzVm9pY2VPdmVyKCkpIHtcbiAgICAgICAgdGhpcy5fdm9pY2VPdmVyRmFsbGJhY2sgPSB0aGlzLnZhbGlkTWVzc2FnZSA/PyBERUZBVUxUX1ZBTElEX01FU1NBR0U7XG4gICAgICAgIGRlbGF5KCgpID0+ICh0aGlzLl92b2ljZU92ZXJGYWxsYmFjayA9IFwiXCIpLCAxMDAwKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHN0cmluZ1Byb3BWaXNpYmxlKHRoaXMubWVzc2FnZSwgdGhpcy5zaG93TWVzc2FnZSkpIHtcbiAgICAgIHRoaXMuX2Rlc2NCeUlkcyA9IHRoaXMuX21lc3NhZ2VJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZGVzY0J5SWRzID0gXCJcIjtcbiAgICB9XG4gIH1cbiAgaGFuZGxlQmx1cihcbiAgICBldmVudDogSW50ZXJhY3Rpb25FdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApOiBSZXR1cm5UeXBlPERCSW5wdXRTdGF0ZVtcImhhbmRsZUJsdXJcIl0+IHtcbiAgICBpZiAodGhpcy5vbkJsdXIpIHtcbiAgICAgIHRoaXMub25CbHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ibHVyKSB7XG4gICAgICB0aGlzLmJsdXIuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG4gIGhhbmRsZUZvY3VzKFxuICAgIGV2ZW50OiBJbnRlcmFjdGlvbkV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+XG4gICk6IFJldHVyblR5cGU8REJJbnB1dFN0YXRlW1wiaGFuZGxlRm9jdXNcIl0+IHtcbiAgICBpZiAodGhpcy5vbkZvY3VzKSB7XG4gICAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuICBnZXREYXRhTGlzdChcbiAgICBfbGlzdD86IHN0cmluZ1tdIHwgVmFsdWVMYWJlbFR5cGVbXVxuICApOiBSZXR1cm5UeXBlPERCSW5wdXRTdGF0ZVtcImdldERhdGFMaXN0XCJdPiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAoaXNBcnJheU9mU3RyaW5ncyhfbGlzdClcbiAgICAgICAgPyBfbGlzdC5tYXAoKHZhbDogc3RyaW5nKSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgICAgIGxhYmVsOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSkpXG4gICAgICAgIDogX2xpc3QpIHx8IFtdXG4gICAgKTtcbiAgfVxuICB0cmFja0J5T3B0aW9uMChfLCBvcHRpb24pIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YUxpc3RJZCArIFwiLW9wdGlvbi1cIiArIG9wdGlvbi52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXNzZXMgYGFyaWEtKmAsIGBkYXRhLSpgICYgYGNsYXNzYCBhdHRyaWJ1dGVzIHRvIGNvcnJlY3QgY2hpbGQuIFVzZWQgaW4gYW5ndWxhciBhbmQgc3RlbmNpbC5cbiAgICogQHBhcmFtIGVsZW1lbnQgIHRoZSByZWYgZm9yIHRoZSBjb21wb25lbnRcbiAgICogQHBhcmFtIGN1c3RvbUVsZW1lbnRTZWxlY3RvciAgdGhlIGN1c3RvbSBlbGVtZW50IGxpa2UgYG15LWNvbXBvbmVudGBcbiAgICovXG4gIHByaXZhdGUgZW5hYmxlQXR0cmlidXRlUGFzc2luZyhcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwsXG4gICAgY3VzdG9tRWxlbWVudFNlbGVjdG9yOiBzdHJpbmdcbiAgKSB7XG4gICAgY29uc3QgcGFyZW50ID0gZWxlbWVudD8uY2xvc2VzdChjdXN0b21FbGVtZW50U2VsZWN0b3IpO1xuICAgIGlmIChlbGVtZW50ICYmIHBhcmVudCkge1xuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHBhcmVudC5hdHRyaWJ1dGVzO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGF0dHIgPSBhdHRyaWJ1dGVzLml0ZW0oaSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBhdHRyICYmXG4gICAgICAgICAgKGF0dHIubmFtZS5zdGFydHNXaXRoKFwiZGF0YS1cIikgfHwgYXR0ci5uYW1lLnN0YXJ0c1dpdGgoXCJhcmlhLVwiKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0ci5uYW1lLCBhdHRyLnZhbHVlKTtcbiAgICAgICAgICBwYXJlbnQucmVtb3ZlQXR0cmlidXRlKGF0dHIubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF0dHIgJiYgYXR0ci5uYW1lID09PSBcImNsYXNzXCIpIHtcbiAgICAgICAgICBjb25zdCBpc1dlYkNvbXBvbmVudCA9IGF0dHIudmFsdWUuaW5jbHVkZXMoXCJoeWRyYXRlZFwiKTtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGF0dHIudmFsdWUucmVwbGFjZShcImh5ZHJhdGVkXCIsIFwiXCIpLnRyaW0oKTtcbiAgICAgICAgICBjb25zdCBjdXJyZW50Q2xhc3MgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShcImNsYXNzXCIpO1xuICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgYXR0ci5uYW1lLFxuICAgICAgICAgICAgYCR7Y3VycmVudENsYXNzID8gYCR7Y3VycmVudENsYXNzfSBgIDogXCJcIn0ke3ZhbHVlfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChpc1dlYkNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gU3RlbmNpbCBpcyB1c2luZyB0aGlzIGNsYXNzIGZvciBsYXp5IGxvYWRpbmcgY29tcG9uZW50XG4gICAgICAgICAgICBwYXJlbnQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgXCJoeWRyYXRlZFwiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyLm5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFxuXHRcdHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuXHRcdCAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG5cdFx0ICBpZiAodGhpcy5fcmVmPy5uYXRpdmVFbGVtZW50KSB7XG5cdFx0XHQgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHZhbHVlKTtcblx0XHQgIH1cblx0XHR9XG5cblx0XHRwcm9wYWdhdGVDaGFuZ2UoXzogYW55KSB7fVxuXG5cdFx0cmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KSB7XG5cdFx0ICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IG9uQ2hhbmdlO1xuXHRcdH1cblxuXHRcdHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KSB7XG5cdFx0IC8vdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG5cdFx0fVxuXG5cdFx0c2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdCAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuXHRcdH1cblxuXHRcdG5nT25Jbml0KCkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBjb25zdCBtSWQgPSB0aGlzLmlkID8/IGBpbnB1dC0ke3V1aWQoKX1gO1xuICAgICAgdGhpcy5faWQgPSBtSWQ7XG4gICAgICB0aGlzLl9tZXNzYWdlSWQgPSBtSWQgKyBERUZBVUxUX01FU1NBR0VfSURfU1VGRklYO1xuICAgICAgdGhpcy5fdmFsaWRNZXNzYWdlSWQgPSBtSWQgKyBERUZBVUxUX1ZBTElEX01FU1NBR0VfSURfU1VGRklYO1xuICAgICAgdGhpcy5faW52YWxpZE1lc3NhZ2VJZCA9IG1JZCArIERFRkFVTFRfSU5WQUxJRF9NRVNTQUdFX0lEX1NVRkZJWDtcbiAgICAgIHRoaXMuX2RhdGFMaXN0SWQgPSBtSWQgKyBERUZBVUxUX0RBVEFMSVNUX0lEX1NVRkZJWDtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gdGhpcy5fcmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuZW5hYmxlQXR0cmlidXRlUGFzc2luZyhlbGVtZW50LCBcImRiLWlucHV0XCIpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgaWYgKHRoaXMuX2lkKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VJZCA9IHRoaXMuX2lkICsgREVGQVVMVF9NRVNTQUdFX0lEX1NVRkZJWDtcbiAgICAgICAgdGhpcy5fbWVzc2FnZUlkID0gbWVzc2FnZUlkO1xuICAgICAgICB0aGlzLl92YWxpZE1lc3NhZ2VJZCA9IHRoaXMuX2lkICsgREVGQVVMVF9WQUxJRF9NRVNTQUdFX0lEX1NVRkZJWDtcbiAgICAgICAgdGhpcy5faW52YWxpZE1lc3NhZ2VJZCA9IHRoaXMuX2lkICsgREVGQVVMVF9JTlZBTElEX01FU1NBR0VfSURfU1VGRklYO1xuICAgICAgICB0aGlzLl9kYXRhTGlzdElkID1cbiAgICAgICAgICB0aGlzLmRhdGFMaXN0SWQgPz8gdGhpcy5faWQgKyBERUZBVUxUX0RBVEFMSVNUX0lEX1NVRkZJWDtcbiAgICAgICAgaWYgKHN0cmluZ1Byb3BWaXNpYmxlKHRoaXMubWVzc2FnZSwgdGhpcy5zaG93TWVzc2FnZSkpIHtcbiAgICAgICAgICB0aGlzLl9kZXNjQnlJZHMgPSBtZXNzYWdlSWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const InputTypeList = ['color', 'date', 'datetime-local', 'email', 'file',
|
|
2
|
+
// TODO: move this to own component
|
|
3
|
+
'hidden', 'month', 'number', 'password', 'range',
|
|
4
|
+
// TODO: move this to own component
|
|
5
|
+
'search', 'tel', 'text', 'time', 'url', 'week'];
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9pbnB1dC9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxNQUFNO0lBQ2pGLG1DQUFtQztJQUNuQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTztJQUNoRCxtQ0FBbUM7SUFDbkMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZUV2ZW50UHJvcHMsIENoYW5nZUV2ZW50U3RhdGUsIEZvY3VzRXZlbnRQcm9wcywgRm9jdXNFdmVudFN0YXRlLCBGb3JtTWVzc2FnZVByb3BzLCBGb3JtUHJvcHMsIEZvcm1TdGF0ZSwgRm9ybVRleHRQcm9wcywgR2xvYmFsUHJvcHMsIEdsb2JhbFN0YXRlLCBJY29uQWZ0ZXJQcm9wcywgSWNvblByb3BzLCBJbnB1dEV2ZW50UHJvcHMsIElucHV0RXZlbnRTdGF0ZSwgU2hvd0ljb25Qcm9wcywgVmFsdWVMYWJlbFR5cGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWwnO1xuZXhwb3J0IGNvbnN0IElucHV0VHlwZUxpc3QgPSAoWydjb2xvcicsICdkYXRlJywgJ2RhdGV0aW1lLWxvY2FsJywgJ2VtYWlsJywgJ2ZpbGUnLFxuLy8gVE9ETzogbW92ZSB0aGlzIHRvIG93biBjb21wb25lbnRcbidoaWRkZW4nLCAnbW9udGgnLCAnbnVtYmVyJywgJ3Bhc3N3b3JkJywgJ3JhbmdlJyxcbi8vIFRPRE86IG1vdmUgdGhpcyB0byBvd24gY29tcG9uZW50XG4nc2VhcmNoJywgJ3RlbCcsICd0ZXh0JywgJ3RpbWUnLCAndXJsJywgJ3dlZWsnXSBhcyBjb25zdCk7XG5leHBvcnQgdHlwZSBJbnB1dFR5cGVUeXBlID0gKHR5cGVvZiBJbnB1dFR5cGVMaXN0KVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgREJJbnB1dERlZmF1bHRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFNldCBhIFtkYXRhIGxpc3RdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9kYXRhbGlzdCkgdmlhIGF0dHJpYnV0ZSBpbnN0ZWFkIG9mIGNoaWxkcmVuLlxuICAgKi9cbiAgZGF0YUxpc3Q/OiBzdHJpbmdbXSB8IFZhbHVlTGFiZWxUeXBlW107XG4gIC8qKlxuICAgKiBBZGQgYSBjdXN0b20gaWQgdG8gW2RhdGEgbGlzdF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2RhdGFsaXN0KSBpZiB5b3UncmUgdXNpbmcgYGRhdGFMaXN0YCBhdHRyaWJ1dGUuXG4gICAqL1xuICBkYXRhTGlzdElkPzogc3RyaW5nO1xuICAvKipcbiAgICogTWF4aW11bSB2YWx1ZVxuICAgKi9cbiAgbWF4PzogbnVtYmVyIHwgc3RyaW5nO1xuICAvKipcbiAgICogTWluaW11bSB2YWx1ZVxuICAgKi9cbiAgbWluPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXR0ZXJuIHRoZSB2YWx1ZSBtdXN0IG1hdGNoIHRvIGJlIHZhbGlkXG4gICAqL1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICAvKipcbiAgICogXHRUeXBlIG9mIGZvcm0gY29udHJvbFxuICAgKi9cbiAgdHlwZT86IElucHV0VHlwZVR5cGUgfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXRzIFtzdGVwIHZhbHVlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0F0dHJpYnV0ZXMvc3RlcCkuXG4gICAqL1xuICBzdGVwPzogbnVtYmVyIHwgc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIERCSW5wdXRQcm9wcyA9IERCSW5wdXREZWZhdWx0UHJvcHMgJiBHbG9iYWxQcm9wcyAmIEZvcm1UZXh0UHJvcHMgJiBJbnB1dEV2ZW50UHJvcHM8SFRNTElucHV0RWxlbWVudD4gJiBDaGFuZ2VFdmVudFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+ICYgRm9jdXNFdmVudFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+ICYgRm9ybVByb3BzICYgSWNvblByb3BzICYgSWNvbkFmdGVyUHJvcHMgJiBGb3JtTWVzc2FnZVByb3BzICYgU2hvd0ljb25Qcm9wcztcbmV4cG9ydCB0eXBlIERCSW5wdXREZWZhdWx0U3RhdGUgPSB7XG4gIF9kYXRhTGlzdElkPzogc3RyaW5nO1xuICBnZXREYXRhTGlzdDogKF9saXN0Pzogc3RyaW5nW10gfCBWYWx1ZUxhYmVsVHlwZVtdKSA9PiBWYWx1ZUxhYmVsVHlwZVtdO1xufTtcbmV4cG9ydCB0eXBlIERCSW5wdXRTdGF0ZSA9IERCSW5wdXREZWZhdWx0U3RhdGUgJiBHbG9iYWxTdGF0ZSAmIElucHV0RXZlbnRTdGF0ZTxIVE1MSW5wdXRFbGVtZW50PiAmIENoYW5nZUV2ZW50U3RhdGU8SFRNTElucHV0RWxlbWVudD4gJiBGb2N1c0V2ZW50U3RhdGU8SFRNTElucHV0RWxlbWVudD4gJiBGb3JtU3RhdGUiXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DBLink } from './link';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9saW5rL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEQkxpbmsgfSBmcm9tICcuL2xpbmsnIl19
|