@colijnit/corecomponents_v12 12.1.7 → 12.1.8
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/bundles/colijnit-corecomponents_v12.umd.js +231 -177
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/lib/components/filter-item/filter-item.component.js +187 -162
- package/esm2015/lib/core/enum/filterItem-mode.enum.js +13 -3
- package/esm2015/lib/directives/overlay/overlay.directive.js +26 -7
- package/fesm2015/colijnit-corecomponents_v12.js +222 -168
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/filter-item/filter-item.component.d.ts +24 -23
- package/lib/core/enum/filterItem-mode.enum.d.ts +1 -1
- package/lib/directives/overlay/overlay.directive.d.ts +5 -0
- package/package.json +1 -1
- package/colijnit-corecomponents_v12-12.1.4.tgz +0 -0
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
export var FilterItemMode;
|
|
2
2
|
(function (FilterItemMode) {
|
|
3
|
-
|
|
3
|
+
//This mode makes the Filter display a multi select list
|
|
4
|
+
// Input will be passed along directly as a string with the following syntax: "?>='choice 1', ?<='choice2'"
|
|
5
|
+
FilterItemMode["Filterlist"] = "filterlist";
|
|
6
|
+
//This mode makes the Filter display a single select list
|
|
7
|
+
// Input will be passed along directly as a simple string.
|
|
4
8
|
FilterItemMode["SingleSelectList"] = "singleSelectList";
|
|
9
|
+
//This mode makes the Filter display a multi select list
|
|
10
|
+
// Input will be passed along directly as a simple string.
|
|
5
11
|
FilterItemMode["SelectListWithStringCollectionOutput"] = "selectListWithStringCollectionOutput";
|
|
12
|
+
//This mode makes the Filter display a multi select list
|
|
13
|
+
// Available choices will need to have their identifying value be a number. The summation of all these numbers will be passed along.
|
|
6
14
|
FilterItemMode["SelectListWithNumberOutput"] = "selectListWithNumberOutput";
|
|
15
|
+
//This mode makes the Filter display a min and max field. This should eventually be a slider.
|
|
16
|
+
// input is passed along as "min - max"
|
|
7
17
|
FilterItemMode["Slider"] = "slider";
|
|
8
18
|
//This mode makes the Filter display a simple textfield.
|
|
9
19
|
// The value typed into the field will be passed along directly as a string.
|
|
@@ -24,7 +34,7 @@ export var FilterItemMode;
|
|
|
24
34
|
// It's value will be passed along as either a "?='T'" or and "?='F'".
|
|
25
35
|
FilterItemMode["CheckboxToText"] = "checkboxToText";
|
|
26
36
|
//This mode makes the Filter display a simple checkBox.
|
|
27
|
-
// It's value will be passed along as either a
|
|
37
|
+
// It's value will be passed along as either a 1 or and 0.
|
|
28
38
|
FilterItemMode["CheckboxToBinary"] = "checkboxToBinary";
|
|
29
39
|
})(FilterItemMode || (FilterItemMode = {}));
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVySXRlbS1tb2RlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvZW51bS9maWx0ZXJJdGVtLW1vZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQW9EWDtBQXBERCxXQUFZLGNBQWM7SUFFeEIsd0RBQXdEO0lBQ3hELDJHQUEyRztJQUMzRywyQ0FBeUIsQ0FBQTtJQUV6Qix5REFBeUQ7SUFDekQsMERBQTBEO0lBQzFELHVEQUFxQyxDQUFBO0lBRXJDLHdEQUF3RDtJQUN4RCwwREFBMEQ7SUFDMUQsK0ZBQTZFLENBQUE7SUFFN0Usd0RBQXdEO0lBQ3hELG9JQUFvSTtJQUNwSSwyRUFBeUQsQ0FBQTtJQUV6RCw2RkFBNkY7SUFDN0YsdUNBQXVDO0lBQ3ZDLG1DQUFpQixDQUFBO0lBRWpCLHdEQUF3RDtJQUN4RCw0RUFBNEU7SUFDNUUseUNBQXVCLENBQUE7SUFFdkIsd0RBQXdEO0lBQ3hELDhEQUE4RDtJQUM5RCx5Q0FBdUIsQ0FBQTtJQUV2Qix1REFBdUQ7SUFDdkQsc0hBQXNIO0lBQ3RILG1EQUFpQyxDQUFBO0lBRWpDLHVEQUF1RDtJQUN2RCx5REFBeUQ7SUFDekQsdUNBQXFCLENBQUE7SUFFckIsdURBQXVEO0lBQ3ZELDhEQUE4RDtJQUM5RCwrREFBNkMsQ0FBQTtJQUU3Qyx1REFBdUQ7SUFDdkQsc0VBQXNFO0lBQ3RFLG1EQUFpQyxDQUFBO0lBRWpDLHVEQUF1RDtJQUN2RCwwREFBMEQ7SUFDMUQsdURBQXFDLENBQUE7QUFJdkMsQ0FBQyxFQXBEVyxjQUFjLEtBQWQsY0FBYyxRQW9EekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBGaWx0ZXJJdGVtTW9kZSB7XHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIG11bHRpIHNlbGVjdCBsaXN0XHJcbiAgLy8gSW5wdXQgd2lsbCBiZSBwYXNzZWQgYWxvbmcgZGlyZWN0bHkgYXMgYSBzdHJpbmcgd2l0aCB0aGUgZm9sbG93aW5nIHN5bnRheDogXCI/Pj0nY2hvaWNlIDEnLCA/PD0nY2hvaWNlMidcIlxyXG4gIEZpbHRlcmxpc3QgPSAnZmlsdGVybGlzdCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbmdsZSBzZWxlY3QgbGlzdFxyXG4gIC8vIElucHV0IHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgc2ltcGxlIHN0cmluZy5cclxuICBTaW5nbGVTZWxlY3RMaXN0ID0gJ3NpbmdsZVNlbGVjdExpc3QnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBtdWx0aSBzZWxlY3QgbGlzdFxyXG4gIC8vIElucHV0IHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgc2ltcGxlIHN0cmluZy5cclxuICBTZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXQgPSAnc2VsZWN0TGlzdFdpdGhTdHJpbmdDb2xsZWN0aW9uT3V0cHV0JyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgbXVsdGkgc2VsZWN0IGxpc3RcclxuICAvLyBBdmFpbGFibGUgY2hvaWNlcyB3aWxsIG5lZWQgdG8gaGF2ZSB0aGVpciBpZGVudGlmeWluZyB2YWx1ZSBiZSBhIG51bWJlci4gVGhlIHN1bW1hdGlvbiBvZiBhbGwgdGhlc2UgbnVtYmVycyB3aWxsIGJlIHBhc3NlZCBhbG9uZy5cclxuICBTZWxlY3RMaXN0V2l0aE51bWJlck91dHB1dCA9ICdzZWxlY3RMaXN0V2l0aE51bWJlck91dHB1dCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIG1pbiBhbmQgbWF4IGZpZWxkLiBUaGlzIHNob3VsZCBldmVudHVhbGx5IGJlIGEgc2xpZGVyLlxyXG4gIC8vIGlucHV0IGlzIHBhc3NlZCBhbG9uZyBhcyBcIm1pbiAtIG1heFwiXHJcbiAgU2xpZGVyID0gJ3NsaWRlcicsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSB0ZXh0ZmllbGQuXHJcbiAgLy8gVGhlIHZhbHVlIHR5cGVkIGludG8gdGhlIGZpZWxkIHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgc3RyaW5nLlxyXG4gIFRleHRGaWVsZCA9ICd0ZXh0RmllbGQnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBzaW1wbGUgZGF0ZUZpZWxkLlxyXG4gIC8vIEZpZWxkIGlucHV0IHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgZGF0ZSBvYmplY3QuXHJcbiAgRGF0ZUZpZWxkID0gJ2RhdGVGaWVsZCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIGRhdGVSYW5nZSBmaWVsZC5cclxuICAvLyBGaWVsZCBpbnB1dCB3aWxsIGJlIHBhc3NlZCBhbG9uZyBkaXJlY3RseSBhcyBhIHN0cmluZyB3aXRoIHRoZSBmb2xsb3dpbmcgc3ludGF4OiBcIj8+PScwMS0wOC0yMDIyJyYgPzw9JzMxLTA4LTIwMjInXCJcclxuICBEYXRlUmFuZ2VGaWVsZCA9ICdkYXRlUmFuZ2VGaWVsZCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSBjaGVja0JveC5cclxuICAvLyBJdCdzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgYm9vbGVhbi5cclxuICBDaGVja2JveCA9ICdjaGVja2JveCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSBjaGVja0JveC5cclxuICAvLyBJdCdzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIGFsb25nIGFzIGVpdGhlciBhICdUJyBvciBhbmQgJ0YnLlxyXG4gIENoZWNrYm94VG9TaW1wbGVUZXh0ID0gJ2NoZWNrYm94VG9TaW1wbGVUZXh0JyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgc2ltcGxlIGNoZWNrQm94LlxyXG4gIC8vIEl0J3MgdmFsdWUgd2lsbCBiZSBwYXNzZWQgYWxvbmcgYXMgZWl0aGVyIGEgXCI/PSdUJ1wiIG9yIGFuZCBcIj89J0YnXCIuXHJcbiAgQ2hlY2tib3hUb1RleHQgPSAnY2hlY2tib3hUb1RleHQnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBzaW1wbGUgY2hlY2tCb3guXHJcbiAgLy8gSXQncyB2YWx1ZSB3aWxsIGJlIHBhc3NlZCBhbG9uZyBhcyBlaXRoZXIgYSAxIG9yIGFuZCAwLlxyXG4gIENoZWNrYm94VG9CaW5hcnkgPSAnY2hlY2tib3hUb0JpbmFyeScsXHJcblxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Directive, ElementRef, Input } from '@angular/core';
|
|
2
2
|
export class OverlayDirective {
|
|
3
3
|
constructor(elementRef) {
|
|
4
|
+
/**
|
|
5
|
+
* true; Element is added to the parent template
|
|
6
|
+
* false; Element is added to the bottom of the DOM
|
|
7
|
+
*/
|
|
8
|
+
this.inline = false;
|
|
4
9
|
this.keepInView = false;
|
|
5
10
|
this.inheritWidth = false;
|
|
6
11
|
this.rightAlign = false;
|
|
@@ -61,12 +66,25 @@ export class OverlayDirective {
|
|
|
61
66
|
if (this._elementRef && this._elementRef.nativeElement && this._parent && this._parent.nativeElement) {
|
|
62
67
|
const elementRect = this._elementRef.nativeElement.getBoundingClientRect();
|
|
63
68
|
const parentBoundingRect = this._parent.nativeElement.getBoundingClientRect();
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
let parentRect = {};
|
|
70
|
+
if (!this.inline) {
|
|
71
|
+
parentRect = {
|
|
72
|
+
bottom: parentBoundingRect.bottom,
|
|
73
|
+
right: parentBoundingRect.right,
|
|
74
|
+
left: parentBoundingRect.left,
|
|
75
|
+
top: parentBoundingRect.top,
|
|
76
|
+
width: parentBoundingRect.width
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
parentRect = {
|
|
81
|
+
bottom: this._parent.nativeElement.offsetTop + parentBoundingRect.height,
|
|
82
|
+
right: this._parent.nativeElement.offsetLeft + parentBoundingRect.width,
|
|
83
|
+
left: this._parent.nativeElement.offsetLeft,
|
|
84
|
+
top: this._parent.nativeElement.offsetTop,
|
|
85
|
+
width: parentBoundingRect.width
|
|
86
|
+
};
|
|
87
|
+
}
|
|
70
88
|
this._placeElement(window.innerHeight, window.innerWidth, parentRect, elementRect);
|
|
71
89
|
}
|
|
72
90
|
}
|
|
@@ -119,9 +137,10 @@ OverlayDirective.ctorParameters = () => [
|
|
|
119
137
|
OverlayDirective.propDecorators = {
|
|
120
138
|
parent: [{ type: Input, args: ["overlay",] }],
|
|
121
139
|
view: [{ type: Input }],
|
|
140
|
+
inline: [{ type: Input }],
|
|
122
141
|
keepInView: [{ type: Input }],
|
|
123
142
|
inheritWidth: [{ type: Input }],
|
|
124
143
|
rightAlign: [{ type: Input }],
|
|
125
144
|
fullSize: [{ type: Input }]
|
|
126
145
|
};
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvb3ZlcmxheS9vdmVybGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBTTlFLE1BQU0sT0FBTyxnQkFBZ0I7SUFpQzNCLFlBQ0ksVUFBc0I7UUFqQm5CLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBdUQxQixpQkFBWSxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFBO1FBL0NDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFuQ0QsSUFDVyxNQUFNLENBQUMsS0FBMEM7UUFDMUQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztTQUN2RTthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDbkM7U0FDRjtJQUNILENBQUM7SUE0Qk0sV0FBVztRQUNoQixRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxJQUFJLENBQUMs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bnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7T3ZlcmxheVBhcmVudERpcmVjdGl2ZX0gZnJvbSAnLi9vdmVybGF5LXBhcmVudC5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW292ZXJsYXldXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIE92ZXJsYXlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dChcIm92ZXJsYXlcIilcclxuICBwdWJsaWMgc2V0IHBhcmVudCh2YWx1ZTogT3ZlcmxheVBhcmVudERpcmVjdGl2ZSB8IEVsZW1lbnRSZWYpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9wYXJlbnQgPSB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgPyB2YWx1ZSA6IHZhbHVlLmVsZW1lbnRSZWY7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5fcGFyZW50ICYmIHRoaXMuX3Jlc2l6ZU9ic2VydmVyKSB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aWV3OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2VlcEluVmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbmhlcml0V2lkdGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRBbGlnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmdWxsU2l6ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcclxuICBwcml2YXRlIF9pbnRlcnNlY3Rpb25PYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XHJcbiAgcHJpdmF0ZSBfcGFyZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5fZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuaGFuZGxlU2Nyb2xsLCB0cnVlKTtcclxuICAgIGlmICh0aGlzLl9pbnRlcnNlY3Rpb25PYnNlcnZlcikge1xyXG4gICAgICB0aGlzLl9pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZWxlbWVudFJlZiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3BhcmVudCA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9lbGVtZW50UmVmIHx8ICF0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLmhhbmRsZVNjcm9sbCwgdHJ1ZSk7XHJcbiAgICB0aGlzLl9jaGVja0FuZFBsYWNlRWxlbWVudCgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoXHJcbiAgICAgICAgKGVudHJpZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2NoZWNrQW5kUGxhY2VFbGVtZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2ludGVyc2VjdGlvbk9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxyXG4gICAgICAgIChlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10pID0+IHtcclxuICAgICAgICAgIGlmIChlbnRyaWVzICYmIGVudHJpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBpZiAoZW50cmllc1swXS5pc0ludGVyc2VjdGluZyA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9IDA7IC8vIGhpZGUgY2F1c2UgcGFyZW50IGlzIG5vdCB2aXNpYmxlXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgcm9vdDogbnVsbFxyXG4gICAgICAgIH1cclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5fcGFyZW50KSB7XHJcbiAgICAgIHRoaXMuX2ludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5fcGFyZW50Lm5hdGl2ZUVsZW1lbnQpOyAvLyBvYnNlcnZlIHBhcmVudCBmb3IgdmlzaWJpbGl0eVxyXG4gICAgfVxyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTY3JvbGwgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLl9jaGVja0FuZFBsYWNlRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hlY2tBbmRQbGFjZUVsZW1lbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZWxlbWVudFJlZiAmJiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5fcGFyZW50ICYmIHRoaXMuX3BhcmVudC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRSZWN0OiBDbGllbnRSZWN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCBwYXJlbnRCb3VuZGluZ1JlY3Q6IENsaWVudFJlY3QgPSB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgcGFyZW50UmVjdDoge30gPSB7XHJcbiAgICAgICAgYm90dG9tOiB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AgKyBwYXJlbnRCb3VuZGluZ1JlY3QuaGVpZ2h0LFxyXG4gICAgICAgIHJpZ2h0OiB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0ICsgcGFyZW50Qm91bmRpbmdSZWN0LndpZHRoLFxyXG4gICAgICAgIGxlZnQ6IHRoaXMuX3BhcmVudC5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQsXHJcbiAgICAgICAgdG9wOiB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3BcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9wbGFjZUVsZW1lbnQod2luZG93LmlubmVySGVpZ2h0LCB3aW5kb3cuaW5uZXJXaWR0aCwgcGFyZW50UmVjdCwgZWxlbWVudFJlY3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcGxhY2VFbGVtZW50KGJvdHRvbTogbnVtYmVyLCByaWdodDogbnVtYmVyLCBwYXJlbnRSZWN0OiBhbnksIGVsZW1lbnRSZWN0OiBDbGllbnRSZWN0KTogdm9pZCB7XHJcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCI7XHJcbiAgICBpZiAoYm90dG9tIDwgcGFyZW50UmVjdC5ib3R0b20gKyBlbGVtZW50UmVjdC5oZWlnaHQpIHsgLy8gbWFrZSBzdXJlIGl0IGZpdHMgYXQgdGhlIGJvdHRvbVxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gKHBhcmVudFJlY3QudG9wIC0gZWxlbWVudFJlY3QuaGVpZ2h0KSArIFwicHhcIjtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3RvcCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3RvcCcpO1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gcGFyZW50UmVjdC5ib3R0b20gKyBcInB4XCI7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbmhlcml0V2lkdGgpIHtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gcGFyZW50UmVjdC53aWR0aCArIFwicHhcIjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJpZ2h0QWxpZ24pIHtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAocGFyZW50UmVjdC5yaWdodCAtIGVsZW1lbnRSZWN0LndpZHRoKSArIFwicHhcIjtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5mdWxsU2l6ZSkge1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IFwiMHB4XCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IHBhcmVudFJlY3QubGVmdCArIFwicHhcIjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmtlZXBJblZpZXcpIHtcclxuICAgICAgY29uc3Qgdmlld1RvS2VlcEluOiBhbnkgPSB0aGlzLnZpZXcgPyB0aGlzLnZpZXcgOiB3aW5kb3c7XHJcbiAgICAgIGNvbnN0IHZpZXdXaWR0aDogbnVtYmVyID0gdmlld1RvS2VlcEluLmlubmVyV2lkdGggfHwgdmlld1RvS2VlcEluLmNsaWVudFdpZHRoO1xyXG4gICAgICBpZiAoZWxlbWVudFJlY3QucmlnaHQgPiB2aWV3V2lkdGgpIHtcclxuICAgICAgICAvL3NlZSBpZiB3ZSBjYW4gbW92ZSBpdCB0byB0aGUgbGVmdFxyXG4gICAgICAgIGlmICgoKHZpZXdXaWR0aCAtIGVsZW1lbnRSZWN0LndpZHRoKSA+IDApICYmICF0aGlzLmZ1bGxTaXplKSB7XHJcbiAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9ICh2aWV3V2lkdGggLSBlbGVtZW50UmVjdC53aWR0aCkgKyBcInB4XCI7XHJcbiAgICAgICAgfSBlbHNlIHsgLy9yZXNpemUgc28gaXQgZml0cyBpbnRvIHZpZXdcclxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHZpZXdXaWR0aCArIFwicHhcIjtcclxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gdmlld1RvS2VlcEluLm9mZnNldExlZnQgKyBcInB4XCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvb3ZlcmxheS9vdmVybGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBTTlFLE1BQU0sT0FBTyxnQkFBZ0I7SUF3QzNCLFlBQ0ksVUFBc0I7UUF6QjFCOzs7V0FHRztRQUVJLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFHeEIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUc5QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUF1RDFCLGlCQUFZLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUE7UUEvQ0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQTFDRCxJQUNXLE1BQU0sQ0FBQyxLQUEwQztRQUMxRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1NBQ3ZFO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQW1DTSxXQUFXO1FBQ2hCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFB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RSw2QkFBNkI7b0JBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztpQkFDNUU7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7O1lBekpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVzthQUN0Qjs7O1lBTGtCLFVBQVU7OztxQkFRMUIsS0FBSyxTQUFDLFNBQVM7bUJBV2YsS0FBSztxQkFPTCxLQUFLO3lCQUdMLEtBQUs7MkJBR0wsS0FBSzt5QkFHTCxLQUFLO3VCQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtPdmVybGF5UGFyZW50RGlyZWN0aXZlfSBmcm9tICcuL292ZXJsYXktcGFyZW50LmRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogXCJbb3ZlcmxheV1cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3ZlcmxheURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KFwib3ZlcmxheVwiKVxyXG4gIHB1YmxpYyBzZXQgcGFyZW50KHZhbHVlOiBPdmVybGF5UGFyZW50RGlyZWN0aXZlIHwgRWxlbWVudFJlZikge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3BhcmVudCA9IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudFJlZiA/IHZhbHVlIDogdmFsdWUuZWxlbWVudFJlZjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLl9wYXJlbnQgJiYgdGhpcy5fcmVzaXplT2JzZXJ2ZXIpIHtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZpZXc6IEhUTUxFbGVtZW50O1xyXG5cclxuICAvKipcclxuICAgKiB0cnVlOyBFbGVtZW50IGlzIGFkZGVkIHRvIHRoZSBwYXJlbnQgdGVtcGxhdGVcclxuICAgKiBmYWxzZTsgRWxlbWVudCBpcyBhZGRlZCB0byB0aGUgYm90dG9tIG9mIHRoZSBET01cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbmxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2VlcEluVmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbmhlcml0V2lkdGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRBbGlnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmdWxsU2l6ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcclxuICBwcml2YXRlIF9pbnRlcnNlY3Rpb25PYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XHJcbiAgcHJpdmF0ZSBfcGFyZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5fZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuaGFuZGxlU2Nyb2xsLCB0cnVlKTtcclxuICAgIGlmICh0aGlzLl9pbnRlcnNlY3Rpb25PYnNlcnZlcikge1xyXG4gICAgICB0aGlzLl9pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZWxlbWVudFJlZiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3BhcmVudCA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9lbGVtZW50UmVmIHx8ICF0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLmhhbmRsZVNjcm9sbCwgdHJ1ZSk7XHJcbiAgICB0aGlzLl9jaGVja0FuZFBsYWNlRWxlbWVudCgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoXHJcbiAgICAgICAgKGVudHJpZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2NoZWNrQW5kUGxhY2VFbGVtZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2ludGVyc2VjdGlvbk9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxyXG4gICAgICAgIChlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10pID0+IHtcclxuICAgICAgICAgIGlmIChlbnRyaWVzICYmIGVudHJpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBpZiAoZW50cmllc1swXS5pc0ludGVyc2VjdGluZyA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9IDA7IC8vIGhpZGUgY2F1c2UgcGFyZW50IGlzIG5vdCB2aXNpYmxlXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgcm9vdDogbnVsbFxyXG4gICAgICAgIH1cclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5fcGFyZW50KSB7XHJcbiAgICAgIHRoaXMuX2ludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5fcGFyZW50Lm5hdGl2ZUVsZW1lbnQpOyAvLyBvYnNlcnZlIHBhcmVudCBmb3IgdmlzaWJpbGl0eVxyXG4gICAgfVxyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTY3JvbGwgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLl9jaGVja0FuZFBsYWNlRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hlY2tBbmRQbGFjZUVsZW1lbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZWxlbWVudFJlZiAmJiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5fcGFyZW50ICYmIHRoaXMuX3BhcmVudC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRSZWN0OiBDbGllbnRSZWN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCBwYXJlbnRCb3VuZGluZ1JlY3Q6IENsaWVudFJlY3QgPSB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgbGV0IHBhcmVudFJlY3Q6IHt9ID0ge307XHJcbiAgICAgIGlmICghdGhpcy5pbmxpbmUpIHtcclxuICAgICAgICBwYXJlbnRSZWN0ID0ge1xyXG4gICAgICAgICAgYm90dG9tOiBwYXJlbnRCb3VuZGluZ1JlY3QuYm90dG9tLFxyXG4gICAgICAgICAgcmlnaHQ6IHBhcmVudEJvdW5kaW5nUmVjdC5yaWdodCxcclxuICAgICAgICAgIGxlZnQ6IHBhcmVudEJvdW5kaW5nUmVjdC5sZWZ0LFxyXG4gICAgICAgICAgdG9wOiBwYXJlbnRCb3VuZGluZ1JlY3QudG9wLFxyXG4gICAgICAgICAgd2lkdGg6IHBhcmVudEJvdW5kaW5nUmVjdC53aWR0aFxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwYXJlbnRSZWN0ID0ge1xyXG4gICAgICAgICAgYm90dG9tOiB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AgKyBwYXJlbnRCb3VuZGluZ1JlY3QuaGVpZ2h0LFxyXG4gICAgICAgICAgcmlnaHQ6IHRoaXMuX3BhcmVudC5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgKyBwYXJlbnRCb3VuZGluZ1JlY3Qud2lkdGgsXHJcbiAgICAgICAgICBsZWZ0OiB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0LFxyXG4gICAgICAgICAgdG9wOiB0aGlzLl9wYXJlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AsXHJcbiAgICAgICAgICB3aWR0aDogcGFyZW50Qm91bmRpbmdSZWN0LndpZHRoXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3BsYWNlRWxlbWVudCh3aW5kb3cuaW5uZXJIZWlnaHQsIHdpbmRvdy5pbm5lcldpZHRoLCBwYXJlbnRSZWN0LCBlbGVtZW50UmVjdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wbGFjZUVsZW1lbnQoYm90dG9tOiBudW1iZXIsIHJpZ2h0OiBudW1iZXIsIHBhcmVudFJlY3Q6IGFueSwgZWxlbWVudFJlY3Q6IENsaWVudFJlY3QpOiB2b2lkIHtcclxuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9IFwiZml4ZWRcIjtcclxuICAgIGlmIChib3R0b20gPCBwYXJlbnRSZWN0LmJvdHRvbSArIGVsZW1lbnRSZWN0LmhlaWdodCkgeyAvLyBtYWtlIHN1cmUgaXQgZml0cyBhdCB0aGUgYm90dG9tXHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSAocGFyZW50UmVjdC50b3AgLSBlbGVtZW50UmVjdC5oZWlnaHQpICsgXCJweFwiO1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndG9wJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndG9wJyk7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBwYXJlbnRSZWN0LmJvdHRvbSArIFwicHhcIjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmluaGVyaXRXaWR0aCkge1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBwYXJlbnRSZWN0LndpZHRoICsgXCJweFwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmlnaHRBbGlnbikge1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IChwYXJlbnRSZWN0LnJpZ2h0IC0gZWxlbWVudFJlY3Qud2lkdGgpICsgXCJweFwiO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmZ1bGxTaXplKSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gXCIwcHhcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gcGFyZW50UmVjdC5sZWZ0ICsgXCJweFwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMua2VlcEluVmlldykge1xyXG4gICAgICBjb25zdCB2aWV3VG9LZWVwSW46IGFueSA9IHRoaXMudmlldyA/IHRoaXMudmlldyA6IHdpbmRvdztcclxuICAgICAgY29uc3Qgdmlld1dpZHRoOiBudW1iZXIgPSB2aWV3VG9LZWVwSW4uaW5uZXJXaWR0aCB8fCB2aWV3VG9LZWVwSW4uY2xpZW50V2lkdGg7XHJcbiAgICAgIGlmIChlbGVtZW50UmVjdC5yaWdodCA+IHZpZXdXaWR0aCkge1xyXG4gICAgICAgIC8vc2VlIGlmIHdlIGNhbiBtb3ZlIGl0IHRvIHRoZSBsZWZ0XHJcbiAgICAgICAgaWYgKCgodmlld1dpZHRoIC0gZWxlbWVudFJlY3Qud2lkdGgpID4gMCkgJiYgIXRoaXMuZnVsbFNpemUpIHtcclxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gKHZpZXdXaWR0aCAtIGVsZW1lbnRSZWN0LndpZHRoKSArIFwicHhcIjtcclxuICAgICAgICB9IGVsc2UgeyAvL3Jlc2l6ZSBzbyBpdCBmaXRzIGludG8gdmlld1xyXG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdmlld1dpZHRoICsgXCJweFwiO1xyXG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSB2aWV3VG9LZWVwSW4ub2Zmc2V0TGVmdCArIFwicHhcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|