cps-ui-kit 0.163.0 → 0.164.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/cps-tab-group/cps-tab-group.component.mjs +21 -15
- package/fesm2015/cps-ui-kit.mjs +20 -14
- package/fesm2015/cps-ui-kit.mjs.map +1 -1
- package/fesm2020/cps-ui-kit.mjs +20 -14
- package/fesm2020/cps-ui-kit.mjs.map +1 -1
- package/lib/components/cps-tab-group/cps-tab-group.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -90,7 +90,7 @@ export class CpsTabGroupComponent {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
ngAfterContentInit() {
|
|
93
|
-
this.selectTab();
|
|
93
|
+
this.selectTab(true);
|
|
94
94
|
}
|
|
95
95
|
ngAfterViewInit() {
|
|
96
96
|
this._updateNavBtnsState();
|
|
@@ -110,7 +110,7 @@ export class CpsTabGroupComponent {
|
|
|
110
110
|
this.selectedIndex = index;
|
|
111
111
|
this.selectTab();
|
|
112
112
|
}
|
|
113
|
-
selectTab() {
|
|
113
|
+
selectTab(silent = false) {
|
|
114
114
|
const _tabs = this.tabs.toArray();
|
|
115
115
|
const currentSelectedTab = _tabs && _tabs[this._previousTabIndex];
|
|
116
116
|
currentSelectedTab && (currentSelectedTab.active = false);
|
|
@@ -119,28 +119,34 @@ export class CpsTabGroupComponent {
|
|
|
119
119
|
if (this._currentTabIndex === this._previousTabIndex) {
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
if (!silent) {
|
|
123
|
+
this.beforeTabChanged.emit({
|
|
124
|
+
previousIndex: this._previousTabIndex,
|
|
125
|
+
newIndex: this._currentTabIndex
|
|
126
|
+
});
|
|
127
|
+
}
|
|
126
128
|
if (this.animationType === 'slide') {
|
|
127
129
|
this.animationState =
|
|
128
130
|
this._currentTabIndex < this._previousTabIndex
|
|
129
131
|
? 'slideLeft'
|
|
130
132
|
: 'slideRight';
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
if (!silent) {
|
|
134
|
+
this.afterTabChanged.emit({
|
|
135
|
+
previousIndex: this._previousTabIndex,
|
|
136
|
+
newIndex: this._currentTabIndex
|
|
137
|
+
});
|
|
138
|
+
}
|
|
135
139
|
}
|
|
136
140
|
else if (this.animationType === 'fade') {
|
|
137
141
|
this.animationState = 'fadeOut';
|
|
138
142
|
setTimeout(() => {
|
|
139
143
|
this.animationState = 'fadeIn';
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
if (!silent) {
|
|
145
|
+
this.afterTabChanged.emit({
|
|
146
|
+
previousIndex: this._previousTabIndex,
|
|
147
|
+
newIndex: this._currentTabIndex
|
|
148
|
+
});
|
|
149
|
+
}
|
|
144
150
|
}, 100);
|
|
145
151
|
}
|
|
146
152
|
}
|
|
@@ -276,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
276
282
|
type: ContentChildren,
|
|
277
283
|
args: [CpsTabComponent]
|
|
278
284
|
}] } });
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRhYi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9jcHMtdGFiLWdyb3VwL2Nwcy10YWItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhYi1ncm91cC9jcHMtdGFiLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFJTCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUdOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxZQUFZLEVBQ1osWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1YsTUFBTSxNQUFNLENBQUM7OztBQVVkOzs7R0FHRztBQXNDSCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9COzs7T0FHRztJQUNILElBQWEsYUFBYSxDQUFDLEtBQWE7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQyxJ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QUM5QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3JCLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7NEJBQ0YsVUFBVSxDQUFDLG1CQUFtQixFQUFFO2dDQUM5QixPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNILENBQUM7cUJBQ0g7d0dBU1ksYUFBYTtzQkFBekIsS0FBSztnQkFhRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFNRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFPRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVnQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0MsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNLLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFFVyxJQUFJO3NCQUFyQyxlQUFlO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3BzSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Nwcy1pY29uL2Nwcy1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNUYWJDb21wb25lbnQgfSBmcm9tICcuL2Nwcy10YWIvY3BzLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvY3BzLXRvb2x0aXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IGdldENTU0NvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3JzLXV0aWxzJztcbmltcG9ydCB7XG4gIFN1YnNjcmlwdGlvbixcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZnJvbUV2ZW50XG59IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYkNoYW5nZUV2ZW50IHtcbiAgcHJldmlvdXNJbmRleDogbnVtYmVyO1xuICBuZXdJbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDcHNUYWJzQW5pbWF0aW9uVHlwZSA9ICdzbGlkZScgfCAnZmFkZSc7XG5leHBvcnQgdHlwZSBDcHNUYWJzQWxpZ25tZW50VHlwZSA9ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcblxuLyoqXG4gKiBDcHNUYWJHcm91cENvbXBvbmVudCBpcyBhIG5hdmlnYXRpb24gY29tcG9uZW50IHRoYXQgZGlzcGxheXMgaXRlbXMgYXMgdGFiIGhlYWRlcnMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDcHNJY29uQ29tcG9uZW50LFxuICAgIENwc1RhYkNvbXBvbmVudCxcbiAgICBDcHNUb29sdGlwRGlyZWN0aXZlXG4gIF0sXG4gIHNlbGVjdG9yOiAnY3BzLXRhYi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcHMtdGFiLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3BzLXRhYi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcbiAgICAgIHN0YXRlKCdzbGlkZUxlZnQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pKSxcbiAgICAgIHN0YXRlKCdzbGlkZVJpZ2h0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IHNsaWRlTGVmdCcsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IHNsaWRlUmlnaHQnLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4nKVxuICAgICAgXSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXG4gICAgICBzdGF0ZSgnZmFkZUluJywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgICAgIHN0YXRlKCdmYWRlT3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2ZhZGVPdXQgPT4gZmFkZUluJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAgfSksXG4gICAgICAgIGFuaW1hdGUoJzEwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCdmYWRlSW4gPT4gZmFkZU91dCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENwc1RhYkdyb3VwQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogSW5kZXggb2YgdGhlIHNlbGVjdGVkIHRhYi5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcHJldmlvdXNUYWJJbmRleCA9IHRoaXMuX2N1cnJlbnRUYWJJbmRleDtcbiAgICB0aGlzLl9jdXJyZW50VGFiSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRUYWJJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gYXBwbHkgYW4gYWx0ZXJuYXRpdmUgJ3N1YnRhYnMnIHN0eWxpbmcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgaXNTdWJUYWJzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEhvcml6b250YWwgYWxpZ25tZW50IG9mIHRhYnMuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgYWxpZ25tZW50OiBDcHNUYWJzQWxpZ25tZW50VHlwZSA9ICdsZWZ0JztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHN0cmV0Y2ggdGFicyB0byBmaWxsIHRoZSBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZS5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBzdHJldGNoZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIGhvdyBjb250ZW50IGFwcGVhcnMsIGl0IGNhbiBiZSBcInNsaWRlXCIgb3IgXCJmYWRlXCIuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgYW5pbWF0aW9uVHlwZTogQ3BzVGFic0FuaW1hdGlvblR5cGUgPSAnc2xpZGUnO1xuXG4gIC8qKlxuICAgKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG5hdmlnYXRpb24gYnV0dG9ucy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBuYXZCdXR0b25zQmFja2dyb3VuZCA9ICdpbmhlcml0JztcblxuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvciBvZiB0YWJzLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHRhYnNCYWNrZ3JvdW5kID0gJ2luaGVyaXQnO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBpbnZva2UgYmVmb3JlIHRhYiBjaGFuZ2UuXG4gICAqIEBwYXJhbSB7VGFiQ2hhbmdlRXZlbnR9IGFueSAtIHRhYiBjaGFuZ2UgZXZlbnQuXG4gICAqIEBncm91cCBFbWl0c1xuICAgKi9cbiAgQE91dHB1dCgpIGJlZm9yZVRhYkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYkNoYW5nZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBpbnZva2UgYWZ0ZXIgdGFiIGNoYW5nZS5cbiAgICogQHBhcmFtIHtUYWJDaGFuZ2VFdmVudH0gYW55IC0gdGFiIGNoYW5nZSBldmVudC5cbiAgICogQGdyb3VwIEVtaXRzXG4gICAqL1xuICBAT3V0cHV0KCkgYWZ0ZXJUYWJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJDaGFuZ2VFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCd0YWJzTGlzdCcpIHRhYnNMaXN0ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYmFja0J0bicpIGJhY2tCdG4/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdmb3J3YXJkQnRuJykgZm9yd2FyZEJ0bj86IEVsZW1lbnRSZWY7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihDcHNUYWJDb21wb25lbnQpIHRhYnMhOiBRdWVyeUxpc3Q8Q3BzVGFiQ29tcG9uZW50PjtcblxuICBiYWNrQnRuVmlzaWJsZSA9IGZhbHNlO1xuICBmb3J3YXJkQnRuVmlzaWJsZSA9IGZhbHNlO1xuICBhbmltYXRpb25TdGF0ZTogJ3NsaWRlTGVmdCcgfCAnc2xpZGVSaWdodCcgfCAnZmFkZUluJyB8ICdmYWRlT3V0JyA9ICdmYWRlSW4nO1xuXG4gIHdpbmRvd1Jlc2l6ZSQ6IFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgbGlzdFNjcm9sbCQ6IFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBwcml2YXRlIF9jdXJyZW50VGFiSW5kZXggPSAwO1xuICBwcml2YXRlIF9wcmV2aW91c1RhYkluZGV4ID0gMDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYnNCYWNrZ3JvdW5kID0gZ2V0Q1NTQ29sb3IodGhpcy50YWJzQmFja2dyb3VuZCk7XG4gICAgdGhpcy5uYXZCdXR0b25zQmFja2dyb3VuZCA9IGdldENTU0NvbG9yKHRoaXMubmF2QnV0dG9uc0JhY2tncm91bmQpO1xuXG4gICAgdGhpcy53aW5kb3dSZXNpemUkID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uUmVzaXplKCkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnNlbGVjdGVkSW5kZXggJiYgIWNoYW5nZXMuc2VsZWN0ZWRJbmRleC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5zZWxlY3RUYWIoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5zZWxlY3RUYWIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl91cGRhdGVOYXZCdG5zU3RhdGUoKTtcblxuICAgIHRoaXMubGlzdFNjcm9sbCQgPSBmcm9tRXZlbnQodGhpcy50YWJzTGlzdC5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJylcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB0aGlzLm9uU2Nyb2xsKGV2ZW50KSk7XG5cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMud2luZG93UmVzaXplJD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmxpc3RTY3JvbGwkPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkVGFiKCk6IENwc1RhYkNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudGFicy5maW5kKCh0KSA9PiB0LmFjdGl2ZSk7XG4gIH1cblxuICBvblRhYkNsaWNrKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpbmRleDtcbiAgICB0aGlzLnNlbGVjdFRhYigpO1xuICB9XG5cbiAgc2VsZWN0VGFiKCkge1xuICAgIGNvbnN0IF90YWJzID0gdGhpcy50YWJzLnRvQXJyYXkoKTtcbiAgICBjb25zdCBjdXJyZW50U2VsZWN0ZWRUYWIgPSBfdGFicyAmJiBfdGFic1t0aGlzLl9wcmV2aW91c1RhYkluZGV4XTtcblxuICAgIGN1cnJlbnRTZWxlY3RlZFRhYiAmJiAoY3VycmVudFNlbGVjdGVkVGFiLmFjdGl2ZSA9IGZhbHNlKTtcbiAgICBjb25zdCBuZXdTZWxlY3RlZFRhYiA9IF90YWJzICYmIF90YWJzW3RoaXMuX2N1cnJlbnRUYWJJbmRleF07XG4gICAgbmV3U2VsZWN0ZWRUYWIgJiYgKG5ld1NlbGVjdGVkVGFiLmFjdGl2ZSA9IHRydWUpO1xuICAgIGlmICh0aGlzLl9jdXJyZW50VGFiSW5kZXggPT09IHRoaXMuX3ByZXZpb3VzVGFiSW5kZXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmJlZm9yZVRhYkNoYW5nZWQuZW1pdCh7XG4gICAgICBwcmV2aW91c0luZGV4OiB0aGlzLl9wcmV2aW91c1RhYkluZGV4LFxuICAgICAgbmV3SW5kZXg6IHRoaXMuX2N1cnJlbnRUYWJJbmRleFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuYW5pbWF0aW9uVHlwZSA9PT0gJ3NsaWRlJykge1xuICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUYWJJbmRleCA8IHRoaXMuX3ByZXZpb3VzVGFiSW5kZXhcbiAgICAgICAgICA/ICdzbGlkZUxlZnQnXG4gICAgICAgICAgOiAnc2xpZGVSaWdodCc7XG5cbiAgICAgIHRoaXMuYWZ0ZXJUYWJDaGFuZ2VkLmVtaXQoe1xuICAgICAgICBwcmV2aW91c0luZGV4OiB0aGlzLl9wcmV2aW91c1RhYkluZGV4LFxuICAgICAgICBuZXdJbmRleDogdGhpcy5fY3VycmVudFRhYkluZGV4XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW5pbWF0aW9uVHlwZSA9PT0gJ2ZhZGUnKSB7XG4gICAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gJ2ZhZGVPdXQnO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAnZmFkZUluJztcbiAgICAgICAgdGhpcy5hZnRlclRhYkNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgcHJldmlvdXNJbmRleDogdGhpcy5fcHJldmlvdXNUYWJJbmRleCxcbiAgICAgICAgICBuZXdJbmRleDogdGhpcy5fY3VycmVudFRhYkluZGV4XG4gICAgICAgIH0pO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cblxuICBvblNjcm9sbChldmVudDogYW55KSB7XG4gICAgdGhpcy5fdXBkYXRlTmF2QnRuc1N0YXRlKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIG9uUmVzaXplKCkge1xuICAgIHRoaXMuX3VwZGF0ZU5hdkJ0bnNTdGF0ZSgpO1xuICB9XG5cbiAgbmF2QmFja3dhcmQoKSB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMudGFic0xpc3QubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuX2dldFdpZHRoKGNvbnRlbnQpIC0gdGhpcy5fZ2V0VmlzaWJsZUJ1dHRvbldpZHRocygpO1xuICAgIGNvbnN0IHBvcyA9IGNvbnRlbnQuc2Nyb2xsTGVmdCAtIHdpZHRoO1xuICAgIGNvbnRlbnQuc2Nyb2xsTGVmdCA9IHBvcyA8PSAwID8gMCA6IHBvcztcbiAgfVxuXG4gIG5hdkZvcndhcmQoKSB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMudGFic0xpc3QubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuX2dldFdpZHRoKGNvbnRlbnQpIC0gdGhpcy5fZ2V0VmlzaWJsZUJ1dHRvbldpZHRocygpO1xuICAgIGNvbnN0IHBvcyA9IGNvbnRlbnQuc2Nyb2xsTGVmdCArIHdpZHRoO1xuICAgIGNvbnN0IGxhc3RQb3MgPSBjb250ZW50LnNjcm9sbFdpZHRoIC0gd2lkdGg7XG4gICAgY29udGVudC5zY3JvbGxMZWZ0ID0gcG9zID49IGxhc3RQb3MgPyBsYXN0UG9zIDogcG9zO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTmF2QnRuc1N0YXRlKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgeyBzY3JvbGxMZWZ0LCBzY3JvbGxXaWR0aCB9ID0gY29udGVudDtcblxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5fZ2V0V2lkdGgoY29udGVudCk7XG5cbiAgICB0aGlzLmJhY2tCdG5WaXNpYmxlID0gc2Nyb2xsTGVmdCA9PT0gMDtcbiAgICB0aGlzLmZvcndhcmRCdG5WaXNpYmxlID0gTWF0aC5hYnMoc2Nyb2xsTGVmdCAtIHNjcm9sbFdpZHRoICsgd2lkdGgpIDwgMjtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZpc2libGVCdXR0b25XaWR0aHMoKSB7XG4gICAgcmV0dXJuIFt0aGlzLmJhY2tCdG4/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZm9yd2FyZEJ0bj8ubmF0aXZlRWxlbWVudF0ucmVkdWNlKFxuICAgICAgKGFjYywgZWwpID0+IChlbCA/IGFjYyArIHRoaXMuX2dldFdpZHRoKGVsKSA6IGFjYyksXG4gICAgICAwXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFdpZHRoKGVsOiBhbnkpOiBudW1iZXIge1xuICAgIGxldCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuICAgIGlmICghd2lkdGgpIHJldHVybiB3aWR0aDtcblxuICAgIGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbCk7XG5cbiAgICB3aWR0aCAtPVxuICAgICAgcGFyc2VGbG9hdChzdHlsZS5wYWRkaW5nTGVmdCkgK1xuICAgICAgcGFyc2VGbG9hdChzdHlsZS5wYWRkaW5nUmlnaHQpICtcbiAgICAgIHBhcnNlRmxvYXQoc3R5bGUuYm9yZGVyTGVmdFdpZHRoKSArXG4gICAgICBwYXJzZUZsb2F0KHN0eWxlLmJvcmRlclJpZ2h0V2lkdGgpO1xuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiY3BzLXRhYnNcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2Nwcy10YWJzLXN1YnRhYnMnOiBpc1N1YlRhYnMsXG4gICAgJ2Nwcy10YWJzLWNlbnRlci1hbGlnbmVkJzogYWxpZ25tZW50ID09PSAnY2VudGVyJyxcbiAgICAnY3BzLXRhYnMtcmlnaHQtYWxpZ25lZCc6IGFsaWdubWVudCA9PT0gJ3JpZ2h0JyxcbiAgICAnY3BzLXRhYnMtc3RyZXRjaGVkJzogc3RyZXRjaGVkXG4gIH1cIlxuICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogdGFic0JhY2tncm91bmQgfVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJuYXYtYnRuIG5hdi1idG4tYmFja1wiXG4gICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IG5hdkJ1dHRvbnNCYWNrZ3JvdW5kIH1cIlxuICAgICpuZ0lmPVwiIWJhY2tCdG5WaXNpYmxlXCJcbiAgICAjYmFja0J0blxuICAgIChjbGljayk9XCJuYXZCYWNrd2FyZCgpXCI+XG4gICAgPGNwcy1pY29uIGljb249XCJjaGV2cm9uLWRvd25cIiBjb2xvcj1cInRleHQtZGFya1wiPjwvY3BzLWljb24+XG4gIDwvZGl2PlxuICA8dWwgI3RhYnNMaXN0IGNsYXNzPVwiY3BzLXRhYnMtbGlzdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgdGFiSW5kZXggPSBpbmRleFwiPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0lmPVwidGFiLnRvb2x0aXBUZXh0XCJcbiAgICAgICAgY2xhc3M9XCJjcHMtdGFiXCJcbiAgICAgICAgKGNsaWNrKT1cIiF0YWIuZGlzYWJsZWQgPyBvblRhYkNsaWNrKHRhYkluZGV4KSA6ICcnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHRhYi5hY3RpdmUsIGRpc2FibGVkOiB0YWIuZGlzYWJsZWQgfVwiXG4gICAgICAgIFtjcHNUb29sdGlwXT1cInRhYi50b29sdGlwVGV4dFwiXG4gICAgICAgIHRvb2x0aXBPcGVuRGVsYXk9XCIxMDAwXCJcbiAgICAgICAgdG9vbHRpcENsb3NlRGVsYXk9XCIwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgW3Rvb2x0aXBNYXhXaWR0aF09XCJ0YWIudG9vbHRpcE1heFdpZHRoXCJcbiAgICAgICAgW3Rvb2x0aXBQZXJzaXN0ZW50XT1cInRhYi50b29sdGlwUGVyc2lzdGVudFwiXG4gICAgICAgIFt0b29sdGlwQ29udGVudENsYXNzXT1cInRhYi50b29sdGlwQ29udGVudENsYXNzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFiSGVhZGVyVGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgIHRhYjogdGFiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0lmPVwiIXRhYi50b29sdGlwVGV4dFwiXG4gICAgICAgIGNsYXNzPVwiY3BzLXRhYlwiXG4gICAgICAgIChjbGljayk9XCIhdGFiLmRpc2FibGVkID8gb25UYWJDbGljayh0YWJJbmRleCkgOiAnJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiB0YWIuYWN0aXZlLCBkaXNhYmxlZDogdGFiLmRpc2FibGVkIH1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICB0YWJIZWFkZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgdGFiOiB0YWJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdWw+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm5hdi1idG4gbmF2LWJ0bi1mb3J3YXJkXCJcbiAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogbmF2QnV0dG9uc0JhY2tncm91bmQgfVwiXG4gICAgKm5nSWY9XCIhZm9yd2FyZEJ0blZpc2libGVcIlxuICAgICNmb3J3YXJkQnRuXG4gICAgKGNsaWNrKT1cIm5hdkZvcndhcmQoKVwiPlxuICAgIDxjcHMtaWNvbiBpY29uPVwiY2hldnJvbi1kb3duXCIgY29sb3I9XCJ0ZXh0LWRhcmtcIj48L2Nwcy1pY29uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImNwcy10YWItY29udGVudFwiXG4gIFtuZ0NsYXNzXT1cInsgJ2Nwcy10YWItY29udGVudC1zdWJ0YWJzJzogaXNTdWJUYWJzIH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICA8ZGl2XG4gICAgICBbQHNsaWRlSW5PdXRdPVwiYW5pbWF0aW9uU3RhdGVcIlxuICAgICAgKm5nSWY9XCJ0YWIuYWN0aXZlICYmIGFuaW1hdGlvblR5cGUgPT09ICdzbGlkZSdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFiLmNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbQGZhZGVJbk91dF09XCJhbmltYXRpb25TdGF0ZVwiXG4gICAgICAqbmdJZj1cInRhYi5hY3RpdmUgJiYgYW5pbWF0aW9uVHlwZSA9PT0gJ2ZhZGUnXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGFiSGVhZGVyVGVtcGxhdGUgbGV0LXRhYj1cInRhYlwiPlxuICA8Y3BzLWljb24gKm5nSWY9XCJ0YWIuaWNvblwiIGNsYXNzPVwiY3BzLXRhYi1pY29uXCIgW2ljb25dPVwidGFiLmljb25cIj4gPC9jcHMtaWNvbj5cbiAgPGEgY2xhc3M9XCJjcHMtdGFiLWxpbmtcIj57eyB0YWIubGFiZWwgfX08L2E+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIuYmFkZ2VWYWx1ZVwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwidGFiLmJhZGdlVG9vbHRpcFwiXG4gICAgICBjbGFzcz1cImNwcy10YWItYmFkZ2VcIlxuICAgICAgW2Nwc1Rvb2x0aXBdPVwidGFiLmJhZGdlVG9vbHRpcFwiPlxuICAgICAgPHNwYW4+e3sgdGFiLmJhZGdlVmFsdWUgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiF0YWIuYmFkZ2VUb29sdGlwXCIgY2xhc3M9XCJjcHMtdGFiLWJhZGdlXCI+XG4gICAgICA8c3Bhbj57eyB0YWIuYmFkZ2VWYWx1ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRhYi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9jcHMtdGFiLWdyb3VwL2Nwcy10YWItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhYi1ncm91cC9jcHMtdGFiLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFJTCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUdOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxZQUFZLEVBQ1osWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1YsTUFBTSxNQUFNLENBQUM7OztBQVVkOzs7R0FHRztBQXNDSCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9COzs7T0FHRztJQUNILElBQWEsYUFBYSxDQUFDLEtBQWE7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQyxJ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QUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3RDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3ZDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRTtnQ0FDOUIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO2dDQUNyQixPQUFPLENBQUMsZUFBZSxDQUFDOzZCQUN6QixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRTtnQ0FDOUIsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs2QkFDL0MsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIO3dHQVNZLGFBQWE7c0JBQXpCLEtBQUs7Z0JBYUcsU0FBUztzQkFBakIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFNRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBTUcsY0FBYztzQkFBdEIsS0FBSztnQkFPSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBT0csZUFBZTtzQkFBeEIsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNDLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDSyxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBRVcsSUFBSTtzQkFBckMsZUFBZTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENwc0ljb25Db21wb25lbnQgfSBmcm9tICcuLi9jcHMtaWNvbi9jcHMtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9jcHMtdGFiL2Nwcy10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IENwc1Rvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Nwcy10b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBnZXRDU1NDb2xvciB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9ycy11dGlscyc7XG5pbXBvcnQge1xuICBTdWJzY3JpcHRpb24sXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZyb21FdmVudFxufSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJDaGFuZ2VFdmVudCB7XG4gIHByZXZpb3VzSW5kZXg6IG51bWJlcjtcbiAgbmV3SW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgQ3BzVGFic0FuaW1hdGlvblR5cGUgPSAnc2xpZGUnIHwgJ2ZhZGUnO1xuZXhwb3J0IHR5cGUgQ3BzVGFic0FsaWdubWVudFR5cGUgPSAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG5cbi8qKlxuICogQ3BzVGFiR3JvdXBDb21wb25lbnQgaXMgYSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGl0ZW1zIGFzIHRhYiBoZWFkZXJzLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ3BzSWNvbkNvbXBvbmVudCxcbiAgICBDcHNUYWJDb21wb25lbnQsXG4gICAgQ3BzVG9vbHRpcERpcmVjdGl2ZVxuICBdLFxuICBzZWxlY3RvcjogJ2Nwcy10YWItZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3BzLXRhYi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nwcy10YWItZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXG4gICAgICBzdGF0ZSgnc2xpZGVMZWZ0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSksXG4gICAgICBzdGF0ZSgnc2xpZGVSaWdodCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiBzbGlkZUxlZnQnLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLFxuICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLWluJylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiBzbGlkZVJpZ2h0JywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pLFxuICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLWluJylcbiAgICAgIF0pXG4gICAgXSksXG4gICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xuICAgICAgc3RhdGUoJ2ZhZGVJbicsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXG4gICAgICBzdGF0ZSgnZmFkZU91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdmYWRlT3V0ID0+IGZhZGVJbicsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCcxMDBtcyBlYXNlLWluJylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignZmFkZUluID0+IGZhZGVPdXQnLCBbXG4gICAgICAgIGFuaW1hdGUoJzBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDcHNUYWJHcm91cENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgLyoqXG4gICAqIEluZGV4IG9mIHRoZSBzZWxlY3RlZCB0YWIuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3ByZXZpb3VzVGFiSW5kZXggPSB0aGlzLl9jdXJyZW50VGFiSW5kZXg7XG4gICAgdGhpcy5fY3VycmVudFRhYkluZGV4ID0gdmFsdWU7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VGFiSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGFwcGx5IGFuIGFsdGVybmF0aXZlICdzdWJ0YWJzJyBzdHlsaW5nLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGlzU3ViVGFicyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIGFsaWdubWVudCBvZiB0YWJzLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGFsaWdubWVudDogQ3BzVGFic0FsaWdubWVudFR5cGUgPSAnbGVmdCc7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0byBzdHJldGNoIHRhYnMgdG8gZmlsbCB0aGUgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgc3RyZXRjaGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiBob3cgY29udGVudCBhcHBlYXJzLCBpdCBjYW4gYmUgXCJzbGlkZVwiIG9yIFwiZmFkZVwiLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGFuaW1hdGlvblR5cGU6IENwc1RhYnNBbmltYXRpb25UeXBlID0gJ3NsaWRlJztcblxuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvciBvZiBuYXZpZ2F0aW9uIGJ1dHRvbnMuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgbmF2QnV0dG9uc0JhY2tncm91bmQgPSAnaW5oZXJpdCc7XG5cbiAgLyoqXG4gICAqIEJhY2tncm91bmQgY29sb3Igb2YgdGFicy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0YWJzQmFja2dyb3VuZCA9ICdpbmhlcml0JztcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdG8gaW52b2tlIGJlZm9yZSB0YWIgY2hhbmdlLlxuICAgKiBAcGFyYW0ge1RhYkNoYW5nZUV2ZW50fSBhbnkgLSB0YWIgY2hhbmdlIGV2ZW50LlxuICAgKiBAZ3JvdXAgRW1pdHNcbiAgICovXG4gIEBPdXRwdXQoKSBiZWZvcmVUYWJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJDaGFuZ2VFdmVudD4oKTtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdG8gaW52b2tlIGFmdGVyIHRhYiBjaGFuZ2UuXG4gICAqIEBwYXJhbSB7VGFiQ2hhbmdlRXZlbnR9IGFueSAtIHRhYiBjaGFuZ2UgZXZlbnQuXG4gICAqIEBncm91cCBFbWl0c1xuICAgKi9cbiAgQE91dHB1dCgpIGFmdGVyVGFiQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFiQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgndGFic0xpc3QnKSB0YWJzTGlzdCE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2JhY2tCdG4nKSBiYWNrQnRuPzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZm9yd2FyZEJ0bicpIGZvcndhcmRCdG4/OiBFbGVtZW50UmVmO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ3BzVGFiQ29tcG9uZW50KSB0YWJzITogUXVlcnlMaXN0PENwc1RhYkNvbXBvbmVudD47XG5cbiAgYmFja0J0blZpc2libGUgPSBmYWxzZTtcbiAgZm9yd2FyZEJ0blZpc2libGUgPSBmYWxzZTtcbiAgYW5pbWF0aW9uU3RhdGU6ICdzbGlkZUxlZnQnIHwgJ3NsaWRlUmlnaHQnIHwgJ2ZhZGVJbicgfCAnZmFkZU91dCcgPSAnZmFkZUluJztcblxuICB3aW5kb3dSZXNpemUkOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIGxpc3RTY3JvbGwkOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgcHJpdmF0ZSBfY3VycmVudFRhYkluZGV4ID0gMDtcbiAgcHJpdmF0ZSBfcHJldmlvdXNUYWJJbmRleCA9IDA7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJzQmFja2dyb3VuZCA9IGdldENTU0NvbG9yKHRoaXMudGFic0JhY2tncm91bmQpO1xuICAgIHRoaXMubmF2QnV0dG9uc0JhY2tncm91bmQgPSBnZXRDU1NDb2xvcih0aGlzLm5hdkJ1dHRvbnNCYWNrZ3JvdW5kKTtcblxuICAgIHRoaXMud2luZG93UmVzaXplJCA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblJlc2l6ZSgpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZEluZGV4ICYmICFjaGFuZ2VzLnNlbGVjdGVkSW5kZXguZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0VGFiKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuc2VsZWN0VGFiKHRydWUpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuX3VwZGF0ZU5hdkJ0bnNTdGF0ZSgpO1xuXG4gICAgdGhpcy5saXN0U2Nyb2xsJCA9IGZyb21FdmVudCh0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHRoaXMub25TY3JvbGwoZXZlbnQpKTtcblxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy53aW5kb3dSZXNpemUkPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubGlzdFNjcm9sbCQ/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRUYWIoKTogQ3BzVGFiQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy50YWJzLmZpbmQoKHQpID0+IHQuYWN0aXZlKTtcbiAgfVxuXG4gIG9uVGFiQ2xpY2soaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgIHRoaXMuc2VsZWN0VGFiKCk7XG4gIH1cblxuICBzZWxlY3RUYWIoc2lsZW50ID0gZmFsc2UpIHtcbiAgICBjb25zdCBfdGFicyA9IHRoaXMudGFicy50b0FycmF5KCk7XG4gICAgY29uc3QgY3VycmVudFNlbGVjdGVkVGFiID0gX3RhYnMgJiYgX3RhYnNbdGhpcy5fcHJldmlvdXNUYWJJbmRleF07XG5cbiAgICBjdXJyZW50U2VsZWN0ZWRUYWIgJiYgKGN1cnJlbnRTZWxlY3RlZFRhYi5hY3RpdmUgPSBmYWxzZSk7XG4gICAgY29uc3QgbmV3U2VsZWN0ZWRUYWIgPSBfdGFicyAmJiBfdGFic1t0aGlzLl9jdXJyZW50VGFiSW5kZXhdO1xuICAgIG5ld1NlbGVjdGVkVGFiICYmIChuZXdTZWxlY3RlZFRhYi5hY3RpdmUgPSB0cnVlKTtcbiAgICBpZiAodGhpcy5fY3VycmVudFRhYkluZGV4ID09PSB0aGlzLl9wcmV2aW91c1RhYkluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgIHRoaXMuYmVmb3JlVGFiQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgcHJldmlvdXNJbmRleDogdGhpcy5fcHJldmlvdXNUYWJJbmRleCxcbiAgICAgICAgbmV3SW5kZXg6IHRoaXMuX2N1cnJlbnRUYWJJbmRleFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYW5pbWF0aW9uVHlwZSA9PT0gJ3NsaWRlJykge1xuICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUYWJJbmRleCA8IHRoaXMuX3ByZXZpb3VzVGFiSW5kZXhcbiAgICAgICAgICA/ICdzbGlkZUxlZnQnXG4gICAgICAgICAgOiAnc2xpZGVSaWdodCc7XG5cbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIHRoaXMuYWZ0ZXJUYWJDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIHByZXZpb3VzSW5kZXg6IHRoaXMuX3ByZXZpb3VzVGFiSW5kZXgsXG4gICAgICAgICAgbmV3SW5kZXg6IHRoaXMuX2N1cnJlbnRUYWJJbmRleFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuYW5pbWF0aW9uVHlwZSA9PT0gJ2ZhZGUnKSB7XG4gICAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gJ2ZhZGVPdXQnO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAnZmFkZUluJztcbiAgICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgICB0aGlzLmFmdGVyVGFiQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgIHByZXZpb3VzSW5kZXg6IHRoaXMuX3ByZXZpb3VzVGFiSW5kZXgsXG4gICAgICAgICAgICBuZXdJbmRleDogdGhpcy5fY3VycmVudFRhYkluZGV4XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGwoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuX3VwZGF0ZU5hdkJ0bnNTdGF0ZSgpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLl91cGRhdGVOYXZCdG5zU3RhdGUoKTtcbiAgfVxuXG4gIG5hdkJhY2t3YXJkKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLl9nZXRXaWR0aChjb250ZW50KSAtIHRoaXMuX2dldFZpc2libGVCdXR0b25XaWR0aHMoKTtcbiAgICBjb25zdCBwb3MgPSBjb250ZW50LnNjcm9sbExlZnQgLSB3aWR0aDtcbiAgICBjb250ZW50LnNjcm9sbExlZnQgPSBwb3MgPD0gMCA/IDAgOiBwb3M7XG4gIH1cblxuICBuYXZGb3J3YXJkKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLl9nZXRXaWR0aChjb250ZW50KSAtIHRoaXMuX2dldFZpc2libGVCdXR0b25XaWR0aHMoKTtcbiAgICBjb25zdCBwb3MgPSBjb250ZW50LnNjcm9sbExlZnQgKyB3aWR0aDtcbiAgICBjb25zdCBsYXN0UG9zID0gY29udGVudC5zY3JvbGxXaWR0aCAtIHdpZHRoO1xuICAgIGNvbnRlbnQuc2Nyb2xsTGVmdCA9IHBvcyA+PSBsYXN0UG9zID8gbGFzdFBvcyA6IHBvcztcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU5hdkJ0bnNTdGF0ZSgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy50YWJzTGlzdC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGggfSA9IGNvbnRlbnQ7XG5cbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuX2dldFdpZHRoKGNvbnRlbnQpO1xuXG4gICAgdGhpcy5iYWNrQnRuVmlzaWJsZSA9IHNjcm9sbExlZnQgPT09IDA7XG4gICAgdGhpcy5mb3J3YXJkQnRuVmlzaWJsZSA9IE1hdGguYWJzKHNjcm9sbExlZnQgLSBzY3JvbGxXaWR0aCArIHdpZHRoKSA8IDI7XG4gIH1cblxuICBwcml2YXRlIF9nZXRWaXNpYmxlQnV0dG9uV2lkdGhzKCkge1xuICAgIHJldHVybiBbdGhpcy5iYWNrQnRuPy5uYXRpdmVFbGVtZW50LCB0aGlzLmZvcndhcmRCdG4/Lm5hdGl2ZUVsZW1lbnRdLnJlZHVjZShcbiAgICAgIChhY2MsIGVsKSA9PiAoZWwgPyBhY2MgKyB0aGlzLl9nZXRXaWR0aChlbCkgOiBhY2MpLFxuICAgICAgMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRXaWR0aChlbDogYW55KTogbnVtYmVyIHtcbiAgICBsZXQgd2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcbiAgICBpZiAoIXdpZHRoKSByZXR1cm4gd2lkdGg7XG5cbiAgICBjb25zdCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWwpO1xuXG4gICAgd2lkdGggLT1cbiAgICAgIHBhcnNlRmxvYXQoc3R5bGUucGFkZGluZ0xlZnQpICtcbiAgICAgIHBhcnNlRmxvYXQoc3R5bGUucGFkZGluZ1JpZ2h0KSArXG4gICAgICBwYXJzZUZsb2F0KHN0eWxlLmJvcmRlckxlZnRXaWR0aCkgK1xuICAgICAgcGFyc2VGbG9hdChzdHlsZS5ib3JkZXJSaWdodFdpZHRoKTtcblxuICAgIHJldHVybiB3aWR0aDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNwcy10YWJzXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdjcHMtdGFicy1zdWJ0YWJzJzogaXNTdWJUYWJzLFxuICAgICdjcHMtdGFicy1jZW50ZXItYWxpZ25lZCc6IGFsaWdubWVudCA9PT0gJ2NlbnRlcicsXG4gICAgJ2Nwcy10YWJzLXJpZ2h0LWFsaWduZWQnOiBhbGlnbm1lbnQgPT09ICdyaWdodCcsXG4gICAgJ2Nwcy10YWJzLXN0cmV0Y2hlZCc6IHN0cmV0Y2hlZFxuICB9XCJcbiAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IHRhYnNCYWNrZ3JvdW5kIH1cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwibmF2LWJ0biBuYXYtYnRuLWJhY2tcIlxuICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBuYXZCdXR0b25zQmFja2dyb3VuZCB9XCJcbiAgICAqbmdJZj1cIiFiYWNrQnRuVmlzaWJsZVwiXG4gICAgI2JhY2tCdG5cbiAgICAoY2xpY2spPVwibmF2QmFja3dhcmQoKVwiPlxuICAgIDxjcHMtaWNvbiBpY29uPVwiY2hldnJvbi1kb3duXCIgY29sb3I9XCJ0ZXh0LWRhcmtcIj48L2Nwcy1pY29uPlxuICA8L2Rpdj5cbiAgPHVsICN0YWJzTGlzdCBjbGFzcz1cImNwcy10YWJzLWxpc3RcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IHRhYkluZGV4ID0gaW5kZXhcIj5cbiAgICAgIDxsaVxuICAgICAgICAqbmdJZj1cInRhYi50b29sdGlwVGV4dFwiXG4gICAgICAgIGNsYXNzPVwiY3BzLXRhYlwiXG4gICAgICAgIChjbGljayk9XCIhdGFiLmRpc2FibGVkID8gb25UYWJDbGljayh0YWJJbmRleCkgOiAnJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiB0YWIuYWN0aXZlLCBkaXNhYmxlZDogdGFiLmRpc2FibGVkIH1cIlxuICAgICAgICBbY3BzVG9vbHRpcF09XCJ0YWIudG9vbHRpcFRleHRcIlxuICAgICAgICB0b29sdGlwT3BlbkRlbGF5PVwiMTAwMFwiXG4gICAgICAgIHRvb2x0aXBDbG9zZURlbGF5PVwiMFwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgIFt0b29sdGlwTWF4V2lkdGhdPVwidGFiLnRvb2x0aXBNYXhXaWR0aFwiXG4gICAgICAgIFt0b29sdGlwUGVyc2lzdGVudF09XCJ0YWIudG9vbHRpcFBlcnNpc3RlbnRcIlxuICAgICAgICBbdG9vbHRpcENvbnRlbnRDbGFzc109XCJ0YWIudG9vbHRpcENvbnRlbnRDbGFzc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHRhYkhlYWRlclRlbXBsYXRlO1xuICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICB0YWI6IHRhYlxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICAqbmdJZj1cIiF0YWIudG9vbHRpcFRleHRcIlxuICAgICAgICBjbGFzcz1cImNwcy10YWJcIlxuICAgICAgICAoY2xpY2spPVwiIXRhYi5kaXNhYmxlZCA/IG9uVGFiQ2xpY2sodGFiSW5kZXgpIDogJydcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdGFiLmFjdGl2ZSwgZGlzYWJsZWQ6IHRhYi5kaXNhYmxlZCB9XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFiSGVhZGVyVGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgIHRhYjogdGFiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3VsPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJuYXYtYnRuIG5hdi1idG4tZm9yd2FyZFwiXG4gICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IG5hdkJ1dHRvbnNCYWNrZ3JvdW5kIH1cIlxuICAgICpuZ0lmPVwiIWZvcndhcmRCdG5WaXNpYmxlXCJcbiAgICAjZm9yd2FyZEJ0blxuICAgIChjbGljayk9XCJuYXZGb3J3YXJkKClcIj5cbiAgICA8Y3BzLWljb24gaWNvbj1cImNoZXZyb24tZG93blwiIGNvbG9yPVwidGV4dC1kYXJrXCI+PC9jcHMtaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJjcHMtdGFiLWNvbnRlbnRcIlxuICBbbmdDbGFzc109XCJ7ICdjcHMtdGFiLWNvbnRlbnQtc3VidGFicyc6IGlzU3ViVGFicyB9XCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XG4gICAgPGRpdlxuICAgICAgW0BzbGlkZUluT3V0XT1cImFuaW1hdGlvblN0YXRlXCJcbiAgICAgICpuZ0lmPVwidGFiLmFjdGl2ZSAmJiBhbmltYXRpb25UeXBlID09PSAnc2xpZGUnXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgW0BmYWRlSW5PdXRdPVwiYW5pbWF0aW9uU3RhdGVcIlxuICAgICAgKm5nSWY9XCJ0YWIuYWN0aXZlICYmIGFuaW1hdGlvblR5cGUgPT09ICdmYWRlJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RhYkhlYWRlclRlbXBsYXRlIGxldC10YWI9XCJ0YWJcIj5cbiAgPGNwcy1pY29uICpuZ0lmPVwidGFiLmljb25cIiBjbGFzcz1cImNwcy10YWItaWNvblwiIFtpY29uXT1cInRhYi5pY29uXCI+IDwvY3BzLWljb24+XG4gIDxhIGNsYXNzPVwiY3BzLXRhYi1saW5rXCI+e3sgdGFiLmxhYmVsIH19PC9hPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiLmJhZGdlVmFsdWVcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInRhYi5iYWRnZVRvb2x0aXBcIlxuICAgICAgY2xhc3M9XCJjcHMtdGFiLWJhZGdlXCJcbiAgICAgIFtjcHNUb29sdGlwXT1cInRhYi5iYWRnZVRvb2x0aXBcIj5cbiAgICAgIDxzcGFuPnt7IHRhYi5iYWRnZVZhbHVlIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhdGFiLmJhZGdlVG9vbHRpcFwiIGNsYXNzPVwiY3BzLXRhYi1iYWRnZVwiPlxuICAgICAgPHNwYW4+e3sgdGFiLmJhZGdlVmFsdWUgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
package/fesm2015/cps-ui-kit.mjs
CHANGED
|
@@ -10324,7 +10324,7 @@ class CpsTabGroupComponent {
|
|
|
10324
10324
|
}
|
|
10325
10325
|
}
|
|
10326
10326
|
ngAfterContentInit() {
|
|
10327
|
-
this.selectTab();
|
|
10327
|
+
this.selectTab(true);
|
|
10328
10328
|
}
|
|
10329
10329
|
ngAfterViewInit() {
|
|
10330
10330
|
this._updateNavBtnsState();
|
|
@@ -10345,7 +10345,7 @@ class CpsTabGroupComponent {
|
|
|
10345
10345
|
this.selectedIndex = index;
|
|
10346
10346
|
this.selectTab();
|
|
10347
10347
|
}
|
|
10348
|
-
selectTab() {
|
|
10348
|
+
selectTab(silent = false) {
|
|
10349
10349
|
const _tabs = this.tabs.toArray();
|
|
10350
10350
|
const currentSelectedTab = _tabs && _tabs[this._previousTabIndex];
|
|
10351
10351
|
currentSelectedTab && (currentSelectedTab.active = false);
|
|
@@ -10354,28 +10354,34 @@ class CpsTabGroupComponent {
|
|
|
10354
10354
|
if (this._currentTabIndex === this._previousTabIndex) {
|
|
10355
10355
|
return;
|
|
10356
10356
|
}
|
|
10357
|
-
|
|
10358
|
-
|
|
10359
|
-
|
|
10360
|
-
|
|
10357
|
+
if (!silent) {
|
|
10358
|
+
this.beforeTabChanged.emit({
|
|
10359
|
+
previousIndex: this._previousTabIndex,
|
|
10360
|
+
newIndex: this._currentTabIndex
|
|
10361
|
+
});
|
|
10362
|
+
}
|
|
10361
10363
|
if (this.animationType === 'slide') {
|
|
10362
10364
|
this.animationState =
|
|
10363
10365
|
this._currentTabIndex < this._previousTabIndex
|
|
10364
10366
|
? 'slideLeft'
|
|
10365
10367
|
: 'slideRight';
|
|
10366
|
-
|
|
10367
|
-
|
|
10368
|
-
|
|
10369
|
-
|
|
10368
|
+
if (!silent) {
|
|
10369
|
+
this.afterTabChanged.emit({
|
|
10370
|
+
previousIndex: this._previousTabIndex,
|
|
10371
|
+
newIndex: this._currentTabIndex
|
|
10372
|
+
});
|
|
10373
|
+
}
|
|
10370
10374
|
}
|
|
10371
10375
|
else if (this.animationType === 'fade') {
|
|
10372
10376
|
this.animationState = 'fadeOut';
|
|
10373
10377
|
setTimeout(() => {
|
|
10374
10378
|
this.animationState = 'fadeIn';
|
|
10375
|
-
|
|
10376
|
-
|
|
10377
|
-
|
|
10378
|
-
|
|
10379
|
+
if (!silent) {
|
|
10380
|
+
this.afterTabChanged.emit({
|
|
10381
|
+
previousIndex: this._previousTabIndex,
|
|
10382
|
+
newIndex: this._currentTabIndex
|
|
10383
|
+
});
|
|
10384
|
+
}
|
|
10379
10385
|
}, 100);
|
|
10380
10386
|
}
|
|
10381
10387
|
}
|