@fundamental-ngx/cdk 0.49.1 → 0.49.2
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/esm2022/utils/abstract-fd-ngx-class.mjs +11 -7
- package/esm2022/utils/directives/auto-complete/auto-complete.directive.mjs +8 -13
- package/esm2022/utils/directives/focusable-list/scroll.mjs +4 -2
- package/esm2022/utils/directives/selectable-list/selectable-item.token.mjs +1 -1
- package/esm2022/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +1 -1
- package/esm2022/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +5 -5
- package/esm2022/utils/drag-and-drop/dnd.interfaces.mjs +1 -1
- package/esm2022/utils/dynamic-component/dynamic-component-container.mjs +1 -1
- package/esm2022/utils/toast/base-toast.service.mjs +1 -1
- package/esm2022/utils/toast/classes/base-toast-animated-container.component.mjs +13 -13
- package/esm2022/utils/toast/classes/base-toast-container.component.mjs +1 -1
- package/fesm2022/fundamental-ngx-cdk-utils.mjs +36 -35
- package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/abstract-fd-ngx-class.d.ts +3 -3
- package/utils/directives/auto-complete/auto-complete.directive.d.ts +3 -3
- package/utils/directives/selectable-list/selectable-item.token.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +2 -2
- package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +2 -2
- package/utils/drag-and-drop/dnd.interfaces.d.ts +4 -4
- package/utils/dynamic-component/dynamic-component-container.d.ts +2 -2
- package/utils/toast/base-toast.service.d.ts +30 -30
- package/utils/toast/classes/base-toast-animated-container.component.d.ts +5 -5
- package/utils/toast/classes/base-toast-container.component.d.ts +10 -10
|
@@ -9,6 +9,16 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
/** @hidden */
|
|
10
10
|
export class AbstractFdNgxClass {
|
|
11
11
|
/** @hidden */
|
|
12
|
+
constructor() {
|
|
13
|
+
/** @hidden */
|
|
14
|
+
this.elementRef = inject(ElementRef);
|
|
15
|
+
this._setProperties();
|
|
16
|
+
}
|
|
17
|
+
/*
|
|
18
|
+
each directive that extends this class will implement this function and populate it with one or more calls to
|
|
19
|
+
the '_addClassToElement' function, passing the style names to be added with each call
|
|
20
|
+
*/
|
|
21
|
+
/** @hidden */
|
|
12
22
|
_setClassToElement(className) {
|
|
13
23
|
this.elementRef.nativeElement.classList.value = `${className} ${this.class}`;
|
|
14
24
|
}
|
|
@@ -25,12 +35,6 @@ export class AbstractFdNgxClass {
|
|
|
25
35
|
this.elementRef.nativeElement.style[attribute] = value;
|
|
26
36
|
}
|
|
27
37
|
/** @hidden */
|
|
28
|
-
constructor() {
|
|
29
|
-
/** @hidden */
|
|
30
|
-
this.elementRef = inject(ElementRef);
|
|
31
|
-
this._setProperties();
|
|
32
|
-
}
|
|
33
|
-
/** @hidden */
|
|
34
38
|
ngOnChanges() {
|
|
35
39
|
const classList = this.elementRef.nativeElement.classList;
|
|
36
40
|
while (classList.length > 0) {
|
|
@@ -54,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
54
58
|
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
55
59
|
type: Input
|
|
56
60
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmQtbmd4LWNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvYWJzdHJhY3QtZmQtbmd4LWNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd4Rjs7Ozs7R0FLRztBQUVILGNBQWM7QUFFZCxNQUFNLE9BQWdCLGtCQUFrQjtJQVNwQyxjQUFjO0lBQ2Q7UUFIQSxjQUFjO1FBQ0wsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUdyQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUVILGNBQWM7SUFDZCxrQkFBa0IsQ0FBQyxTQUFpQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTZCLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxHQUFHLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEcsQ0FBQztJQUVELGNBQWM7SUFDZCxrQkFBa0I7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTZCLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUVELGNBQWM7SUFDZCxrQkFBa0IsQ0FBQyxTQUFpQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTZCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsY0FBYztJQUNkLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxLQUFLO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBNkIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzVFLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLE1BQU0sU0FBUyxHQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBNkIsQ0FBQyxTQUFTLENBQUM7UUFDM0UsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QixvRUFBb0U7WUFDcEUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQXZEaUIsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVM7d0RBTUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGFzRWxlbWVudFJlZiB9IGZyb20gJy4vaW50ZXJmYWNlcy9oYXMtZWxlbWVudC1yZWYuaW50ZXJmYWNlJztcblxuLypcbiBUaGlzIGFic3RyYWN0IGNsYXNzIGFsbG93cyB0aGUgdXNlciB0byBzZXQgdGhlaXIgb3duIGN1c3RvbSBzdHlsZXMgb24gYSBGdW5kYW1lbnRhbCBMaWJyYXJ5IGZvciBBbmd1bGFyIGRpcmVjdGl2ZSwgaW4gYWRkaXRpb24gdG8gdGhlXG4gc3R5bGVzIHRoZSBsaWJyYXJ5IG5lZWRzIHRvIGFkZCBpdHNlbGYuXG4gV2hlbiBsaWJyYXJ5IHN0eWxlcyB3ZXJlIGFkZGVkIHRocm91Z2ggdGhlIGRpcmVjdGl2ZSdzIGhvc3Q6IHsnW2NsYXNzXSd9IHByb3BlcnR5LCBhbnkgc3R5bGVzIHRoZSB1c2VyIGFkZGVkIHdvdWxkIGJlXG4gb3ZlcndyaXR0ZW4uICBCeSBleHRlbmRpbmcgdGhpcyBjbGFzcywgd2UgaW5zdGVhZCBhZGQgbGlicmFyeSBzdHlsZXMgdG8gdGhlIHVzZXIncyBjbGFzc0xpc3QgcmF0aGVyIHRoYW4gcmVwbGFjZSB0aGVtLlxuICovXG5cbi8qKiBAaGlkZGVuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZkTmd4Q2xhc3MgaW1wbGVtZW50cyBIYXNFbGVtZW50UmVmLCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhYnN0cmFjdCBfc2V0UHJvcGVydGllcygpOiB2b2lkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nOyAvLyB1c2VyJ3MgY3VzdG9tIGNsYXNzZXNcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9zZXRQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgLypcbiAgICAgZWFjaCBkaXJlY3RpdmUgdGhhdCBleHRlbmRzIHRoaXMgY2xhc3Mgd2lsbCBpbXBsZW1lbnQgdGhpcyBmdW5jdGlvbiBhbmQgcG9wdWxhdGUgaXQgd2l0aCBvbmUgb3IgbW9yZSBjYWxscyB0b1xuICAgICB0aGUgJ19hZGRDbGFzc1RvRWxlbWVudCcgZnVuY3Rpb24sIHBhc3NpbmcgdGhlIHN0eWxlIG5hbWVzIHRvIGJlIGFkZGVkIHdpdGggZWFjaCBjYWxsXG4gICAgICovXG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRDbGFzc1RvRWxlbWVudChjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC52YWx1ZSA9IGAke2NsYXNzTmFtZX0gJHt0aGlzLmNsYXNzfWA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2xlYXJFbGVtZW50Q2xhc3MoKTogdm9pZCB7XG4gICAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfYWRkQ2xhc3NUb0VsZW1lbnQoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QuYWRkKC4uLmNsYXNzTmFtZS5zcGxpdCgnICcpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hZGRTdHlsZVRvRWxlbWVudChhdHRyaWJ1dGUsIHZhbHVlKTogdm9pZCB7XG4gICAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGVbYXR0cmlidXRlXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzTGlzdCA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0O1xuICAgICAgICB3aGlsZSAoY2xhc3NMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICBjbGFzc0xpc3QucmVtb3ZlKGNsYXNzTGlzdC5pdGVtKDApISk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuX2FkZENsYXNzVG9FbGVtZW50KHRoaXMuY2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldFByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRQcm9wZXJ0aWVzKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -11,8 +11,6 @@ export class AutoCompleteDirective {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
/** Whether the auto complete directive should be enabled */
|
|
13
13
|
this.enable = true;
|
|
14
|
-
/** Matcher function for testing the str for a search term */
|
|
15
|
-
this.matcher = (str, searchTerm) => str.startsWith(searchTerm);
|
|
16
14
|
/** Display function. Accepts an object of the same type as the
|
|
17
15
|
* items passed to dropdownValues as argument, and outputs a string.
|
|
18
16
|
* An arrow function can be used to access the *this* keyword in the calling component.
|
|
@@ -29,6 +27,8 @@ export class AutoCompleteDirective {
|
|
|
29
27
|
/** @hidden */
|
|
30
28
|
this._elementRef = inject(ElementRef);
|
|
31
29
|
this._zone = inject(NgZone);
|
|
30
|
+
/** Matcher function for testing the str for a search term */
|
|
31
|
+
this.matcher = (str, searchTerm) => str.startsWith(searchTerm);
|
|
32
32
|
/**
|
|
33
33
|
* Fixes #10710
|
|
34
34
|
* With chinese characters inputText property update was triggered after the keyup event trigger.
|
|
@@ -84,14 +84,9 @@ export class AutoCompleteDirective {
|
|
|
84
84
|
}
|
|
85
85
|
/** @hidden */
|
|
86
86
|
_triggerTypeAhead() {
|
|
87
|
-
|
|
87
|
+
return !(this.lastKeyUpEvent &&
|
|
88
88
|
KeyUtil.isKeyCode(this.lastKeyUpEvent, CONTROL) &&
|
|
89
|
-
this.inputText === this.oldValue)
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
89
|
+
this.inputText === this.oldValue);
|
|
95
90
|
}
|
|
96
91
|
/** @hidden */
|
|
97
92
|
_sendCompleteEvent(forceClose) {
|
|
@@ -106,7 +101,7 @@ export class AutoCompleteDirective {
|
|
|
106
101
|
this._elementRef.nativeElement.setSelectionRange(inputTextLength, inputTextLength);
|
|
107
102
|
}
|
|
108
103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AutoCompleteDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
109
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: AutoCompleteDirective, isStandalone: true, selector: "[fdkAutoComplete]", inputs: { options: "options", inputText: "inputText", enable: "enable",
|
|
104
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: AutoCompleteDirective, isStandalone: true, selector: "[fdkAutoComplete]", inputs: { options: "options", inputText: "inputText", enable: "enable", displayFn: "displayFn", matcher: "matcher" }, outputs: { onComplete: "onComplete" }, ngImport: i0 }); }
|
|
110
105
|
}
|
|
111
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AutoCompleteDirective, decorators: [{
|
|
112
107
|
type: Directive,
|
|
@@ -120,11 +115,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
120
115
|
type: Input
|
|
121
116
|
}], enable: [{
|
|
122
117
|
type: Input
|
|
123
|
-
}], matcher: [{
|
|
124
|
-
type: Input
|
|
125
118
|
}], displayFn: [{
|
|
126
119
|
type: Input
|
|
127
120
|
}], onComplete: [{
|
|
128
121
|
type: Output
|
|
122
|
+
}], matcher: [{
|
|
123
|
+
type: Input
|
|
129
124
|
}] } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBV25ELE1BQU0sT0FBTyxxQkFBcUI7SUFvRDlCLGNBQWM7SUFDZCw4REFBOEQ7SUFDOUQ7UUExQ0EsNERBQTREO1FBRTVELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFFZCw2REFBNkQ7UUFFN0QsWUFBTyxHQUFHLENBQUMsR0FBVyxFQUFFLFVBQWtCLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkY7OztvREFHNEM7UUFFNUMsY0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFakMseURBQXlEO1FBR2hELGVBQVUsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFFN0YsY0FBYztRQUNHLGtCQUFh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bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQUlHLE9BQU87c0JBRE4sS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUs7Z0JBTUcsVUFBVTtzQkFGbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJBQ0tTUEFDRSwgQ09OVFJPTCwgREVMRVRFLCBFTlRFUiwgRVNDQVBFLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2V5VXRpbCB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9rZXktdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0NvbXBsZXRlRXZlbnQge1xuICAgIHRlcm06IHN0cmluZztcbiAgICBmb3JjZUNsb3NlOiBib29sZWFuO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtBdXRvQ29tcGxldGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Db21wbGV0ZURpcmVjdGl2ZSB7XG4gICAgLyoqIFZhbHVlcyB0aGF0IHdpbGwgZmlsbCBtaXNzaW5nIHRleHQgaW4gdGhlIGlucHV0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3B0aW9uczogYW55W107XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCB0ZXh0LCB0aGF0IGlzIHRha2VuIGZyb20gbmdNb2RlbCBvZiBmb3JtQ29udHJvbCxcbiAgICAgKiB0aGVyZSBoYXMgdG8gYmUgZGlmZmVyZW5jZSBiZXR3ZWVuIG5hdGl2ZSBpbnB1dCB2YWx1ZSBhbmQgbW9kZWwgdmFsdWVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0VGV4dDogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGF1dG8gY29tcGxldGUgZGlyZWN0aXZlIHNob3VsZCBiZSBlbmFibGVkICovXG4gICAgQElucHV0KClcbiAgICBlbmFibGUgPSB0cnVlO1xuXG4gICAgLyoqIE1hdGNoZXIgZnVuY3Rpb24gZm9yIHRlc3RpbmcgdGhlIHN0ciBmb3IgYSBzZWFyY2ggdGVybSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF0Y2hlciA9IChzdHI6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiA9PiBzdHIuc3RhcnRzV2l0aChzZWFyY2hUZXJtKTtcblxuICAgIC8qKiBEaXNwbGF5IGZ1bmN0aW9uLiBBY2NlcHRzIGFuIG9iamVjdCBvZiB0aGUgc2FtZSB0eXBlIGFzIHRoZVxuICAgICAqIGl0ZW1zIHBhc3NlZCB0byBkcm9wZG93blZhbHVlcyBhcyBhcmd1bWVudCwgYW5kIG91dHB1dHMgYSBzdHJpbmcuXG4gICAgICogQW4gYXJyb3cgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSAqdGhpcyoga2V5d29yZCBpbiB0aGUgY2FsbGluZyBjb21wb25lbnQuXG4gICAgICogU2VlIHNlYXJjaCBpbnB1dCBleGFtcGxlcyBmb3IgZGV0YWlscy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlGbiA9IHRoaXMuX2RlZmF1bHREaXNwbGF5O1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiB0aGUgYXV0byBhaGVhZCB0ZXh0IGlzIGFjY2VwdGVkICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcmVhZG9ubHkgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPEF1dG9Db21wbGV0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b0NvbXBsZXRlRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBsZXRlS2V5czogbnVtYmVyW10gPSBbRU5URVJdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9maWxsS2V5czogbnVtYmVyW10gPSBbTEVGVF9BUlJPVywgUklHSFRfQVJST1ddO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9wS2V5czogbnVtYmVyW10gPSBbQkFDS1NQQUNFLCBERUxFVEUsIEVTQ0FQRV07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgb2xkVmFsdWU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBsYXN0S2V5VXBFdmVudDogS2V5Ym9hcmRFdmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEZpeGVzICMxMDcxMFxuICAgICAgICAgKiBXaXRoIGNoaW5lc2UgY2hhcmFjdGVycyBpbnB1dFRleHQgcHJvcGVydHkgdXBkYXRlIHdhcyB0cmlnZ2VyZWQgYWZ0ZXIgdGhlIGtleXVwIGV2ZW50IHRyaWdnZXIuXG4gICAgICAgICAqIEJ5IGVuc3VyaW5nIHRoYXQgd2Ugc2V0IGFsbCBwcm9wZXJ0aWVzIHdlIGNhbiBwcm9jZWVkIHdpdGggc3RhYmxlIGRhdGEuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleXVwRXZlbnQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5dXAnKTtcbiAgICAgICAgICAgIGtleXVwRXZlbnRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChldnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl96b25lLm9uU3RhYmxlLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZXZ0KVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldnQpID0+IHRoaXMuX2hhbmRsZUtleWJvYXJkRXZlbnQoZXZ0KSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlKSB7XG4gICAgICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIHRoaXMuX3N0b3BLZXlzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuaW5wdXRUZXh0O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgdGhpcy5fY29tcGxldGVLZXlzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbmRDb21wbGV0ZUV2ZW50KHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX21vdmVJbmRpY2F0b3JUb0xhc3RDaGFyYWN0ZXIoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIHRoaXMuX2ZpbGxLZXlzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbmRDb21wbGV0ZUV2ZW50KGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuX2lzQ29udHJvbEtleShldmVudCkgJiYgdGhpcy5pbnB1dFRleHQpIHtcbiAgICAgICAgICAgICAgICAvKiogUHJldmVudGlvbiBmcm9tIHRyaWdnZXJpbmcgdHlwZWFoZWFkLCB3aGVuIGhhdmluZyBjcnRsL2NtZCArIGtleXMgKi9cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3RyaWdnZXJUeXBlQWhlYWQoKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5vbGRWYWx1ZSA9IHRoaXMuaW5wdXRUZXh0O1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMub3B0aW9ucy5maW5kKChvcHRpb24pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF0Y2hlcih0aGlzLmRpc3BsYXlGbihvcHRpb24pLnRvTG9jYWxlTG93ZXJDYXNlKCksIHRoaXMuaW5wdXRUZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3R5cGVhaGVhZCh0aGlzLmRpc3BsYXlGbihpdGVtKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdEtleVVwRXZlbnQgPSBldmVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3R5cGVhaGVhZChkaXNwbGF5ZWRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IGRpc3BsYXllZFZhbHVlO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25TdGFydEluZGV4ID0gdGhpcy5pbnB1dFRleHQubGVuZ3RoO1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnRJbmRleCwgZGlzcGxheWVkVmFsdWUubGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQ29udHJvbEtleShldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIENPTlRST0wpIHx8IGV2ZW50LmN0cmxLZXk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZWZhdWx0RGlzcGxheSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJpZ2dlclR5cGVBaGVhZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5sYXN0S2V5VXBFdmVudCAmJlxuICAgICAgICAgICAgS2V5VXRpbC5pc0tleUNvZGUodGhpcy5sYXN0S2V5VXBFdmVudCwgQ09OVFJPTCkgJiZcbiAgICAgICAgICAgIHRoaXMuaW5wdXRUZXh0ID09PSB0aGlzLm9sZFZhbHVlXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbmRDb21wbGV0ZUV2ZW50KGZvcmNlQ2xvc2U6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNvbXBsZXRlLmVtaXQoe1xuICAgICAgICAgICAgdGVybTogdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlLFxuICAgICAgICAgICAgZm9yY2VDbG9zZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21vdmVJbmRpY2F0b3JUb0xhc3RDaGFyYWN0ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0VGV4dExlbmd0aCA9IHRoaXMuaW5wdXRUZXh0Py5sZW5ndGggPz8gMDtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGlucHV0VGV4dExlbmd0aCwgaW5wdXRUZXh0TGVuZ3RoKTtcbiAgICB9XG59XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBV25ELE1BQU0sT0FBTyxxQkFBcUI7SUFnRDlCLGNBQWM7SUFDZCw4REFBOEQ7SUFDOUQ7UUF0Q0EsNERBQTREO1FBRTVELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFFZDs7O29EQUc0QztRQUU1QyxjQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVqQyx5REFBeUQ7UUFHaEQsZUFBVSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUU3RixjQUFjO1FBQ0csa0JBQWEsR0FBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELGNBQWM7UUFDRyxjQUFTLEdBQWEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFakUsY0FBYztRQUNHLGNB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VSxFQUFFLElBQUk7aUJBQ25CO3dEQUlHLE9BQU87c0JBRE4sS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQVFOLFNBQVM7c0JBRFIsS0FBSztnQkFNRyxVQUFVO3NCQUZsQixNQUFNO2dCQWtEUCxPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQUNLU1BBQ0UsIENPTlRST0wsIERFTEVURSwgRU5URVIsIEVTQ0FQRSwgTEVGVF9BUlJPVywgUklHSFRfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEtleVV0aWwgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMva2V5LXV0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Db21wbGV0ZUV2ZW50IHtcbiAgICB0ZXJtOiBzdHJpbmc7XG4gICAgZm9yY2VDbG9zZTogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrQXV0b0NvbXBsZXRlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVEaXJlY3RpdmUge1xuICAgIC8qKiBWYWx1ZXMgdGhhdCB3aWxsIGZpbGwgbWlzc2luZyB0ZXh0IGluIHRoZSBpbnB1dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG9wdGlvbnM6IGFueVtdO1xuXG4gICAgLyoqXG4gICAgICogSW5wdXQgdGV4dCwgdGhhdCBpcyB0YWtlbiBmcm9tIG5nTW9kZWwgb2YgZm9ybUNvbnRyb2wsXG4gICAgICogdGhlcmUgaGFzIHRvIGJlIGRpZmZlcmVuY2UgYmV0d2VlbiBuYXRpdmUgaW5wdXQgdmFsdWUgYW5kIG1vZGVsIHZhbHVlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpbnB1dFRleHQ6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBhdXRvIGNvbXBsZXRlIGRpcmVjdGl2ZSBzaG91bGQgYmUgZW5hYmxlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZW5hYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBEaXNwbGF5IGZ1bmN0aW9uLiBBY2NlcHRzIGFuIG9iamVjdCBvZiB0aGUgc2FtZSB0eXBlIGFzIHRoZVxuICAgICAqIGl0ZW1zIHBhc3NlZCB0byBkcm9wZG93blZhbHVlcyBhcyBhcmd1bWVudCwgYW5kIG91dHB1dHMgYSBzdHJpbmcuXG4gICAgICogQW4gYXJyb3cgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSAqdGhpcyoga2V5d29yZCBpbiB0aGUgY2FsbGluZyBjb21wb25lbnQuXG4gICAgICogU2VlIHNlYXJjaCBpbnB1dCBleGFtcGxlcyBmb3IgZGV0YWlscy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlGbiA9IHRoaXMuX2RlZmF1bHREaXNwbGF5O1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiB0aGUgYXV0byBhaGVhZCB0ZXh0IGlzIGFjY2VwdGVkICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcmVhZG9ubHkgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPEF1dG9Db21wbGV0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b0NvbXBsZXRlRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBsZXRlS2V5czogbnVtYmVyW10gPSBbRU5URVJdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9maWxsS2V5czogbnVtYmVyW10gPSBbTEVGVF9BUlJPVywgUklHSFRfQVJST1ddO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9wS2V5czogbnVtYmVyW10gPSBbQkFDS1NQQUNFLCBERUxFVEUsIEVTQ0FQRV07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgb2xkVmFsdWU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBsYXN0S2V5VXBFdmVudDogS2V5Ym9hcmRFdmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEZpeGVzICMxMDcxMFxuICAgICAgICAgKiBXaXRoIGNoaW5lc2UgY2hhcmFjdGVycyBpbnB1dFRleHQgcHJvcGVydHkgdXBkYXRlIHdhcyB0cmlnZ2VyZWQgYWZ0ZXIgdGhlIGtleXVwIGV2ZW50IHRyaWdnZXIuXG4gICAgICAgICAqIEJ5IGVuc3VyaW5nIHRoYXQgd2Ugc2V0IGFsbCBwcm9wZXJ0aWVzIHdlIGNhbiBwcm9jZWVkIHdpdGggc3RhYmxlIGRhdGEuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleXVwRXZlbnQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5dXAnKTtcbiAgICAgICAgICAgIGtleXVwRXZlbnRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChldnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl96b25lLm9uU3RhYmxlLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZXZ0KVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldnQpID0+IHRoaXMuX2hhbmRsZUtleWJvYXJkRXZlbnQoZXZ0KSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBNYXRjaGVyIGZ1bmN0aW9uIGZvciB0ZXN0aW5nIHRoZSBzdHIgZm9yIGEgc2VhcmNoIHRlcm0gKi9cbiAgICBASW5wdXQoKVxuICAgIG1hdGNoZXIgPSAoc3RyOiBzdHJpbmcsIHNlYXJjaFRlcm06IHN0cmluZyk6IGJvb2xlYW4gPT4gc3RyLnN0YXJ0c1dpdGgoc2VhcmNoVGVybSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9oYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZSkge1xuICAgICAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCB0aGlzLl9zdG9wS2V5cykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmlucHV0VGV4dDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIHRoaXMuX2NvbXBsZXRlS2V5cykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZW5kQ29tcGxldGVFdmVudCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlSW5kaWNhdG9yVG9MYXN0Q2hhcmFjdGVyKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCB0aGlzLl9maWxsS2V5cykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZW5kQ29tcGxldGVFdmVudChmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc0NvbnRyb2xLZXkoZXZlbnQpICYmIHRoaXMuaW5wdXRUZXh0KSB7XG4gICAgICAgICAgICAgICAgLyoqIFByZXZlbnRpb24gZnJvbSB0cmlnZ2VyaW5nIHR5cGVhaGVhZCwgd2hlbiBoYXZpbmcgY3J0bC9jbWQgKyBrZXlzICovXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl90cmlnZ2VyVHlwZUFoZWFkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMub2xkVmFsdWUgPSB0aGlzLmlucHV0VGV4dDtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0aW9uKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hdGNoZXIodGhpcy5kaXNwbGF5Rm4ob3B0aW9uKS50b0xvY2FsZUxvd2VyQ2FzZSgpLCB0aGlzLmlucHV0VGV4dC50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90eXBlYWhlYWQodGhpcy5kaXNwbGF5Rm4oaXRlbSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhc3RLZXlVcEV2ZW50ID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90eXBlYWhlYWQoZGlzcGxheWVkVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBkaXNwbGF5ZWRWYWx1ZTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnRJbmRleCA9IHRoaXMuaW5wdXRUZXh0Lmxlbmd0aDtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0SW5kZXgsIGRpc3BsYXllZFZhbHVlLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0NvbnRyb2xLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBDT05UUk9MKSB8fCBldmVudC5jdHJsS2V5O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdERpc3BsYXkodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RyaWdnZXJUeXBlQWhlYWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhKFxuICAgICAgICAgICAgdGhpcy5sYXN0S2V5VXBFdmVudCAmJlxuICAgICAgICAgICAgS2V5VXRpbC5pc0tleUNvZGUodGhpcy5sYXN0S2V5VXBFdmVudCwgQ09OVFJPTCkgJiZcbiAgICAgICAgICAgIHRoaXMuaW5wdXRUZXh0ID09PSB0aGlzLm9sZFZhbHVlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZW5kQ29tcGxldGVFdmVudChmb3JjZUNsb3NlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHtcbiAgICAgICAgICAgIHRlcm06IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSxcbiAgICAgICAgICAgIGZvcmNlQ2xvc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tb3ZlSW5kaWNhdG9yVG9MYXN0Q2hhcmFjdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dFRleHRMZW5ndGggPSB0aGlzLmlucHV0VGV4dD8ubGVuZ3RoID8/IDA7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShpbnB1dFRleHRMZW5ndGgsIGlucHV0VGV4dExlbmd0aCk7XG4gICAgfVxufVxuIl19
|
|
@@ -13,7 +13,9 @@ export function scrollIntoView(element, position) {
|
|
|
13
13
|
*/
|
|
14
14
|
const elRect = element.getBoundingClientRect();
|
|
15
15
|
const topEl = document.elementFromPoint(elRect.left, elRect.top);
|
|
16
|
-
if (!element.isSameNode(topEl) &&
|
|
16
|
+
if (!element.isSameNode(topEl) &&
|
|
17
|
+
topEl &&
|
|
18
|
+
element.getBoundingClientRect().top !== topEl.getBoundingClientRect().top) {
|
|
17
19
|
scrollableParent.scrollBy({ top: elRect.top - topEl.getBoundingClientRect().bottom });
|
|
18
20
|
}
|
|
19
21
|
}
|
|
@@ -38,4 +40,4 @@ function getScrollParent(node) {
|
|
|
38
40
|
return getScrollParent(node.parentNode);
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9mb2N1c2FibGUtbGlzdC9zY3JvbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsMkZBQTJGO0FBQzNGLE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBOEIsRUFBRSxRQUFrQztJQUM3RixJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1YsT0FBTztLQUNWO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEQsSUFBSSxnQkFBZ0IsRUFBRTtRQUNsQixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztRQUNyRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1g7OztlQUdHO1lBQ0gsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBZ0IsQ0FBQztZQUNoRixJQUNJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLEtBQUs7Z0JBQ0wsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFDM0U7Z0JBQ0UsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUN6RjtTQUNKO1FBQ0QsUUFBUSxRQUFRLEVBQUU7WUFDZCxLQUFLLEtBQUs7Z0JBQ04sZ0JBQWdCLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztnQkFDM0MsTUFBTTtZQUNWLEtBQUssUUFBUTtnQkFDVCxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsYUFBYSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDcEcsTUFBTTtTQUNiO0tBQ0o7QUFDTCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsSUFBd0I7SUFDN0MsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1FBQ2QsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUN4RyxPQUFPLElBQUksQ0FBQztLQUNmO1NBQU07UUFDSCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBeUIsQ0FBQyxDQUFDO0tBQzFEO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL251bGxhYmxlJztcblxuZXhwb3J0IHR5cGUgU2Nyb2xsUG9zaXRpb24gPSAndG9wJyB8ICdib3R0b20nIHwgdW5kZWZpbmVkO1xuXG4vKiogSGVscGVyIGZ1bmN0aW9uIHRvIHNjcm9sbCB0byBmb2N1c2FibGUgbGlzdCBvciBpdHMgaXRlbSByZWxhdGl2ZWx5IHRvIHRoZSBjb250YWluZXIuICovXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsSW50b1ZpZXcoZWxlbWVudDogTnVsbGFibGU8SFRNTEVsZW1lbnQ+LCBwb3NpdGlvbjogTnVsbGFibGU8U2Nyb2xsUG9zaXRpb24+KTogdm9pZCB7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzY3JvbGxhYmxlUGFyZW50ID0gZ2V0U2Nyb2xsUGFyZW50KGVsZW1lbnQpO1xuXG4gICAgaWYgKHNjcm9sbGFibGVQYXJlbnQpIHtcbiAgICAgICAgY29uc3QgaXRlbU9mZnNldFRvcCA9IGVsZW1lbnQub2Zmc2V0VG9wIC0gc2Nyb2xsYWJsZVBhcmVudC5vZmZzZXRUb3A7XG4gICAgICAgIGlmICghcG9zaXRpb24pIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogY2hlY2sgaWYgdG9wIG9mIGZvY3VzZWQgZWxlbWVudCBpcyBmdWxseSB2aXNpYmxlLCBhbmQgaWYgbm90LCBhZGp1c3Qgc2Nyb2xsLlxuICAgICAgICAgICAgICogdGhpcyBpcyB0cmlnZ2VyZWQgd2hlbiBhIHN0aWNreSB0YWJsZSBoZWFkZXIgb3ZlcmxhcHMgdGhlIGZvY3VzZWQgY2VsbC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgZWxSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcEVsID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChlbFJlY3QubGVmdCwgZWxSZWN0LnRvcCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIWVsZW1lbnQuaXNTYW1lTm9kZSh0b3BFbCkgJiZcbiAgICAgICAgICAgICAgICB0b3BFbCAmJlxuICAgICAgICAgICAgICAgIGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICE9PSB0b3BFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3BcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHNjcm9sbGFibGVQYXJlbnQuc2Nyb2xsQnkoeyB0b3A6IGVsUmVjdC50b3AgLSB0b3BFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICBzY3JvbGxhYmxlUGFyZW50LnNjcm9sbFRvcCA9IGl0ZW1PZmZzZXRUb3A7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgIHNjcm9sbGFibGVQYXJlbnQuc2Nyb2xsVG9wID0gaXRlbU9mZnNldFRvcCAtIChzY3JvbGxhYmxlUGFyZW50Lm9mZnNldEhlaWdodCAtIGVsZW1lbnQub2Zmc2V0SGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0U2Nyb2xsUGFyZW50KG5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKG5vZGUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5zY3JvbGxIZWlnaHQgPiBub2RlLmNsaWVudEhlaWdodCAmJiBbJ2F1dG8nLCAnc2Nyb2xsJ10uaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS5vdmVyZmxvd1kpKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBnZXRTY3JvbGxQYXJlbnQobm9kZS5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class SelectableItemToken {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1pdGVtLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9zZWxlY3RhYmxlLWxpc3Qvc2VsZWN0YWJsZS1pdGVtLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBZ0IsbUJBQW1CO0NBYXhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSGFzRWxlbWVudFJlZiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaGFzLWVsZW1lbnQtcmVmLmludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWxlY3RhYmxlSXRlbVRva2VuPEVsZW1lbnRUeXBlIGV4dGVuZHMgRWxlbWVudCA9IEhUTUxFbGVtZW50LCBUVmFsdWUgPSBFbGVtZW50VHlwZT5cbiAgICBpbXBsZW1lbnRzIEhhc0VsZW1lbnRSZWY8RWxlbWVudFR5cGU+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1pdGVtLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9zZWxlY3RhYmxlLWxpc3Qvc2VsZWN0YWJsZS1pdGVtLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBZ0IsbUJBQW1CO0NBYXhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSGFzRWxlbWVudFJlZiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaGFzLWVsZW1lbnQtcmVmLmludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWxlY3RhYmxlSXRlbVRva2VuPEVsZW1lbnRUeXBlIGV4dGVuZHMgRWxlbWVudCA9IEhUTUxFbGVtZW50LCBUVmFsdWUgPSBFbGVtZW50VHlwZT5cbiAgICBpbXBsZW1lbnRzIEhhc0VsZW1lbnRSZWY8RWxlbWVudFR5cGU+XG57XG4gICAgYWJzdHJhY3QgdmFsdWU6IFRWYWx1ZTtcbiAgICBhYnN0cmFjdCBmZGtTZWxlY3RhYmxlSXRlbT86IGJvb2xlYW47XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEVsZW1lbnRUeXBlPjtcblxuICAgIGFic3RyYWN0IGNsaWNrZWQ6IE9ic2VydmFibGU8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+O1xuXG4gICAgYWJzdHJhY3Qgc2V0U2VsZWN0ZWQoaXNTZWxlY3RlZDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBnZXRTZWxlY3RlZCgpOiBib29sZWFuO1xufVxuIl19
|
|
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
85
85
|
}], customTransferFn: [{
|
|
86
86
|
type: Input
|
|
87
87
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLWtleWJvYXJkLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RyYWctYW5kLWRyb3AvZG5kLWtleWJvYXJkLWdyb3VwL2RuZC1rZXlib2FyZC1ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFeEQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQWdCbEMsY0FBYztJQUNkLFlBQ3FCLElBQXVCLEVBQ1gsV0FBdUI7UUFEbkMsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDWCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWR4RCxxQ0FBcUM7UUFFckMsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLHVEQUF1RDtRQUV2RCxnQkFBVyxHQUE4QixVQUFVLENBQUM7UUFFcEQsY0FBYztRQUNkLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBUW5ELGdFQUFnRTtRQUVoRSxpQkFBWSxHQUFHLENBQUMsS0FBWSxFQUFFLFNBQWlCLEVBQUUsT0FBZSxFQUFRLEVBQUUsQ0FDdEUsZUFBZSxDQUFDLEtBQUssRUFBRSxTQUFTLEVB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O1lBRXZCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUVELHdEQUF3RDtJQUNoRCxhQUFhLENBQUMsVUFBa0IsRUFBRSxTQUFpQjtRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQWhGUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSw2Q0FBNkMsRUFBRTs7MEJBb0I3RCxRQUFRO3lDQWhCYixNQUFNO3NCQURMLEtBQUs7Z0JBS04sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFjTixZQUFZO3NCQURYLEtBQUs7Z0JBTU4sZ0JBQWdCO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBET1dOX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ydGwuc2VydmljZSc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgaXMgdXNlZCB0byBwcm92aWRlIGRyYWcgJiBkcm9wIHdpdGgga2V5Ym9hcmQgc3VwcG9ydC5cbiAqIEl0IHNob3VsZCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggZGlyZWN0aXZlIGZkRG5kS2V5Ym9hcmRJdGVtLlxuICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbZmRrRG5kS2V5Ym9hcmRHcm91cF0sIFtmZERuZEtleWJvYXJkR3JvdXBdJyB9KVxuZXhwb3J0IGNsYXNzIERuZEtleWJvYXJkR3JvdXBEaXJlY3RpdmUge1xuICAgIC8qKiBHcm91cCBvZiBpdGVtcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ3JvdXBzOiBhbnlbXVtdO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gZGlzYWJsZSBkcmFnICYgZHJvcCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZUtleWJvYXJkRHJhZ0Ryb3AgPSBmYWxzZTtcblxuICAgIC8qKiBVc2VkIHRvIGFwcGx5IGluZGV4ZXMgd2hlbiBtb3ZpbmcgYmV0d2VlbiBncm91cHMgKi9cbiAgICBASW5wdXQoKVxuICAgIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ3ZlcnRpY2FsJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uRG5kSXRlbUZvY3VzJCA9IG5ldyBTdWJqZWN0PFtudW1iZXIsIG51bWJlcl0+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEN1c3RvbSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gbW92aW5nIGl0ZW0gaW5zaWRlIHRoZSBncm91cCAqL1xuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tTW92ZUZuID0gKGdyb3VwOiBhbnlbXSwgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IHZvaWQgPT5cbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGdyb3VwLCBmcm9tSW5kZXgsIHRvSW5kZXgpO1xuXG4gICAgLyoqIEN1c3RvbSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gbW92aW5nIGl0ZW0gYmV0d2VlbiBncm91cHMgKi9cbiAgICBASW5wdXQoKVxuICAgIGN1c3RvbVRyYW5zZmVyRm4gPSAoZ3JvdXA6IGFueVtdLCBuZXh0R3JvdXA6IGFueVtdLCBmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyKTogdm9pZCA9PlxuICAgICAgICB0cmFuc2ZlckFycmF5SXRlbShncm91cCwgbmV4dEdyb3VwLCBmcm9tSW5kZXgsIHRvSW5kZXgpO1xuXG4gICAgLyoqIFByb2Nlc3MgZHJhZyAmIGRyb3AgKi9cbiAgICBwcm9jZXNzRHJhZ0Ryb3AoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGl0ZW1JbmRleDogbnVtYmVyLCBncm91cEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZUtleWJvYXJkRHJhZ0Ryb3AgfHwgIWV2ZW50LmFsdEtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNSdGwgPSB0aGlzLl9ydGxTZXJ2aWNlLnJ0bC52YWx1ZTtcblxuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuZ3JvdXBzW2dyb3VwSW5kZXhdO1xuICAgICAgICBjb25zdCBpbmRleEluTmV4dEdyb3VwID0gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/IDAgOiBpdGVtSW5kZXg7XG5cbiAgICAgICAgY29uc3QgbmV4dEdyb3VwRXhpc3RzID0gdGhpcy5ncm91cHMubGVuZ3RoID4gZ3JvdXBJbmRleCArIDE7XG4gICAgICAgIGNvbnN0IHByZXZHcm91cEV4aXN0cyA9ICEhZ3JvdXBJbmRleDtcblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFJJR0hUX0FSUk9XKSAmJiAoaXNSdGwgPyBwcmV2R3JvdXBFeGlzdHMgOiBuZXh0R3JvdXBFeGlzdHMpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBuZXh0R3JvdXBJbmRleCA9IGdyb3VwSW5kZXggKyAoaXNSdGwgPyAtMSA6IDEpO1xuICAgICAgICAgICAgY29uc3QgbmV4dEdyb3VwID0gdGhpcy5ncm91cHNbbmV4dEdyb3VwSW5kZXhdO1xuXG4gICAgICAgICAgICB0aGlzLmN1c3RvbVRyYW5zZmVyRm4oZ3JvdXAsIG5leHRHcm91cCwgaXRlbUluZGV4LCBpbmRleEluTmV4dEdyb3VwKTtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzRG5kSXRlbShuZXh0R3JvdXBJbmRleCwgaW5kZXhJbk5leHRHcm91cCk7XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpICYmIChpc1J0bCA/IG5leHRHcm91cEV4aXN0cyA6IHByZXZHcm91cEV4aXN0cykpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIGNvbnN0IG5leHRHcm91cEluZGV4ID0gZ3JvdXBJbmRleCArIChpc1J0bCA/IDEgOiAtMSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0R3JvdXAgPSB0aGlzLmdyb3Vwc1tuZXh0R3JvdXBJbmRleF07XG5cbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVHJhbnNmZXJGbihncm91cCwgbmV4dEdyb3VwLCBpdGVtSW5kZXgsIGluZGV4SW5OZXh0R3JvdXApO1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNEbmRJdGVtKG5leHRHcm91cEluZGV4LCBpbmRleEluTmV4dEdyb3VwKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRE9XTl9BUlJPVykpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHRoaXMuY3VzdG9tTW92ZUZuKGdyb3VwLCBpdGVtSW5kZXgsIGl0ZW1JbmRleCArIDEpO1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNEbmRJdGVtKGdyb3VwSW5kZXgsIGl0ZW1JbmRleCArIDEpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBVUF9BUlJPVykpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHRoaXMuY3VzdG9tTW92ZUZuKGdyb3VwLCBpdGVtSW5kZXgsIGl0ZW1JbmRleCAtIDEpO1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNEbmRJdGVtKGdyb3VwSW5kZXgsIGl0ZW1JbmRleCAtIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gRm9jdXMgYWZ0ZXIgbW92aW5nIGVsZW1lbnRzIHdpdGgga2V5Ym9hcmQgKi9cbiAgICBwcml2YXRlIF9mb2N1c0RuZEl0ZW0oZ3JvdXBJbmRleDogbnVtYmVyLCBpdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMuX29uRG5kSXRlbUZvY3VzJC5uZXh0KFtncm91cEluZGV4LCBpdGVtSW5kZXhdKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -50,6 +50,10 @@ export class DndKeyboardItemDirective {
|
|
|
50
50
|
this._onDestroy$ = new Subject();
|
|
51
51
|
}
|
|
52
52
|
/** @hidden */
|
|
53
|
+
_onKeyDown(event) {
|
|
54
|
+
this._dndGroup.processDragDrop(event, this.itemIndex, this.groupIndex);
|
|
55
|
+
}
|
|
56
|
+
/** @hidden */
|
|
53
57
|
ngOnInit() {
|
|
54
58
|
this._dndGroup._onDndItemFocus$.subscribe(([groupIndex, itemIndex]) => {
|
|
55
59
|
if (this.groupIndex === groupIndex && this.itemIndex === itemIndex) {
|
|
@@ -62,10 +66,6 @@ export class DndKeyboardItemDirective {
|
|
|
62
66
|
this._onDestroy$.next();
|
|
63
67
|
this._onDestroy$.complete();
|
|
64
68
|
}
|
|
65
|
-
/** @hidden */
|
|
66
|
-
_onKeyDown(event) {
|
|
67
|
-
this._dndGroup.processDragDrop(event, this.itemIndex, this.groupIndex);
|
|
68
|
-
}
|
|
69
69
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DndKeyboardItemDirective, deps: [{ token: i1.DndKeyboardGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
70
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: DndKeyboardItemDirective, selector: "[fdkDndKeyboardItem], [fdDndKeyboardItem]", inputs: { itemIndex: "itemIndex", groupIndex: "groupIndex" }, host: { listeners: { "keydown": "_onKeyDown($event)" } }, ngImport: i0 }); }
|
|
71
71
|
}
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
80
80
|
type: HostListener,
|
|
81
81
|
args: ['keydown', ['$event']]
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLWtleWJvYXJkLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZHJhZy1hbmQtZHJvcC9kbmQta2V5Ym9hcmQtaXRlbS9kbmQta2V5Ym9hcmQtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7O0FBRS9GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBRUgsTUFBTSxPQUFPLHdCQUF3QjtJQVlqQyxjQUFjO0lBQ2QsWUFDcUIsU0FBb0MsRUFDcEMsV0FBdUI7UUFEdkIsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFONUMsY0FBYztRQUNHLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU1oRCxDQUFDO0lBRUosY0FBYztJQUVkLFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGNBQWM7SUFDZCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQ2xFLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7Z0JBQ2hFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0FyQ1Esd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsMkNBQTJDLEVBQUU7dUhBSWhFLFNBQVM7c0JBRFIsS0FBSztnQkFLTixVQUFVO3NCQURULEtBQUs7Z0JBY04sVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRG5kS2V5Ym9hcmRHcm91cERpcmVjdGl2ZSB9IGZyb20gJy4uL2RuZC1rZXlib2FyZC1ncm91cC9kbmQta2V5Ym9hcmQtZ3JvdXAuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB1c2VkIHRvIHByb3ZpZGUgZHJhZyAmIGRyb3Agd2l0aCBrZXlib2FyZCBzdXBwb3J0LlxuICogSXQgc2hvdWxkIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBkaXJlY3RpdmUgZmREbmRLZXlib2FyZEdyb3VwLlxuICogV2UgYXJlIHVzaW5nIF9ncm91cHMgZnJvbSBmZERuZEtleWJvYXJkR3JvdXAgYW5kIGFkZGluZyBhIHBvc3NpYmlsaXR5IHRvIG1vdmUgY2FyZHMuXG4gKiBQbGVhc2Ugc2VlIGV4YW1wbGUgYmVsb3c6XG4gKiBAQ29tcG9uZW50KHtcbiAqIHNlbGVjdG9yOiAnY2RrLWRyYWctZHJvcC1leGFtcGxlJyxcbiAqIHRlbXBsYXRlOiBgPGRpdlxuICogICAgICAgICAgICAgICBjZGtEcmFnTGlzdEdyb3VwXG4gKiAgICAgICAgICAgICAgIGZkRG5kS2V5Ym9hcmRHcm91cFxuICogICAgICAgICAgICAgICBbZ3JvdXBzXT1cImdyb3Vwc1wiXG4gKiAgICAgICAgICAgPlxuICogICAgICAgICAgICAgICA8ZGl2XG4gKiAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBzOyBsZXQgZ3JvdXBJbmRleCA9IGluZGV4XCJcbiAqICAgICAgICAgICAgICAgICAgIGNka0RyYWdMaXN0XG4gKiAgICAgICAgICAgICAgID5cbiAqICAgICAgICAgICAgICAgICAgIEdyb3VwICN7eyBncm91cEluZGV4IH19XG4gKiAgICAgICAgICAgICAgICAgICA8ZGl2XG4gKiAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXA7IGxldCBpbmRleCA9IGluZGV4XCJcbiAqICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnXG4gKiAgICAgICAgICAgICAgICAgICAgICAgZmREbmRLZXlib2FyZEl0ZW1cbiAqICAgICAgICAgICAgICAgICAgICAgICBbaXRlbUluZGV4XT1cImluZGV4XCJcbiAqICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBJbmRleF09XCJncm91cEluZGV4XCJcbiAqICAgICAgICAgICAgICAgICAgICAgICBbZG5kS2V5Ym9hcmREaXNhYmxlZF09XCJmbGFnIGZvciBkaXNhYmxlL2VuYWJsZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGlmIG5lZWRlZFwiXG4gKiAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAqICAgICAgICAgICAgICAgICAgID5cbiAqICAgICAgICAgICAgICAgICAgICAgICBJdGVtICN7eyBpdGVtIH19XG4gKiAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAqICAgICAgICAgICAgICAgPC9kaXY+XG4gKiAgICAgICAgICAgPC9kaXY+YCxcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQ2RrRHJhZ0Ryb3BFeGFtcGxlIHtcbiAqICAgZ3JvdXBzID0gW1xuICogICAgICAgIFsxLCAyLCAzXSxcbiAqICAgICAgICBbNCwgNSwgNl0sXG4gKiAgICAgIF07XG4gKiAgIH1cbiAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2Zka0RuZEtleWJvYXJkSXRlbV0sIFtmZERuZEtleWJvYXJkSXRlbV0nIH0pXG5leHBvcnQgY2xhc3MgRG5kS2V5Ym9hcmRJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBpdGVtIGluZGV4IGluIGdyb3VwKGNvbHVtbikgKi9cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1JbmRleDogbnVtYmVyO1xuXG4gICAgLyoqIGdyb3VwKGNvbHVtbikgaW5kZXggKi9cbiAgICBASW5wdXQoKVxuICAgIGdyb3VwSW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9kbmRHcm91cDogRG5kS2V5Ym9hcmRHcm91cERpcmVjdGl2ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgX29uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kbmRHcm91cC5wcm9jZXNzRHJhZ0Ryb3AoZXZlbnQsIHRoaXMuaXRlbUluZGV4LCB0aGlzLmdyb3VwSW5kZXgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RuZEdyb3VwLl9vbkRuZEl0ZW1Gb2N1cyQuc3Vic2NyaWJlKChbZ3JvdXBJbmRleCwgaXRlbUluZGV4XSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JvdXBJbmRleCA9PT0gZ3JvdXBJbmRleCAmJiB0aGlzLml0ZW1JbmRleCA9PT0gaXRlbUluZGV4KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kcmFnLWFuZC1kcm9wL2RuZC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uL21vZGVscy9udWxsYWJsZSc7XG5cbmV4cG9ydCB0eXBlIExpbmtQb3NpdGlvbiA9ICdhZnRlcicgfCAnYmVmb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q2hvcmQge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgcG9zaXRpb246IExpbmtQb3NpdGlvbjtcbiAgICBzdGlja1RvUG9zaXRpb24/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kcmFnLWFuZC1kcm9wL2RuZC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uL21vZGVscy9udWxsYWJsZSc7XG5cbmV4cG9ydCB0eXBlIExpbmtQb3NpdGlvbiA9ICdhZnRlcicgfCAnYmVmb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q2hvcmQge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgcG9zaXRpb246IExpbmtQb3NpdGlvbjtcbiAgICBzdGlja1RvUG9zaXRpb24/OiBib29sZWFuO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmREcm9wRXZlbnQ8VD4ge1xuICAgIGl0ZW1zOiBBcnJheTxUPjtcbiAgICByZXBsYWNlZEl0ZW1JbmRleDogbnVtYmVyO1xuICAgIGRyYWdnZWRJdGVtSW5kZXg6IG51bWJlcjtcbiAgICBpbnNlcnRBdDogJ2JlZm9yZScgfCAnYWZ0ZXInIHwgbnVsbDtcbiAgICBtb2RlOiBGZERuZERyb3BFdmVudE1vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudFBvc2l0aW9uIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERuZEl0ZW08VCA9IGFueT4ge1xuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICAgaXRlbTogTnVsbGFibGU8VD47XG4gICAgbW92ZWQ6IE9ic2VydmFibGU8RWxlbWVudFBvc2l0aW9uPjtcbiAgICByZWxlYXNlZDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICBzdGFydGVkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAgIGxpc3REcmFnZ2FibGU6IGJvb2xlYW47XG4gICAgZ2V0RWxlbWVudENvb3JkaW5hdGVzKGlzQmVmb3JlOiBib29sZWFuLCBncmlkTW9kZTogYm9vbGVhbik6IEVsZW1lbnRDaG9yZDtcbiAgICByZW1vdmVMaW5lKCk6IHZvaWQ7XG4gICAgcmVtb3ZlUmVwbGFjZUluZGljYXRvcigpOiB2b2lkO1xuICAgIGNyZWF0ZUxpbmUobGlua1Bvc2l0aW9uOiBMaW5rUG9zaXRpb24sIGdyaWRNb2RlOiBib29sZWFuKTogdm9pZDtcbiAgICBjcmVhdGVSZXBsYWNlSW5kaWNhdG9yKCk6IHZvaWQ7XG4gICAgY2hhbmdlQ0RLRHJhZ1N0YXRlKCk6IHZvaWQ7XG4gICAgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIEZkRG5kRHJvcFR5cGUgPSAnc2hpZnQnIHwgJ2dyb3VwJyB8ICdhdXRvJztcbmV4cG9ydCB0eXBlIEZkRG5kRHJvcEV2ZW50TW9kZSA9ICdzaGlmdCcgfCAnZ3JvdXAnO1xuIl19
|
|
@@ -29,4 +29,4 @@ export class DynamicComponentContainer {
|
|
|
29
29
|
this._componentRef = this.portalOutlet.attach(new TemplatePortal(content, null, context));
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZGLE9BQU8sRUFJSCxRQUFRLEVBSVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxNQUFNLE9BQWdCLHlCQUF5QjtJQWdCM0MsY0FBYztJQUNkLFlBQ1csVUFBc0IsRUFDbkIsU0FBbUI7UUFEdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBWmpDLGNBQWM7UUFDZCxpQkFBWSxHQUFnQixTQUFTLENBQUM7UUFLdEMsY0FBYztRQUNKLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFNN0QsQ0FBQztJQUVKLGlEQUFpRDtJQUN2QyxvQkFBb0IsQ0FBQyxPQUFrQjtRQUM3QyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUztZQUN0QixTQUFTLEVBQUUsRUFBRTtTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQscURBQXFEO0lBQzNDLG1CQUFtQixDQUFDLE9BQXlCLEVBQUUsT0FBWTtRQUNqRSxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM5QjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQ3pDLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFtQyxFQUFFLE9BQU8sQ0FBQyxDQUM1RSxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0LCBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudFJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBJbmplY3RvcixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vbW9kZWxzL251bGxhYmxlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIER5bmFtaWNDb21wb25lbnRDb250YWluZXI8VCA9IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT4+IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFic3RyYWN0IHBvcnRhbE91dGxldDogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gICAgLyoqIEBoaWRkZW4gTG9hZCByZWNlaXZlZCBjb250ZW50ICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9sb2FkQ29udGVudCgpOiB2b2lkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjaGlsZENvbnRlbnQ6IE51bGxhYmxlPFQ+ID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBFbWJlZGRlZFZpZXdSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9jb250ZW50TG9hZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvclxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuIExvYWQgcmVjZWl2ZWQgY29udGVudCBhcyBjb21wb25lbnQgKi9cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUZyb21Db21wb25lbnQoY29udGVudDogVHlwZTxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9ydGFsT3V0bGV0Py5hdHRhY2hlZFJlZj8uZGVzdHJveSgpO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgbnVsbCwgaW5qZWN0b3IpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBMb2FkIHJlY2VpdmVkIGNvbnRlbnQgYXMgZW1iZWRkZWQgdmlldyAqL1xuICAgIHByb3RlY3RlZCBfY3JlYXRlRnJvbVRlbXBsYXRlKGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4sIGNvbnRleHQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnBvcnRhbE91dGxldD8uYXR0YWNoZWRSZWY/LmRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMucG9ydGFsT3V0bGV0Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9ydGFsT3V0bGV0LmRldGFjaCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaChcbiAgICAgICAgICAgIG5ldyBUZW1wbGF0ZVBvcnRhbChjb250ZW50LCBudWxsIGFzIHVua25vd24gYXMgVmlld0NvbnRhaW5lclJlZiwgY29udGV4dClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -258,4 +258,4 @@ export class BaseToastService {
|
|
|
258
258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BaseToastService, decorators: [{
|
|
259
259
|
type: Injectable
|
|
260
260
|
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }] });
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvdG9hc3QvYmFzZS10b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxPQUFPLEVBQ1AsYUFBYSxFQUdoQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUVILFVBQVUsRUFFVixVQUFVLEVBRVYsUUFBUSxFQUVSLFdBQVcsRUFHWCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQVFoRSxNQUFNLE9BQWdCLGdCQUFnQjtJQTZCbEMsY0FBYztJQUNkLFlBQ1csT0FBZ0IsRUFDaEIsUUFBa0I7UUFEbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakI3Qjs7O1dBR0c7UUFDTyxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUV2Qzs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUVwRSxjQUFjO1FBQ04sZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFNdEMsQ0FBQztJQXlDSjs7T0FFRztJQUNILE9BQU87UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxzQkFBc0IsQ0FBQyxXQUE4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LFVBQVUsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQsY0FBYztJQUNOLHNCQUFzQixDQUFDLFFBQWE7UUFDeEMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDOzhHQWxYaUIsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudFR5cGUsXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICAgIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5Q29uZmlnLFxuICAgIE92ZXJsYXlSZWYsXG4gICAgUG9zaXRpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudFJlZixcbiAgICBEZXN0cm95UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBJbmplY3RhYmxlLFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIEluamVjdG9yLFxuICAgIFN0YXRpY1Byb3ZpZGVyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCYXNlVG9hc3RQb3NpdGlvbiwgVG9hc3RHbG9iYWxDb25uZWN0ZWRQb3NpdGlvbiwgVG9hc3RHbG9iYWxQb3NpdGlvbiB9IGZyb20gJy4vYmFzZS10b2FzdC1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVRvYXN0Q29uZmlnIH0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UtdG9hc3QtY29uZmlnJztcbmltcG9ydCB7IEJhc2VUb2FzdFJlZiB9IGZyb20gJy4vY2xhc3Nlcy9iYXNlLXRvYXN0LXJlZic7XG5pbXBvcnQgeyBUb2FzdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC1jb250YWluZXItY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUb2FzdFRleHRDb21wb25lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvdG9hc3QtdGV4dC1jb21wb25lbnQuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb2FzdFNlcnZpY2U8XG4gICAgUCBleHRlbmRzIEJhc2VUb2FzdENvbmZpZyxcbiAgICBDIGV4dGVuZHMgVG9hc3RDb250YWluZXJDb21wb25lbnQ8UD4gPSBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPlxuPiB7XG4gICAgLyoqIENvbXBvbmVudCBmb3Igc2ltcGxlIHRleHQgdG9hc3QuICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRvYXN0VGV4dENvbXBvbmVudDogVHlwZTxUb2FzdFRleHRDb21wb25lbnQ+O1xuICAgIC8qKiBDb21wb25lbnQgZm9yIFRvYXN0IENvbnRhaW5lci4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3RDb250YWluZXJDb21wb25lbnQ6IFR5cGU8Qz47XG4gICAgLyoqIEluamVjdGlvbiB0b2tlbiBmb3IgVG9hc3QgRGF0YS4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3REYXRhSW5qZWN0aW9uVG9rZW46IEluamVjdGlvblRva2VuPGFueT47XG4gICAgLyoqIFRvYXN0IFBvc2l0aW9uIFN0cmF0ZWd5LiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdFBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uO1xuICAgIC8qKiBUb2FzdCBkZWZhdWx0IGNvbmZpZy4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGVmYXVsdENvbmZpZzogUDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBcnJheSBvZiBhbGwgY3VycmVudCB0b2FzdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHM6IEJhc2VUb2FzdFJlZltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHNNYXAgPSBuZXcgTWFwPEJhc2VUb2FzdFBvc2l0aW9uLCBCYXNlVG9hc3RSZWZbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIEdldHMgVG9hc3QgQ29udGFpbmVyIHByb3ZpZGVycy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IENvbmZpZy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29udGFpbmVyQ29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZzogUCk6IFN0YXRpY1Byb3ZpZGVyW107XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIFRvYXN0IENvbnRlbnQgcHJvdmlkZXJzLlxuICAgICAqIEBwYXJhbSBjb25maWcgVG9hc3QgQ29uZmlnLlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBUb2FzdCBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRlbnRDb21wb25lbnRQcm92aWRlcnM8VD4oY29uZmlnOiBQLCB0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQ+KTogU3RhdGljUHJvdmlkZXJbXTtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gdG9hc3QgYWNjZXB0cyBzdHJpbmcsIENvbXBvbmVudCBvciBUZW1wbGF0ZVJlZi5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuPFQ+KFxuICAgICAgICB0b2FzdDogc3RyaW5nIHwgVHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+XG4gICAgKTogQmFzZVRvYXN0UmVmPFRvYXN0VGV4dENvbXBvbmVudCB8IFQgfCBFbWJlZGRlZFZpZXdSZWY8VD4sIFA+O1xuXG4gICAgYWJzdHJhY3Qgb3BlbkZyb21TdHJpbmcobWVzc2FnZTogc3RyaW5nLCBjb25maWc6IFApOiBCYXNlVG9hc3RSZWY8VG9hc3RUZXh0Q29tcG9uZW50LCBQPjtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCBwcm92aWRlZCBjb21wb25lbnQgaW5zaWRlLlxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgQ29tcG9uZW50IHRvIHJlbmRlciBpbnNpZGUgYSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHJldHVybnMgVG9hc3QgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG9wZW5Gcm9tQ29tcG9uZW50PFQ+KGNvbXBvbmVudDogVHlwZTxUPiwgY29uZmlnOiBQKTogQmFzZVRvYXN0UmVmPFQsIFA+O1xuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYSBUb2FzdCB3aXRoIHByb3ZpZGVkIFRlbXBsYXRlIFJlZmVyZW5jZS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGVtcGxhdGUgUmVmZXJlbmNlIHRvIHJlbmRlciBpbnNpZGUgYSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHJldHVybnMgVG9hc3QgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG9wZW5Gcm9tVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIGNvbmZpZzogUCk6IEJhc2VUb2FzdFJlZjxFbWJlZGRlZFZpZXdSZWY8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiBEaXNtaXNzZXMgYWxsIFRvYXN0cy5cbiAgICAgKi9cbiAgICBoaWRlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b2FzdHMuZm9yRWFjaCgodCkgPT4gdC5kaXNtaXNzKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYHRydWVgIGlmIHRoZXJlIGFyZSBzb21lIG1lc3NhZ2UgdG9hc3RzIGN1cnJlbnRseSBvcGVuLiBgRmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBoYXNPcGVuTWVzc2FnZVRvYXN0cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RvYXN0cy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbmV3IHBvc2l0aW9uIHN0cmF0ZWd5IGZvciBhbGwgVG9hc3QgaXRlbXMuXG4gICAgICogQHBhcmFtIG5ld1N0cmF0ZWd5IE5ldyBQb3NpdGlvbiBTdHJhdGVneVxuICAgICAqL1xuICAgIHNldE5ld1Bvc2l0aW9uU3RyYXRlZ3kobmV3U3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChuZXdTdHJhdGVneSA9PT0gdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5ID0gbmV3U3RyYXRlZ3k7XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIFRvYXN0IFJlZmVyZW5jZSBmb3IgcHJvdmlkZWQgY29udGFpbmVyIGFuZCBvdmVybGF5LlxuICAgICAqIEBwYXJhbSBjb250YWluZXJSZWYgQ29udGFpbmVyIHJlZmVyZW5jZS5cbiAgICAgKiBAcGFyYW0gb3ZlcmxheVJlZiBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKiBAcGFyYW0gcG9zaXRpb25TdHJhdGVneSBQb3NpdGlvbiBTdHJhdGVneVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRUb2FzdFJlZjxUPihcbiAgICAgICAgY29udGFpbmVyUmVmOiBDLFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICk6IEJhc2VUb2FzdFJlZjxUIHwgRW1iZWRkZWRWaWV3UmVmPGFueT4sIFA+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFBsYWNlcyBhIG5ldyBjb21wb25lbnQgb3IgYSB0ZW1wbGF0ZSBhcyB0aGUgY29udGVudCBvZiB0aGUgVG9hc3QgY29udGFpbmVyLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfYXR0YWNoPFQ+KFxuICAgICAgICBjb250ZW50OiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgIHVzZXJDb25maWc/OiBQXG4gICAgKTogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD4ge1xuICAgICAgICBjb25zdCBjb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4udXNlckNvbmZpZyB9O1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgfHwgdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIGNvbnN0IHsgb3ZlcmxheSwgaXNBbmNob3IgfSA9IHRoaXMuX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHRoaXMuYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheSwgY29uZmlnKTtcbiAgICAgICAgY29uc3QgdG9hc3RSZWYgPSB0aGlzLmdldFRvYXN0UmVmPFQ+KGNvbnRhaW5lclJlZiwgb3ZlcmxheSwgcG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIHRvYXN0UmVmLl9kZWZhdWx0UG9zaXRpb25TdHJhdGVneSA9ICFjb25maWcucG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgdG9hc3RSZWYuX2lzQW5jaG9yID0gaXNBbmNob3I7XG5cbiAgICAgICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgLy8gVGVtcGxhdGVQb3J0YWwgcmVxdWlyZXMgdmlld0NvbnRhaW5lciByZWZcbiAgICAgICAgICAgIGNvbnN0IHZpZXdSZWYgPSBudWxsIGFzIGFueSBhcyBWaWV3Q29udGFpbmVyUmVmO1xuICAgICAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKGNvbnRlbnQsIHZpZXdSZWYsIHsgJGltcGxpY2l0OiBjb25maWcsIHRvYXN0UmVmIH0gYXMgYW55KTtcblxuICAgICAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UgPSBjb250YWluZXJSZWYuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVDb250ZW50Q29tcG9uZW50SW5qZWN0b3IoY29uZmlnLCB0b2FzdFJlZik7XG4gICAgICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbnRlbnQsIHVuZGVmaW5lZCwgaW5qZWN0b3IpO1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IGNvbnRhaW5lclJlZi5hdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsKTtcblxuICAgICAgICAgICAgLy8gV2UgY2FuJ3QgcGFzcyB0aGlzIHZpYSB0aGUgaW5qZWN0b3IsIGJlY2F1c2UgdGhlIGluamVjdG9yIGlzIGNyZWF0ZWQgZWFybGllci5cbiAgICAgICAgICAgIHRvYXN0UmVmLmluc3RhbmNlID0gY29udGVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgICAgICAgY29udGVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhbGxUb2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuICAgICAgICBhbGxUb2FzdHMucHVzaCh0b2FzdFJlZik7XG4gICAgICAgIHRoaXMuX3RvYXN0cy5wdXNoKHRvYXN0UmVmKTtcbiAgICAgICAgdGhpcy5fdG9hc3RzTWFwLnNldChwb3NpdGlvblN0cmF0ZWd5LCBhbGxUb2FzdHMpO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0ZVRvYXN0PFQ+KHRvYXN0UmVmKTtcblxuICAgICAgICByZXR1cm4gdG9hc3RSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXR0YWNoZXMgdGhlIFRvYXN0IGNvbnRhaW5lciBjb21wb25lbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGF0dGFjaFRvYXN0Q29udGFpbmVyQ29tcG9uZW50KG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIGNvbmZpZzogUCk6IEMge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZ2V0Q29udGFpbmVyQ29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLnRvYXN0Q29udGFpbmVyQ29tcG9uZW50LCBudWxsLCBpbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPEM+ID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcblxuICAgICAgICBjb250YWluZXJSZWYuaW5zdGFuY2UuY29uZmlnID0gY29uZmlnO1xuICAgICAgICBjb250YWluZXJSZWYuaW5zdGFuY2Uub3ZlcmxheVJlZiA9IG92ZXJsYXlSZWY7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lclJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluamVjdG9yIHRvIGJlIHVzZWQgaW5zaWRlIGEgVG9hc3QgY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gdG9hc3RSZWYgUmVmZXJlbmNlIHRvIHRoZSBUb2FzdC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ29udGVudENvbXBvbmVudEluamVjdG9yPFQ+KGNvbmZpZzogUCwgdG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUPik6IEluamVjdG9yIHtcbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZ2V0Q29udGVudENvbXBvbmVudFByb3ZpZGVycyhjb25maWcsIHRvYXN0UmVmKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbmltYXRlcyB0aGUgb2xkIFRvYXN0IG91dCBhbmQgdGhlIG5ldyBvbmUgaW4uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFuaW1hdGVUb2FzdDxUPih0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRvYXN0UmVmLnBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIC8vIFdoZW4gdGhlIHRvYXN0IGlzIGRpc21pc3NlZCwgY2xlYXIgdGhlIHJlZmVyZW5jZSB0byBpdC5cbiAgICAgICAgdG9hc3RSZWZcbiAgICAgICAgICAgIC5hZnRlckRpc21pc3NlZCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGxUb2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuICAgICAgICAgICAgICAgIGFsbFRvYXN0cy5zcGxpY2UoYWxsVG9hc3RzLmluZGV4T2YodG9hc3RSZWYpLCAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90b2FzdHMuc3BsaWNlKHRoaXMuX3RvYXN0cy5pbmRleE9mKHRvYXN0UmVmKSwgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG9hc3RzTWFwLnNldChwb3NpdGlvblN0cmF0ZWd5LCBhbGxUb2FzdHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hPdmVybGF5UG9zaXRpb25zKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0b2FzdFJlZi5jb250YWluZXJJbnN0YW5jZS5lbnRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDcmVhdGVzIGEgbmV3IG92ZXJsYXkgYW5kIHBsYWNlcyBpdCBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jcmVhdGVPdmVybGF5KHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uKTogeyBvdmVybGF5OiBPdmVybGF5UmVmOyBpc0FuY2hvcjogYm9vbGVhbiB9IHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG4gICAgICAgIG92ZXJsYXlDb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5LnNjcm9sbFBvc2l0aW9uIHx8IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcblxuICAgICAgICBjb25zdCB7IHBvc2l0aW9uLCBpc0FuY2hvciB9ID0gdGhpcy5fZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcblxuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvbjtcbiAgICAgICAgb3ZlcmxheUNvbmZpZy5wYW5lbENsYXNzID0gJ2ZkLXRvYXN0LW92ZXJsYXknO1xuICAgICAgICByZXR1cm4geyBvdmVybGF5OiB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpLCBpc0FuY2hvciB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcmV0dXJucyBJbml0aWFsIFBvc2l0aW9uIFN0cmF0ZWd5IG9mIHRoZSBUb2FzdCBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uKToge1xuICAgICAgICBwb3NpdGlvbjogUG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgaXNBbmNob3I6IGJvb2xlYW47XG4gICAgfSB7XG4gICAgICAgIGNvbnN0IGxhc3RPdmVybGF5ID0gdGhpcy5fZ2V0TGFzdFRvYXN0V2l0aFNhbWVQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcblxuICAgICAgICBjb25zdCBnbG9iYWxPdmVybGF5ID0gdGhpcy5fdG9hc3RzTWFwLmdldChwb3NpdGlvblN0cmF0ZWd5KT8uZmluZCgoeyBfaXNBbmNob3IgfSkgPT4gX2lzQW5jaG9yKTtcblxuICAgICAgICBpZiAobGFzdE92ZXJsYXkgJiYgZ2xvYmFsT3ZlcmxheSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5fY29tcG9zZUZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb24oXG4gICAgICAgICAgICAgICAgICAgIGxhc3RPdmVybGF5Lm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3lcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGlzQW5jaG9yOiBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IHBvc2l0aW9uOiB0aGlzLl9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSksIGlzQW5jaG9yOiB0cnVlIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBuZWVkbGVQb3NpdGlvblxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0TGFzdFRvYXN0V2l0aFNhbWVQb3NpdGlvbihuZWVkbGVQb3NpdGlvbjogQmFzZVRvYXN0UG9zaXRpb24pOiBCYXNlVG9hc3RSZWY8UCwgQz4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gWy4uLih0aGlzLl90b2FzdHNNYXAuZ2V0KG5lZWRsZVBvc2l0aW9uKSB8fCBbXSldPy5yZXZlcnNlKClbMF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBjb25uZWN0ZWRFbG0gZWxlbWVudCB0byBjb25uZWN0IHdpdGguXG4gICAgICogQHBhcmFtIHBvc2l0aW9uU3RyYXRlZ3kgUG9zaXRpb24gU3RyYXRlZ3lcbiAgICAgKiBAcmV0dXJucyBGbGV4aWJsZSBDb25uZWN0ZWQgUG9zaXRpb24gU3RyYXRlZ3kgZm9yIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKFxuICAgICAgICBjb25uZWN0ZWRFbG06IEhUTUxFbGVtZW50LFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5IHx8IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oY29ubmVjdGVkRWxtKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uU3RyYXRlZ3kuY29ubmVjdGVkXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEByZXR1cm5zIERlZmF1bHQgR2xvYmFsIFBvc2l0aW9uIGZvciBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb21wb3NlR2xvYmFsUG9zaXRpb24oXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB8IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGxldCBwb3NpdGlvbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHwgR2xvYmFsUG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgaWYgKHRoaXMuX2lzQm91bmRHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbCkpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbC5ib3VuZFRvKVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbF0pXG4gICAgICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCk7XG4gICAgICAgICAgICBjb25zdCBnbG9iYWxUb2FzdFBvc2l0aW9uU3RyYXRlZ3k6IFRvYXN0R2xvYmFsUG9zaXRpb24gPSBwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBbcG9zLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZ2xvYmFsVG9hc3RQb3NpdGlvblN0cmF0ZWd5KSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocG9zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24ubGVmdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24ucmlnaHQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5ib3R0b20odmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi50b3AodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjZW50ZXJWZXJ0aWNhbGx5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlZnJlc2hPdmVybGF5UG9zaXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b2FzdHNNYXAuZm9yRWFjaCgodG9hc3RzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVPdmVybGF5UG9zaXRpb25TdHJhdGVneSh0b2FzdHMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZU92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KHRvYXN0czogQmFzZVRvYXN0UmVmW10pOiB2b2lkIHtcbiAgICAgICAgdG9hc3RzLmZvckVhY2goKHRvYXN0UmVmKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0b2FzdFJlZik7XG4gICAgICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdG9hc3RSZWYub3ZlcmxheVJlZi5nZXRDb25maWcoKTtcblxuICAgICAgICAgICAgdG9hc3RSZWYub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICAgICAgb3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIGEgY3VycmVudCBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKiBAcmV0dXJucyBOZXcgUG9zaXRpb24gU3RyYXRlZ3kuXG4gICAgICogQHBhcmFtIHRvYXN0IFRvYXN0IFJlZmVyZW5jZVxuICAgICAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodG9hc3Q6IEJhc2VUb2FzdFJlZik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdG9hc3QuX2RlZmF1bHRQb3NpdGlvblN0cmF0ZWd5ID8gdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kgOiB0b2FzdC5wb3NpdGlvblN0cmF0ZWd5O1xuXG4gICAgICAgIGlmICh0b2FzdC5faXNBbmNob3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGdsb2JhbE92ZXJsYXkgPSB0b2FzdHM/LmZpbmQoKHsgX2lzQW5jaG9yIH0pID0+IF9pc0FuY2hvcik7XG5cbiAgICAgICAgaWYgKCFnbG9iYWxPdmVybGF5KSB7XG4gICAgICAgICAgICB0b2FzdC5faXNBbmNob3IgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBQcmV2aW91cyBvdmVybGF5IGl0ZW0uXG4gICAgICAgIGNvbnN0IG92ZXJsYXlJdGVtSW5kZXggPSB0b2FzdHMuZmluZEluZGV4KCh0KSA9PiB0ID09PSB0b2FzdCk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzT3ZlcmxheSA9IHRvYXN0c1tvdmVybGF5SXRlbUluZGV4IC0gMV07XG4gICAgICAgIHRvYXN0Ll9pc0FuY2hvciA9IGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb21wb3NlRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvbihwcmV2aW91c092ZXJsYXkub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudCwgcG9zaXRpb25TdHJhdGVneSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0JvdW5kR2xvYmFsUG9zaXRpb24ocG9zaXRpb246IGFueSk6IHBvc2l0aW9uIGlzIFRvYXN0R2xvYmFsQ29ubmVjdGVkUG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gISFwb3NpdGlvbi5ib3VuZFRvO1xuICAgIH1cbn1cbiJdfQ==
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvdG9hc3QvYmFzZS10b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxPQUFPLEVBQ1AsYUFBYSxFQUdoQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUVILFVBQVUsRUFFVixVQUFVLEVBRVYsUUFBUSxFQUVSLFdBQVcsRUFHWCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQVFoRSxNQUFNLE9BQWdCLGdCQUFnQjtJQWdGbEMsY0FBYztJQUNkLFlBQ1csT0FBZ0IsRUFDaEIsUUFBa0I7UUFEbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakI3Qjs7O1dBR0c7UUFDTyxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUV2Qzs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUVwRSxjQUFjO1FBQ04sZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFNdEMsQ0FBQztJQUVKOztPQUVHO0lBQ0gsT0FBTztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILHNCQUFzQixDQUFDLFdBQThC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VUFBVSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRCxjQUFjO0lBQ04sc0JBQXNCLENBQUMsUUFBYTtRQUN4QyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7OEdBbFhpQixnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50VHlwZSxcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgR2xvYmFsUG9zaXRpb25TdHJhdGVneSxcbiAgICBPdmVybGF5LFxuICAgIE92ZXJsYXlDb25maWcsXG4gICAgT3ZlcmxheVJlZixcbiAgICBQb3NpdGlvblN0cmF0ZWd5XG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0b3IsXG4gICAgU3RhdGljUHJvdmlkZXIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVHlwZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJhc2VUb2FzdFBvc2l0aW9uLCBUb2FzdEdsb2JhbENvbm5lY3RlZFBvc2l0aW9uLCBUb2FzdEdsb2JhbFBvc2l0aW9uIH0gZnJvbSAnLi9iYXNlLXRvYXN0LXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RDb25maWcgfSBmcm9tICcuL2NsYXNzZXMvYmFzZS10b2FzdC1jb25maWcnO1xuaW1wb3J0IHsgQmFzZVRvYXN0UmVmIH0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UtdG9hc3QtcmVmJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RvYXN0LWNvbnRhaW5lci1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvYXN0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC10ZXh0LWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0U2VydmljZTxcbiAgICBQIGV4dGVuZHMgQmFzZVRvYXN0Q29uZmlnLFxuICAgIEMgZXh0ZW5kcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPiA9IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4+IHtcbiAgICAvKiogQ29tcG9uZW50IGZvciBzaW1wbGUgdGV4dCB0b2FzdC4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3RUZXh0Q29tcG9uZW50OiBUeXBlPFRvYXN0VGV4dENvbXBvbmVudD47XG4gICAgLyoqIENvbXBvbmVudCBmb3IgVG9hc3QgQ29udGFpbmVyLiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdENvbnRhaW5lckNvbXBvbmVudDogVHlwZTxDPjtcbiAgICAvKiogSW5qZWN0aW9uIHRva2VuIGZvciBUb2FzdCBEYXRhLiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdERhdGFJbmplY3Rpb25Ub2tlbjogSW5qZWN0aW9uVG9rZW48YW55PjtcbiAgICAvKiogVG9hc3QgUG9zaXRpb24gU3RyYXRlZ3kuICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRvYXN0UG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb247XG4gICAgLyoqIFRvYXN0IGRlZmF1bHQgY29uZmlnLiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBkZWZhdWx0Q29uZmlnOiBQO1xuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYSBUb2FzdCB3aXRoIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uLlxuICAgICAqIEBwYXJhbSB0b2FzdCBhY2NlcHRzIHN0cmluZywgQ29tcG9uZW50IG9yIFRlbXBsYXRlUmVmLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG9wZW48VD4oXG4gICAgICAgIHRvYXN0OiBzdHJpbmcgfCBUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD5cbiAgICApOiBCYXNlVG9hc3RSZWY8VG9hc3RUZXh0Q29tcG9uZW50IHwgVCB8IEVtYmVkZGVkVmlld1JlZjxUPiwgUD47XG5cbiAgICBhYnN0cmFjdCBvcGVuRnJvbVN0cmluZyhtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZzogUCk6IEJhc2VUb2FzdFJlZjxUb2FzdFRleHRDb21wb25lbnQsIFA+O1xuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYSBUb2FzdCB3aXRoIHByb3ZpZGVkIGNvbXBvbmVudCBpbnNpZGUuXG4gICAgICogQHBhcmFtIGNvbXBvbmVudCBDb21wb25lbnQgdG8gcmVuZGVyIGluc2lkZSBhIFRvYXN0LlxuICAgICAqIEBwYXJhbSBjb25maWcgVG9hc3QgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyBUb2FzdCByZWZlcmVuY2UuXG4gICAgICovXG4gICAgYWJzdHJhY3Qgb3BlbkZyb21Db21wb25lbnQ8VD4oY29tcG9uZW50OiBUeXBlPFQ+LCBjb25maWc6IFApOiBCYXNlVG9hc3RSZWY8VCwgUD47XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIFRvYXN0IHdpdGggcHJvdmlkZWQgVGVtcGxhdGUgUmVmZXJlbmNlLlxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZSBUZW1wbGF0ZSBSZWZlcmVuY2UgdG8gcmVuZGVyIGluc2lkZSBhIFRvYXN0LlxuICAgICAqIEBwYXJhbSBjb25maWcgVG9hc3QgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyBUb2FzdCByZWZlcmVuY2UuXG4gICAgICovXG4gICAgYWJzdHJhY3Qgb3BlbkZyb21UZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiwgY29uZmlnOiBQKTogQmFzZVRvYXN0UmVmPEVtYmVkZGVkVmlld1JlZjxhbnk+PjtcblxuICAgIC8qKlxuICAgICAqIEdldHMgVG9hc3QgQ29udGFpbmVyIHByb3ZpZGVycy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IENvbmZpZy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29udGFpbmVyQ29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZzogUCk6IFN0YXRpY1Byb3ZpZGVyW107XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIFRvYXN0IENvbnRlbnQgcHJvdmlkZXJzLlxuICAgICAqIEBwYXJhbSBjb25maWcgVG9hc3QgQ29uZmlnLlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBUb2FzdCBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRlbnRDb21wb25lbnRQcm92aWRlcnM8VD4oY29uZmlnOiBQLCB0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQ+KTogU3RhdGljUHJvdmlkZXJbXTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgVG9hc3QgUmVmZXJlbmNlIGZvciBwcm92aWRlZCBjb250YWluZXIgYW5kIG92ZXJsYXkuXG4gICAgICogQHBhcmFtIGNvbnRhaW5lclJlZiBDb250YWluZXIgcmVmZXJlbmNlLlxuICAgICAqIEBwYXJhbSBvdmVybGF5UmVmIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqIEBwYXJhbSBwb3NpdGlvblN0cmF0ZWd5IFBvc2l0aW9uIFN0cmF0ZWd5XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvYXN0UmVmPFQ+KFxuICAgICAgICBjb250YWluZXJSZWY6IEMsXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQXJyYXkgb2YgYWxsIGN1cnJlbnQgdG9hc3RzLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdG9hc3RzOiBCYXNlVG9hc3RSZWZbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdG9hc3RzTWFwID0gbmV3IE1hcDxCYXNlVG9hc3RQb3NpdGlvbiwgQmFzZVRvYXN0UmVmW10+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBEaXNtaXNzZXMgYWxsIFRvYXN0cy5cbiAgICAgKi9cbiAgICBoaWRlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b2FzdHMuZm9yRWFjaCgodCkgPT4gdC5kaXNtaXNzKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYHRydWVgIGlmIHRoZXJlIGFyZSBzb21lIG1lc3NhZ2UgdG9hc3RzIGN1cnJlbnRseSBvcGVuLiBgRmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBoYXNPcGVuTWVzc2FnZVRvYXN0cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RvYXN0cy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbmV3IHBvc2l0aW9uIHN0cmF0ZWd5IGZvciBhbGwgVG9hc3QgaXRlbXMuXG4gICAgICogQHBhcmFtIG5ld1N0cmF0ZWd5IE5ldyBQb3NpdGlvbiBTdHJhdGVneVxuICAgICAqL1xuICAgIHNldE5ld1Bvc2l0aW9uU3RyYXRlZ3kobmV3U3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChuZXdTdHJhdGVneSA9PT0gdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5ID0gbmV3U3RyYXRlZ3k7XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUGxhY2VzIGEgbmV3IGNvbXBvbmVudCBvciBhIHRlbXBsYXRlIGFzIHRoZSBjb250ZW50IG9mIHRoZSBUb2FzdCBjb250YWluZXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9hdHRhY2g8VD4oXG4gICAgICAgIGNvbnRlbnQ6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgdXNlckNvbmZpZz86IFBcbiAgICApOiBCYXNlVG9hc3RSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+LCBQPiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi51c2VyQ29uZmlnIH07XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjb25maWcucG9zaXRpb25TdHJhdGVneSB8fCB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgY29uc3QgeyBvdmVybGF5LCBpc0FuY2hvciB9ID0gdGhpcy5fY3JlYXRlT3ZlcmxheShwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gdGhpcy5hdHRhY2hUb2FzdENvbnRhaW5lckNvbXBvbmVudChvdmVybGF5LCBjb25maWcpO1xuICAgICAgICBjb25zdCB0b2FzdFJlZiA9IHRoaXMuZ2V0VG9hc3RSZWY8VD4oY29udGFpbmVyUmVmLCBvdmVybGF5LCBwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgdG9hc3RSZWYuX2RlZmF1bHRQb3NpdGlvblN0cmF0ZWd5ID0gIWNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB0b2FzdFJlZi5faXNBbmNob3IgPSBpc0FuY2hvcjtcblxuICAgICAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAvLyBUZW1wbGF0ZVBvcnRhbCByZXF1aXJlcyB2aWV3Q29udGFpbmVyIHJlZlxuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IG51bGwgYXMgYW55IGFzIFZpZXdDb250YWluZXJSZWY7XG4gICAgICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoY29udGVudCwgdmlld1JlZiwgeyAkaW1wbGljaXQ6IGNvbmZpZywgdG9hc3RSZWYgfSBhcyBhbnkpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5pbnN0YW5jZSA9IGNvbnRhaW5lclJlZi5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUNvbnRlbnRDb21wb25lbnRJbmplY3Rvcihjb25maWcsIHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gY29udGFpbmVyUmVmLmF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWwpO1xuXG4gICAgICAgICAgICAvLyBXZSBjYW4ndCBwYXNzIHRoaXMgdmlhIHRoZSBpbmplY3RvciwgYmVjYXVzZSB0aGUgaW5qZWN0b3IgaXMgY3JlYXRlZCBlYXJsaWVyLlxuICAgICAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UgPSBjb250ZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICAgICAgICBjb250ZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgIGFsbFRvYXN0cy5wdXNoKHRvYXN0UmVmKTtcbiAgICAgICAgdGhpcy5fdG9hc3RzLnB1c2godG9hc3RSZWYpO1xuICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG5cbiAgICAgICAgdGhpcy5hbmltYXRlVG9hc3Q8VD4odG9hc3RSZWYpO1xuXG4gICAgICAgIHJldHVybiB0b2FzdFJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2hlcyB0aGUgVG9hc3QgY29udGFpbmVyIGNvbXBvbmVudCB0byB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgY29uZmlnOiBQKTogQyB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogdGhpcy5nZXRDb250YWluZXJDb21wb25lbnRQcm92aWRlcnMoY29uZmlnKVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMudG9hc3RDb250YWluZXJDb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8Qz4gPSBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpO1xuXG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5jb25maWcgPSBjb25maWc7XG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5qZWN0b3IgdG8gYmUgdXNlZCBpbnNpZGUgYSBUb2FzdCBjb21wb25lbnQuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIFRvYXN0LlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBSZWZlcmVuY2UgdG8gdGhlIFRvYXN0LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjcmVhdGVDb250ZW50Q29tcG9uZW50SW5qZWN0b3I8VD4oY29uZmlnOiBQLCB0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQ+KTogSW5qZWN0b3Ige1xuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogdGhpcy5nZXRDb250ZW50Q29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZywgdG9hc3RSZWYpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFuaW1hdGVzIHRoZSBvbGQgVG9hc3Qgb3V0IGFuZCB0aGUgbmV3IG9uZSBpbi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYW5pbWF0ZVRvYXN0PFQ+KHRvYXN0UmVmOiBCYXNlVG9hc3RSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+LCBQPik6IHZvaWQge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdG9hc3RSZWYucG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgLy8gV2hlbiB0aGUgdG9hc3QgaXMgZGlzbWlzc2VkLCBjbGVhciB0aGUgcmVmZXJlbmNlIHRvIGl0LlxuICAgICAgICB0b2FzdFJlZlxuICAgICAgICAgICAgLmFmdGVyRGlzbWlzc2VkKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgICAgICAgICAgYWxsVG9hc3RzLnNwbGljZShhbGxUb2FzdHMuaW5kZXhPZih0b2FzdFJlZiksIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvYXN0cy5zcGxpY2UodGhpcy5fdG9hc3RzLmluZGV4T2YodG9hc3RSZWYpLCAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRvYXN0UmVmLmNvbnRhaW5lckluc3RhbmNlLmVudGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgYSBuZXcgb3ZlcmxheSBhbmQgcGxhY2VzIGl0IGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiB7IG92ZXJsYXk6IE92ZXJsYXlSZWY7IGlzQW5jaG9yOiBib29sZWFuIH0ge1xuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoKTtcbiAgICAgICAgb3ZlcmxheUNvbmZpZy5zY3JvbGxTdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3kuc2Nyb2xsUG9zaXRpb24gfHwgdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IHsgcG9zaXRpb24sIGlzQW5jaG9yIH0gPSB0aGlzLl9nZXRQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3kpO1xuXG4gICAgICAgIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBhbmVsQ2xhc3MgPSAnZmQtdG9hc3Qtb3ZlcmxheSc7XG4gICAgICAgIHJldHVybiB7IG92ZXJsYXk6IHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyksIGlzQW5jaG9yIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEByZXR1cm5zIEluaXRpYWwgUG9zaXRpb24gU3RyYXRlZ3kgb2YgdGhlIFRvYXN0IE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldFBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiB7XG4gICAgICAgIHBvc2l0aW9uOiBQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBpc0FuY2hvcjogYm9vbGVhbjtcbiAgICB9IHtcbiAgICAgICAgY29uc3QgbGFzdE92ZXJsYXkgPSB0aGlzLl9nZXRMYXN0VG9hc3RXaXRoU2FtZVBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kpO1xuXG4gICAgICAgIGNvbnN0IGdsb2JhbE92ZXJsYXkgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpPy5maW5kKCh7IF9pc0FuY2hvciB9KSA9PiBfaXNBbmNob3IpO1xuXG4gICAgICAgIGlmIChsYXN0T3ZlcmxheSAmJiBnbG9iYWxPdmVybGF5KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLl9jb21wb3NlRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvbihcbiAgICAgICAgICAgICAgICAgICAgbGFzdE92ZXJsYXkub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgaXNBbmNob3I6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgcG9zaXRpb246IHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KSwgaXNBbmNob3I6IHRydWUgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIG5lZWRsZVBvc2l0aW9uXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRMYXN0VG9hc3RXaXRoU2FtZVBvc2l0aW9uKG5lZWRsZVBvc2l0aW9uOiBCYXNlVG9hc3RQb3NpdGlvbik6IEJhc2VUb2FzdFJlZjxQLCBDPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBbLi4uKHRoaXMuX3RvYXN0c01hcC5nZXQobmVlZGxlUG9zaXRpb24pIHx8IFtdKV0/LnJldmVyc2UoKVswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGNvbm5lY3RlZEVsbSBlbGVtZW50IHRvIGNvbm5lY3Qgd2l0aC5cbiAgICAgKiBAcGFyYW0gcG9zaXRpb25TdHJhdGVneSBQb3NpdGlvbiBTdHJhdGVneVxuICAgICAqIEByZXR1cm5zIEZsZXhpYmxlIENvbm5lY3RlZCBQb3NpdGlvbiBTdHJhdGVneSBmb3IgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29tcG9zZUZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb24oXG4gICAgICAgIGNvbm5lY3RlZEVsbTogSFRNTEVsZW1lbnQsXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3kgfHwgdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhjb25uZWN0ZWRFbG0pXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbcG9zaXRpb25TdHJhdGVneS5jb25uZWN0ZWRdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHJldHVybnMgRGVmYXVsdCBHbG9iYWwgUG9zaXRpb24gZm9yIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb25cbiAgICApOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgbGV0IHBvc2l0aW9uOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgfCBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBpZiAodGhpcy5faXNCb3VuZEdsb2JhbFBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsKSkge1xuICAgICAgICAgICAgcG9zaXRpb24gPSB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHBvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsLmJvdW5kVG8pXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsXSlcbiAgICAgICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9zaXRpb24gPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICAgICAgICAgIGNvbnN0IGdsb2JhbFRvYXN0UG9zaXRpb25TdHJhdGVneTogVG9hc3RHbG9iYWxQb3NpdGlvbiA9IHBvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtwb3MsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhnbG9iYWxUb2FzdFBvc2l0aW9uU3RyYXRlZ3kpKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChwb3MpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5sZWZ0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5yaWdodCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLmJvdHRvbSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLnRvcCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLmNlbnRlckhvcml6b250YWxseSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NlbnRlclZlcnRpY2FsbHknOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24uY2VudGVyVmVydGljYWxseSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RvYXN0c01hcC5mb3JFYWNoKCh0b2FzdHMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KHRvYXN0cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kodG9hc3RzOiBCYXNlVG9hc3RSZWZbXSk6IHZvaWQge1xuICAgICAgICB0b2FzdHMuZm9yRWFjaCgodG9hc3RSZWYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl91cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0b2FzdFJlZi5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgYSBjdXJyZW50IE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqIEByZXR1cm5zIE5ldyBQb3NpdGlvbiBTdHJhdGVneS5cbiAgICAgKiBAcGFyYW0gdG9hc3QgVG9hc3QgUmVmZXJlbmNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0b2FzdDogQmFzZVRvYXN0UmVmKTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0b2FzdC5fZGVmYXVsdFBvc2l0aW9uU3RyYXRlZ3kgPyB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneSA6IHRvYXN0LnBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgICAgICAgaWYgKHRvYXN0Ll9pc0FuY2hvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgZ2xvYmFsT3ZlcmxheSA9IHRvYXN0cz8uZmluZCgoeyBfaXNBbmNob3IgfSkgPT4gX2lzQW5jaG9yKTtcblxuICAgICAgICBpZiAoIWdsb2JhbE92ZXJsYXkpIHtcbiAgICAgICAgICAgIHRvYXN0Ll9pc0FuY2hvciA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29tcG9zZUdsb2JhbFBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IFByZXZpb3VzIG92ZXJsYXkgaXRlbS5cbiAgICAgICAgY29uc3Qgb3ZlcmxheUl0ZW1JbmRleCA9IHRvYXN0cy5maW5kSW5kZXgoKHQpID0+IHQgPT09IHRvYXN0KTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNPdmVybGF5ID0gdG9hc3RzW292ZXJsYXlJdGVtSW5kZXggLSAxXTtcbiAgICAgICAgdG9hc3QuX2lzQW5jaG9yID0gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKHByZXZpb3VzT3ZlcmxheS5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LCBwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQm91bmRHbG9iYWxQb3NpdGlvbihwb3NpdGlvbjogYW55KTogcG9zaXRpb24gaXMgVG9hc3RHbG9iYWxDb25uZWN0ZWRQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiAhIXBvc2l0aW9uLmJvdW5kVG87XG4gICAgfVxufVxuIl19
|
|
@@ -20,18 +20,6 @@ export class BaseToastAnimatedContainerComponent extends BaseToastContainerCompo
|
|
|
20
20
|
this._ngZone = inject(NgZone);
|
|
21
21
|
this._animationsDisabled = !config.animated;
|
|
22
22
|
}
|
|
23
|
-
/** Begin animation of Message Toast entrance into view. */
|
|
24
|
-
enter() {
|
|
25
|
-
this._animationState = 'visible';
|
|
26
|
-
}
|
|
27
|
-
/** Begin animation of Message Toast removal. */
|
|
28
|
-
exit() {
|
|
29
|
-
this._animationState = 'hidden';
|
|
30
|
-
}
|
|
31
|
-
/** @hidden */
|
|
32
|
-
ngOnDestroy() {
|
|
33
|
-
this._completeExit();
|
|
34
|
-
}
|
|
35
23
|
/**
|
|
36
24
|
* @hidden
|
|
37
25
|
* Handle end of animations, updating the state of the Message Toast.
|
|
@@ -51,6 +39,18 @@ export class BaseToastAnimatedContainerComponent extends BaseToastContainerCompo
|
|
|
51
39
|
});
|
|
52
40
|
}
|
|
53
41
|
}
|
|
42
|
+
/** Begin animation of Message Toast entrance into view. */
|
|
43
|
+
enter() {
|
|
44
|
+
this._animationState = 'visible';
|
|
45
|
+
}
|
|
46
|
+
/** Begin animation of Message Toast removal. */
|
|
47
|
+
exit() {
|
|
48
|
+
this._animationState = 'hidden';
|
|
49
|
+
}
|
|
50
|
+
/** @hidden */
|
|
51
|
+
ngOnDestroy() {
|
|
52
|
+
this._completeExit();
|
|
53
|
+
}
|
|
54
54
|
/**
|
|
55
55
|
* @hidden
|
|
56
56
|
* Waits for the zone to settle before removing the element. Helps prevent
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
80
80
|
type: HostListener,
|
|
81
81
|
args: ['@state.done', ['$event']]
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1hbmltYXRlZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvdG9hc3QvY2xhc3Nlcy9iYXNlLXRvYXN0LWFuaW1hdGVkLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFHL0UsTUFBTSxPQUFnQixtQ0FDbEIsU0FBUSwyQkFBOEI7SUFvQnRDLGNBQWM7SUFDZCxZQUFZLE1BQVM7UUFDakIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBbkJsQjs7O1dBR0c7UUFFSyxvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQUVqQzs7O1dBR0c7UUFFSyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFcEMsY0FBYztRQUNKLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFLL0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBRUssZUFBZSxDQUFDLEtBQXFCO1FBQ3pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXJDLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QjtRQUVELElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN2QiwwREFBMEQ7WUFDMUQsc0NBQXNDO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFFOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNsQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsMkRBQTJEO0lBQzNELEtBQUs7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELElBQUk7UUFDQSxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxhQUFhO1FBQ2pCLDBEQUEwRDtRQUMxRCxzQ0FBc0M7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUU1QixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZELE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaEZpQixtQ0FBbUM7a0dBQW5DLG1DQUFtQzs7MkZBQW5DLG1DQUFtQztrQkFEeEQsU0FBUzsyRUFVRSxlQUFlO3NCQUR0QixXQUFXO3VCQUFDLFFBQVE7Z0JBUWIsbUJBQW1CO3NCQUQxQixXQUFXO3VCQUFDLFlBQVk7Z0JBaUJqQixlQUFlO3NCQUR0QixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2VBbmltYXRlZFRvYXN0Q29uZmlnIH0gZnJvbSAnLi9iYXNlLXRvYXN0LWNvbmZpZyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb2FzdEFuaW1hdGVkQ29udGFpbmVyQ29tcG9uZW50PFAgZXh0ZW5kcyBCYXNlQW5pbWF0ZWRUb2FzdENvbmZpZz5cbiAgICBleHRlbmRzIEJhc2VUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPlxuICAgIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoZSBzdGF0ZSBvZiB0aGUgTWVzc2FnZSBUb2FzdCBhbmltYXRpb25zLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnQHN0YXRlJylcbiAgICBwcml2YXRlIF9hbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXaGV0aGVyIHRoZSBhbmltYXRpb25zIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ0AuZGlzYWJsZWQnKVxuICAgIHByaXZhdGUgX2FuaW1hdGlvbnNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IFApIHtcbiAgICAgICAgc3VwZXIoY29uZmlnKTtcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9uc0Rpc2FibGVkID0gIWNvbmZpZy5hbmltYXRlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogSGFuZGxlIGVuZCBvZiBhbmltYXRpb25zLCB1cGRhdGluZyB0aGUgc3RhdGUgb2YgdGhlIE1lc3NhZ2UgVG9hc3QuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignQHN0YXRlLmRvbmUnLCBbJyRldmVudCddKVxuICAgIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZyb21TdGF0ZSwgdG9TdGF0ZSB9ID0gZXZlbnQ7XG5cbiAgICAgICAgaWYgKCh0b1N0YXRlID09PSAndm9pZCcgJiYgZnJvbVN0YXRlICE9PSAndm9pZCcpIHx8IHRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9jb21wbGV0ZUV4aXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b1N0YXRlID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgICAgIC8vIE5vdGU6IHdlIHNob3VsZG4ndCB1c2UgYHRoaXNgIGluc2lkZSB0aGUgem9uZSBjYWxsYmFjayxcbiAgICAgICAgICAgIC8vIGJlY2F1c2UgaXQgY2FuIGNhdXNlIGEgbWVtb3J5IGxlYWsuXG4gICAgICAgICAgICBjb25zdCBvbkVudGVyID0gdGhpcy5vbkVudGVyJDtcblxuICAgICAgICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgb25FbnRlci5uZXh0KCk7XG4gICAgICAgICAgICAgICAgb25FbnRlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQmVnaW4gYW5pbWF0aW9uIG9mIE1lc3NhZ2UgVG9hc3QgZW50cmFuY2UgaW50byB2aWV3LiAqL1xuICAgIGVudGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hbmltYXRpb25TdGF0ZSA9ICd2aXNpYmxlJztcbiAgICB9XG5cbiAgICAvKiogQmVnaW4gYW5pbWF0aW9uIG9mIE1lc3NhZ2UgVG9hc3QgcmVtb3ZhbC4gKi9cbiAgICBleGl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hbmltYXRpb25TdGF0ZSA9ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbXBsZXRlRXhpdCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXYWl0cyBmb3IgdGhlIHpvbmUgdG8gc2V0dGxlIGJlZm9yZSByZW1vdmluZyB0aGUgZWxlbWVudC4gSGVscHMgcHJldmVudFxuICAgICAqIGVycm9ycyB3aGVyZSB3ZSBlbmQgdXAgcmVtb3ZpbmcgYW4gZWxlbWVudCB3aGljaCBpcyBpbiB0aGUgbWlkZGxlIG9mIGFuIGFuaW1hdGlvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb21wbGV0ZUV4aXQoKTogdm9pZCB7XG4gICAgICAgIC8vIE5vdGU6IHdlIHNob3VsZG4ndCB1c2UgYHRoaXNgIGluc2lkZSB0aGUgem9uZSBjYWxsYmFjayxcbiAgICAgICAgLy8gYmVjYXVzZSBpdCBjYW4gY2F1c2UgYSBtZW1vcnkgbGVhay5cbiAgICAgICAgY29uc3Qgb25FeGl0ID0gdGhpcy5vbkV4aXQkO1xuXG4gICAgICAgIHRoaXMuX25nWm9uZS5vbk1pY3JvdGFza0VtcHR5LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIG9uRXhpdC5uZXh0KCk7XG4gICAgICAgICAgICBvbkV4aXQuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|