@acorex/components 5.4.0 → 5.5.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/base/mixin/datalist-component.class.mjs +17 -6
- package/esm2020/lib/calendar/calendar.component.mjs +1 -3
- package/esm2020/lib/color-picker/color-picker.component.mjs +4 -7
- package/esm2020/lib/form/form.component.mjs +8 -5
- package/esm2020/lib/menu/menu.component.mjs +5 -5
- package/esm2020/lib/searchbox/searchbox.component.mjs +13 -7
- package/esm2020/lib/searchbox/searchbox.module.mjs +4 -3
- package/esm2020/lib/selectbox/selectbox.component.mjs +16 -15
- package/esm2020/lib/validation/validation-rule.widget.mjs +17 -11
- package/fesm2015/acorex-components.mjs +66 -47
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +66 -47
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/form/form.component.d.ts +1 -1
- package/lib/menu/menu.component.d.ts +1 -1
- package/lib/searchbox/searchbox.component.d.ts +1 -0
- package/lib/searchbox/searchbox.module.d.ts +2 -1
- package/lib/selectbox/selectbox.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -61,7 +61,17 @@ export function _DatalistComponenetMixin(Base) {
|
|
|
61
61
|
return __classPrivateFieldGet(this, _isLoading, "f");
|
|
62
62
|
}
|
|
63
63
|
_formatData(v) {
|
|
64
|
-
return _.unionBy(v.map((o, i) => {
|
|
64
|
+
// return _.unionBy(v.map((o, i) => {
|
|
65
|
+
// if (typeof o == 'object')
|
|
66
|
+
// return o
|
|
67
|
+
// else {
|
|
68
|
+
// const no: any = {};
|
|
69
|
+
// no[this.valueField] = o;
|
|
70
|
+
// no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;
|
|
71
|
+
// return no;
|
|
72
|
+
// }
|
|
73
|
+
// }), this.valueField);
|
|
74
|
+
return v.map((o, i) => {
|
|
65
75
|
if (typeof o == 'object')
|
|
66
76
|
return o;
|
|
67
77
|
else {
|
|
@@ -70,16 +80,17 @@ export function _DatalistComponenetMixin(Base) {
|
|
|
70
80
|
no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;
|
|
71
81
|
return no;
|
|
72
82
|
}
|
|
73
|
-
})
|
|
83
|
+
});
|
|
74
84
|
}
|
|
75
85
|
_fetchData(opts) {
|
|
76
|
-
|
|
86
|
+
const skip = __classPrivateFieldGet(this, _currentPage, "f") * this.pageSize, take = this.pageSize;
|
|
87
|
+
if ((this.loadedCount >= this.totalCount && this.totalCount != 0) || __classPrivateFieldGet(this, _isLoading, "f") || !__classPrivateFieldGet(this, _isLazy, "f") || (skip > this.totalCount)) {
|
|
77
88
|
return;
|
|
78
89
|
}
|
|
79
90
|
if (__classPrivateFieldGet(this, _items, "f")) {
|
|
80
91
|
__classPrivateFieldSet(this, _isLoading, true, "f");
|
|
81
92
|
const fetchFn = __classPrivateFieldGet(this, _items, "f");
|
|
82
|
-
fetchFn({ skip
|
|
93
|
+
fetchFn({ skip, take, searchQuery: opts?.searchQuery }).then(c => {
|
|
83
94
|
var _a;
|
|
84
95
|
if (Array.isArray(c)) {
|
|
85
96
|
__classPrivateFieldSet(this, _loadedItems, this._formatData(c), "f");
|
|
@@ -87,7 +98,7 @@ export function _DatalistComponenetMixin(Base) {
|
|
|
87
98
|
}
|
|
88
99
|
else {
|
|
89
100
|
__classPrivateFieldSet(this, _totalItems, c.total || c.items?.length || 0, "f");
|
|
90
|
-
__classPrivateFieldSet(this, _loadedItems, __classPrivateFieldGet(this, _loadedItems, "f").concat(this._formatData(c.items)), "f");
|
|
101
|
+
__classPrivateFieldSet(this, _loadedItems, [...new Set(__classPrivateFieldGet(this, _loadedItems, "f").concat(this._formatData(c.items)))], "f");
|
|
91
102
|
__classPrivateFieldSet(this, _currentPage, (_a = __classPrivateFieldGet(this, _currentPage, "f"), _a++, _a), "f");
|
|
92
103
|
}
|
|
93
104
|
this._cdr.markForCheck();
|
|
@@ -146,4 +157,4 @@ export const DATALIST_INPUTS = [
|
|
|
146
157
|
'items'
|
|
147
158
|
];
|
|
148
159
|
export const DATALIST_OUTPUT = [];
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9iYXNlL21peGluL2RhdGFsaXN0LWNvbXBvbmVudC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBTXZCLE1BQU0sVUFBVSx3QkFBd0IsQ0FBNkMsSUFBVzs7SUFDNUYsWUFBTyxLQUFNLFNBQVEsSUFBSTtZQTJCckIsWUFBWSxHQUFHLElBQVc7Z0JBQ3RCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDOztnQkExQm5CLGVBQVUsR0FBVyxJQUFJLENBQUM7Z0JBQzFCLGNBQVMsR0FBVyxNQUFNLENBQUM7Z0JBRTNCLGFBQVEsR0FBVyxFQUFFLENBQUM7Z0JBRXRCLHVCQUF1QixDQUFDLEVBQUM7Z0JBQ3pCLHFCQUFzQixLQUFLLEVBQUM7Z0JBQzVCLHVCQUFzQixFQUFFLEVBQUM7Z0JBQ3pCLHFCQUFvQixFQUFFLEVBQUM7Z0JBQ3ZCLHNCQUFzQixDQUFDLEVBQUM7Z0JBRXhCLGtCQUFtQixLQUFLLEVBQUM7Z0JBbUJ6QixpQkFBMEIsRUFBRSxFQUFDO1lBRjdCLENBQUM7WUFmRCxJQUFJLFVBQVU7Z0JBQ1YsT0FBTyx1QkFBQSxJQUFJLG1CQUFZLENBQUM7WUFDNUIsQ0FBQztZQUVELElBQUksTUFBTTtnQkFDTixPQUFPLHVCQUFBLElBQUksZUFBUSxDQUFDO1lBQ3hCLENBQUM7WUFFRCxJQUFJLFdBQVc7Z0JBQ1gsT0FBTyx1QkFBQSxJQUFJLG9CQUFhLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBUUQsSUFBSSxLQUFLO2dCQUNMLE9BQU8sdUJBQUEsSUFBSSxjQUFPLENBQUM7WUFDdkIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLENBQWtCO2dCQUN4QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2xCLHVCQUFBLElBQUksVUFBVSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFBLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDckIsdUJBQUEsSUFBSSxzQ0FBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDO2lCQUM3QjtxQkFDSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFVBQVUsRUFBRTtvQkFDOUIsdUJBQUEsSUFBSSxXQUFXLElBQUksTUFBQSxDQUFDO29CQUNwQix1QkFBQSxJQUFJLFVBQVUsQ0FBQyxNQUFBLENBQUM7aUJBQ25CO3FCQUNJO29CQUNELHVCQUFBLElBQUksVUFBVSxFQUFFLE1BQUEsQ0FBQztvQkFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNyQix1QkFBQSxJQUFJLHNDQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUM7aUJBQzdCO1lBQ0wsQ0FBQztZQUVELElBQUksWUFBWTtnQkFDWixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMzQixPQUFPLENBQUMsdUJBQUEsSUFBSSxjQUFPLElBQUksRUFBRSxDQUFVLENBQUM7aUJBQ3ZDO3FCQUNJLElBQUksT0FBTyx1QkFBQSxJQUFJLGNBQU8sSUFBSSxVQUFVLEVBQUU7b0JBQ3ZDLE9BQU8sdUJBQUEsSUFBSSxvQkFBYSxJQUFJLEVBQUUsQ0FBQztpQkFDbEM7Z0JBQ0QsT0FBTyxFQUFFLENBQUM7WUFDZCxDQUFDO1lBRUQsSUFBSSxTQUFTO2dCQUVULE9BQU8sdUJBQUEsSUFBSSxrQkFBVyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1lBRUQsSUFBSSxTQUFTO2dCQUNULE9BQU8sdUJBQUEsSUFBSSxrQkFBVyxDQUFDO1lBQzNCLENBQUM7WUFFRCxXQUFXLENBQUMsQ0FBUTtnQkFDaEIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQzVCLElBQUksT0FBTyxDQUFDLElBQUksUUFBUTt3QkFDcEIsT0FBTyxDQUFDLENBQUE7eUJBQ1A7d0JBQ0QsTUFBTSxFQUFFLEdBQVEsRUFBRSxDQUFDO3dCQUNuQixFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDeEIsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUMzRSxPQUFPLEVBQUUsQ0FBQztxQkFDYjtnQkFDTCxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDekIsQ0FBQztZQUVELFVBQVUsQ0FBQyxJQUErQjtnQkFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLHVCQUFBLElBQUksa0JBQVcsSUFBSSxDQUFDLHVCQUFBLElBQUksZUFBUSxFQUFFO29CQUNuRyxPQUFPO2lCQUNWO2dCQUNELElBQUksdUJBQUEsSUFBSSxjQUFPLEVBQUU7b0JBQ2IsdUJBQUEsSUFBSSxjQUFjLElBQUksTUFBQSxDQUFDO29CQUN2QixNQUFNLE9BQU8sR0FBRyx1QkFBQSxJQUFJLGNBQXNDLENBQUM7b0JBQzNELE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBQSxJQUFJLG9CQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFOzt3QkFDL0csSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFOzRCQUNsQix1QkFBQSxJQUFJLGdCQUFnQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFBLENBQUM7NEJBQ3hDLHVCQUFBLElBQUksZUFBZSxDQUFDLENBQUMsTUFBTSxNQUFBLENBQUM7eUJBQy9COzZCQUNJOzRCQUNELHVCQUFBLElBQUksZUFBZSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsTUFBQSxDQUFDOzRCQUNuRCx1QkFBQSxJQUFJLGdCQUFnQix1QkFBQSxJQUFJLG9CQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQUEsQ0FBQzs0QkFDeEUsMkNBQUEsQ0FBQSxvREFBaUIsRUFBakIsSUFBbUIsSUFBQSxDQUFBLE1BQUEsQ0FBQzt5QkFDdkI7d0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTt3QkFDWix1QkFBQSxJQUFJLGNBQWMsS0FBSyxNQUFBLENBQUM7d0JBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFDckIsdUJBQUEsSUFBSSxzQ0FBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDO29CQUM5QixDQUFDLENBQUMsQ0FBQztpQkFDTjtZQUNMLENBQUM7WUFFRCxhQUFhO1lBRWIsQ0FBQztZQVVELDBCQUEwQixDQUFDLElBQUk7Z0JBQzNCLElBQUksSUFBSTtvQkFDSixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzs7b0JBRXpHLE9BQU8sWUFBWSxDQUFDO1lBQzVCLENBQUM7WUFFRCxnQkFBZ0IsQ0FBQyxJQUFJO2dCQUNqQixJQUFJLENBQUMsSUFBSTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFFRCxPQUFPO2dCQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsQ0FBQztZQUVELEtBQUs7Z0JBQ0QsdUJBQUEsSUFBSSxjQUFjLEtBQUssTUFBQSxDQUFDO2dCQUN4Qix1QkFBQSxJQUFJLGdCQUFnQixDQUFDLE1BQUEsQ0FBQztnQkFDdEIsSUFBSSx1QkFBQSxJQUFJLG9CQUFhLEVBQUU7b0JBQ25CLHVCQUFBLElBQUksb0JBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2lCQUNoQztZQUNMLENBQUM7U0FFSjs7Ozs7Ozs7OztZQS9CTyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN2QixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUMsQ0FBQTtZQUNELHVCQUFBLElBQUksY0FBYyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLE1BQUEsQ0FBQztRQUNsRSxDQUFDO1dBMkJKO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFdBQVc7SUFDWCxPQUFPO0NBQ1YsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xyXG5pbXBvcnQgeyBBWERhdGFMaXN0RmV0Y2hEYXRhQ2FsbGJhY2ssIEFYRGF0YUxpc3RJdGVtcyB9IGZyb20gJy4vZGF0YWxpc3QuY2xhc3MnO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfRGF0YWxpc3RDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgICAgIHZhbHVlRmllbGQ6IHN0cmluZyA9ICdpZCc7XHJcbiAgICAgICAgdGV4dEZpZWxkOiBzdHJpbmcgPSAndGV4dCc7XHJcbiAgICAgICAgY2hpbGRyZW5GaWVsZDogc3RyaW5nO1xyXG4gICAgICAgIHBhZ2VTaXplOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICAgICAgI2N1cnJlbnRQYWdlOiBudW1iZXIgPSAwO1xyXG4gICAgICAgICNpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICAjbG9hZGVkSXRlbXM6IGFueVtdID0gW107XHJcbiAgICAgICAgI2ZsYXRJdGVtczogYW55W10gPSBbXTtcclxuICAgICAgICAjdG90YWxJdGVtczogbnVtYmVyID0gMDtcclxuXHJcbiAgICAgICAgI2lzTGF6eTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICBnZXQgdG90YWxDb3VudCgpOiBudW1iZXIge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jdG90YWxJdGVtcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBpc0xhenkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNpc0xhenk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBnZXQgbG9hZGVkQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2xvYWRlZEl0ZW1zPy5sZW5ndGggfHwgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICNpdGVtczogQVhEYXRhTGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgZ2V0IGl0ZW1zKCk6IEFYRGF0YUxpc3RJdGVtcyB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNpdGVtcztcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0IGl0ZW1zKHY6IEFYRGF0YUxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jaXRlbXMgPSB0aGlzLl9mb3JtYXREYXRhKHYpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25EYXRhTG9hZGVkKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiNnZW5lcmF0ZUZsYXRJdGVtcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiNpc0xhenkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jaXRlbXMgPSB2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jaXRlbXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uRGF0YUxvYWRlZCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jZ2VuZXJhdGVGbGF0SXRlbXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZ2V0IGRpc3BsYXlJdGVtcygpOiBhbnlbXSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKHRoaXMuI2l0ZW1zIHx8IFtdKSBhcyBhbnlbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy4jaXRlbXMgPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2xvYWRlZEl0ZW1zIHx8IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBmbGF0SXRlbXMoKTogYW55W10ge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2ZsYXRJdGVtcyB8fCBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNpc0xvYWRpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfZm9ybWF0RGF0YSh2OiBhbnlbXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gXy51bmlvbkJ5KHYubWFwKChvLCBpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG8gPT0gJ29iamVjdCcpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vOiBhbnkgPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICBub1t0aGlzLnZhbHVlRmllbGRdID0gbztcclxuICAgICAgICAgICAgICAgICAgICBub1tBcnJheS5pc0FycmF5KHRoaXMudGV4dEZpZWxkKSA/IHRoaXMudGV4dEZpZWxkWzBdIDogdGhpcy50ZXh0RmllbGRdID0gbztcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLCB0aGlzLnZhbHVlRmllbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgX2ZldGNoRGF0YShvcHRzPzogeyBzZWFyY2hRdWVyeT86IHN0cmluZyB9KSB7XHJcbiAgICAgICAgICAgIGlmICgodGhpcy5sb2FkZWRDb3VudCA+PSB0aGlzLnRvdGFsQ291bnQgJiYgdGhpcy50b3RhbENvdW50ICE9IDApIHx8IHRoaXMuI2lzTG9hZGluZyB8fCAhdGhpcy4jaXNMYXp5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuI2l0ZW1zKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiNpc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmV0Y2hGbiA9IHRoaXMuI2l0ZW1zIGFzIEFYRGF0YUxpc3RGZXRjaERhdGFDYWxsYmFjaztcclxuICAgICAgICAgICAgICAgIGZldGNoRm4oeyBza2lwOiB0aGlzLiNjdXJyZW50UGFnZSAqIHRoaXMucGFnZVNpemUsIHRha2U6IHRoaXMucGFnZVNpemUsIHNlYXJjaFF1ZXJ5OiBvcHRzPy5zZWFyY2hRdWVyeSB9KS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2xvYWRlZEl0ZW1zID0gdGhpcy5fZm9ybWF0RGF0YShjKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jdG90YWxJdGVtcyA9IGMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jdG90YWxJdGVtcyA9IGMudG90YWwgfHwgYy5pdGVtcz8ubGVuZ3RoIHx8IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2xvYWRlZEl0ZW1zID0gdGhpcy4jbG9hZGVkSXRlbXMuY29uY2F0KHRoaXMuX2Zvcm1hdERhdGEoYy5pdGVtcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50UGFnZSsrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiNpc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkRhdGFMb2FkZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiNnZW5lcmF0ZUZsYXRJdGVtcygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9vbkRhdGFMb2FkZWQoKSB7XHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICNnZW5lcmF0ZUZsYXRJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICAgICAgY29uc3QgZmxhdHRlbkZuID0gKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBbaXRlbSwgXy5mbGF0TWFwRGVlcChpdGVtLmNoaWxkcmVuLCBmbGF0dGVuRm4pXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLiNmbGF0SXRlbXMgPSBfLmZsYXRNYXBEZWVwKHRoaXMuZGlzcGxheUl0ZW1zLCBmbGF0dGVuRm4pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSkge1xyXG4gICAgICAgICAgICBpZiAoaXRlbSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMudGV4dEZpZWxkKSA/IHRoaXMudGV4dEZpZWxkLm1hcChjID0+IGl0ZW1bY10pLmpvaW4oJywnKSA6IGl0ZW1bdGhpcy50ZXh0RmllbGRdO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ0xvYWRpbmcuLi4nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgX3RyYWNrQnlGdW5jdGlvbihpdGVtKSB7XHJcbiAgICAgICAgICAgIGlmICghaXRlbSkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIHJldHVybiBpdGVtW3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZWZyZXNoKCkge1xyXG4gICAgICAgICAgICB0aGlzLmVtcHR5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW1wdHkoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuI2lzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLiNjdXJyZW50UGFnZSA9IDA7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLiNsb2FkZWRJdGVtcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jbG9hZGVkSXRlbXMubGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBEQVRBTElTVF9JTlBVVFMgPSBbXHJcbiAgICAncGFnZVNpemUnLFxyXG4gICAgJ3ZhbHVlRmllbGQnLFxyXG4gICAgJ3RleHRGaWVsZCcsXHJcbiAgICAnaXRlbXMnXHJcbl07XHJcbmV4cG9ydCBjb25zdCBEQVRBTElTVF9PVVRQVVQgPSBbXTtcclxuIl19
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9iYXNlL21peGluL2RhdGFsaXN0LWNvbXBvbmVudC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBTXZCLE1BQU0sVUFBVSx3QkFBd0IsQ0FBNkMsSUFBVzs7SUFDNUYsWUFBTyxLQUFNLFNBQVEsSUFBSTtZQTJCckIsWUFBWSxHQUFHLElBQVc7Z0JBQ3RCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDOztnQkExQm5CLGVBQVUsR0FBVyxJQUFJLENBQUM7Z0JBQzFCLGNBQVMsR0FBVyxNQUFNLENBQUM7Z0JBRTNCLGFBQVEsR0FBVyxFQUFFLENBQUM7Z0JBRXRCLHVCQUF1QixDQUFDLEVBQUM7Z0JBQ3pCLHFCQUFzQixLQUFLLEVBQUM7Z0JBQzVCLHVCQUFzQixFQUFFLEVBQUM7Z0JBQ3pCLHFCQUFvQixFQUFFLEVBQUM7Z0JBQ3ZCLHNCQUFzQixDQUFDLEVBQUM7Z0JBRXhCLGtCQUFtQixLQUFLLEVBQUM7Z0JBbUJ6QixpQkFBMEIsRUFBRSxFQUFDO1lBRjdCLENBQUM7WUFmRCxJQUFJLFVBQVU7Z0JBQ1YsT0FBTyx1QkFBQSxJQUFJLG1CQUFZLENBQUM7WUFDNUIsQ0FBQztZQUVELElBQUksTUFBTTtnQkFDTixPQUFPLHVCQUFBLElBQUksZUFBUSxDQUFDO1lBQ3hCLENBQUM7WUFFRCxJQUFJLFdBQVc7Z0JBQ1gsT0FBTyx1QkFBQSxJQUFJLG9CQUFhLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBUUQsSUFBSSxLQUFLO2dCQUNMLE9BQU8sdUJBQUEsSUFBSSxjQUFPLENBQUM7WUFDdkIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLENBQWtCO2dCQUN4QixJ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MkJKO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFdBQVc7SUFDWCxPQUFPO0NBQ1YsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xyXG5pbXBvcnQgeyBBWERhdGFMaXN0RmV0Y2hEYXRhQ2FsbGJhY2ssIEFYRGF0YUxpc3RJdGVtcyB9IGZyb20gJy4vZGF0YWxpc3QuY2xhc3MnO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfRGF0YWxpc3RDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgICAgIHZhbHVlRmllbGQ6IHN0cmluZyA9ICdpZCc7XHJcbiAgICAgICAgdGV4dEZpZWxkOiBzdHJpbmcgPSAndGV4dCc7XHJcbiAgICAgICAgY2hpbGRyZW5GaWVsZDogc3RyaW5nO1xyXG4gICAgICAgIHBhZ2VTaXplOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICAgICAgI2N1cnJlbnRQYWdlOiBudW1iZXIgPSAwO1xyXG4gICAgICAgICNpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICAjbG9hZGVkSXRlbXM6IGFueVtdID0gW107XHJcbiAgICAgICAgI2ZsYXRJdGVtczogYW55W10gPSBbXTtcclxuICAgICAgICAjdG90YWxJdGVtczogbnVtYmVyID0gMDtcclxuXHJcbiAgICAgICAgI2lzTGF6eTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICBnZXQgdG90YWxDb3VudCgpOiBudW1iZXIge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jdG90YWxJdGVtcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBpc0xhenkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNpc0xhenk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBnZXQgbG9hZGVkQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2xvYWRlZEl0ZW1zPy5sZW5ndGggfHwgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICNpdGVtczogQVhEYXRhTGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgZ2V0IGl0ZW1zKCk6IEFYRGF0YUxpc3RJdGVtcyB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNpdGVtcztcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0IGl0ZW1zKHY6IEFYRGF0YUxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jaXRlbXMgPSB0aGlzLl9mb3JtYXREYXRhKHYpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25EYXRhTG9hZGVkKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiNnZW5lcmF0ZUZsYXRJdGVtcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiNpc0xhenkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jaXRlbXMgPSB2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jaXRlbXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uRGF0YUxvYWRlZCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jZ2VuZXJhdGVGbGF0SXRlbXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZ2V0IGRpc3BsYXlJdGVtcygpOiBhbnlbXSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKHRoaXMuI2l0ZW1zIHx8IFtdKSBhcyBhbnlbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy4jaXRlbXMgPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2xvYWRlZEl0ZW1zIHx8IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBmbGF0SXRlbXMoKTogYW55W10ge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2ZsYXRJdGVtcyB8fCBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNpc0xvYWRpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfZm9ybWF0RGF0YSh2OiBhbnlbXSkge1xyXG4gICAgICAgICAgICAvLyByZXR1cm4gXy51bmlvbkJ5KHYubWFwKChvLCBpKSA9PiB7XHJcbiAgICAgICAgICAgIC8vICAgICBpZiAodHlwZW9mIG8gPT0gJ29iamVjdCcpXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgcmV0dXJuIG9cclxuICAgICAgICAgICAgLy8gICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIGNvbnN0IG5vOiBhbnkgPSB7fTtcclxuICAgICAgICAgICAgLy8gICAgICAgICBub1t0aGlzLnZhbHVlRmllbGRdID0gbztcclxuICAgICAgICAgICAgLy8gICAgICAgICBub1tBcnJheS5pc0FycmF5KHRoaXMudGV4dEZpZWxkKSA/IHRoaXMudGV4dEZpZWxkWzBdIDogdGhpcy50ZXh0RmllbGRdID0gbztcclxuICAgICAgICAgICAgLy8gICAgICAgICByZXR1cm4gbm87XHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH0pLCB0aGlzLnZhbHVlRmllbGQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdi5tYXAoKG8sIGkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbyA9PSAnb2JqZWN0JylcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb1xyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm86IGFueSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIG5vW3RoaXMudmFsdWVGaWVsZF0gPSBvO1xyXG4gICAgICAgICAgICAgICAgICAgIG5vW0FycmF5LmlzQXJyYXkodGhpcy50ZXh0RmllbGQpID8gdGhpcy50ZXh0RmllbGRbMF0gOiB0aGlzLnRleHRGaWVsZF0gPSBvO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBubztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfZmV0Y2hEYXRhKG9wdHM/OiB7IHNlYXJjaFF1ZXJ5Pzogc3RyaW5nIH0pIHtcclxuICAgICAgICAgICAgY29uc3Qgc2tpcCA9IHRoaXMuI2N1cnJlbnRQYWdlICogdGhpcy5wYWdlU2l6ZSwgdGFrZSA9IHRoaXMucGFnZVNpemU7XHJcbiAgICAgICAgICAgIGlmICgodGhpcy5sb2FkZWRDb3VudCA+PSB0aGlzLnRvdGFsQ291bnQgJiYgdGhpcy50b3RhbENvdW50ICE9IDApIHx8IHRoaXMuI2lzTG9hZGluZyB8fCAhdGhpcy4jaXNMYXp5IHx8IChza2lwID4gdGhpcy50b3RhbENvdW50KSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLiNpdGVtcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy4jaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZldGNoRm4gPSB0aGlzLiNpdGVtcyBhcyBBWERhdGFMaXN0RmV0Y2hEYXRhQ2FsbGJhY2s7XHJcbiAgICAgICAgICAgICAgICBmZXRjaEZuKHsgc2tpcCwgdGFrZSwgc2VhcmNoUXVlcnk6IG9wdHM/LnNlYXJjaFF1ZXJ5IH0pLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jbG9hZGVkSXRlbXMgPSB0aGlzLl9mb3JtYXREYXRhKGMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiN0b3RhbEl0ZW1zID0gYy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiN0b3RhbEl0ZW1zID0gYy50b3RhbCB8fCBjLml0ZW1zPy5sZW5ndGggfHwgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jbG9hZGVkSXRlbXMgPSBbLi4ubmV3IFNldCh0aGlzLiNsb2FkZWRJdGVtcy5jb25jYXQodGhpcy5fZm9ybWF0RGF0YShjLml0ZW1zKSkpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jY3VycmVudFBhZ2UrKztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25EYXRhTG9hZGVkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jZ2VuZXJhdGVGbGF0SXRlbXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfb25EYXRhTG9hZGVkKCkge1xyXG5cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAjZ2VuZXJhdGVGbGF0SXRlbXMoKTogdm9pZCB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZsYXR0ZW5GbiA9IChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW2l0ZW0sIF8uZmxhdE1hcERlZXAoaXRlbS5jaGlsZHJlbiwgZmxhdHRlbkZuKV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy4jZmxhdEl0ZW1zID0gXy5mbGF0TWFwRGVlcCh0aGlzLmRpc3BsYXlJdGVtcywgZmxhdHRlbkZuKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9nZXRJdGVtRGlzcGxheVRleHRUZW1wbHRlKGl0ZW0pIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0pXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnRleHRGaWVsZCkgPyB0aGlzLnRleHRGaWVsZC5tYXAoYyA9PiBpdGVtW2NdKS5qb2luKCcsJykgOiBpdGVtW3RoaXMudGV4dEZpZWxkXTtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdMb2FkaW5nLi4uJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF90cmFja0J5RnVuY3Rpb24oaXRlbSkge1xyXG4gICAgICAgICAgICBpZiAoIWl0ZW0pIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm4gaXRlbVt0aGlzLnZhbHVlRmllbGRdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVmcmVzaCgpIHtcclxuICAgICAgICAgICAgdGhpcy5lbXB0eSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVtcHR5KCkge1xyXG4gICAgICAgICAgICB0aGlzLiNpc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy4jY3VycmVudFBhZ2UgPSAwO1xyXG4gICAgICAgICAgICBpZiAodGhpcy4jbG9hZGVkSXRlbXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuI2xvYWRlZEl0ZW1zLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgREFUQUxJU1RfSU5QVVRTID0gW1xyXG4gICAgJ3BhZ2VTaXplJyxcclxuICAgICd2YWx1ZUZpZWxkJyxcclxuICAgICd0ZXh0RmllbGQnLFxyXG4gICAgJ2l0ZW1zJ1xyXG5dO1xyXG5leHBvcnQgY29uc3QgREFUQUxJU1RfT1VUUFVUID0gW107XHJcbiJdfQ==
|
|
@@ -278,7 +278,6 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
278
278
|
return date.dayOfWeek == 7 || date.dayOfWeek == 1;
|
|
279
279
|
}
|
|
280
280
|
_generatePickerItems(view) {
|
|
281
|
-
debugger;
|
|
282
281
|
switch (view) {
|
|
283
282
|
case 'year':
|
|
284
283
|
this._pickerYears = _.range(2000, 2050, 1);
|
|
@@ -300,7 +299,6 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
300
299
|
}
|
|
301
300
|
}
|
|
302
301
|
_handlePickerChange(item, view) {
|
|
303
|
-
debugger;
|
|
304
302
|
if (!item)
|
|
305
303
|
return;
|
|
306
304
|
const date = this._viewRange.startTime;
|
|
@@ -329,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
329
327
|
type: HostBinding,
|
|
330
328
|
args: ['class']
|
|
331
329
|
}] } });
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQUc5RixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx5QkFBeUIsQ0FDL0QsMkJBQTJCLENBQUMscUJBQXFCLENBQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUNqRixDQUFDO0FBV0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQW1DL0QsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQ2hFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEbUIsUUFB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QUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEQsTUFBTTtTQUNUO0lBRUgsQ0FBQzs7Z0hBOVdVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG92QkMvQmhDLGs5SUF1RmM7MkZEeERELG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUVOLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsZUFBZSxDQUFDLFdBQzNELENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDLGlCQUN2RCxpQkFBaUIsQ0FBQyxJQUFJO2lJQUtyQyxTQUFTO3NCQURSLEtBQUs7Z0JBNFFNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2NsaWNrYWJsZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQsIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgQ0FMRU5EQVJfSU5QVVRTLCBDQUxFTkRBUl9PVVRQVVRTIH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiA9IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxhbnk+KEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGlucHV0czogWy4uLlZBTFVFX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5DQUxFTkRBUl9JTlBVVFNdLFxyXG4gIG91dHB1dHM6IFsuLi5WQUxVRV9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uQ0FMRU5EQVJfT1VUUFVUU10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3ZpZXdSYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3ZpZXdTdGFydERhdGUgfHwgdGhpcy5fdG9kYXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xyXG4gICAgICBjYXNlICd5ZWFycyc6XHJcbiAgICAgICAgbGV0IHkgPSBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKS55ZWFyO1xyXG4gICAgICAgIGxldCBtaW4gPSB5IC0gKHkgJSAxMCkgLSAxO1xyXG4gICAgICAgIGxldCBtYXggPSBtaW4gKyAxMTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1pbiwgbW9udGg6IDEsIGRhdGU6IDEsIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSB9KSxcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1heCwgbW9udGg6IDEyLCBkYXRlOiAyOCwgY2FsZW5kYXI6IHRoaXMuX3ZpZXdTdGFydERhdGUuY2FsZW5kYXIubmFtZSgpIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgIGNhc2UgJ21vbnRocyc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCd5ZWFyJyksIGN1cnJlbnQuZW5kT2YoJ3llYXInKS5hZGQoJ2RheScsIC0xKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCdtb250aCcpLCBjdXJyZW50LmVuZE9mKCdtb250aCcpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gIHByaXZhdGUgX3ZpZXdTdGFydERhdGU6IEFYRGF0ZVRpbWU7XHJcblxyXG4gIF9uYXZUZXh0OiBzdHJpbmcgPSAnJztcclxuICBfdG9kYXlUZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgX3Nsb3RzOiBhbnlbXSA9IFtdO1xyXG4gIF9kYXlOYW1lczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNVc2VySW50ZXJhY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLl90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICB0aGlzLl9kYXlOYW1lcyA9IHRoaXMuX3RvZGF5LmNhbGVuZGFyLmRheVNob3J0TmFtZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWZyZXNoKCkge1xyXG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSlcclxuICAgICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZW5lYXJ0ZVNsb3RzKCkge1xyXG4gICAgaWYgKCF0aGlzLl92aWV3U3RhcnREYXRlKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIC8vIGp1c3QgZm9yIHRhaWx3aW5kXHJcbiAgICAvLydheC1jb2wtc3RhcnQtMScsJ2F4LWNvbC1zdGFydC0yJywnYXgtY29sLXN0YXJ0LTMnLCdheC1jb2wtc3RhcnQtNCcsJ2F4LWNvbC1zdGFydC01JywnYXgtY29sLXN0YXJ0LTYnLCdheC1jb2wtc3RhcnQtNydcclxuICAgIC8vIHllYXIgdmlld1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ3llYXInKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAneWVhcicpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAneWVhcicpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICd5ZWFyJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ3llYXInKSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LTJgXSA9IGkgPT0gMDtcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7dnIuc3RhcnRUaW1lLnllYXJ9IC0gJHt2ci5lbmRUaW1lLnllYXJ9YDtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBtb250aCB2aWV3XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnbW9udGgnKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnTU1NJyk7XHJcbiAgICAgICAgci50b29sdGlwID0gZC5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnbW9udGgnKSA9PSAtMSkgfHwgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ21vbnRoJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJyAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtb3RoZXInOiBkLnllYXIgIT0gdGhpcy5fdmlld1N0YXJ0RGF0ZS55ZWFyXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBkYXkgdmlld1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ2RheScpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZGF5T2ZNb250aDtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAoKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ2RheScpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSkpIHx8IHRoaXMuaXNEaXNhYmxlZChkKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5JzogdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCksXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudC1pbmZvJzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQnOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2ci5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwXHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfaGFuZGxlUHJldkNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5wcmV2KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdCkge1xyXG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheXMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSlcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpdGVtOiBzbG90LmRhdGUsXHJcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxyXG4gICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXJzJztcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKSB7XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ2RlcHRoJyB8fCBvcHRpb24ubmFtZSA9PSAnYWN0aXZlVmlldycgfHwgb3B0aW9uLm5hbWUgPT0gJ2Rpc2FibGVkRGF0ZXMnIHx8IG9wdGlvbi5uYW1lID09ICdob2xpZGF5RGF0ZXMnKSB7XHJcbiAgICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb24ubmFtZSA9PSAndHlwZScpIHtcclxuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKG5ld1ZhbHVlLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG5cclxuICB9XHJcblxyXG4gIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKVxyXG4gICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KGZhbHNlKVxyXG4gIH1cclxuXHJcbiAgcHJldigpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpXHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoczogc3RyaW5nKSA9PiAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSBhcyBIVE1MRGl2RWxlbWVudCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4ocyk7XHJcbiAgICBjb25zdCBkaXYgPSBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2LmF4LXN0YXRlLXNlbGVjdGVkJykgfHwgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdicpO1xyXG4gICAgZGl2Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbmF2TmV4dFByZXYocHJldjogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgc2lnbiA9IChwcmV2ID8gLTEgOiAxKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEwKSk7XHJcbiAgfVxyXG5cclxuICBnb1RvZGF5KCkge1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmF2VG8oZGF0ZTogRGF0ZSB8IEFYRGF0ZVRpbWUpIHtcclxuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSBBWERhdGVUaW1lLmNvbnZlcnQoZGF0ZSwgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpKS5zdGFydE9mKCk7XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdGhpcy5faXNVc2VySW50ZXJhY3Rpb24sXHJcbiAgICAgIHN0YXJ0OiB2ci5zdGFydFRpbWU/LmRhdGUsXHJcbiAgICAgIGVuZDogdnIuZW5kVGltZT8uZGF0ZSxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pXHJcbiAgICBpZiAodGhpcy5pbnRlcmZhY2UgPT0gJ2NhbGVuZGFyJylcclxuICAgICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ3llYXInKTtcclxuICAgICAgdGhpcy5fZ2VuZXJhdGVQaWNrZXJJdGVtcygnbW9udGgnKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzKClcclxuICAgIH0sIDUwKTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XHJcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWRcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcykuZmlsdGVyKGMgPT4gY1sxXSkubWFwKGMgPT4gY1swXSkuam9pbignICcpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX3NldERhdGUodmFsdWU6IERhdGUpIHtcclxuICAgIHRoaXMudmFsdWUgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSkuc3RhcnRPZigpLmRhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGlzYWJsZWQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKGQgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNIb2xpZGF5KGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG9saWRheURhdGVzKSAmJiB0aGlzLmhvbGlkYXlEYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ob2xpZGF5RGF0ZXMuc29tZShkID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1dlZWtlbmQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIF9waWNrZXJEYXlzOiBudW1iZXJbXSA9IFtdO1xyXG4gIF9waWNrZXJNb250aHM6IHsgdGV4dDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH1bXSA9IFtdO1xyXG4gIF9waWNrZXJZZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcblxyXG4gIHByaXZhdGUgX2dlbmVyYXRlUGlja2VySXRlbXModmlldykge1xyXG4gICAgZGVidWdnZXJcclxuICAgIHN3aXRjaCAodmlldykge1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICB0aGlzLl9waWNrZXJZZWFycyA9IF8ucmFuZ2UoMjAwMCwgMjA1MCwgMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB0aGlzLl9waWNrZXJNb250aHMgPSBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5zdGFydE9mKCd5ZWFyJyksXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLmVuZE9mKCd5ZWFyJylcclxuICAgICAgICApXHJcbiAgICAgICAgICAuZW51bXVyYXRlKCdtb250aCcpXHJcbiAgICAgICAgICAubWFwKGMgPT4gKHtcclxuICAgICAgICAgICAgdGV4dDogYy5mb3JtYXQoJ01NTScpLFxyXG4gICAgICAgICAgICB2YWx1ZTogYy5tb250aE9mWWVhclxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3BpY2tlckRheXMgPSBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5zdGFydE9mKCdtb250aCcpLFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5lbmRPZignbW9udGgnKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIC5lbnVtdXJhdGUoJ2RheScpXHJcbiAgICAgICAgICAubWFwKGMgPT4gYy5kYXlPZk1vbnRoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIF9oYW5kbGVQaWNrZXJDaGFuZ2UoaXRlbTogYW55LCB2aWV3KSB7XHJcbiAgICBkZWJ1Z2dlclxyXG4gICAgaWYgKCFpdGVtKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBkYXRlID0gdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZTtcclxuICAgIHN3aXRjaCAodmlldykge1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCd5ZWFyJywgaXRlbS52YWx1ZSkuZGF0ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCdtb250aCcsIGl0ZW0udmFsdWUudmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ2RheScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NldERhdGUoZGF0ZS5zZXQoJ2RheScsIGl0ZW0udmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnRlcmZhY2UgPT09ICdjYWxlbmRhcic7IGVsc2UgcGlja2VyVGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlVmlldz09J2RheXMnOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbdGV4dF09XCJfbmF2VGV4dC5zcGxpdCgnICcpWzFdXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbdGV4dF09XCJfbmF2VGV4dC5zcGxpdCgnICcpWzBdXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0XCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1wcmV2LWJ1dHRvblwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jaGV2cm9uIGF4LXRyYW5zZm9ybSBheC0tcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmV4dC1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiYWN0aXZlVmlld1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIneWVhcnMnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMteWVhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGFiaW5kZXg9XCIwXCIgKm5nRm9yPVwibGV0IHNsb3Qgb2YgX3Nsb3RzXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRocydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1tb250aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGFiaW5kZXg9XCIwXCIgKm5nRm9yPVwibGV0IHNsb3Qgb2YgX3Nsb3RzXCIgW3RpdGxlXT1cInNsb3QudG9vbHRpcFwiIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci13ZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZCBvZiBfZGF5TmFtZXNcIj57e2R9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtZGF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1mb290ZXJcIj5cclxuICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiZGFyazpheC10ZXh0LWRhbmdlclwiIFt0ZXh0XT1cIl90b2RheVRleHRcIiBjb2xvcj1cImRhcmtcIiBsb29rPVwiYmxhbmtcIiBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlR29Ub2RheSgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+PC9heC1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjcGlja2VyVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItcGlja2VyXCI+XHJcbiAgICAgICAgPGF4LXBpY2tlcj48L2F4LXBpY2tlcj5cclxuICAgICAgICA8IS0tIDxheC1waWNrZXIgd2lkdGg9XCIxMDAlJVwiIGhlaWdodD1cIjMwMHB4XCIgaXRlbUhlaWdodD1cIjQ4cHhcIiBbaXRlbXNdPVwiX3BpY2tlclllYXJzXCJcclxuICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50LCd5ZWFyJylcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPlxyXG4gICAgICAgICAgICAgICAge3tpdGVtfX1cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2F4LXBpY2tlcj5cclxuICAgICAgICA8YXgtcGlja2VyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjMwMHB4XCIgaXRlbUhlaWdodD1cIjQ4cHhcIiBbaXRlbXNdPVwiX3BpY2tlck1vbnRoc1wiXHJcbiAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUGlja2VyQ2hhbmdlKCRldmVudCwnbW9udGgnKVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICB7e2l0ZW0udGV4dH19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9heC1waWNrZXI+XHJcbiAgICAgICAgPGF4LXBpY2tlciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIzMDBweFwiIGl0ZW1IZWlnaHQ9XCI0OHB4XCIgW2l0ZW1zXT1cIl9waWNrZXJEYXlzXCJcclxuICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50LCdkYXknKVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPiBcclxuICAgICAgICA8L2F4LXBpY2tlcj4tLT5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQUc5RixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx5QkFBeUIsQ0FDL0QsMkJBQTJCLENBQUMscUJBQXFCLENBQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUNqRixDQUFDO0FBV0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQW1DL0QsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQ2hFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEbUIsUUFB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QUMsQ0FBQztnQkFDaEQsTUFBTTtTQUNUO0lBRUgsQ0FBQzs7Z0hBNVdVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG92QkMvQmhDLGs5SUF1RmM7MkZEeERELG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUVOLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsZUFBZSxDQUFDLFdBQzNELENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDLGlCQUN2RCxpQkFBaUIsQ0FBQyxJQUFJO2lJQUtyQyxTQUFTO3NCQURSLEtBQUs7Z0JBNFFNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2NsaWNrYWJsZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQsIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgQ0FMRU5EQVJfSU5QVVRTLCBDQUxFTkRBUl9PVVRQVVRTIH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiA9IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxhbnk+KEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGlucHV0czogWy4uLlZBTFVFX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5DQUxFTkRBUl9JTlBVVFNdLFxyXG4gIG91dHB1dHM6IFsuLi5WQUxVRV9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uQ0FMRU5EQVJfT1VUUFVUU10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3ZpZXdSYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3ZpZXdTdGFydERhdGUgfHwgdGhpcy5fdG9kYXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xyXG4gICAgICBjYXNlICd5ZWFycyc6XHJcbiAgICAgICAgbGV0IHkgPSBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKS55ZWFyO1xyXG4gICAgICAgIGxldCBtaW4gPSB5IC0gKHkgJSAxMCkgLSAxO1xyXG4gICAgICAgIGxldCBtYXggPSBtaW4gKyAxMTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1pbiwgbW9udGg6IDEsIGRhdGU6IDEsIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSB9KSxcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1heCwgbW9udGg6IDEyLCBkYXRlOiAyOCwgY2FsZW5kYXI6IHRoaXMuX3ZpZXdTdGFydERhdGUuY2FsZW5kYXIubmFtZSgpIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgIGNhc2UgJ21vbnRocyc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCd5ZWFyJyksIGN1cnJlbnQuZW5kT2YoJ3llYXInKS5hZGQoJ2RheScsIC0xKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCdtb250aCcpLCBjdXJyZW50LmVuZE9mKCdtb250aCcpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gIHByaXZhdGUgX3ZpZXdTdGFydERhdGU6IEFYRGF0ZVRpbWU7XHJcblxyXG4gIF9uYXZUZXh0OiBzdHJpbmcgPSAnJztcclxuICBfdG9kYXlUZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgX3Nsb3RzOiBhbnlbXSA9IFtdO1xyXG4gIF9kYXlOYW1lczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNVc2VySW50ZXJhY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLl90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICB0aGlzLl9kYXlOYW1lcyA9IHRoaXMuX3RvZGF5LmNhbGVuZGFyLmRheVNob3J0TmFtZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWZyZXNoKCkge1xyXG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSlcclxuICAgICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZW5lYXJ0ZVNsb3RzKCkge1xyXG4gICAgaWYgKCF0aGlzLl92aWV3U3RhcnREYXRlKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIC8vIGp1c3QgZm9yIHRhaWx3aW5kXHJcbiAgICAvLydheC1jb2wtc3RhcnQtMScsJ2F4LWNvbC1zdGFydC0yJywnYXgtY29sLXN0YXJ0LTMnLCdheC1jb2wtc3RhcnQtNCcsJ2F4LWNvbC1zdGFydC01JywnYXgtY29sLXN0YXJ0LTYnLCdheC1jb2wtc3RhcnQtNydcclxuICAgIC8vIHllYXIgdmlld1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ3llYXInKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAneWVhcicpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAneWVhcicpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICd5ZWFyJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ3llYXInKSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LTJgXSA9IGkgPT0gMDtcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7dnIuc3RhcnRUaW1lLnllYXJ9IC0gJHt2ci5lbmRUaW1lLnllYXJ9YDtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBtb250aCB2aWV3XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnbW9udGgnKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnTU1NJyk7XHJcbiAgICAgICAgci50b29sdGlwID0gZC5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnbW9udGgnKSA9PSAtMSkgfHwgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ21vbnRoJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJyAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtb3RoZXInOiBkLnllYXIgIT0gdGhpcy5fdmlld1N0YXJ0RGF0ZS55ZWFyXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBkYXkgdmlld1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ2RheScpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZGF5T2ZNb250aDtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAoKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ2RheScpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSkpIHx8IHRoaXMuaXNEaXNhYmxlZChkKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5JzogdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCksXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudC1pbmZvJzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQnOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2ci5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwXHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfaGFuZGxlUHJldkNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5wcmV2KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdCkge1xyXG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheXMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSlcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpdGVtOiBzbG90LmRhdGUsXHJcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxyXG4gICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXJzJztcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKSB7XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ2RlcHRoJyB8fCBvcHRpb24ubmFtZSA9PSAnYWN0aXZlVmlldycgfHwgb3B0aW9uLm5hbWUgPT0gJ2Rpc2FibGVkRGF0ZXMnIHx8IG9wdGlvbi5uYW1lID09ICdob2xpZGF5RGF0ZXMnKSB7XHJcbiAgICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb24ubmFtZSA9PSAndHlwZScpIHtcclxuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKG5ld1ZhbHVlLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG5cclxuICB9XHJcblxyXG4gIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKVxyXG4gICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KGZhbHNlKVxyXG4gIH1cclxuXHJcbiAgcHJldigpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpXHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoczogc3RyaW5nKSA9PiAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSBhcyBIVE1MRGl2RWxlbWVudCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4ocyk7XHJcbiAgICBjb25zdCBkaXYgPSBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2LmF4LXN0YXRlLXNlbGVjdGVkJykgfHwgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdicpO1xyXG4gICAgZGl2Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbmF2TmV4dFByZXYocHJldjogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgc2lnbiA9IChwcmV2ID8gLTEgOiAxKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEwKSk7XHJcbiAgfVxyXG5cclxuICBnb1RvZGF5KCkge1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmF2VG8oZGF0ZTogRGF0ZSB8IEFYRGF0ZVRpbWUpIHtcclxuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSBBWERhdGVUaW1lLmNvbnZlcnQoZGF0ZSwgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpKS5zdGFydE9mKCk7XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdGhpcy5faXNVc2VySW50ZXJhY3Rpb24sXHJcbiAgICAgIHN0YXJ0OiB2ci5zdGFydFRpbWU/LmRhdGUsXHJcbiAgICAgIGVuZDogdnIuZW5kVGltZT8uZGF0ZSxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pXHJcbiAgICBpZiAodGhpcy5pbnRlcmZhY2UgPT0gJ2NhbGVuZGFyJylcclxuICAgICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ3llYXInKTtcclxuICAgICAgdGhpcy5fZ2VuZXJhdGVQaWNrZXJJdGVtcygnbW9udGgnKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzKClcclxuICAgIH0sIDUwKTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XHJcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWRcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcykuZmlsdGVyKGMgPT4gY1sxXSkubWFwKGMgPT4gY1swXSkuam9pbignICcpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX3NldERhdGUodmFsdWU6IERhdGUpIHtcclxuICAgIHRoaXMudmFsdWUgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSkuc3RhcnRPZigpLmRhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGlzYWJsZWQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKGQgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNIb2xpZGF5KGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG9saWRheURhdGVzKSAmJiB0aGlzLmhvbGlkYXlEYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ob2xpZGF5RGF0ZXMuc29tZShkID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1dlZWtlbmQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIF9waWNrZXJEYXlzOiBudW1iZXJbXSA9IFtdO1xyXG4gIF9waWNrZXJNb250aHM6IHsgdGV4dDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH1bXSA9IFtdO1xyXG4gIF9waWNrZXJZZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcblxyXG4gIHByaXZhdGUgX2dlbmVyYXRlUGlja2VySXRlbXModmlldykge1xyXG4gICAgc3dpdGNoICh2aWV3KSB7XHJcbiAgICAgIGNhc2UgJ3llYXInOlxyXG4gICAgICAgIHRoaXMuX3BpY2tlclllYXJzID0gXy5yYW5nZSgyMDAwLCAyMDUwLCAxKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgIHRoaXMuX3BpY2tlck1vbnRocyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ3llYXInKSxcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuZW5kT2YoJ3llYXInKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIC5lbnVtdXJhdGUoJ21vbnRoJylcclxuICAgICAgICAgIC5tYXAoYyA9PiAoe1xyXG4gICAgICAgICAgICB0ZXh0OiBjLmZvcm1hdCgnTU1NJyksXHJcbiAgICAgICAgICAgIHZhbHVlOiBjLm1vbnRoT2ZZZWFyXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyRGF5cyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ21vbnRoJyksXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLmVuZE9mKCdtb250aCcpXHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgLmVudW11cmF0ZSgnZGF5JylcclxuICAgICAgICAgIC5tYXAoYyA9PiBjLmRheU9mTW9udGgpO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgX2hhbmRsZVBpY2tlckNoYW5nZShpdGVtOiBhbnksIHZpZXcpIHtcclxuICAgIGlmICghaXRlbSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWU7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgneWVhcicsIGl0ZW0udmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgnbW9udGgnLCBpdGVtLnZhbHVlLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICB0aGlzLl9nZW5lcmF0ZVBpY2tlckl0ZW1zKCdkYXknKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCdkYXknLCBpdGVtLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaW50ZXJmYWNlID09PSAnY2FsZW5kYXInOyBlbHNlIHBpY2tlclRlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZVZpZXc9PSdkYXlzJzsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1uYXYtYnV0dG9uXCIgW3RleHRdPVwiX25hdlRleHQuc3BsaXQoJyAnKVsxXVwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1uYXYtYnV0dG9uXCIgW3RleHRdPVwiX25hdlRleHQuc3BsaXQoJyAnKVswXVwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbdGV4dF09XCJfbmF2VGV4dFwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleFwiPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtcHJldi1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZVByZXZDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtLXJvdGF0ZS05MFwiPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5leHQtYnV0dG9uXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVOZXh0Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XHJcbiAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LXJvdGF0ZS05MFwiPjwvYXgtaWNvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cclxuICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItYm9keVwiPlxyXG4gICAgICAgIDxkaXYgW25nU3dpdGNoXT1cImFjdGl2ZVZpZXdcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3llYXJzJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLXllYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb250aHMnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtbW9udGhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItd2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGQgb2YgX2RheU5hbWVzXCI+e3tkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLWRheVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGFiaW5kZXg9XCIwXCIgKm5nRm9yPVwibGV0IHNsb3Qgb2YgX3Nsb3RzXCIgW3RpdGxlXT1cInNsb3QudG9vbHRpcFwiIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItZm9vdGVyXCI+XHJcbiAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImRhcms6YXgtdGV4dC1kYW5nZXJcIiBbdGV4dF09XCJfdG9kYXlUZXh0XCIgY29sb3I9XCJkYXJrXCIgbG9vaz1cImJsYW5rXCIgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZUdvVG9kYXkoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPjwvYXgtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI3BpY2tlclRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXBpY2tlclwiPlxyXG4gICAgICAgIDxheC1waWNrZXI+PC9heC1waWNrZXI+XHJcbiAgICAgICAgPCEtLSA8YXgtcGlja2VyIHdpZHRoPVwiMTAwJSVcIiBoZWlnaHQ9XCIzMDBweFwiIGl0ZW1IZWlnaHQ9XCI0OHB4XCIgW2l0ZW1zXT1cIl9waWNrZXJZZWFyc1wiXHJcbiAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUGlja2VyQ2hhbmdlKCRldmVudCwneWVhcicpXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT5cclxuICAgICAgICAgICAgICAgIHt7aXRlbX19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9heC1waWNrZXI+XHJcbiAgICAgICAgPGF4LXBpY2tlciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIzMDBweFwiIGl0ZW1IZWlnaHQ9XCI0OHB4XCIgW2l0ZW1zXT1cIl9waWNrZXJNb250aHNcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVBpY2tlckNoYW5nZSgkZXZlbnQsJ21vbnRoJylcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPlxyXG4gICAgICAgICAgICAgICAge3tpdGVtLnRleHR9fVxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvYXgtcGlja2VyPlxyXG4gICAgICAgIDxheC1waWNrZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMzAwcHhcIiBpdGVtSGVpZ2h0PVwiNDhweFwiIFtpdGVtc109XCJfcGlja2VyRGF5c1wiXHJcbiAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUGlja2VyQ2hhbmdlKCRldmVudCwnZGF5JylcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPlxyXG4gICAgICAgICAgICAgICAge3tpdGVtfX1cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gXHJcbiAgICAgICAgPC9heC1waWNrZXI+LS0+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AXColorUtil
|
|
1
|
+
import { AXColorUtil } from '@acorex/core';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { AXBaseComponent, AXClosbaleComponent } from '../base';
|
|
4
4
|
import { DROPDOWN_INPUTS, DROPDOWN_OUTPUT, _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';
|
|
@@ -35,7 +35,6 @@ export class AXColorPickerComponent extends AXBaseColorPickerMixin {
|
|
|
35
35
|
this._platform.resize.subscribe(() => {
|
|
36
36
|
this._isMobile = this._platform.is('Mobile');
|
|
37
37
|
this.popover.dispose();
|
|
38
|
-
this._popoverWidth = this._isMobile ? null : this._target.offsetWidth;
|
|
39
38
|
});
|
|
40
39
|
}
|
|
41
40
|
_handleArrowClickEvent(e) {
|
|
@@ -49,11 +48,9 @@ export class AXColorPickerComponent extends AXBaseColorPickerMixin {
|
|
|
49
48
|
onInit() {
|
|
50
49
|
super.onInit();
|
|
51
50
|
this._target = this._elementRef.nativeElement;
|
|
52
|
-
this._popoverTitle = this.placeholder || AXTranslator.get('selectbox.popover.title');
|
|
53
51
|
}
|
|
54
52
|
onViewInit() {
|
|
55
53
|
super.onViewInit();
|
|
56
|
-
this._popoverWidth = this._isMobile ? null : this._target.offsetWidth;
|
|
57
54
|
}
|
|
58
55
|
_onValueChanged(oldValue, newValue) {
|
|
59
56
|
super._onValueChanged(oldValue, newValue);
|
|
@@ -68,14 +65,14 @@ export class AXColorPickerComponent extends AXBaseColorPickerMixin {
|
|
|
68
65
|
AXColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
66
|
AXColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXColorPickerComponent, selector: "ax-color-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, providers: [
|
|
70
67
|
{ provide: AXClosbaleComponent, useExisting: AXColorPickerComponent }
|
|
71
|
-
], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"
|
|
68
|
+
], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette [(value)]=\"value\" [(mode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>", components: [{ type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "color", "look", "text", "submitBehavior", "cancelBehavior", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { type: i5.AXColorPalleteComponent, selector: "ax-color-palette", inputs: ["disabled", "tabIndex", "readonly", "allowNull", "value", "debounceTime", "name", "checked", "mode"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "modeChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
72
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPickerComponent, decorators: [{
|
|
73
70
|
type: Component,
|
|
74
71
|
args: [{ selector: 'ax-color-picker', inputs: [...DROPDOWN_INPUTS, ...INTERACTIVE_INPUTS, ...VALUE_INPUTS, ...TEXTBOX_INPUTS], outputs: [...DROPDOWN_OUTPUT, ...INTERACTIVE_OUTPUT, ...VALUE_OUTPUT, ...TEXTBOX_OUTPUT], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
75
72
|
{ provide: AXClosbaleComponent, useExisting: AXColorPickerComponent }
|
|
76
|
-
], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"
|
|
73
|
+
], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette [(value)]=\"value\" [(mode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>" }]
|
|
77
74
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
|
|
78
75
|
type: ViewChild,
|
|
79
76
|
args: [AXPopoverComponent, { static: true }]
|
|
80
77
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFdBQVcsRUFBYyxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQXNFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4TCxPQUFPLEVBQUUsZUFBZSxFQUFnQixtQkFBbUIsRUFBOEMsTUFBTSxTQUFTLENBQUM7QUFDekgsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7QUFFaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQy9CLDJCQUEyQixDQUN2Qix3QkFBd0IsQ0FDcEIscUJBQXFCLENBQ2pCLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUMzQyxDQUNKLENBQ0osQ0FB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RSxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsd0JBQXdCLEVBQUU7cUJBQ3hFLFFBQ0ssRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7K0tBTW5ELE9BQU87c0JBRE4sU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbG9yTW9kZSwgQVhDb2xvclV0aWwsIEFYUGxhdGZvcm0sIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE5nWm9uZSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWENsaWNrRXZlbnQsIEFYQ2xvc2JhbGVDb21wb25lbnQsIEFYU2VhcmNoYWJsZUNvbXBvbmVudCwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEUk9QRE9XTl9JTlBVVFMsIERST1BET1dOX09VVFBVVCwgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVEVYVEJPWF9JTlBVVFMsIFRFWFRCT1hfT1VUUFVULCBfVGV4dGJveENvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdGV4dGJveC1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVULCBfVmFsdWVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL3ZhbHVlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcG9wb3Zlcic7XHJcblxyXG5leHBvcnQgY29uc3QgQVhCYXNlQ29sb3JQaWNrZXJNaXhpbiA9XHJcbiAgICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICAgICAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKFxyXG4gICAgICAgICAgICBfVmFsdWVDb21wb25lbmV0TWl4aW4oXHJcbiAgICAgICAgICAgICAgICBfVGV4dGJveENvbXBvbmVuZXRNaXhpbihBWEJhc2VDb21wb25lbnQpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtY29sb3ItcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGlucHV0czogWy4uLkRST1BET1dOX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5WQUxVRV9JTlBVVFMsIC4uLlRFWFRCT1hfSU5QVVRTXSxcclxuICAgIG91dHB1dHM6IFsuLi5EUk9QRE9XTl9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uVkFMVUVfT1VUUFVULCAuLi5URVhUQk9YX09VVFBVVF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENvbG9yUGlja2VyQ29tcG9uZW50IH1cclxuICAgIF0sXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lciBheC1kcm9wLWRvd24nIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb2xvclBpY2tlck1peGluIHtcclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwb3BvdmVyOiBBWFBvcG92ZXJDb21wb25lbnQ7XHJcblxyXG5cclxuICAgIF90YXJnZXQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gICAgX3BvcG92ZXJUaXRsZTogc3RyaW5nO1xyXG4gICAgX3BvcG92ZXJXaWR0aDogbnVtYmVyO1xyXG4gICAgX2NvbG9yQ29kZTogc3RyaW5nO1xyXG4gICAgX21vZGU6IEFYQ29sb3JNb2RlID0gJ2hleCc7XHJcblxyXG5cclxuXHJcbiAgICBfaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgKiAgQGlnbm9yZVxyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICAgICAgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlcldpZHRoID0gdGhpcy5faXNNb2JpbGUgPyBudWxsIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICAgICAgZS5uYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVJbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wb3ZlclRpdGxlID0gdGhpcy5wbGFjZWhvbGRlciB8fCBBWFRyYW5zbGF0b3IuZ2V0KCdzZWxlY3Rib3gucG9wb3Zlci50aXRsZScpXHJcbiAgICB9XHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgICAgICAgdGhpcy5fcG9wb3ZlcldpZHRoID0gdGhpcy5faXNNb2JpbGUgPyBudWxsIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KSB7XHJcbiAgICAgICAgc3VwZXIuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fY29sb3JDb2RlID0gQVhDb2xvclV0aWwudG8obmV3VmFsdWUsIHRoaXMuX21vZGUpXHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgX2hhbmRsZVBvcHVwT25PcGVuZWQoZSkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlUG9wdXBPbkNsb3NlZChlKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XHJcbjwvbmctY29udGVudD5cclxuPGRpdiBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnRcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiX2hhbmRsZUlucHV0Q2xpY2tFdmVudCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidmFsdWVcIiBjbGFzcz1cImNvbG9yLWJhZGdlXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogdmFsdWV9XCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtdXBwZXJjYXNlXCI+e3tfY29sb3JDb2RlfX08L2Rpdj5cclxuPC9kaXY+XHJcbjxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cImNsZWFyKClcIiBbdGFiSW5kZXhdPVwiLTFcIiAqbmdJZj1cInZhbHVlICYmICAhKGRpc2FibGVkIHx8IHJlYWRvbmx5KVwiPlxyXG4gICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNsb3NlXCI+PC9heC1pY29uPlxyXG48L2F4LWJ1dHRvbj5cclxuPGF4LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdGFiSW5kZXhdPVwiLTFcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgkZXZlbnQpXCI+XHJcbiAgICA8YXgtaWNvbiAjaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtLXJvdGF0ZS05MFwiPjwvYXgtaWNvbj5cclxuPC9heC1idXR0b24+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxheC1wb3BvdmVyIFt0YXJnZXRdPVwiX3RhcmdldFwiIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiIFtvcGVuVHJpZ2dlcl09XCInbWFudWFsJ1wiIFtjbG9zZVRyaWdnZXJdPVwiJ2NsaWNrb3V0J1wiXHJcbiAgICBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiIChvbk9wZW5lZCk9XCJfaGFuZGxlUG9wdXBPbk9wZW5lZCgkZXZlbnQpXCIgKG9uQ2xvc2VkKT1cIl9oYW5kbGVQb3B1cE9uQ2xvc2VkKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIiB0YWJpbmRleD1cIjBcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiIGNka1RyYXBGb2N1c1xyXG4gICAgICAgIFtjbGFzcy5heC1vdmVybGF5LWFjdGlvbnNoZWV0XT1cIl9pc01vYmlsZVwiPlxyXG4gICAgICAgIDxheC1jb2xvci1wYWxldHRlIFsodmFsdWUpXT1cInZhbHVlXCIgWyhtb2RlKV09XCJfbW9kZVwiPlxyXG4gICAgICAgIDwvYXgtY29sb3ItcGFsZXR0ZT5cclxuICAgIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+Il19
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFdBQVcsRUFBNEIsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQXNFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4TCxPQUFPLEVBQUUsZUFBZSxFQUFnQixtQkFBbUIsRUFBOEMsTUFBTSxTQUFTLENBQUM7QUFDekgsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7QUFFaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQy9CLDJCQUEyQixDQUN2Qix3QkFBd0IsQ0FDcEIscUJBQXFCLENBQ2pCLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUMzQyxDQUNKLENBQ0osQ0FBQztBQUdOOzs7O0dBSUc7QUFhSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQXNCO0lBZ0I5RDs7TUFFRTtJQUNGLFlBQ2MsV0FBdUMsRUFDakQsSUFBdUIsRUFDZixLQUFhLEVBQ2IsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUxmLGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUV6QyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQVpqQyxVQUFLLEdBQWdCLEtBQUssQ0FBQztRQUkzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBV3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBZTtRQUNsQyxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBYTtRQUNoQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFHRCxNQUFNO1FBQ0YsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDO0lBRUQsVUFBVTtRQUNOLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQWEsRUFBRSxRQUFhO1FBQ3hDLEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU1QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7bUhBaEVRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDJuQkFMcEI7UUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7S0FDeEUsbUVBTVUsa0JBQWtCLHFGQ3hDakMsazZDQXVCYTsyRkRjQSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0ksaUJBQWlCLFVBRW5CLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGNBQWMsQ0FBQyxXQUM5RSxDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxjQUFjLENBQUMsaUJBQ3pFLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyx3QkFBd0IsRUFBRTtxQkFDeEUsUUFDSyxFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRTsrS0FNbkQsT0FBTztzQkFETixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sb3JNb2RlLCBBWENvbG9yVXRpbCwgQVhQbGF0Zm9ybSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgTmdab25lLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQ2xpY2tFdmVudCwgQVhDbG9zYmFsZUNvbXBvbmVudCwgQVhTZWFyY2hhYmxlQ29tcG9uZW50LCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IERST1BET1dOX0lOUFVUUywgRFJPUERPV05fT1VUUFVULCBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2Ryb3Bkb3duLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgSU5URVJBQ1RJVkVfSU5QVVRTLCBJTlRFUkFDVElWRV9PVVRQVVQsIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBURVhUQk9YX0lOUFVUUywgVEVYVEJPWF9PVVRQVVQsIF9UZXh0Ym94Q29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQsIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyJztcclxuXHJcbmV4cG9ydCBjb25zdCBBWEJhc2VDb2xvclBpY2tlck1peGluID1cclxuICAgIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbihcclxuICAgICAgICBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4oXHJcbiAgICAgICAgICAgIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbihcclxuICAgICAgICAgICAgICAgIF9UZXh0Ym94Q29tcG9uZW5ldE1peGluKEFYQmFzZUNvbXBvbmVudClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1jb2xvci1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdjb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaW5wdXRzOiBbLi4uRFJPUERPV05fSU5QVVRTLCAuLi5JTlRFUkFDVElWRV9JTlBVVFMsIC4uLlZBTFVFX0lOUFVUUywgLi4uVEVYVEJPWF9JTlBVVFNdLFxyXG4gICAgb3V0cHV0czogWy4uLkRST1BET1dOX09VVFBVVCwgLi4uSU5URVJBQ1RJVkVfT1VUUFVULCAuLi5WQUxVRV9PVVRQVVQsIC4uLlRFWFRCT1hfT1VUUFVUXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogQVhDbG9zYmFsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQaWNrZXJDb21wb25lbnQgfVxyXG4gICAgXSxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LWRyb3AtZG93bicgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDb2xvclBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbG9yUGlja2VyTWl4aW4ge1xyXG5cclxuXHJcbiAgICBAVmlld0NoaWxkKEFYUG9wb3ZlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudDtcclxuXHJcblxyXG4gICAgX3RhcmdldDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgICBfcG9wb3ZlclRpdGxlOiBzdHJpbmc7XHJcbiAgICBfcG9wb3ZlcldpZHRoOiBudW1iZXI7XHJcbiAgICBfY29sb3JDb2RlOiBzdHJpbmc7XHJcbiAgICBfbW9kZTogQVhDb2xvck1vZGUgPSAnaGV4JztcclxuXHJcblxyXG5cclxuICAgIF9pc01vYmlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAqICBAaWdub3JlXHJcbiAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgICAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm0sXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgICAgICAgdGhpcy5faXNNb2JpbGUgPSB0aGlzLl9wbGF0Zm9ybS5pcygnTW9iaWxlJyk7XHJcbiAgICAgICAgdGhpcy5fcGxhdGZvcm0ucmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuZGlzcG9zZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICAgICAgZS5uYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVJbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSkge1xyXG4gICAgICAgIHN1cGVyLl9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgbmV3VmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yQ29kZSA9IEFYQ29sb3JVdGlsLnRvKG5ld1ZhbHVlLCB0aGlzLl9tb2RlKVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIF9oYW5kbGVQb3B1cE9uT3BlbmVkKGUpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZVBvcHVwT25DbG9zZWQoZSkge1xyXG4gICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgIH1cclxufSIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxkaXYgY2xhc3M9XCJheC1kcm9wZG93bi1jb250ZW50XCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cIl9oYW5kbGVJbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiAqbmdJZj1cInZhbHVlXCIgY2xhc3M9XCJjb2xvci1iYWRnZVwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IHZhbHVlfVwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LXVwcGVyY2FzZVwiPnt7X2NvbG9yQ29kZX19PC9kaXY+XHJcbjwvZGl2PlxyXG48YXgtYnV0dG9uIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJjbGVhcigpXCIgW3RhYkluZGV4XT1cIi0xXCIgKm5nSWY9XCJ2YWx1ZSAmJiAgIShkaXNhYmxlZCB8fCByZWFkb25seSlcIj5cclxuICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jbG9zZVwiPjwvYXgtaWNvbj5cclxuPC9heC1idXR0b24+XHJcbjxheC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3RhYkluZGV4XT1cIi0xXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPGF4LWljb24gI2ljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LS1yb3RhdGUtOTBcIj48L2F4LWljb24+XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48YXgtcG9wb3ZlciBbdGFyZ2V0XT1cIl90YXJnZXRcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBbb3BlblRyaWdnZXJdPVwiJ21hbnVhbCdcIiBbY2xvc2VUcmlnZ2VyXT1cIidjbGlja291dCdcIlxyXG4gICAgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIiAgKG9uT3BlbmVkKT1cIl9oYW5kbGVQb3B1cE9uT3BlbmVkKCRldmVudClcIiAob25DbG9zZWQpPVwiX2hhbmRsZVBvcHVwT25DbG9zZWQoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LW92ZXJsYXktcGFuZVwiIFtjbGFzcy5heC13LWZ1bGxdPVwiX2lzTW9iaWxlXCIgdGFiaW5kZXg9XCIwXCIgYXJpYS1tb2RhbD1cInRydWVcIiBjZGtUcmFwRm9jdXNcclxuICAgICAgICBbY2xhc3MuYXgtb3ZlcmxheS1hY3Rpb25zaGVldF09XCJfaXNNb2JpbGVcIj5cclxuICAgICAgICA8YXgtY29sb3ItcGFsZXR0ZSBbKHZhbHVlKV09XCJ2YWx1ZVwiIFsobW9kZSldPVwiX21vZGVcIj5cclxuICAgICAgICA8L2F4LWNvbG9yLXBhbGV0dGU+XHJcbiAgICA8L2Rpdj5cclxuPC9heC1wb3BvdmVyPiJdfQ==
|
|
@@ -17,14 +17,17 @@ export class AXFormComponent extends AXBaseComponentMixin {
|
|
|
17
17
|
_getComponenets() {
|
|
18
18
|
return Array.from(this._getHostElement().querySelectorAll('[ax-form-input="true"]'));
|
|
19
19
|
}
|
|
20
|
-
validate() {
|
|
20
|
+
validate(...args) {
|
|
21
21
|
const widgets = this._getComponenets();
|
|
22
22
|
//
|
|
23
23
|
return new Promise((resolve, reject) => {
|
|
24
24
|
if (widgets.length === 0) {
|
|
25
25
|
return Promise.resolve({ result: true });
|
|
26
26
|
}
|
|
27
|
-
Promise.all(widgets.map((c) => c.__axContext__
|
|
27
|
+
Promise.all(widgets.map((c) => c.__axContext__)
|
|
28
|
+
.filter(c => (args == null || args.length == 0) || args.includes(c.name))
|
|
29
|
+
.map((c) => c.validate()))
|
|
30
|
+
.then((rules) => {
|
|
28
31
|
const failed = rules.filter((c) => !c.result);
|
|
29
32
|
if (failed.length) {
|
|
30
33
|
reject({
|
|
@@ -46,14 +49,14 @@ export class AXFormComponent extends AXBaseComponentMixin {
|
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
AXFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
AXFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXFormComponent, selector: "ax-form", usesInheritance: true, ngImport: i0, template: '<
|
|
52
|
+
AXFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXFormComponent, selector: "ax-form", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
50
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXFormComponent, decorators: [{
|
|
51
54
|
type: Component,
|
|
52
55
|
args: [{
|
|
53
56
|
selector: 'ax-form',
|
|
54
|
-
template: '<
|
|
57
|
+
template: '<ng-content></ng-content>',
|
|
55
58
|
encapsulation: ViewEncapsulation.None,
|
|
56
59
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
57
60
|
}]
|
|
58
61
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBR2pFOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxvQkFBb0I7SUFDckQ7O01BRUU7SUFDRixZQUNJLFVBQXNCLEVBQ2QsR0FBc0I7UUFFOUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUZmLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBR2xDLENBQUM7SUFHRCxlQUFlO1FBQ1gsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFHLElBQWM7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLEVBQUU7UUFDRixPQUFPLElBQUksT0FBTyxDQUFxQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN2RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN0QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUM1QztZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBUyxDQUFDLGFBQWEsQ0FBQztpQkFDbkQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3pCLElBQUksQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNqQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO29CQUNmLE1BQU0sQ0FBQzt3QkFDSCxNQUFNLEVBQUUsS0FBSzt3QkFDYixLQUFLLEVBQUUsTUFBTTtxQkFDaEIsQ0FBQyxDQUFDO2lCQUNOO3FCQUNJO29CQUNELE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUM3QjtZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2YsQ0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7OzRHQS9DUSxlQUFlO2dHQUFmLGVBQWUsc0VBSmQsMkJBQTJCOzJGQUk1QixlQUFlO2tCQU4zQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsICBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY2xhc3MnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1mb3JtJyxcclxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEZvcm1Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiB7XHJcbiAgICAvKipcclxuICAgICogIEBpZ25vcmVcclxuICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgX2dldENvbXBvbmVuZXRzKCkge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnW2F4LWZvcm0taW5wdXQ9XCJ0cnVlXCJdJykpO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRlKC4uLmFyZ3M6IHN0cmluZ1tdKTogUHJvbWlzZTxBWFZhbGlkYXRpb25SZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB3aWRnZXRzID0gdGhpcy5fZ2V0Q29tcG9uZW5ldHMoKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxBWFZhbGlkYXRpb25SZXN1bHQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgaWYgKHdpZGdldHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcmVzdWx0OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFByb21pc2UuYWxsKHdpZGdldHMubWFwKChjKSA9PiAoYyBhcyBhbnkpLl9fYXhDb250ZXh0X18pXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGMgPT4gKGFyZ3MgPT0gbnVsbCB8fCBhcmdzLmxlbmd0aCA9PSAwKSB8fCBhcmdzLmluY2x1ZGVzKGMubmFtZSkpXHJcbiAgICAgICAgICAgICAgICAubWFwKChjKSA9PiBjLnZhbGlkYXRlKCkpKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKHJ1bGVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmYWlsZWQgPSBydWxlcy5maWx0ZXIoKGM6IGFueSkgPT4gIWMucmVzdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmFpbGVkLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3Qoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBmYWlsZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyKCkge1xyXG4gICAgICAgIGNvbnN0IHdpZGdldHMgPSB0aGlzLl9nZXRDb21wb25lbmV0cygpO1xyXG4gICAgICAgIHdpZGdldHMuZm9yRWFjaCh3ID0+IHtcclxuICAgICAgICAgICAgKHcgYXMgYW55KS5fX2F4Q29udGV4dF9fLmNsZWFyKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG59Il19
|