@acorex/components 5.2.2 → 5.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/esm2020/lib/alert/alert-button.component.mjs +2 -3
- package/esm2020/lib/alert/alert.component.mjs +33 -23
- package/esm2020/lib/alert/alert.module.mjs +6 -22
- package/esm2020/lib/alert/index.mjs +1 -5
- package/esm2020/lib/base/components.class.mjs +17 -0
- package/esm2020/lib/base/events.class.mjs +1 -1
- package/esm2020/lib/base/index.mjs +2 -1
- package/esm2020/lib/base/mixin/base-components.class.mjs +5 -5
- package/esm2020/lib/base/mixin/base-menu-mixin.class.mjs +4 -3
- package/esm2020/lib/base/mixin/color-look-mixing.class.mjs +1 -1
- package/esm2020/lib/base/mixin/datalist-component.class.mjs +2 -1
- package/esm2020/lib/base/styles.class.mjs +1 -1
- package/esm2020/lib/button/button-group.component.mjs +1 -1
- package/esm2020/lib/button/button-item.class.mjs +1 -1
- package/esm2020/lib/button/button.module.mjs +4 -5
- package/esm2020/lib/calendar/calendar.component.mjs +4 -4
- package/esm2020/lib/calendar/calendar.module.mjs +4 -5
- package/esm2020/lib/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/lib/datepicker/datepicker.component.mjs +11 -7
- package/esm2020/lib/datepicker/datepicker.module.mjs +4 -7
- package/esm2020/lib/decorators/close-button.component.mjs +40 -0
- package/esm2020/lib/decorators/decorators.module.mjs +37 -7
- package/esm2020/lib/decorators/footer.component.mjs +24 -0
- package/esm2020/lib/decorators/header.component.mjs +3 -5
- package/esm2020/lib/decorators/icon.component.mjs +28 -0
- package/esm2020/lib/decorators/index.mjs +5 -1
- package/esm2020/lib/decorators/prefix.component.mjs +3 -3
- package/esm2020/lib/decorators/suffix.component.mjs +3 -3
- package/esm2020/lib/decorators/title.component.mjs +24 -0
- package/esm2020/lib/dialog/dialog.module.mjs +4 -4
- package/esm2020/lib/drawer/drawer-container.component.mjs +17 -57
- package/esm2020/lib/drawer/drawer.component.mjs +97 -127
- package/esm2020/lib/drawer/drawer.module.mjs +3 -4
- package/esm2020/lib/drawer/index.mjs +1 -2
- package/esm2020/lib/dropdown/dropdown-panel.component.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown.module.mjs +5 -6
- package/esm2020/lib/menu/menu.component.mjs +20 -7
- package/esm2020/lib/menu/menu.module.mjs +4 -7
- package/esm2020/lib/number-box/number-box.component.mjs +2 -2
- package/esm2020/lib/number-box/number-box.module.mjs +4 -7
- package/esm2020/lib/page/base-page.class.mjs +3 -3
- package/esm2020/lib/page/index.mjs +1 -3
- package/esm2020/lib/page/page.module.mjs +4 -6
- package/esm2020/lib/password-box/password-box.component.mjs +2 -2
- package/esm2020/lib/password-box/password-box.module.mjs +4 -7
- package/esm2020/lib/picker/picker.component.mjs +260 -25
- package/esm2020/lib/picker/picker.model.class.mjs +2 -0
- package/esm2020/lib/popover/popover.component.mjs +6 -3
- package/esm2020/lib/popup/popup.component.mjs +13 -10
- package/esm2020/lib/popup/popup.module.mjs +4 -3
- package/esm2020/lib/radio/index.mjs +1 -1
- package/esm2020/lib/radio/radio.component.mjs +3 -3
- package/esm2020/lib/radio/radio.module.mjs +1 -1
- package/esm2020/lib/searchbox/index.mjs +3 -0
- package/esm2020/lib/searchbox/searchbox.component.mjs +47 -0
- package/esm2020/lib/searchbox/searchbox.module.mjs +24 -0
- package/esm2020/lib/selectbox/selectbox.component.mjs +33 -26
- package/esm2020/lib/selectbox/selectbox.module.mjs +5 -9
- package/esm2020/lib/tabs/tabs.module.mjs +4 -4
- package/esm2020/lib/textbox/textbox.module.mjs +5 -9
- package/esm2020/lib/toast/toast.class.mjs +1 -1
- package/esm2020/lib/toast/toast.component.mjs +14 -12
- package/esm2020/lib/toast/toast.module.mjs +5 -3
- package/esm2020/lib/toast/toast.service.mjs +37 -9
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/acorex-components.mjs +849 -662
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +840 -662
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/alert/alert.component.d.ts +7 -6
- package/lib/alert/alert.module.d.ts +4 -8
- package/lib/alert/index.d.ts +0 -4
- package/lib/badge/badge.component.d.ts +3 -3
- package/lib/base/components.class.d.ts +11 -0
- package/lib/base/index.d.ts +1 -0
- package/lib/base/mixin/base-components.class.d.ts +2 -2
- package/lib/base/mixin/button-mixin.class.d.ts +0 -3
- package/lib/base/mixin/color-look-mixing.class.d.ts +4 -4
- package/lib/base/mixin/mixin.class.d.ts +6 -6
- package/lib/base/mixin/selection-component.class.d.ts +3 -0
- package/lib/base/mixin/textbox-mixin.class.d.ts +3 -3
- package/lib/base/styles.class.d.ts +1 -1
- package/lib/button/button-group.component.d.ts +4 -4
- package/lib/button/button-item.class.d.ts +2 -2
- package/lib/button/button.module.d.ts +2 -3
- package/lib/calendar/calendar.module.d.ts +4 -5
- package/lib/checkbox/checkbox.module.d.ts +1 -1
- package/lib/datepicker/datepicker.module.d.ts +3 -4
- package/lib/decorators/close-button.component.d.ts +13 -0
- package/lib/decorators/decorators.module.d.ts +10 -6
- package/lib/decorators/footer.component.d.ts +8 -0
- package/lib/decorators/header.component.d.ts +1 -1
- package/lib/decorators/icon.component.d.ts +10 -0
- package/lib/decorators/index.d.ts +4 -0
- package/lib/decorators/prefix.component.d.ts +1 -1
- package/lib/decorators/suffix.component.d.ts +1 -1
- package/lib/decorators/title.component.d.ts +9 -0
- package/lib/dialog/dialog.module.d.ts +1 -1
- package/lib/drawer/drawer-container.component.d.ts +5 -8
- package/lib/drawer/drawer.component.d.ts +23 -19
- package/lib/drawer/drawer.module.d.ts +2 -3
- package/lib/drawer/index.d.ts +0 -1
- package/lib/dropdown/dropdown.module.d.ts +3 -4
- package/lib/menu/menu.component.d.ts +1 -0
- package/lib/menu/menu.module.d.ts +2 -2
- package/lib/number-box/number-box.module.d.ts +2 -3
- package/lib/page/base-page.class.d.ts +2 -2
- package/lib/page/index.d.ts +0 -2
- package/lib/page/page.module.d.ts +1 -3
- package/lib/password-box/password-box.module.d.ts +1 -2
- package/lib/picker/picker.component.d.ts +54 -13
- package/lib/picker/picker.model.class.d.ts +10 -0
- package/lib/popover/popover.component.d.ts +2 -1
- package/lib/popup/popup.module.d.ts +2 -1
- package/lib/searchbox/index.d.ts +2 -0
- package/lib/searchbox/searchbox.component.d.ts +16 -0
- package/lib/searchbox/searchbox.module.d.ts +11 -0
- package/lib/selectbox/selectbox.component.d.ts +4 -14
- package/lib/selectbox/selectbox.module.d.ts +6 -7
- package/lib/tabs/tabs.module.d.ts +1 -1
- package/lib/textbox/textbox.module.d.ts +2 -3
- package/lib/toast/toast.class.d.ts +4 -3
- package/lib/toast/toast.component.d.ts +0 -2
- package/lib/toast/toast.module.d.ts +3 -1
- package/lib/toast/toast.service.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2020/lib/alert/alert-content.component.mjs +0 -21
- package/esm2020/lib/alert/alert-footer.component.mjs +0 -27
- package/esm2020/lib/alert/alert-suffix.component.mjs +0 -27
- package/esm2020/lib/alert/alert-title.component.mjs +0 -23
- package/esm2020/lib/drawer/drawer-content.component.mjs +0 -27
- package/esm2020/lib/icon/icon.component.mjs +0 -28
- package/esm2020/lib/icon/icon.module.mjs +0 -21
- package/esm2020/lib/icon/index.mjs +0 -3
- package/esm2020/lib/page/page-footer.component.mjs +0 -28
- package/esm2020/lib/page/page-header.component.mjs +0 -28
- package/lib/alert/alert-content.component.d.ts +0 -5
- package/lib/alert/alert-footer.component.d.ts +0 -5
- package/lib/alert/alert-suffix.component.d.ts +0 -5
- package/lib/alert/alert-title.component.d.ts +0 -5
- package/lib/drawer/drawer-content.component.d.ts +0 -8
- package/lib/icon/icon.component.d.ts +0 -10
- package/lib/icon/icon.module.d.ts +0 -8
- package/lib/icon/index.d.ts +0 -2
- package/lib/page/page-footer.component.d.ts +0 -7
- package/lib/page/page-header.component.d.ts +0 -7
|
@@ -1,48 +1,283 @@
|
|
|
1
|
-
import { Component, ContentChild, Input, TemplateRef, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewChildren } from '@angular/core';
|
|
2
2
|
import { AXBaseValueComponentMixin } from '../base';
|
|
3
3
|
import { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
5
6
|
export class AXPickerComponent extends AXBaseValueComponentMixin {
|
|
6
|
-
/**
|
|
7
|
-
* @ignore
|
|
8
|
-
*/
|
|
9
7
|
constructor(elementRef, cdr) {
|
|
10
8
|
super(elementRef, cdr);
|
|
11
|
-
this.
|
|
9
|
+
this.cdr = cdr;
|
|
12
10
|
this.items = [];
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
this.OnChange = new EventEmitter();
|
|
12
|
+
this.touchOrMouse = {
|
|
13
|
+
isTouchable: 'ontouchstart' in window,
|
|
14
|
+
isMouseDown: false
|
|
15
|
+
};
|
|
16
|
+
this.draggingInfo = {
|
|
17
|
+
isDragging: false,
|
|
18
|
+
groupIndex: null,
|
|
19
|
+
startPageY: null
|
|
20
|
+
};
|
|
21
|
+
this.itemPerDegree = 23;
|
|
22
|
+
this.safeDoTimeoutId = null;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.currentIndexList = this.getInitialCurrentIndexList();
|
|
26
|
+
this.lastCurrentIndexList = [].concat(this.currentIndexList);
|
|
27
|
+
this.groupsRectList = new Array(this.items.length);
|
|
28
|
+
this.eventsRegister();
|
|
29
|
+
window.addEventListener('resize', this.safeGetRectsBindEvents.bind(this));
|
|
17
30
|
}
|
|
18
31
|
ngAfterViewInit() {
|
|
32
|
+
this.getGroupsRectList();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
window.removeEventListener('resize', this.safeGetRectsBindEvents.bind(this));
|
|
36
|
+
}
|
|
37
|
+
setGroupData(gIndex, groupData) {
|
|
38
|
+
if (!this.currentIndexList) {
|
|
39
|
+
this.currentIndexList = this.getInitialCurrentIndexList();
|
|
40
|
+
}
|
|
41
|
+
this.items[gIndex] = groupData;
|
|
42
|
+
const iCI = groupData.currentIndex;
|
|
43
|
+
let movedIndex = 0;
|
|
44
|
+
if (typeof iCI === 'number' && iCI >= 0 && groupData.list && groupData.list.length && iCI <= groupData.list.length - 1) {
|
|
45
|
+
movedIndex = Math.round(iCI);
|
|
46
|
+
}
|
|
47
|
+
this.currentIndexList[gIndex] = movedIndex;
|
|
48
|
+
this.lastCurrentIndexList = [].concat(this.currentIndexList);
|
|
49
|
+
}
|
|
50
|
+
getInitialCurrentIndexList() {
|
|
51
|
+
return this.items.map((item, index) => {
|
|
52
|
+
const iCI = item.currentIndex;
|
|
53
|
+
if (typeof iCI === 'number' && iCI >= 0 && item.list && item.list.length && iCI <= item.list.length - 1) {
|
|
54
|
+
return Math.round(iCI);
|
|
55
|
+
}
|
|
56
|
+
return 0;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
safeGetRectsBindEvents() {
|
|
60
|
+
if (this.safeDoTimeoutId) {
|
|
61
|
+
clearTimeout(this.safeDoTimeoutId);
|
|
62
|
+
}
|
|
63
|
+
this.safeDoTimeoutId = setTimeout(() => {
|
|
64
|
+
this.getGroupsRectList();
|
|
65
|
+
}, 200);
|
|
66
|
+
}
|
|
67
|
+
getGroupsRectList() {
|
|
68
|
+
if (this.pickerGroupLayer) {
|
|
69
|
+
this.pickerGroupLayer.toArray().forEach((item, index) => {
|
|
70
|
+
this.groupsRectList[index] = item.nativeElement.getBoundingClientRect();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
eventsRegister() {
|
|
75
|
+
const handleEventLayer = this.pickerHandleLayer.nativeElement;
|
|
76
|
+
if (handleEventLayer) {
|
|
77
|
+
this.addEventsForElement(handleEventLayer);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
addEventsForElement(el) {
|
|
81
|
+
const _ = this.touchOrMouse.isTouchable;
|
|
82
|
+
const eventHandlerList = [
|
|
83
|
+
{ name: _ ? 'touchstart' : 'mousedown', handler: this.handleStart },
|
|
84
|
+
{ name: _ ? 'touchmove' : 'mousemove', handler: this.handleMove },
|
|
85
|
+
{ name: _ ? 'touchend' : 'mouseup', handler: this.handleEnd },
|
|
86
|
+
{ name: _ ? 'touchcancel' : 'mouseleave', handler: this.handleCancel }
|
|
87
|
+
];
|
|
88
|
+
eventHandlerList.forEach((item, index) => {
|
|
89
|
+
el.removeEventListener(item.name, item.handler, false);
|
|
90
|
+
el.addEventListener(item.name, item.handler.bind(this), false);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
triggerMiddleLayerGroupClick(gIndex) {
|
|
94
|
+
const data = this.items;
|
|
95
|
+
if (typeof gIndex === 'number' && typeof data[gIndex].onClick === 'function') {
|
|
96
|
+
data[gIndex].onClick(gIndex, this.currentIndexList[gIndex]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
triggerAboveLayerClick(ev, gIndex) {
|
|
100
|
+
const movedIndex = this.currentIndexList[gIndex] + 1;
|
|
101
|
+
this.currentIndexList[gIndex] = movedIndex;
|
|
102
|
+
this.correctionCurrentIndex(ev, gIndex);
|
|
103
|
+
}
|
|
104
|
+
triggerMiddleLayerClick(ev, gIndex) {
|
|
105
|
+
this.triggerMiddleLayerGroupClick(gIndex);
|
|
106
|
+
}
|
|
107
|
+
triggerBelowLayerClick(ev, gIndex) {
|
|
108
|
+
const movedIndex = this.currentIndexList[gIndex] - 1;
|
|
109
|
+
this.currentIndexList[gIndex] = movedIndex;
|
|
110
|
+
this.correctionCurrentIndex(ev, gIndex);
|
|
111
|
+
}
|
|
112
|
+
getTouchInfo(ev) {
|
|
113
|
+
return this.touchOrMouse.isTouchable ? ev.changedTouches[0] || ev.touches[0] : ev;
|
|
114
|
+
}
|
|
115
|
+
getGroupIndexBelongsEvent(ev) {
|
|
116
|
+
const touchInfo = this.getTouchInfo(ev);
|
|
117
|
+
for (let i = 0; i < this.groupsRectList.length; i++) {
|
|
118
|
+
const item = this.groupsRectList[i];
|
|
119
|
+
if (item.left < touchInfo.pageX && touchInfo.pageX < item.right) {
|
|
120
|
+
return i;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
handleEventClick(ev) {
|
|
126
|
+
const gIndex = this.getGroupIndexBelongsEvent(ev);
|
|
127
|
+
switch (ev.target.dataset.type) {
|
|
128
|
+
case 'top':
|
|
129
|
+
this.triggerAboveLayerClick(ev, gIndex);
|
|
130
|
+
break;
|
|
131
|
+
case 'middle':
|
|
132
|
+
this.triggerMiddleLayerClick(ev, gIndex);
|
|
133
|
+
break;
|
|
134
|
+
case 'bottom':
|
|
135
|
+
this.triggerBelowLayerClick(ev, gIndex);
|
|
136
|
+
break;
|
|
137
|
+
default:
|
|
138
|
+
}
|
|
19
139
|
}
|
|
20
|
-
|
|
21
|
-
|
|
140
|
+
handleStart(ev) {
|
|
141
|
+
if (ev.cancelable) {
|
|
142
|
+
ev.preventDefault();
|
|
143
|
+
ev.stopPropagation();
|
|
144
|
+
}
|
|
145
|
+
const touchInfo = this.getTouchInfo(ev);
|
|
146
|
+
this.draggingInfo.startPageY = touchInfo.pageY;
|
|
147
|
+
if (!this.touchOrMouse.isTouchable) {
|
|
148
|
+
this.touchOrMouse.isMouseDown = true;
|
|
149
|
+
}
|
|
22
150
|
}
|
|
23
|
-
|
|
151
|
+
handleMove(ev) {
|
|
152
|
+
ev.preventDefault();
|
|
153
|
+
ev.stopPropagation();
|
|
154
|
+
if (this.touchOrMouse.isTouchable || this.touchOrMouse.isMouseDown) {
|
|
155
|
+
this.draggingInfo.isDragging = true;
|
|
156
|
+
this.setCurrentIndexOnMove(ev);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
handleEnd(ev) {
|
|
160
|
+
ev.preventDefault();
|
|
161
|
+
ev.stopPropagation();
|
|
162
|
+
if (!this.draggingInfo.isDragging) {
|
|
163
|
+
this.handleEventClick(ev);
|
|
164
|
+
}
|
|
165
|
+
this.draggingInfo.isDragging = false;
|
|
166
|
+
this.touchOrMouse.isMouseDown = false;
|
|
167
|
+
this.correctionAfterDragging(ev);
|
|
168
|
+
}
|
|
169
|
+
handleCancel(ev) {
|
|
170
|
+
ev.preventDefault();
|
|
171
|
+
ev.stopPropagation();
|
|
172
|
+
if (this.touchOrMouse.isTouchable || this.touchOrMouse.isMouseDown) {
|
|
173
|
+
this.correctionAfterDragging(ev);
|
|
174
|
+
this.touchOrMouse.isMouseDown = false;
|
|
175
|
+
this.draggingInfo.isDragging = false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
setCurrentIndexOnMove(ev) {
|
|
179
|
+
const touchInfo = this.getTouchInfo(ev);
|
|
180
|
+
if (this.draggingInfo.groupIndex === null) {
|
|
181
|
+
this.draggingInfo.groupIndex = this.getGroupIndexBelongsEvent(ev);
|
|
182
|
+
}
|
|
183
|
+
const gIndex = this.draggingInfo.groupIndex;
|
|
184
|
+
if (typeof gIndex === 'number' && (this.items[gIndex].divider || !this.items[gIndex].list)) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const moveCount = (this.draggingInfo.startPageY - touchInfo.pageY) / 32;
|
|
188
|
+
const movedIndex = this.currentIndexList[gIndex] + moveCount;
|
|
189
|
+
this.currentIndexList[gIndex] = movedIndex;
|
|
190
|
+
this.draggingInfo.startPageY = touchInfo.pageY;
|
|
191
|
+
}
|
|
192
|
+
correctionAfterDragging(ev) {
|
|
193
|
+
const gIndex = this.draggingInfo.groupIndex;
|
|
194
|
+
this.correctionCurrentIndex(ev, gIndex);
|
|
195
|
+
this.draggingInfo.groupIndex = null;
|
|
196
|
+
this.draggingInfo.startPageY = null;
|
|
197
|
+
}
|
|
198
|
+
correctionCurrentIndex(ev, gIndex) {
|
|
199
|
+
setTimeout(() => {
|
|
200
|
+
if (typeof gIndex === 'number' && this.items[gIndex].divider !== true && this.items[gIndex].list.length > 0) {
|
|
201
|
+
const unsafeGroupIndex = this.currentIndexList[gIndex];
|
|
202
|
+
let movedIndex = unsafeGroupIndex;
|
|
203
|
+
if (unsafeGroupIndex > this.items[gIndex].list.length - 1) {
|
|
204
|
+
movedIndex = this.items[gIndex].list.length - 1;
|
|
205
|
+
}
|
|
206
|
+
else if (unsafeGroupIndex < 0) {
|
|
207
|
+
movedIndex = 0;
|
|
208
|
+
}
|
|
209
|
+
movedIndex = Math.round(movedIndex);
|
|
210
|
+
this.currentIndexList[gIndex] = movedIndex;
|
|
211
|
+
if (movedIndex !== this.lastCurrentIndexList[gIndex]) {
|
|
212
|
+
this.OnChange.emit({ gIndex, iIndex: movedIndex });
|
|
213
|
+
}
|
|
214
|
+
this.lastCurrentIndexList = [].concat(this.currentIndexList);
|
|
215
|
+
}
|
|
216
|
+
}, 100);
|
|
217
|
+
}
|
|
218
|
+
isCurrentItem(gIndex, iIndex) {
|
|
219
|
+
return this.currentIndexList[gIndex] === iIndex;
|
|
220
|
+
}
|
|
221
|
+
getCurrentIndexList() {
|
|
222
|
+
return this.currentIndexList;
|
|
223
|
+
}
|
|
224
|
+
getGroupClass(gIndex) {
|
|
225
|
+
const group = this.items[gIndex];
|
|
226
|
+
const defaultWeightClass = 'weight-' + (group.weight || 1);
|
|
227
|
+
const groupClass = [defaultWeightClass];
|
|
228
|
+
if (group.className) {
|
|
229
|
+
groupClass.push(group.className);
|
|
230
|
+
}
|
|
231
|
+
return groupClass;
|
|
232
|
+
}
|
|
233
|
+
getItemClass(gIndex, iIndex, isDivider = false) {
|
|
234
|
+
const group = this.items[gIndex];
|
|
235
|
+
const itemClass = [];
|
|
236
|
+
if (!isDivider && this.isCurrentItem(gIndex, iIndex)) {
|
|
237
|
+
itemClass.push('smooth-item-selected');
|
|
238
|
+
}
|
|
239
|
+
if (group.textAlign) {
|
|
240
|
+
itemClass.push('text-' + group.textAlign);
|
|
241
|
+
}
|
|
242
|
+
return itemClass;
|
|
243
|
+
}
|
|
244
|
+
getItemStyle(gIndex, iIndex) {
|
|
245
|
+
const gapCount = this.currentIndexList[gIndex] - iIndex;
|
|
246
|
+
if (Math.abs(gapCount) < (90 / this.itemPerDegree)) {
|
|
247
|
+
const rotateStyle = {
|
|
248
|
+
transform: 'rotateX(' + gapCount * this.itemPerDegree + 'deg) translate3d(0, 0, 5.625em)',
|
|
249
|
+
opacity: (1 - Math.abs(gapCount) / (90 / this.itemPerDegree)).toString()
|
|
250
|
+
};
|
|
251
|
+
if (!this.draggingInfo.isDragging) {
|
|
252
|
+
rotateStyle['transition'] = 'transform 150ms ease-out';
|
|
253
|
+
}
|
|
254
|
+
return rotateStyle;
|
|
255
|
+
}
|
|
256
|
+
if (gapCount > 0) {
|
|
257
|
+
return { transform: 'rotateX(90deg) translate3d(0, 0, 5.625em)' };
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
return { transform: 'rotateX(-90deg) translate3d(0, 0, 5.625em)' };
|
|
261
|
+
}
|
|
24
262
|
}
|
|
25
263
|
}
|
|
26
264
|
AXPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
AXPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXPickerComponent, selector: "ax-picker", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked",
|
|
265
|
+
AXPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXPickerComponent, selector: "ax-picker", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", items: "items" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", OnChange: "OnChange" }, host: { classAttribute: "ax-picker" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "pickerHandleLayer", first: true, predicate: ["pickerHandleLayer"], descendants: true, static: true }, { propertyName: "pickerGroupLayer", predicate: ["pickerGroupLayer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- <ax-carousel [width]=\"width\" [height]=\"height\" [fixedWidth]=\"width\" [fixedHeight]=\"itemHeight\" [centered]=\"true\" [vertical]=\"true\" [loop]=\"false\" [wheel]=\"true\" (onSlideChanged)=\"_handleMoveChange($event)\">\r\n <ax-carousel-item class=\"ax-picker-item\" *ngFor=\"let item of items\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ax-carousel-item>\r\n</ax-carousel> -->\r\n<div class=\"ng-data-picker flex-box\">\r\n\r\n <!-- picker-group-layer -->\r\n <div #pickerGroupLayer *ngFor=\"let group of items; let gI = index\" class=\"picker-group\" [ngClass]=\"getGroupClass(gI)\">\r\n\r\n <div class=\"picker-list\">\r\n <div *ngIf=\"group.divider else ngIfElse\" class=\"picker-item divider\" [ngClass]=\"getItemClass(gI, i, true)\">\r\n {{ group.text }}\r\n </div>\r\n\r\n <div #ngIfElse *ngFor=\"let item of group.list; let i = index\" class=\"picker-item\" [ngClass]=\"getItemClass(gI, i)\"\r\n [ngStyle]=\"getItemStyle(gI, i)\">\r\n {{ item.value || item }}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div #pickerHandleLayer class=\"picker-handle-layer flex-box dir-column\">\r\n <div data-type=\"top\" class=\"picker-top weight-1\"></div>\r\n <div data-type=\"middle\" class=\"picker-middle\"></div>\r\n <div data-type=\"bottom\" class=\"picker-bottom weight-1\"></div>\r\n </div>\r\n\r\n</div>", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
28
266
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerComponent, decorators: [{
|
|
29
267
|
type: Component,
|
|
30
|
-
args: [{ selector: 'ax-picker', host: { class: 'ax-picker' }, inputs: [...VALUE_INPUTS], outputs: [...VALUE_OUTPUT], template: "<!-- <ax-carousel [width]=\"width\" [height]=\"height\" [fixedWidth]=\"width\" [fixedHeight]=\"itemHeight\" [centered]=\"true\" [vertical]=\"true\" [loop]=\"false\" [wheel]=\"true\" (onSlideChanged)=\"_handleMoveChange($event)\">\r\n <ax-carousel-item class=\"ax-picker-item\" *ngFor=\"let item of items\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ax-carousel-item>\r\n</ax-carousel> -->\r\n
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
268
|
+
args: [{ selector: 'ax-picker', host: { class: 'ax-picker' }, inputs: [...VALUE_INPUTS], outputs: [...VALUE_OUTPUT], template: "<!-- <ax-carousel [width]=\"width\" [height]=\"height\" [fixedWidth]=\"width\" [fixedHeight]=\"itemHeight\" [centered]=\"true\" [vertical]=\"true\" [loop]=\"false\" [wheel]=\"true\" (onSlideChanged)=\"_handleMoveChange($event)\">\r\n <ax-carousel-item class=\"ax-picker-item\" *ngFor=\"let item of items\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ax-carousel-item>\r\n</ax-carousel> -->\r\n<div class=\"ng-data-picker flex-box\">\r\n\r\n <!-- picker-group-layer -->\r\n <div #pickerGroupLayer *ngFor=\"let group of items; let gI = index\" class=\"picker-group\" [ngClass]=\"getGroupClass(gI)\">\r\n\r\n <div class=\"picker-list\">\r\n <div *ngIf=\"group.divider else ngIfElse\" class=\"picker-item divider\" [ngClass]=\"getItemClass(gI, i, true)\">\r\n {{ group.text }}\r\n </div>\r\n\r\n <div #ngIfElse *ngFor=\"let item of group.list; let i = index\" class=\"picker-item\" [ngClass]=\"getItemClass(gI, i)\"\r\n [ngStyle]=\"getItemStyle(gI, i)\">\r\n {{ item.value || item }}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div #pickerHandleLayer class=\"picker-handle-layer flex-box dir-column\">\r\n <div data-type=\"top\" class=\"picker-top weight-1\"></div>\r\n <div data-type=\"middle\" class=\"picker-middle\"></div>\r\n <div data-type=\"bottom\" class=\"picker-bottom weight-1\"></div>\r\n </div>\r\n\r\n</div>" }]
|
|
269
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pickerGroupLayer: [{
|
|
270
|
+
type: ViewChildren,
|
|
271
|
+
args: ['pickerGroupLayer']
|
|
272
|
+
}], pickerHandleLayer: [{
|
|
32
273
|
type: ViewChild,
|
|
33
|
-
args: ['
|
|
274
|
+
args: ['pickerHandleLayer', { static: true }]
|
|
34
275
|
}], itemTemplate: [{
|
|
35
276
|
type: ContentChild,
|
|
36
277
|
args: [TemplateRef]
|
|
37
|
-
}], rows: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], width: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], height: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], itemHeight: [{
|
|
44
|
-
type: Input
|
|
45
278
|
}], items: [{
|
|
46
279
|
type: Input
|
|
280
|
+
}], OnChange: [{
|
|
281
|
+
type: Output
|
|
47
282
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcGlja2VyL3BpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BpY2tlci9waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFjLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFRN0UsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQXNCNUQ7O01BRUU7SUFDRixZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDdEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQWpCM0IsU0FBSSxHQUFXLENBQUMsQ0FBQztRQVdqQixVQUFLLEdBQVUsRUFBRSxDQUFDO1FBT2hCLHlEQUF5RDtRQUN6RCx1REFBdUQ7UUFDdkQsaUNBQWlDO1FBQ2pDLFFBQVE7SUFDVixDQUFDO0lBRUQsZUFBZTtJQUVmLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxDQUFNO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckMsQ0FBQztJQUNELElBQUk7SUFFSixDQUFDOzs4R0E1Q1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsaWJBSVosV0FBVyx5S0NkN0IsMnhCQWFnRDsyRkRIbkMsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNJLFdBQVcsUUFFZixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFDcEIsQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUNoQixDQUFDLEdBQUcsWUFBWSxDQUFDO2lJQUlMLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFHbkIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFdBQVc7Z0JBS3pCLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlVmFsdWVDb21wb25lbnRNaXhpbiB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBWQUxVRV9JTlBVVFMsIFZBTFVFX09VVFBVVCB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaG9zdDogeyBjbGFzczogJ2F4LXBpY2tlcicgfSxcclxuICAgIGlucHV0czogWy4uLlZBTFVFX0lOUFVUU10sXHJcbiAgICBvdXRwdXRzOiBbLi4uVkFMVUVfT1VUUFVUXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VWYWx1ZUNvbXBvbmVudE1peGluIHtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdwaWNrZXInKSBwaWNrZXI6RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cclxuXHJcbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxyXG4gICAgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+XHJcblxyXG4gICAgXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcm93czogbnVtYmVyID0gMztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgd2lkdGg6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgaXRlbUhlaWdodDogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBpdGVtczogYW55W10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICogIEBpZ25vcmVcclxuICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgICAgLy8gICByZXF1aXJlLmVuc3VyZShbJ3BhdGgvdG8veW91ci9tb2R1bGUnXSwgcmVxdWlyZSA9PiB7XHJcbiAgICAgIC8vICAgICBsZXQgeW91ck1vZHVsZSA9IHJlcXVpcmUoJ3BhdGgvdG8veW91ci9tb2R1bGUnKTtcclxuICAgICAgLy8gICAgIHlvdXJNb2R1bGUuc29tZUZ1bmN0aW9uKCk7XHJcbiAgICAgIC8vICB9KTsgXHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gIFxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfaGFuZGxlTW92ZUNoYW5nZShlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtc1tlLnZhbHVlXTtcclxuXHJcbiAgICB9XHJcbiAgICBvcGVuKCl7XHJcbiAgICAgXHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSA8YXgtY2Fyb3VzZWwgW3dpZHRoXT1cIndpZHRoXCIgW2hlaWdodF09XCJoZWlnaHRcIiBbZml4ZWRXaWR0aF09XCJ3aWR0aFwiIFtmaXhlZEhlaWdodF09XCJpdGVtSGVpZ2h0XCIgIFtjZW50ZXJlZF09XCJ0cnVlXCIgW3ZlcnRpY2FsXT1cInRydWVcIiBbbG9vcF09XCJmYWxzZVwiIFt3aGVlbF09XCJ0cnVlXCIgKG9uU2xpZGVDaGFuZ2VkKT1cIl9oYW5kbGVNb3ZlQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDxheC1jYXJvdXNlbC1pdGVtIGNsYXNzPVwiYXgtcGlja2VyLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2F4LWNhcm91c2VsLWl0ZW0+XHJcbjwvYXgtY2Fyb3VzZWw+IC0tPlxyXG48IS0tIDx1bCBjbGFzcz1cInNjcm9sbGVyXCI+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2xpPlxyXG5cclxuPC91bD4gLS0+XHJcblxyXG48YnV0dG9uIGlkPVwicGlja2VyXCIgI3BpY2tlcj5vcGVuIHBpY2tlcjwvYnV0dG9uPiJdfQ==
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcGlja2VyL3BpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BpY2tlci9waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFTN0UsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQXlCNUQsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQzlELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEaUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFqQnpELFVBQUssR0FBaUIsRUFBRSxDQUFBO1FBQ3ZCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUsvRCxpQkFBWSxHQUFHO1lBQ1gsV0FBVyxFQUFFLGNBQWMsSUFBSSxNQUFNO1lBQ3JDLFdBQVcsRUFBRSxLQUFLO1NBQ3JCLENBQUE7UUFDRCxpQkFBWSxHQUFHO1lBQ1gsVUFBVSxFQUFFLEtBQUs7WUFDakIsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUk7U0FDbkIsQ0FBQTtRQUNELGtCQUFhLEdBQUcsRUFBRSxDQUFBO1FBQ2xCLG9CQUFlLEdBQVEsSUFBSSxDQUFBO0lBRzNCLENBQUM7SUFH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QkFBMEIsQ0FBQTthQUN6RDtZQUNELE9BQU8sV0FBVyxDQUFBO1NBQ3JCO1FBQ0QsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQ0FBMkMsRUFBRSxDQUFBO1NBQ3BFO2FBQU07WUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLDRDQUE0QyxFQUFFLENBQUE7U0FDckU7SUFDTCxDQUFDOzs4R0F2U1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsNlhBS1osV0FBVyx1U0NoQjdCLDA5Q0E4Qk07MkZEbkJPLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDSSxXQUFXLFFBRWYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQ3BCLENBQUMsR0FBRyxZQUFZLENBQUMsV0FDaEIsQ0FBQyxHQUFHLFlBQVksQ0FBQztpSUFJUSxnQkFBZ0I7c0JBQWpELFlBQVk7dUJBQUMsa0JBQWtCO2dCQUNrQixpQkFBaUI7c0JBQWxFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdoRCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsV0FBVztnQkFHaEIsS0FBSztzQkFBYixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZVZhbHVlQ29tcG9uZW50TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQgfSBmcm9tICcuLi9iYXNlL21peGluL3ZhbHVlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgUGlja2VySXRlbSB9IGZyb20gJy4vcGlja2VyLm1vZGVsLmNsYXNzJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1waWNrZXInIH0sXHJcbiAgICBpbnB1dHM6IFsuLi5WQUxVRV9JTlBVVFNdLFxyXG4gICAgb3V0cHV0czogWy4uLlZBTFVFX09VVFBVVF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVmFsdWVDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gICAgQFZpZXdDaGlsZHJlbigncGlja2VyR3JvdXBMYXllcicpIHBpY2tlckdyb3VwTGF5ZXJcclxuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlckhhbmRsZUxheWVyJywgeyBzdGF0aWM6IHRydWUgfSkgcGlja2VySGFuZGxlTGF5ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcclxuICAgIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PlxyXG5cclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBQaWNrZXJJdGVtW10gPSBbXVxyXG4gICAgQE91dHB1dCgpIE9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcblxyXG4gICAgY3VycmVudEluZGV4TGlzdDogbnVtYmVyW11cclxuICAgIGxhc3RDdXJyZW50SW5kZXhMaXN0OiBudW1iZXJbXVxyXG4gICAgZ3JvdXBzUmVjdExpc3Q6IGFueVtdXHJcbiAgICB0b3VjaE9yTW91c2UgPSB7XHJcbiAgICAgICAgaXNUb3VjaGFibGU6ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyxcclxuICAgICAgICBpc01vdXNlRG93bjogZmFsc2VcclxuICAgIH1cclxuICAgIGRyYWdnaW5nSW5mbyA9IHtcclxuICAgICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcclxuICAgICAgICBncm91cEluZGV4OiBudWxsLFxyXG4gICAgICAgIHN0YXJ0UGFnZVk6IG51bGxcclxuICAgIH1cclxuICAgIGl0ZW1QZXJEZWdyZWUgPSAyM1xyXG4gICAgc2FmZURvVGltZW91dElkOiBhbnkgPSBudWxsXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3QgPSB0aGlzLmdldEluaXRpYWxDdXJyZW50SW5kZXhMaXN0KClcclxuICAgICAgICB0aGlzLmxhc3RDdXJyZW50SW5kZXhMaXN0ID0gW10uY29uY2F0KHRoaXMuY3VycmVudEluZGV4TGlzdClcclxuXHJcbiAgICAgICAgdGhpcy5ncm91cHNSZWN0TGlzdCA9IG5ldyBBcnJheSh0aGlzLml0ZW1zLmxlbmd0aClcclxuXHJcbiAgICAgICAgdGhpcy5ldmVudHNSZWdpc3RlcigpXHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuc2FmZUdldFJlY3RzQmluZEV2ZW50cy5iaW5kKHRoaXMpKVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmdldEdyb3Vwc1JlY3RMaXN0KClcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5zYWZlR2V0UmVjdHNCaW5kRXZlbnRzLmJpbmQodGhpcykpXHJcbiAgICB9XHJcblxyXG4gICAgc2V0R3JvdXBEYXRhKGdJbmRleCwgZ3JvdXBEYXRhKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRJbmRleExpc3QpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXhMaXN0ID0gdGhpcy5nZXRJbml0aWFsQ3VycmVudEluZGV4TGlzdCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbXNbZ0luZGV4XSA9IGdyb3VwRGF0YVxyXG4gICAgICAgIGNvbnN0IGlDSSA9IGdyb3VwRGF0YS5jdXJyZW50SW5kZXhcclxuICAgICAgICBsZXQgbW92ZWRJbmRleCA9IDBcclxuICAgICAgICBpZiAodHlwZW9mIGlDSSA9PT0gJ251bWJlcicgJiYgaUNJID49IDAgJiYgZ3JvdXBEYXRhLmxpc3QgJiYgZ3JvdXBEYXRhLmxpc3QubGVuZ3RoICYmIGlDSSA8PSBncm91cERhdGEubGlzdC5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgIG1vdmVkSW5kZXggPSBNYXRoLnJvdW5kKGlDSSlcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gPSBtb3ZlZEluZGV4XHJcbiAgICAgICAgdGhpcy5sYXN0Q3VycmVudEluZGV4TGlzdCA9IFtdLmNvbmNhdCh0aGlzLmN1cnJlbnRJbmRleExpc3QpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SW5pdGlhbEN1cnJlbnRJbmRleExpc3QoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpQ0kgPSBpdGVtLmN1cnJlbnRJbmRleFxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGlDSSA9PT0gJ251bWJlcicgJiYgaUNJID49IDAgJiYgaXRlbS5saXN0ICYmIGl0ZW0ubGlzdC5sZW5ndGggJiYgaUNJIDw9IGl0ZW0ubGlzdC5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChpQ0kpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHNhZmVHZXRSZWN0c0JpbmRFdmVudHMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2FmZURvVGltZW91dElkKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNhZmVEb1RpbWVvdXRJZClcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zYWZlRG9UaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5nZXRHcm91cHNSZWN0TGlzdCgpXHJcbiAgICAgICAgfSwgMjAwKVxyXG4gICAgfVxyXG5cclxuICAgIGdldEdyb3Vwc1JlY3RMaXN0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnBpY2tlckdyb3VwTGF5ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5waWNrZXJHcm91cExheWVyLnRvQXJyYXkoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cHNSZWN0TGlzdFtpbmRleF0gPSBpdGVtLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnRzUmVnaXN0ZXIoKSB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlRXZlbnRMYXllciA9IHRoaXMucGlja2VySGFuZGxlTGF5ZXIubmF0aXZlRWxlbWVudFxyXG4gICAgICAgIGlmIChoYW5kbGVFdmVudExheWVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRzRm9yRWxlbWVudChoYW5kbGVFdmVudExheWVyKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhZGRFdmVudHNGb3JFbGVtZW50KGVsKSB7XHJcbiAgICAgICAgY29uc3QgXyA9IHRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlXHJcbiAgICAgICAgY29uc3QgZXZlbnRIYW5kbGVyTGlzdCA9IFtcclxuICAgICAgICAgICAgeyBuYW1lOiBfID8gJ3RvdWNoc3RhcnQnIDogJ21vdXNlZG93bicsIGhhbmRsZXI6IHRoaXMuaGFuZGxlU3RhcnQgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiBfID8gJ3RvdWNobW92ZScgOiAnbW91c2Vtb3ZlJywgaGFuZGxlcjogdGhpcy5oYW5kbGVNb3ZlIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXyA/ICd0b3VjaGVuZCcgOiAnbW91c2V1cCcsIGhhbmRsZXI6IHRoaXMuaGFuZGxlRW5kIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXyA/ICd0b3VjaGNhbmNlbCcgOiAnbW91c2VsZWF2ZScsIGhhbmRsZXI6IHRoaXMuaGFuZGxlQ2FuY2VsIH1cclxuICAgICAgICBdXHJcbiAgICAgICAgZXZlbnRIYW5kbGVyTGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKGl0ZW0ubmFtZSwgaXRlbS5oYW5kbGVyLCBmYWxzZSlcclxuICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihpdGVtLm5hbWUsIGl0ZW0uaGFuZGxlci5iaW5kKHRoaXMpLCBmYWxzZSlcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJNaWRkbGVMYXllckdyb3VwQ2xpY2soZ0luZGV4KSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuaXRlbXNcclxuICAgICAgICBpZiAodHlwZW9mIGdJbmRleCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGRhdGFbZ0luZGV4XS5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGRhdGFbZ0luZGV4XS5vbkNsaWNrKGdJbmRleCwgdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJBYm92ZUxheWVyQ2xpY2soZXYsIGdJbmRleCkge1xyXG4gICAgICAgIGNvbnN0IG1vdmVkSW5kZXggPSB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSArIDFcclxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9IG1vdmVkSW5kZXhcclxuICAgICAgICB0aGlzLmNvcnJlY3Rpb25DdXJyZW50SW5kZXgoZXYsIGdJbmRleClcclxuICAgIH1cclxuXHJcbiAgICB0cmlnZ2VyTWlkZGxlTGF5ZXJDbGljayhldiwgZ0luZGV4KSB7XHJcbiAgICAgICAgdGhpcy50cmlnZ2VyTWlkZGxlTGF5ZXJHcm91cENsaWNrKGdJbmRleClcclxuICAgIH1cclxuXHJcbiAgICB0cmlnZ2VyQmVsb3dMYXllckNsaWNrKGV2LCBnSW5kZXgpIHtcclxuICAgICAgICBjb25zdCBtb3ZlZEluZGV4ID0gdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gLSAxXHJcbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gPSBtb3ZlZEluZGV4XHJcbiAgICAgICAgdGhpcy5jb3JyZWN0aW9uQ3VycmVudEluZGV4KGV2LCBnSW5kZXgpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VG91Y2hJbmZvKGV2KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlID8gZXYuY2hhbmdlZFRvdWNoZXNbMF0gfHwgZXYudG91Y2hlc1swXSA6IGV2XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0R3JvdXBJbmRleEJlbG9uZ3NFdmVudChldikge1xyXG4gICAgICAgIGNvbnN0IHRvdWNoSW5mbyA9IHRoaXMuZ2V0VG91Y2hJbmZvKGV2KVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5ncm91cHNSZWN0TGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5ncm91cHNSZWN0TGlzdFtpXVxyXG4gICAgICAgICAgICBpZiAoaXRlbS5sZWZ0IDwgdG91Y2hJbmZvLnBhZ2VYICYmIHRvdWNoSW5mby5wYWdlWCA8IGl0ZW0ucmlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFdmVudENsaWNrKGV2KSB7XHJcbiAgICAgICAgY29uc3QgZ0luZGV4ID0gdGhpcy5nZXRHcm91cEluZGV4QmVsb25nc0V2ZW50KGV2KVxyXG4gICAgICAgIHN3aXRjaCAoZXYudGFyZ2V0LmRhdGFzZXQudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyQWJvdmVMYXllckNsaWNrKGV2LCBnSW5kZXgpXHJcbiAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICBjYXNlICdtaWRkbGUnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyTWlkZGxlTGF5ZXJDbGljayhldiwgZ0luZGV4KVxyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckJlbG93TGF5ZXJDbGljayhldiwgZ0luZGV4KVxyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlU3RhcnQoZXYpIHtcclxuICAgICAgICBpZiAoZXYuY2FuY2VsYWJsZSkge1xyXG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgICAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRvdWNoSW5mbyA9IHRoaXMuZ2V0VG91Y2hJbmZvKGV2KVxyXG4gICAgICAgIHRoaXMuZHJhZ2dpbmdJbmZvLnN0YXJ0UGFnZVkgPSB0b3VjaEluZm8ucGFnZVlcclxuICAgICAgICBpZiAoIXRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG91Y2hPck1vdXNlLmlzTW91c2VEb3duID0gdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNb3ZlKGV2KSB7XHJcbiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKVxyXG4gICAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICAgICAgaWYgKHRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlIHx8IHRoaXMudG91Y2hPck1vdXNlLmlzTW91c2VEb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmdJbmZvLmlzRHJhZ2dpbmcgPSB0cnVlXHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudEluZGV4T25Nb3ZlKGV2KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFbmQoZXYpIHtcclxuICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgICAgICBpZiAoIXRoaXMuZHJhZ2dpbmdJbmZvLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVFdmVudENsaWNrKGV2KVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5pc0RyYWdnaW5nID0gZmFsc2VcclxuICAgICAgICB0aGlzLnRvdWNoT3JNb3VzZS5pc01vdXNlRG93biA9IGZhbHNlXHJcbiAgICAgICAgdGhpcy5jb3JyZWN0aW9uQWZ0ZXJEcmFnZ2luZyhldilcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVDYW5jZWwoZXYpIHtcclxuICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgICAgICBpZiAodGhpcy50b3VjaE9yTW91c2UuaXNUb3VjaGFibGUgfHwgdGhpcy50b3VjaE9yTW91c2UuaXNNb3VzZURvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5jb3JyZWN0aW9uQWZ0ZXJEcmFnZ2luZyhldilcclxuICAgICAgICAgICAgdGhpcy50b3VjaE9yTW91c2UuaXNNb3VzZURvd24gPSBmYWxzZVxyXG4gICAgICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5pc0RyYWdnaW5nID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Q3VycmVudEluZGV4T25Nb3ZlKGV2KSB7XHJcbiAgICAgICAgY29uc3QgdG91Y2hJbmZvID0gdGhpcy5nZXRUb3VjaEluZm8oZXYpXHJcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2dpbmdJbmZvLmdyb3VwSW5kZXggPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ0luZm8uZ3JvdXBJbmRleCA9IHRoaXMuZ2V0R3JvdXBJbmRleEJlbG9uZ3NFdmVudChldilcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZ0luZGV4ID0gdGhpcy5kcmFnZ2luZ0luZm8uZ3JvdXBJbmRleFxyXG4gICAgICAgIGlmICh0eXBlb2YgZ0luZGV4ID09PSAnbnVtYmVyJyAmJiAodGhpcy5pdGVtc1tnSW5kZXhdLmRpdmlkZXIgfHwgIXRoaXMuaXRlbXNbZ0luZGV4XS5saXN0KSkge1xyXG4gICAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbW92ZUNvdW50ID0gKHRoaXMuZHJhZ2dpbmdJbmZvLnN0YXJ0UGFnZVkgLSB0b3VjaEluZm8ucGFnZVkpIC8gMzJcclxuICAgICAgICBjb25zdCBtb3ZlZEluZGV4ID0gdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gKyBtb3ZlQ291bnRcclxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9IG1vdmVkSW5kZXhcclxuICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5zdGFydFBhZ2VZID0gdG91Y2hJbmZvLnBhZ2VZXHJcbiAgICB9XHJcblxyXG4gICAgY29ycmVjdGlvbkFmdGVyRHJhZ2dpbmcoZXYpIHtcclxuICAgICAgICBjb25zdCBnSW5kZXggPSB0aGlzLmRyYWdnaW5nSW5mby5ncm91cEluZGV4XHJcbiAgICAgICAgdGhpcy5jb3JyZWN0aW9uQ3VycmVudEluZGV4KGV2LCBnSW5kZXgpXHJcbiAgICAgICAgdGhpcy5kcmFnZ2luZ0luZm8uZ3JvdXBJbmRleCA9IG51bGxcclxuICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5zdGFydFBhZ2VZID0gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIGNvcnJlY3Rpb25DdXJyZW50SW5kZXgoZXYsIGdJbmRleCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGdJbmRleCA9PT0gJ251bWJlcicgJiYgdGhpcy5pdGVtc1tnSW5kZXhdLmRpdmlkZXIgIT09IHRydWUgJiYgdGhpcy5pdGVtc1tnSW5kZXhdLmxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdW5zYWZlR3JvdXBJbmRleCA9IHRoaXMuY3VycmVudEluZGV4TGlzdFtnSW5kZXhdXHJcbiAgICAgICAgICAgICAgICBsZXQgbW92ZWRJbmRleCA9IHVuc2FmZUdyb3VwSW5kZXhcclxuICAgICAgICAgICAgICAgIGlmICh1bnNhZmVHcm91cEluZGV4ID4gdGhpcy5pdGVtc1tnSW5kZXhdLmxpc3QubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vdmVkSW5kZXggPSB0aGlzLml0ZW1zW2dJbmRleF0ubGlzdC5sZW5ndGggLSAxXHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVuc2FmZUdyb3VwSW5kZXggPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW92ZWRJbmRleCA9IDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1vdmVkSW5kZXggPSBNYXRoLnJvdW5kKG1vdmVkSW5kZXgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9IG1vdmVkSW5kZXhcclxuICAgICAgICAgICAgICAgIGlmIChtb3ZlZEluZGV4ICE9PSB0aGlzLmxhc3RDdXJyZW50SW5kZXhMaXN0W2dJbmRleF0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLk9uQ2hhbmdlLmVtaXQoeyBnSW5kZXgsIGlJbmRleDogbW92ZWRJbmRleCB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0Q3VycmVudEluZGV4TGlzdCA9IFtdLmNvbmNhdCh0aGlzLmN1cnJlbnRJbmRleExpc3QpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDApXHJcbiAgICB9XHJcblxyXG4gICAgaXNDdXJyZW50SXRlbShnSW5kZXgsIGlJbmRleCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9PT0gaUluZGV4XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VycmVudEluZGV4TGlzdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50SW5kZXhMaXN0XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0R3JvdXBDbGFzcyhnSW5kZXgpIHtcclxuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuaXRlbXNbZ0luZGV4XVxyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRXZWlnaHRDbGFzcyA9ICd3ZWlnaHQtJyArIChncm91cC53ZWlnaHQgfHwgMSlcclxuICAgICAgICBjb25zdCBncm91cENsYXNzID0gW2RlZmF1bHRXZWlnaHRDbGFzc11cclxuICAgICAgICBpZiAoZ3JvdXAuY2xhc3NOYW1lKSB7XHJcbiAgICAgICAgICAgIGdyb3VwQ2xhc3MucHVzaChncm91cC5jbGFzc05hbWUpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBncm91cENsYXNzXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SXRlbUNsYXNzKGdJbmRleCwgaUluZGV4LCBpc0RpdmlkZXIgPSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5pdGVtc1tnSW5kZXhdXHJcbiAgICAgICAgY29uc3QgaXRlbUNsYXNzID0gW11cclxuICAgICAgICBpZiAoIWlzRGl2aWRlciAmJiB0aGlzLmlzQ3VycmVudEl0ZW0oZ0luZGV4LCBpSW5kZXgpKSB7XHJcbiAgICAgICAgICAgIGl0ZW1DbGFzcy5wdXNoKCdzbW9vdGgtaXRlbS1zZWxlY3RlZCcpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChncm91cC50ZXh0QWxpZ24pIHtcclxuICAgICAgICAgICAgaXRlbUNsYXNzLnB1c2goJ3RleHQtJyArIGdyb3VwLnRleHRBbGlnbilcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGl0ZW1DbGFzc1xyXG4gICAgfVxyXG5cclxuICAgIGdldEl0ZW1TdHlsZShnSW5kZXgsIGlJbmRleCkge1xyXG4gICAgICAgIGNvbnN0IGdhcENvdW50ID0gdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gLSBpSW5kZXhcclxuICAgICAgICBpZiAoTWF0aC5hYnMoZ2FwQ291bnQpIDwgKDkwIC8gdGhpcy5pdGVtUGVyRGVncmVlKSkge1xyXG4gICAgICAgICAgICBjb25zdCByb3RhdGVTdHlsZSA9IHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZVgoJyArIGdhcENvdW50ICogdGhpcy5pdGVtUGVyRGVncmVlICsgJ2RlZykgdHJhbnNsYXRlM2QoMCwgMCwgNS42MjVlbSknLFxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogKDEgLSBNYXRoLmFicyhnYXBDb3VudCkgLyAoOTAgLyB0aGlzLml0ZW1QZXJEZWdyZWUpKS50b1N0cmluZygpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nSW5mby5pc0RyYWdnaW5nKSB7XHJcbiAgICAgICAgICAgICAgICByb3RhdGVTdHlsZVsndHJhbnNpdGlvbiddID0gJ3RyYW5zZm9ybSAxNTBtcyBlYXNlLW91dCdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcm90YXRlU3R5bGVcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGdhcENvdW50ID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4geyB0cmFuc2Zvcm06ICdyb3RhdGVYKDkwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCA1LjYyNWVtKScgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHRyYW5zZm9ybTogJ3JvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCA1LjYyNWVtKScgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8IS0tIDxheC1jYXJvdXNlbCBbd2lkdGhdPVwid2lkdGhcIiBbaGVpZ2h0XT1cImhlaWdodFwiIFtmaXhlZFdpZHRoXT1cIndpZHRoXCIgW2ZpeGVkSGVpZ2h0XT1cIml0ZW1IZWlnaHRcIiAgW2NlbnRlcmVkXT1cInRydWVcIiBbdmVydGljYWxdPVwidHJ1ZVwiIFtsb29wXT1cImZhbHNlXCIgW3doZWVsXT1cInRydWVcIiAob25TbGlkZUNoYW5nZWQpPVwiX2hhbmRsZU1vdmVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPGF4LWNhcm91c2VsLWl0ZW0gY2xhc3M9XCJheC1waWNrZXItaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYXgtY2Fyb3VzZWwtaXRlbT5cclxuPC9heC1jYXJvdXNlbD4gLS0+XHJcbjxkaXYgY2xhc3M9XCJuZy1kYXRhLXBpY2tlciBmbGV4LWJveFwiPlxyXG5cclxuICA8IS0tIHBpY2tlci1ncm91cC1sYXllciAtLT5cclxuICA8ZGl2ICNwaWNrZXJHcm91cExheWVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBpdGVtczsgbGV0IGdJID0gaW5kZXhcIiBjbGFzcz1cInBpY2tlci1ncm91cFwiIFtuZ0NsYXNzXT1cImdldEdyb3VwQ2xhc3MoZ0kpXCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBpY2tlci1saXN0XCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJncm91cC5kaXZpZGVyIGVsc2UgbmdJZkVsc2VcIiBjbGFzcz1cInBpY2tlci1pdGVtIGRpdmlkZXJcIiBbbmdDbGFzc109XCJnZXRJdGVtQ2xhc3MoZ0ksIGksIHRydWUpXCI+XHJcbiAgICAgICAge3sgZ3JvdXAudGV4dCB9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgI25nSWZFbHNlICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwLmxpc3Q7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInBpY2tlci1pdGVtXCIgW25nQ2xhc3NdPVwiZ2V0SXRlbUNsYXNzKGdJLCBpKVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0SXRlbVN0eWxlKGdJLCBpKVwiPlxyXG4gICAgICAgIHt7IGl0ZW0udmFsdWUgfHwgaXRlbSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAjcGlja2VySGFuZGxlTGF5ZXIgY2xhc3M9XCJwaWNrZXItaGFuZGxlLWxheWVyIGZsZXgtYm94IGRpci1jb2x1bW5cIj5cclxuICAgIDxkaXYgZGF0YS10eXBlPVwidG9wXCIgY2xhc3M9XCJwaWNrZXItdG9wIHdlaWdodC0xXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGRhdGEtdHlwZT1cIm1pZGRsZVwiIGNsYXNzPVwicGlja2VyLW1pZGRsZVwiPjwvZGl2PlxyXG4gICAgPGRpdiBkYXRhLXR5cGU9XCJib3R0b21cIiBjbGFzcz1cInBpY2tlci1ib3R0b20gd2VpZ2h0LTFcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLm1vZGVsLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9waWNrZXIvcGlja2VyLm1vZGVsLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFBpY2tlckl0ZW0ge1xyXG4gIHRleHRBbGlnbj86ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnIHwgJ2p1c3RpZnknIHwgJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdub3dyYXAnIHwgJ3dyYXAnXHJcbiAgd2VpZ2h0PzogMSB8IDIgfCAzIHwgNCB8IDUgfCA2IHwgNyB8IDggfCA5IHwgMTAgfCAxMSB8IDEyXHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nXHJcblxyXG4gIG9uQ2xpY2s/OiBGdW5jdGlvblxyXG4gIGN1cnJlbnRJbmRleD86IG51bWJlclxyXG4gIGxpc3Q/Olx0QXJyYXk8YW55PlxyXG5cclxuICBkaXZpZGVyPzogYm9vbGVhblxyXG4gIHRleHQ/OiBzdHJpbmdcclxufSJdfQ==
|
|
@@ -38,6 +38,7 @@ export class AXPopoverComponent extends AXInteractiveComponenetMixin {
|
|
|
38
38
|
this.closeTrigger = 'clickout';
|
|
39
39
|
//
|
|
40
40
|
this.hasBackdrop = false;
|
|
41
|
+
this.adaptivityEnabled = false;
|
|
41
42
|
//
|
|
42
43
|
this._mousePos = { x: 0, y: 0 };
|
|
43
44
|
this._isScrollAttached = false;
|
|
@@ -150,7 +151,7 @@ export class AXPopoverComponent extends AXInteractiveComponenetMixin {
|
|
|
150
151
|
if (!targetRef)
|
|
151
152
|
return;
|
|
152
153
|
if (!this._overlayRef) {
|
|
153
|
-
if (this._platform.is('Mobile')) {
|
|
154
|
+
if (this._platform.is('Mobile') && this.adaptivityEnabled) {
|
|
154
155
|
this._openAsActionsheet();
|
|
155
156
|
}
|
|
156
157
|
else {
|
|
@@ -220,7 +221,7 @@ export class AXPopoverComponent extends AXInteractiveComponenetMixin {
|
|
|
220
221
|
}
|
|
221
222
|
}
|
|
222
223
|
AXPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
223
|
-
AXPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" } }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
224
|
+
AXPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" } }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
224
225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverComponent, decorators: [{
|
|
225
226
|
type: Component,
|
|
226
227
|
args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>" }]
|
|
@@ -239,6 +240,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
239
240
|
type: Input
|
|
240
241
|
}], backdropClass: [{
|
|
241
242
|
type: Input
|
|
243
|
+
}], adaptivityEnabled: [{
|
|
244
|
+
type: Input
|
|
242
245
|
}], onOpened: [{
|
|
243
246
|
type: Output
|
|
244
247
|
}], onClosed: [{
|
|
@@ -247,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
247
250
|
type: HostListener,
|
|
248
251
|
args: ['keydown', ['$event']]
|
|
249
252
|
}] } });
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNkIsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBb0IsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbE4sT0FBTyxFQUFFLGVBQWUsRUFBZ0MsNEJBQTRCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEcsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZOUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDRCQUE0QjtJQUVsRSxZQUNVLFdBQXVCLEVBQ3hCLElBQXVCLEVBQ3RCLEtBQWEsRUFDYixRQUFpQixFQUNqQixTQUFxQixFQUNyQixpQkFBbUM7UUFHM0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVJqQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEs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QWM7Z0JBUXpCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFPTixRQUFRO3NCQURQLE1BQU07Z0JBR1AsUUFBUTtzQkFEUCxNQUFNO2dCQTREUCxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBIb3N0TGlzdGVuZXIsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCwgQVhDb25uZWN0ZWRQb3NpdGlvbiwgQVhFdmVudCwgQVhJbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBBWERyYXdpbmdVdGlsLCBBWFBsYXRmb3JtLCBBWFBvaW50IH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcG9wb3ZlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBBWEludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuXHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgfVxyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBIVE1MRWxlbWVudDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdGFyZ2V0KCk6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHRhcmdldCh2OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBBWEJhc2VDb21wb25lbnQpIHtcclxuICAgIGlmICh2IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHY7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgRWxlbWVudFJlZilcclxuICAgICAgdGhpcy5fdGFyZ2V0ID0gdi5uYXRpdmVFbGVtZW50O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEFYQmFzZUNvbXBvbmVudClcclxuICAgICAgdGhpcy5fdGFyZ2V0ID0gdi5fZ2V0SW5uZXJFbGVtZW50KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBwb3NpdGlvbjogQVhDb25uZWN0ZWRQb3NpdGlvbiB8IEFYQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xyXG4gICAgfVxyXG4gIF07XHJcbiAgLy9cclxuICBAVmlld0NoaWxkKCdiYXNlVGVtcGxhdGUnKVxyXG4gIF9iYXNlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgX3RlbXBsYXRlUG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcclxuXHJcbiAgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIG9wZW5UcmlnZ2VyOiAnbWFudWFsJyB8ICdjbGljaycgfCAnbW91c2VvdmVyJyB8ICd0b2dnbGUnID0gJ3RvZ2dsZSc7XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIGNsb3NlVHJpZ2dlcjogJ21hbnVhbCcgfCAnY2xpY2tvdXQnIHwgJ21vdXNlb3V0JyA9ICdjbGlja291dCc7XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIGhhc0JhY2tkcm9wOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYmFja2Ryb3BDbGFzczogc3RyaW5nO1xyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfbW91c2VQb3M6IEFYUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcclxuICBwcml2YXRlIF9pc1Njcm9sbEF0dGFjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy9cclxuICBAT3V0cHV0KClcclxuICBvbk9wZW5lZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcblxyXG4gIF9lbWl0T25PcGVuZWRFdmVudCgpIHtcclxuICAgIHRoaXMub25PcGVuZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2VtaXRPbkNsb3NlZEV2ZW50KCkge1xyXG4gICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgb25WaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLl90YXJnZXQpIHtcclxuICAgICAgaWYgKHRoaXMub3BlblRyaWdnZXIgPT09ICdtb3VzZW92ZXInKSB7XHJcbiAgICAgICAgY29uc3QgbW91c2VFbnRlciQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fdGFyZ2V0LCAnbW91c2VvdmVyJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKG1vdXNlRW50ZXIkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBvaW50ID0geyB4OiBlLmNsaWVudFgsIHk6IGUuY2xpZW50WSB9O1xyXG4gICAgICAgICAgaWYgKEFYRHJhd2luZ1V0aWwuaXNJbkVsZW1lbnRCb3VuZChwb2ludCwgdGhpcy5fdGFyZ2V0KSlcclxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNsb3NlVHJpZ2dlciA9PT0gJ21vdXNlb3V0Jykge1xyXG4gICAgICAgIGNvbnN0IG1vdXNlTW92ZSQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIobW91c2VNb3ZlJC5waXBlKHRocm90dGxlVGltZSg1MCkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgIHRoaXMuX21vdXNlUG9zLnggPSBlLmNsaWVudFg7XHJcbiAgICAgICAgICB0aGlzLl9tb3VzZVBvcy55ID0gZS5jbGllbnRZO1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICghXy5zb21lKFt0aGlzLl90YXJnZXQsIHRoaXMuX292ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnRdLCBlbCA9PiBfLmluY2x1ZGVzKGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KHRoaXMuX21vdXNlUG9zLngsIHRoaXMuX21vdXNlUG9zLnkpLCBlbCkpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICB9LCAxMDApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgfVxyXG4gICAgICAvL1xyXG4gICAgICBpZiAodGhpcy5vcGVuVHJpZ2dlciA9PT0gJ2NsaWNrJyB8fCB0aGlzLm9wZW5UcmlnZ2VyID09PSAndG9nZ2xlJykge1xyXG4gICAgICAgIGNvbnN0IGNsaWNrJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl90YXJnZXQsICdjbGljaycpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1YihjbGljayQuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vcGVuVHJpZ2dlciA9PSAndG9nZ2xlJyA/IHRoaXMudG9nZ2xlKCkgOiB0aGlzLm9wZW4oKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy9cclxuICBvbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHtcclxuICAgICAgcz8udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgX2hhbmRsZUtleWRvd25IYW5kbGVyKGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIC8vIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiBlLnR5cGUgPT09ICdrZXlkb3duJykge1xyXG4gICAgLy8gICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgLy8gfVxyXG4gICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcclxuICB9XHJcbiAgLy9cclxuICBjbG9zZSgpIHtcclxuICAgIGlmICghdGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9lbWl0T25DbG9zZWRFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgZGlzcG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xyXG4gIH1cclxuICAvL1xyXG4gIG9wZW4oKSB7XHJcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpIHtcclxuICAgIGNvbnN0IHRhcmdldFJlZiA9IHRoaXMuX3RhcmdldDtcclxuICAgIGlmICghdGFyZ2V0UmVmKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5pcygnTW9iaWxlJykpIHtcclxuICAgICAgICB0aGlzLl9vcGVuQXNBY3Rpb25zaGVldCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc1BvcG92ZXIodGFyZ2V0UmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09ICdjbGlja291dCcpIHtcclxuICAgICAgICB0aGlzLl9hZGRTdWIodGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gYy50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGFyZ2V0UmVmO1xyXG4gICAgICAgICAgaWYgKCEoY29tRWxlbS5jb250YWlucyh0YXJnZXQpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQpIHtcclxuICAgICAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIShjLm5hdGl2ZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpKVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZVBvcnRhbCkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9iYXNlVGVtcGxhdGUsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzUG9wb3Zlcih0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9uKSA/IHRoaXMucG9zaXRpb24gOiBbdGhpcy5wb3NpdGlvbl0pXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbdGhpcy5iYWNrZHJvcENsYXNzIHx8ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc0FjdGlvbnNoZWV0KCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8oZG9jdW1lbnQuYm9keSkud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xyXG4gICAgICAgIH1cclxuICAgICAgXSksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1zbGlkZUluVXAnLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmID8gdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRTdWIoc3ViOiBTdWJzY3JpcHRpb24pIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChzdWIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNkIsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBb0IsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbE4sT0FBTyxFQUFFLGVBQWUsRUFBZ0MsNEJBQTRCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEcsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZOUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDRCQUE0QjtJQUVsRSxZQUNVLFdBQXVCLEVBQ3hCLElBQXVCLEVBQ3RCLEtBQWEsRUFDYixRQUFpQixFQUNqQixTQUFxQixFQUNyQixpQkFBbUM7UUFHM0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVJqQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEs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QWVOLFFBQVE7c0JBRFAsS0FBSztnQkFpQk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBUXpCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxNQUFNO2dCQUdQLFFBQVE7c0JBRFAsTUFBTTtnQkE0RFAscUJBQXFCO3NCQURwQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgSG9zdExpc3RlbmVyLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQ29ubmVjdGVkUG9zaXRpb24sIEFYRXZlbnQsIEFYSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQVhEcmF3aW5nVXRpbCwgQVhQbGF0Zm9ybSwgQVhQb2ludCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXBvcG92ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQb3BvdmVyQ29tcG9uZW50IGV4dGVuZHMgQVhJbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybSxcclxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcblxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gIH1cclxuICAvL1xyXG4gIHByaXZhdGUgX3RhcmdldDogSFRNTEVsZW1lbnQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBBWEJhc2VDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcclxuICB9XHJcbiAgcHVibGljIHNldCB0YXJnZXQodjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgQVhCYXNlQ29tcG9uZW50KSB7XHJcbiAgICBpZiAodiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KVxyXG4gICAgICB0aGlzLl90YXJnZXQgPSB2O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpXHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHYubmF0aXZlRWxlbWVudDtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBBWEJhc2VDb21wb25lbnQpXHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHYuX2dldElubmVyRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246IEFYQ29ubmVjdGVkUG9zaXRpb24gfCBBWENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbSdcclxuICAgIH1cclxuICBdO1xyXG4gIC8vXHJcbiAgQFZpZXdDaGlsZCgnYmFzZVRlbXBsYXRlJylcclxuICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG4gIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XHJcblxyXG4gIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBvcGVuVHJpZ2dlcjogJ21hbnVhbCcgfCAnY2xpY2snIHwgJ21vdXNlb3ZlcicgfCAndG9nZ2xlJyA9ICd0b2dnbGUnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBjbG9zZVRyaWdnZXI6ICdtYW51YWwnIHwgJ2NsaWNrb3V0JyB8ICdtb3VzZW91dCcgPSAnY2xpY2tvdXQnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJhY2tkcm9wQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBhZGFwdGl2aXR5RW5hYmxlZDogYm9vbGVhbj1mYWxzZTtcclxuICAvL1xyXG4gIHByaXZhdGUgX21vdXNlUG9zOiBBWFBvaW50ID0geyB4OiAwLCB5OiAwIH07XHJcbiAgcHJpdmF0ZSBfaXNTY3JvbGxBdHRhY2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vXHJcbiAgQE91dHB1dCgpXHJcbiAgb25PcGVuZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcclxuICBAT3V0cHV0KClcclxuICBvbkNsb3NlZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xyXG5cclxuICBfZW1pdE9uT3BlbmVkRXZlbnQoKSB7XHJcbiAgICB0aGlzLm9uT3BlbmVkLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9lbWl0T25DbG9zZWRFdmVudCgpIHtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL1xyXG4gIG9uVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5fdGFyZ2V0KSB7XHJcbiAgICAgIGlmICh0aGlzLm9wZW5UcmlnZ2VyID09PSAnbW91c2VvdmVyJykge1xyXG4gICAgICAgIGNvbnN0IG1vdXNlRW50ZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ21vdXNlb3ZlcicpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1Yihtb3VzZUVudGVyJC5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBwb2ludCA9IHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfTtcclxuICAgICAgICAgIGlmIChBWERyYXdpbmdVdGlsLmlzSW5FbGVtZW50Qm91bmQocG9pbnQsIHRoaXMuX3RhcmdldCkpXHJcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jbG9zZVRyaWdnZXIgPT09ICdtb3VzZW91dCcpIHtcclxuICAgICAgICBjb25zdCBtb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKG1vdXNlTW92ZSQucGlwZSh0aHJvdHRsZVRpbWUoNTApKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9tb3VzZVBvcy54ID0gZS5jbGllbnRYO1xyXG4gICAgICAgICAgdGhpcy5fbW91c2VQb3MueSA9IGUuY2xpZW50WTtcclxuICAgICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIV8uc29tZShbdGhpcy5fdGFyZ2V0LCB0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50XSwgZWwgPT4gXy5pbmNsdWRlcyhkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCh0aGlzLl9tb3VzZVBvcy54LCB0aGlzLl9tb3VzZVBvcy55KSwgZWwpKSlcclxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgfSwgMTAwKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgLy9cclxuICAgICAgaWYgKHRoaXMub3BlblRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy5vcGVuVHJpZ2dlciA9PT0gJ3RvZ2dsZScpIHtcclxuICAgICAgICBjb25zdCBjbGljayQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fdGFyZ2V0LCAnY2xpY2snKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIoY2xpY2skLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgIHRoaXMub3BlblRyaWdnZXIgPT0gJ3RvZ2dsZScgPyB0aGlzLnRvZ2dsZSgpIDogdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vXHJcbiAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiB7XHJcbiAgICAgIHM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIF9oYW5kbGVLZXlkb3duSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAvLyBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgZS50eXBlID09PSAna2V5ZG93bicpIHtcclxuICAgIC8vICAgdGhpcy50b2dnbGUoKTtcclxuICAgIC8vIH1cclxuICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZSgpIHtcclxuICAgIHRoaXMuaXNPcGVuID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgdGhpcy5fZW1pdE9uQ2xvc2VkRXZlbnQoKTtcclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gbnVsbDtcclxuICB9XHJcbiAgLy9cclxuICBvcGVuKCkge1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl90ZW1wbGF0ZVBvcnRhbCk7XHJcbiAgICB0aGlzLl9lbWl0T25PcGVuZWRFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKSB7XHJcbiAgICBjb25zdCB0YXJnZXRSZWYgPSB0aGlzLl90YXJnZXQ7XHJcbiAgICBpZiAoIXRhcmdldFJlZilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICBpZiAodGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpICYmIHRoaXMuYWRhcHRpdml0eUVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLl9vcGVuQXNBY3Rpb25zaGVldCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc1BvcG92ZXIodGFyZ2V0UmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09ICdjbGlja291dCcpIHtcclxuICAgICAgICB0aGlzLl9hZGRTdWIodGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gYy50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGFyZ2V0UmVmO1xyXG4gICAgICAgICAgaWYgKCEoY29tRWxlbS5jb250YWlucyh0YXJnZXQpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQpIHtcclxuICAgICAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIShjLm5hdGl2ZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpKVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZVBvcnRhbCkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9iYXNlVGVtcGxhdGUsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzUG9wb3Zlcih0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9uKSA/IHRoaXMucG9zaXRpb24gOiBbdGhpcy5wb3NpdGlvbl0pXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbdGhpcy5iYWNrZHJvcENsYXNzIHx8ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc0FjdGlvbnNoZWV0KCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8oZG9jdW1lbnQuYm9keSkud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xyXG4gICAgICAgIH1cclxuICAgICAgXSksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1zbGlkZUluVXAnLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmID8gdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRTdWIoc3ViOiBTdWJzY3JpcHRpb24pIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChzdWIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|