ctt-babylon 0.24.2 → 0.24.3
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/lib/components/core/babylon-top-slider/babylon-top-slider.component.mjs +5 -3
- package/esm2022/lib/directives/babylon-sliders/babylon-swiper-slider.directive.mjs +82 -59
- package/fesm2022/ctt-babylon.mjs +84 -59
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/components/core/babylon-top-slider/babylon-top-slider.component.d.ts +2 -1
- package/lib/directives/babylon-sliders/babylon-swiper-slider.directive.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { isPlatformBrowser } from '@angular/common';
|
|
2
2
|
import { Directive, PLATFORM_ID, inject, } from '@angular/core';
|
|
3
3
|
import { tap } from 'rxjs';
|
|
4
|
-
import Swiper, { Navigation } from 'swiper';
|
|
4
|
+
import Swiper, { Autoplay, Navigation } from 'swiper';
|
|
5
5
|
import { Utils } from '../../utils';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class BabylonSwiperSliderDirective {
|
|
8
8
|
constructor(el) {
|
|
9
9
|
this.el = el;
|
|
10
10
|
this.platform = inject(PLATFORM_ID);
|
|
11
|
-
Swiper.use([Navigation]);
|
|
11
|
+
Swiper.use([Navigation, Autoplay]);
|
|
12
12
|
}
|
|
13
13
|
ngAfterViewInit() {
|
|
14
14
|
if (!isPlatformBrowser(this.platform))
|
|
@@ -22,80 +22,103 @@ export class BabylonSwiperSliderDirective {
|
|
|
22
22
|
}
|
|
23
23
|
ngOnDestroy() {
|
|
24
24
|
this.observer?.disconnect();
|
|
25
|
+
this.destroySwiper();
|
|
25
26
|
}
|
|
26
27
|
initSwiperSlider() {
|
|
27
28
|
const parallaxSliderSelector = '.cs_parallax_slider';
|
|
28
29
|
const interleaveOffset = 0.5;
|
|
29
30
|
const parallaxSliderElement = this.el.nativeElement.querySelector(parallaxSliderSelector);
|
|
30
|
-
if (parallaxSliderElement) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
if (!parallaxSliderElement) {
|
|
32
|
+
this.destroySwiper();
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const slides = parallaxSliderElement.querySelectorAll('.swiper-slide');
|
|
36
|
+
const slideCount = slides.length;
|
|
37
|
+
if (!slideCount) {
|
|
38
|
+
this.destroySwiper();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const autoplayDelayAttr = parallaxSliderElement.getAttribute('data-autoplay-delay');
|
|
42
|
+
const parsedAutoplayDelay = Number(autoplayDelayAttr);
|
|
43
|
+
const autoplayDelay = Number.isFinite(parsedAutoplayDelay) && parsedAutoplayDelay > 0
|
|
44
|
+
? parsedAutoplayDelay
|
|
45
|
+
: 3000;
|
|
46
|
+
this.destroySwiper();
|
|
47
|
+
const mainSliderOptions = {
|
|
48
|
+
modules: [Navigation, Autoplay],
|
|
49
|
+
loop: false,
|
|
50
|
+
speed: 1000,
|
|
51
|
+
autoplay: slideCount > 1
|
|
52
|
+
? {
|
|
53
|
+
delay: autoplayDelay,
|
|
54
|
+
disableOnInteraction: false,
|
|
55
|
+
}
|
|
56
|
+
: false,
|
|
57
|
+
loopAdditionalSlides: 10,
|
|
58
|
+
grabCursor: slideCount > 1,
|
|
59
|
+
watchSlidesProgress: true,
|
|
60
|
+
navigation: {
|
|
61
|
+
nextEl: this.el.nativeElement.querySelector('.cs_swiper_button_next') ?? undefined,
|
|
62
|
+
prevEl: this.el.nativeElement.querySelector('.cs_swiper_button_prev') ?? undefined,
|
|
63
|
+
},
|
|
64
|
+
pagination: false,
|
|
65
|
+
on: {
|
|
66
|
+
init: (swp) => {
|
|
67
|
+
parallaxSliderElement.classList.remove('loading');
|
|
68
|
+
if (slideCount > 1) {
|
|
69
|
+
setTimeout(() => swp?.autoplay?.start(), 0);
|
|
70
|
+
}
|
|
43
71
|
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
swp?.autoplay?.stop();
|
|
48
|
-
},
|
|
49
|
-
imagesReady: (swp) => {
|
|
50
|
-
parallaxSliderElement.classList.remove('loading');
|
|
51
|
-
swp?.autoplay?.start();
|
|
52
|
-
},
|
|
53
|
-
progress: (swp) => {
|
|
54
|
-
swp.slides.forEach((slide) => {
|
|
55
|
-
const slideProgress = slide.progress || 0;
|
|
56
|
-
const innerOffset = swp.width * interleaveOffset;
|
|
57
|
-
const innerTranslate = slideProgress * innerOffset;
|
|
58
|
-
const parallaxBg = slide.querySelector('.cs_swiper_parallax_bg');
|
|
59
|
-
if (parallaxBg) {
|
|
60
|
-
parallaxBg.style.transform = `translateX(${innerTranslate}px)`;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
},
|
|
64
|
-
touchStart: function () {
|
|
65
|
-
this.slides.forEach((slide) => {
|
|
66
|
-
slide.style.transition = '';
|
|
67
|
-
});
|
|
68
|
-
},
|
|
69
|
-
setTransition: (swp, transition) => {
|
|
70
|
-
swp.slides.forEach((slide) => {
|
|
71
|
-
slide.style.transition =
|
|
72
|
-
`${transition}ms`;
|
|
73
|
-
const parallaxBg = slide.querySelector('.cs_swiper_parallax_bg');
|
|
74
|
-
if (parallaxBg) {
|
|
75
|
-
parallaxBg.style.transition = `${transition}ms`;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
},
|
|
72
|
+
imagesReady: (swp) => {
|
|
73
|
+
parallaxSliderElement.classList.remove('loading');
|
|
74
|
+
swp?.autoplay?.start();
|
|
79
75
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
76
|
+
progress: (swp) => {
|
|
77
|
+
swp.slides.forEach((slide) => {
|
|
78
|
+
const slideProgress = slide.progress || 0;
|
|
79
|
+
const innerOffset = swp.width * interleaveOffset;
|
|
80
|
+
const innerTranslate = slideProgress * innerOffset;
|
|
81
|
+
const parallaxBg = slide.querySelector('.cs_swiper_parallax_bg');
|
|
82
|
+
if (parallaxBg) {
|
|
83
|
+
parallaxBg.style.transform = `translateX(${innerTranslate}px)`;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
touchStart: function () {
|
|
88
|
+
this.slides.forEach((slide) => {
|
|
89
|
+
slide.style.transition = '';
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
setTransition: (swp, transition) => {
|
|
93
|
+
swp.slides.forEach((slide) => {
|
|
94
|
+
slide.style.transition =
|
|
95
|
+
`${transition}ms`;
|
|
96
|
+
const parallaxBg = slide.querySelector('.cs_swiper_parallax_bg');
|
|
97
|
+
if (parallaxBg) {
|
|
98
|
+
parallaxBg.style.transition = `${transition}ms`;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
this.swiper = new Swiper(parallaxSliderElement, mainSliderOptions);
|
|
83
105
|
}
|
|
84
106
|
observeSlides() {
|
|
85
107
|
if (!isPlatformBrowser(this.platform))
|
|
86
108
|
return;
|
|
87
|
-
const wrapper = this.el.nativeElement.querySelector('.swiper-wrapper');
|
|
88
|
-
if (!wrapper) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
109
|
this.observer = new MutationObserver(() => {
|
|
92
110
|
// Destruye e inicializa Swiper de nuevo
|
|
93
111
|
this.initSwiperSlider();
|
|
94
112
|
});
|
|
95
|
-
this.observer.observe(this.el.nativeElement
|
|
113
|
+
this.observer.observe(this.el.nativeElement, {
|
|
96
114
|
childList: true,
|
|
115
|
+
subtree: true,
|
|
97
116
|
});
|
|
98
117
|
}
|
|
118
|
+
destroySwiper() {
|
|
119
|
+
this.swiper?.destroy(true, true);
|
|
120
|
+
this.swiper = undefined;
|
|
121
|
+
}
|
|
99
122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonSwiperSliderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
100
123
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BabylonSwiperSliderDirective, isStandalone: true, selector: "[babylonSwiperSlider]", ngImport: i0 }); }
|
|
101
124
|
}
|
|
@@ -106,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
106
129
|
standalone: true,
|
|
107
130
|
}]
|
|
108
131
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1zd2lwZXItc2xpZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9kaXJlY3RpdmVzL2JhYnlsb24tc2xpZGVycy9iYWJ5bG9uLXN3aXBlci1zbGlkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBR1QsV0FBVyxFQUNYLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFpQixNQUFNLFFBQVEsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU1wQyxNQUFNLE9BQU8sNEJBQTRCO0lBSXJDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBSGpCLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFJNUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU87UUFDOUMsS0FBSyxDQUFDLFVBQVUsQ0FBQywwQ0FBMEMsQ0FBQzthQUN2RCxJQUFJLENBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxD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LENBQUM7b0JBQ1AsQ0FBQztpQkFDSjthQUNKLENBQUM7WUFFRixJQUFJLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU87UUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsd0NBQXdDO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ2pCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUN0RDtZQUNJLFNBQVMsRUFBRSxJQUFJO1NBQ2xCLENBQ0osQ0FBQztJQUNOLENBQUM7K0dBOUdRLDRCQUE0QjttR0FBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgUExBVEZPUk1fSUQsXG4gICAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IFN3aXBlciwgeyBOYXZpZ2F0aW9uLCBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYWJ5bG9uU3dpcGVyU2xpZGVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvblN3aXBlclNsaWRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG4gICAgcHJpdmF0ZSBvYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIFN3aXBlci51c2UoW05hdmlnYXRpb25dKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybSkpIHJldHVybjtcbiAgICAgICAgVXRpbHMubG9hZFN0eWxlJCgnYXNzZXRzL2JhYnlsb24vY3NzL3N3aXBlci1idW5kbGUubWluLmNzcycpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRTd2lwZXJTbGlkZXIoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm9ic2VydmVTbGlkZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGluaXRTd2lwZXJTbGlkZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhcmFsbGF4U2xpZGVyU2VsZWN0b3IgPSAnLmNzX3BhcmFsbGF4X3NsaWRlcic7XG4gICAgICAgIGNvbnN0IGludGVybGVhdmVPZmZzZXQgPSAwLjU7XG5cbiAgICAgICAgY29uc3QgcGFyYWxsYXhTbGlkZXJFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICBwYXJhbGxheFNsaWRlclNlbGVjdG9yXG4gICAgICAgICk7XG4gICAgICAgIGlmIChwYXJhbGxheFNsaWRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNsaWRlcyA9XG4gICAgICAgICAgICAgICAgcGFyYWxsYXhTbGlkZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zd2lwZXItc2xpZGUnKTtcbiAgICAgICAgICAgIGNvbnN0IHNsaWRlQ291bnQgPSBzbGlkZXMubGVuZ3RoO1xuXG4gICAgICAgICAgICBjb25zdCBtYWluU2xpZGVyT3B0aW9uczogU3dpcGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBsb29wOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzcGVlZDogMTAwMCxcbiAgICAgICAgICAgICAgICBhdXRvcGxheTogc2xpZGVDb3VudCA+IDEgPyB7IGRlbGF5OiAzMDAwIH0gOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsb29wQWRkaXRpb25hbFNsaWRlczogMTAsXG4gICAgICAgICAgICAgICAgZ3JhYkN1cnNvcjogc2xpZGVDb3VudCA+IDEsXG4gICAgICAgICAgICAgICAgd2F0Y2hTbGlkZXNQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIG5leHRFbDogJy5jc19zd2lwZXJfYnV0dG9uX25leHQnLFxuICAgICAgICAgICAgICAgICAgICBwcmV2RWw6ICcuY3Nfc3dpcGVyX2J1dHRvbl9wcmV2JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGluaXQ6IChzd3A6IFN3aXBlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dwPy5hdXRvcGxheT8uc3RvcCgpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpbWFnZXNSZWFkeTogKHN3cDogU3dpcGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbGxheFNsaWRlckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbG9hZGluZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dwPy5hdXRvcGxheT8uc3RhcnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3M6IChzd3A6IFN3aXBlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dwLnNsaWRlcy5mb3JFYWNoKChzbGlkZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsaWRlUHJvZ3Jlc3MgPSAoc2xpZGUgYXMgYW55KS5wcm9ncmVzcyB8fCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlubmVyT2Zmc2V0ID0gc3dwLndpZHRoICogaW50ZXJsZWF2ZU9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbm5lclRyYW5zbGF0ZSA9IHNsaWRlUHJvZ3Jlc3MgKiBpbm5lck9mZnNldDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFsbGF4QmcgPSBzbGlkZS5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy5jc19zd2lwZXJfcGFyYWxsYXhfYmcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyYWxsYXhCZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbGxheEJnLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVYKCR7aW5uZXJUcmFuc2xhdGV9cHgpYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdG91Y2hTdGFydDogZnVuY3Rpb24gKHRoaXM6IFN3aXBlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXMuZm9yRWFjaCgoc2xpZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2xpZGUgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zaXRpb24gPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzZXRUcmFuc2l0aW9uOiAoc3dwOiBTd2lwZXIsIHRyYW5zaXRpb246IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dwLnNsaWRlcy5mb3JFYWNoKChzbGlkZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzbGlkZSBhcyBIVE1MRWxlbWVudCkuc3R5bGUudHJhbnNpdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3RyYW5zaXRpb259bXNgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFsbGF4QmcgPSBzbGlkZS5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy5jc19zd2lwZXJfcGFyYWxsYXhfYmcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyYWxsYXhCZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbGxheEJnLnN0eWxlLnRyYW5zaXRpb24gPSBgJHt0cmFuc2l0aW9ufW1zYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgbmV3IFN3aXBlcihwYXJhbGxheFNsaWRlclNlbGVjdG9yLCBtYWluU2xpZGVyT3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvYnNlcnZlU2xpZGVzKCkge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm0pKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnN3aXBlci13cmFwcGVyJyk7XG4gICAgICAgIGlmICghd3JhcHBlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICAvLyBEZXN0cnV5ZSBlIGluaWNpYWxpemEgU3dpcGVyIGRlIG51ZXZvXG4gICAgICAgICAgICB0aGlzLmluaXRTd2lwZXJTbGlkZXIoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyLXdyYXBwZXInKSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1zd2lwZXItc2xpZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9kaXJlY3RpdmVzL2JhYnlsb24tc2xpZGVycy9iYWJ5bG9uLXN3aXBlci1zbGlkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBR1QsV0FBVyxFQUNYLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBaUIsTUFBTSxRQUFRLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFNcEMsTUFBTSxPQUFPLDRCQUE0QjtJQUtyQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUpqQixhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSzVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQUUsT0FBTztRQUM5QyxLQUFLLENBQUMsVUFBVSxDQUFDLDBDQUEwQyxDQUFDO2FBQ3ZELElBQUksQ0FDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJ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Q0FBQyxRQUFRLENBQUM7WUFBRSxPQUFPO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsd0NBQXdDO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7WUFDekMsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDNUIsQ0FBQzsrR0FqSlEsNEJBQTRCO21HQUE1Qiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbiAgICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgU3dpcGVyLCB7IEF1dG9wbGF5LCBOYXZpZ2F0aW9uLCBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYWJ5bG9uU3dpcGVyU2xpZGVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvblN3aXBlclNsaWRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG4gICAgcHJpdmF0ZSBvYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcHJpdmF0ZSBzd2lwZXI/OiBTd2lwZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIFN3aXBlci51c2UoW05hdmlnYXRpb24sIEF1dG9wbGF5XSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm0pKSByZXR1cm47XG4gICAgICAgIFV0aWxzLmxvYWRTdHlsZSQoJ2Fzc2V0cy9iYWJ5bG9uL2Nzcy9zd2lwZXItYnVuZGxlLm1pbi5jc3MnKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0U3dpcGVyU2xpZGVyKCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlU2xpZGVzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95U3dpcGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdFN3aXBlclNsaWRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyYWxsYXhTbGlkZXJTZWxlY3RvciA9ICcuY3NfcGFyYWxsYXhfc2xpZGVyJztcbiAgICAgICAgY29uc3QgaW50ZXJsZWF2ZU9mZnNldCA9IDAuNTtcblxuICAgICAgICBjb25zdCBwYXJhbGxheFNsaWRlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihwYXJhbGxheFNsaWRlclNlbGVjdG9yKTtcbiAgICAgICAgaWYgKCFwYXJhbGxheFNsaWRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVN3aXBlcigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2xpZGVzID0gcGFyYWxsYXhTbGlkZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICAgJy5zd2lwZXItc2xpZGUnXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHNsaWRlQ291bnQgPSBzbGlkZXMubGVuZ3RoO1xuICAgICAgICBpZiAoIXNsaWRlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVN3aXBlcigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXV0b3BsYXlEZWxheUF0dHIgPSBwYXJhbGxheFNsaWRlckVsZW1lbnQuZ2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgJ2RhdGEtYXV0b3BsYXktZGVsYXknXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBhcnNlZEF1dG9wbGF5RGVsYXkgPSBOdW1iZXIoYXV0b3BsYXlEZWxheUF0dHIpO1xuICAgICAgICBjb25zdCBhdXRvcGxheURlbGF5ID1cbiAgICAgICAgICAgIE51bWJlci5pc0Zpbml0ZShwYXJzZWRBdXRvcGxheURlbGF5KSAmJiBwYXJzZWRBdXRvcGxheURlbGF5ID4gMFxuICAgICAgICAgICAgICAgID8gcGFyc2VkQXV0b3BsYXlEZWxheVxuICAgICAgICAgICAgICAgIDogMzAwMDtcblxuICAgICAgICB0aGlzLmRlc3Ryb3lTd2lwZXIoKTtcblxuICAgICAgICBjb25zdCBtYWluU2xpZGVyT3B0aW9uczogU3dpcGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG1vZHVsZXM6IFtOYXZpZ2F0aW9uLCBBdXRvcGxheV0sXG4gICAgICAgICAgICBsb29wOiBmYWxzZSxcbiAgICAgICAgICAgIHNwZWVkOiAxMDAwLFxuICAgICAgICAgICAgYXV0b3BsYXk6XG4gICAgICAgICAgICAgICAgc2xpZGVDb3VudCA+IDFcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiBhdXRvcGxheURlbGF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlT25JbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IGZhbHNlLFxuICAgICAgICAgICAgbG9vcEFkZGl0aW9uYWxTbGlkZXM6IDEwLFxuICAgICAgICAgICAgZ3JhYkN1cnNvcjogc2xpZGVDb3VudCA+IDEsXG4gICAgICAgICAgICB3YXRjaFNsaWRlc1Byb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgbmF2aWdhdGlvbjoge1xuICAgICAgICAgICAgICAgIG5leHRFbDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnLmNzX3N3aXBlcl9idXR0b25fbmV4dCdcbiAgICAgICAgICAgICAgICAgICAgKSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcHJldkVsOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICcuY3Nfc3dpcGVyX2J1dHRvbl9wcmV2J1xuICAgICAgICAgICAgICAgICAgICApID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgaW5pdDogKHN3cDogU3dpcGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFsbGF4U2xpZGVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdsb2FkaW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzbGlkZUNvdW50ID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzd3A/LmF1dG9wbGF5Py5zdGFydCgpLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaW1hZ2VzUmVhZHk6IChzd3A6IFN3aXBlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbGxheFNsaWRlckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbG9hZGluZycpO1xuICAgICAgICAgICAgICAgICAgICBzd3A/LmF1dG9wbGF5Py5zdGFydCgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3M6IChzd3A6IFN3aXBlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzd3Auc2xpZGVzLmZvckVhY2goKHNsaWRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzbGlkZVByb2dyZXNzID0gKHNsaWRlIGFzIGFueSkucHJvZ3Jlc3MgfHwgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlubmVyT2Zmc2V0ID0gc3dwLndpZHRoICogaW50ZXJsZWF2ZU9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlubmVyVHJhbnNsYXRlID0gc2xpZGVQcm9ncmVzcyAqIGlubmVyT2Zmc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbGxheEJnID0gc2xpZGUucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJy5jc19zd2lwZXJfcGFyYWxsYXhfYmcnXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFsbGF4QmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbGxheEJnLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVYKCR7aW5uZXJUcmFuc2xhdGV9cHgpYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0b3VjaFN0YXJ0OiBmdW5jdGlvbiAodGhpczogU3dpcGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVzLmZvckVhY2goKHNsaWRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoc2xpZGUgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zaXRpb24gPSAnJztcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZXRUcmFuc2l0aW9uOiAoc3dwOiBTd2lwZXIsIHRyYW5zaXRpb246IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzd3Auc2xpZGVzLmZvckVhY2goKHNsaWRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoc2xpZGUgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zaXRpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3RyYW5zaXRpb259bXNgO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYWxsYXhCZyA9IHNsaWRlLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuY3Nfc3dpcGVyX3BhcmFsbGF4X2JnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbGxheEJnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsYXhCZy5zdHlsZS50cmFuc2l0aW9uID0gYCR7dHJhbnNpdGlvbn1tc2A7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc3dpcGVyID0gbmV3IFN3aXBlcihwYXJhbGxheFNsaWRlckVsZW1lbnQsIG1haW5TbGlkZXJPcHRpb25zKTtcbiAgICB9XG5cbiAgICBvYnNlcnZlU2xpZGVzKCkge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm0pKSByZXR1cm47XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICAvLyBEZXN0cnV5ZSBlIGluaWNpYWxpemEgU3dpcGVyIGRlIG51ZXZvXG4gICAgICAgICAgICB0aGlzLmluaXRTd2lwZXJTbGlkZXIoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveVN3aXBlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zd2lwZXI/LmRlc3Ryb3kodHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuc3dpcGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiJdfQ==
|