ngx-edge-slider 2.0.1 → 2.0.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/component/simple-slider.component.mjs +55 -14
- package/esm2022/lib/engine/slider-engine.service.mjs +10 -7
- package/esm2022/lib/models/slider-config.model.mjs +8 -1
- package/esm2022/lib/ngx-edge-slider.module.mjs +2 -2
- package/esm2022/lib/plugins/autoplay/autoplay.plugin.mjs +47 -0
- package/esm2022/lib/plugins/draggable/draggable.plugin.mjs +47 -22
- package/esm2022/lib/plugins/pagination/pagination.plugin.mjs +1 -1
- package/esm2022/public-api.mjs +10 -6
- package/fesm2022/ngx-edge-slider.mjs +115 -43
- package/fesm2022/ngx-edge-slider.mjs.map +1 -1
- package/lib/component/simple-slider.component.d.ts +13 -2
- package/lib/engine/slider-engine.service.d.ts +2 -1
- package/lib/plugins/autoplay/autoplay.plugin.d.ts +18 -0
- package/lib/plugins/draggable/draggable.plugin.d.ts +6 -3
- package/lib/plugins/pagination/pagination.plugin.d.ts +1 -2
- package/package.json +1 -1
- package/public-api.d.ts +9 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ViewChild, } from "@angular/core";
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ViewChild, ViewEncapsulation, } from "@angular/core";
|
|
2
2
|
import { Subject, takeUntil } from "rxjs";
|
|
3
3
|
import { SliderEngine } from "../engine/slider-engine.service";
|
|
4
4
|
import { SliderStore } from "../store/slider-store.service";
|
|
5
|
-
import { SliderAutoplayPlugin } from "../plugins/autoplay.plugin";
|
|
5
|
+
import { SliderAutoplayPlugin } from "../plugins/autoplay/autoplay.plugin";
|
|
6
6
|
import { SliderDraggablePlugin } from "../plugins/draggable/draggable.plugin";
|
|
7
7
|
import { SliderNavigationPlugin } from "../plugins/navigation/navigation.plugin";
|
|
8
8
|
import { SliderPaginationPlugin } from "../plugins/pagination/pagination.plugin";
|
|
@@ -14,7 +14,7 @@ import * as i2 from "../store/slider-store.service";
|
|
|
14
14
|
import * as i3 from "../plugins/draggable/draggable.plugin";
|
|
15
15
|
import * as i4 from "../plugins/pagination/pagination.plugin";
|
|
16
16
|
import * as i5 from "../plugins/navigation/navigation.plugin";
|
|
17
|
-
import * as i6 from "../plugins/autoplay.plugin";
|
|
17
|
+
import * as i6 from "../plugins/autoplay/autoplay.plugin";
|
|
18
18
|
import * as i7 from "../plugins/thumbs/thumbs-scroll.plugin";
|
|
19
19
|
import * as i8 from "@angular/common";
|
|
20
20
|
export class SimpleSliderComponent {
|
|
@@ -56,7 +56,7 @@ export class SimpleSliderComponent {
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
this.lastSlidesRef = this.config?.slides ?? null;
|
|
59
|
-
this.
|
|
59
|
+
this.resolvePlugins(this.config);
|
|
60
60
|
}
|
|
61
61
|
ngAfterViewInit() {
|
|
62
62
|
if (this.sliderHost?.nativeElement) {
|
|
@@ -94,8 +94,47 @@ export class SimpleSliderComponent {
|
|
|
94
94
|
selectSlide(index) {
|
|
95
95
|
this.engine.selectSlide(index);
|
|
96
96
|
}
|
|
97
|
+
onRecalculate() {
|
|
98
|
+
this.engine.recalculate();
|
|
99
|
+
}
|
|
100
|
+
// Navigation
|
|
101
|
+
/** Expose navigation observables safely */
|
|
102
|
+
get canPrev$() {
|
|
103
|
+
if (!this.navigation) {
|
|
104
|
+
console.warn("Navigation plugin is not enabled.");
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
return this.navigation.canPrev$;
|
|
108
|
+
}
|
|
109
|
+
get canNext$() {
|
|
110
|
+
if (!this.navigation) {
|
|
111
|
+
console.warn("Navigation plugin is not enabled.");
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
return this.navigation.canNext$;
|
|
115
|
+
}
|
|
116
|
+
/** Expose next/prev methods */
|
|
117
|
+
next() {
|
|
118
|
+
this.navigation?.next();
|
|
119
|
+
}
|
|
120
|
+
prev() {
|
|
121
|
+
this.navigation?.prev();
|
|
122
|
+
}
|
|
123
|
+
/** Expose pagination observable */
|
|
124
|
+
get pager$() {
|
|
125
|
+
if (!this.pagination) {
|
|
126
|
+
console.warn("Pagination plugin is not enabled for this slider.");
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
return this.pagination.pager$;
|
|
130
|
+
}
|
|
131
|
+
/** Expose a goToSlide method */
|
|
132
|
+
goToSlide(index) {
|
|
133
|
+
this.pagination.goToSlide(index);
|
|
134
|
+
}
|
|
97
135
|
// Handle Pointers
|
|
98
136
|
onPointerDown(event) {
|
|
137
|
+
console.log("down");
|
|
99
138
|
this.dragStartX = event.clientX;
|
|
100
139
|
this.dragStartY = event.clientY;
|
|
101
140
|
this.isDraggingPointer = false;
|
|
@@ -103,6 +142,7 @@ export class SimpleSliderComponent {
|
|
|
103
142
|
this.engine.handleDragStart(event);
|
|
104
143
|
}
|
|
105
144
|
onPointerMove(event) {
|
|
145
|
+
console.log("move");
|
|
106
146
|
const dx = Math.abs(event.clientX - this.dragStartX);
|
|
107
147
|
const dy = Math.abs(event.clientY - this.dragStartY);
|
|
108
148
|
if (!this.isDraggingPointer && (dx > 5 || dy > 5)) {
|
|
@@ -117,6 +157,7 @@ export class SimpleSliderComponent {
|
|
|
117
157
|
onPointerUp(event) {
|
|
118
158
|
if (!event)
|
|
119
159
|
return;
|
|
160
|
+
console.log("up");
|
|
120
161
|
if (!this.isDraggingPointer) {
|
|
121
162
|
const target = event.target;
|
|
122
163
|
// Only select the slide if click is not on an interactive child
|
|
@@ -138,18 +179,18 @@ export class SimpleSliderComponent {
|
|
|
138
179
|
}
|
|
139
180
|
resolvePlugins(config) {
|
|
140
181
|
const runtimePlugins = [];
|
|
141
|
-
const cfg = config.plugins;
|
|
142
|
-
if (cfg
|
|
182
|
+
const cfg = config.plugins ?? {}; // <-- safe fallback
|
|
183
|
+
if (cfg.draggable)
|
|
143
184
|
runtimePlugins.push(this.draggable);
|
|
144
|
-
if (cfg
|
|
185
|
+
if (cfg.pagination)
|
|
145
186
|
runtimePlugins.push(this.pagination);
|
|
146
|
-
if (cfg
|
|
187
|
+
if (cfg.navigation)
|
|
147
188
|
runtimePlugins.push(this.navigation);
|
|
148
|
-
if (cfg
|
|
189
|
+
if (cfg.autoplay) {
|
|
149
190
|
this.autoplay.setConfig(cfg.autoplay);
|
|
150
191
|
runtimePlugins.push(this.autoplay);
|
|
151
192
|
}
|
|
152
|
-
if (cfg
|
|
193
|
+
if (cfg.thumbs)
|
|
153
194
|
runtimePlugins.push(this.thumbs);
|
|
154
195
|
this.engine.init({ ...config, plugins: undefined }, runtimePlugins);
|
|
155
196
|
}
|
|
@@ -162,11 +203,11 @@ export class SimpleSliderComponent {
|
|
|
162
203
|
SliderNavigationPlugin,
|
|
163
204
|
SliderAutoplayPlugin,
|
|
164
205
|
SliderThumbsScrollPlugin,
|
|
165
|
-
], viewQueries: [{ propertyName: "sliderHost", first: true, predicate: ["sliderHost"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\r\n <div\r\n class=\"slider\"\r\n #sliderHost\r\n [class.slider-vertical]=\"state.vertical\"\r\n [class.slider-draggable]=\"state.isDragging\"\r\n [class.slider--main]=\"!config.isThumbs\"\r\n [class.slider--thumbs]=\"config.isThumbs\"\r\n *ngIf=\"state.visibleSlides?.length > 0 && state.isVisible\"\r\n (pointerdown)=\"onPointerDown($event)\"\r\n (pointermove)=\"onPointerMove($event)\"\r\n (pointerup)=\"onPointerUp($event)\"\r\n (pointercancel)=\"onPointerUp($event)\">\r\n <div\r\n class=\"slider__wrapper\"\r\n [ngStyle]=\"{\r\n transform: state.translate,\r\n transition:
|
|
206
|
+
], viewQueries: [{ propertyName: "sliderHost", first: true, predicate: ["sliderHost"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\r\n <div\r\n class=\"slider\"\r\n #sliderHost\r\n [class.slider-vertical]=\"state.vertical\"\r\n [class.slider-draggable]=\"state.isDragging\"\r\n [class.slider--main]=\"!config.isThumbs\"\r\n [class.slider--thumbs]=\"config.isThumbs\"\r\n *ngIf=\"state.visibleSlides?.length > 0 && state.isVisible\"\r\n (pointerdown)=\"onPointerDown($event)\"\r\n (pointermove)=\"onPointerMove($event)\"\r\n (pointerup)=\"onPointerUp($event)\"\r\n (pointercancel)=\"onPointerUp($event)\">\r\n <div\r\n class=\"slider__wrapper\"\r\n [ngStyle]=\"{\r\n transform: state.translate,\r\n transition: draggable.isDraggingPointer ? 'none' : 'transform 0.3s ease',\r\n display: 'flex',\r\n 'flex-direction': state.vertical ? 'column' : 'row',\r\n 'justify-content': state.visibleSlides?.length < state.slidesPerView ? 'center' : 'flex-start',\r\n gap: (state.slidesPerView > 1 ? state.gap || 0 : 0) + 'px',\r\n }\">\r\n <div\r\n *ngFor=\"let slide of state.visibleSlides; let i = index\"\r\n class=\"slide\"\r\n [attr.data-index]=\"i\"\r\n [class.slide--current]=\"state.selectedSlide === i\"\r\n [style.flex]=\"\r\n !config.isThumbs\r\n ? '0 0 calc(' +\r\n 100 / state.slidesPerView +\r\n '% - ' +\r\n ((state.gap || 0) * (state.slidesPerView - 1)) / state.slidesPerView +\r\n 'px)'\r\n : '0 0 ' + thumbSize + 'px'\r\n \"\r\n [style.width]=\"config.isThumbs ? thumbSize + 'px' : null\"\r\n [style.height]=\"config.isThumbs ? thumbSize + 'px' : null\"\r\n (click)=\"engine.selectSlide(i)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"slideTemplate ? slideTemplate : defaultSlideTemplate; context: { slide: slide, index: i }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [".slider-main-product{display:inline-flex;height:520px}.slider-main{width:100%;height:600px;justify-content:center;display:flex}@media (max-width: 577px){.slider-main{height:100%;display:block}}.slider--main{height:100%;overflow:hidden}.slider--main .slider__wrapper{display:flex;will-change:transform}.slider--main .slider__wrapper .slide{flex:0 0 100%}.slider--main .slider__wrapper .slide .slide-content,.slider--main .slider__wrapper .slide picture{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.slider--main .slider__wrapper .slide .slide-content .drag-handle,.slider--main .slider__wrapper .slide picture .drag-handle{width:100%;height:100%;cursor:grab;z-index:10;pointer-events:all}.slider--main .slider__wrapper .slide .slide-content img,.slider--main .slider__wrapper .slide picture img{max-width:100%;max-height:100%;object-fit:contain;display:block;transform-origin:center;transform:translateZ(0);pointer-events:none}.slider--thumbs{margin-top:24px;margin-bottom:36px;height:70px!important}.slider--thumbs .slider__wrapper{display:flex;gap:8px;will-change:transform;transform:translateZ(0)}.slider--thumbs .slide{flex:0 0 auto;pointer-events:auto}.slider--thumbs .slide .slide-content{width:54px;height:68px;display:flex;align-items:center;justify-content:center;border:1px solid #ebebeb;cursor:pointer}.slider--thumbs .slide .slide-content img{max-width:100%;max-height:100%;object-fit:contain;display:block;transform:scale(.9)}.slider--thumbs .slide .slide-content.slide--current{border-color:#212121}.slider{width:100%;height:100%;overflow:hidden;position:relative;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}.slider.slider-can-drag{cursor:grab}.slider.slider-is-dragging{cursor:grabbing}.slider.slider-dragged{box-shadow:0 0 10px #0000001a}.slider.slider-drag-prevent-click{pointer-events:none}.slider .slider__wrapper{display:flex;transition:transform .3s cubic-bezier(.25,.46,.45,.84);will-change:transform;transform:none;width:auto;height:100%}.slider .slide{display:flex;align-items:center;justify-content:center;height:100%;overflow:hidden;flex-shrink:0;position:relative;transition:transform .3s cubic-bezier(.25,.46,.45,.84)}@media (min-width: 1441px){.slider--thumbs .slide{flex:0 0 20%}}@media (max-width: 1024px){.slider--thumbs .slide{flex:0 0 33.333%}}@media (max-width: 1023px){.slider--thumbs .slide{flex:0 0 50%}}.slider-arrow-next,.slider-arrow-prev{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;background:#fffc no-repeat center center;cursor:pointer;z-index:10}.slider-arrow-next.next,.slider-arrow-prev.next{right:10px}.slider-arrow-next.prev,.slider-arrow-prev.prev{left:10px}.thumbs-wrapper{position:relative}.thumb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:48px;height:48px;background:#ffffffe6 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='4.51 0.01 10.99 19.97'%3E%3Cpath fill='%23000' d='m4.508 18.968 1.006 1.006 9.983-9.984L5.514.005 4.508 1.011l8.984 8.984-8.984 8.973Z'/%3E%3C/svg%3E\") no-repeat center center/11px 18px;font-size:36px;line-height:56px;opacity:0;pointer-events:none;transition:opacity .2s ease}.thumb-nav.activeArrow{opacity:1;pointer-events:all}.thumb-nav--left{left:-73px;transform:translateY(-50%) rotate(180deg)!important}.thumb-nav--right{right:-65px}.slider-pagination .thumb-dots-wrapper{display:flex;align-items:center;justify-content:center;gap:7px}.slider-pagination .thumb-dots-wrapper .thumb-dot{display:inline-block;width:4px;height:4px;margin:0 0 0 8px;border-radius:50%;background:#b3b3b3}.slider-pagination .thumb-dots-wrapper .thumb-dot.active,.slider-pagination .thumb-dots-wrapper .thumb-dot:hover{background:#212121;border:1px solid #212121}.slider-pagination .thumb-dots-wrapper .thumb-dot.hidden{opacity:0;pointer-events:none}.navigation-slider{position:relative}.navigation-slider app-simple-slider{pointer-events:auto;position:relative;z-index:1}.navigation-slider .nav-btn{pointer-events:auto;position:absolute;z-index:10;border:0;cursor:pointer;width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:transparent;box-shadow:unset;font-size:32px;line-height:1;transition:transform .15s ease,opacity .15s ease}.navigation-slider .nav-btn:hover{transform:translateY(-1px)}.navigation-slider .nav-btn.is-hidden{color:#a0a0a58d;pointer-events:none}.navigation-slider.nav--top-left .nav-btn--prev{top:12px;left:12px}.navigation-slider.nav--top-left .nav-btn--next{top:12px;left:56px}.navigation-slider.nav--center-sides .nav-btn--prev{top:50%;left:10px;transform:translateY(-50%)}.navigation-slider.nav--center-sides .nav-btn--next{top:50%;right:10px;transform:translateY(-50%)}.navigation-slider.nav--center-sides .nav-btn:hover{transform:translateY(-50%) translateY(-1px)}.navigation-slider.nav--top-right-compact .nav-btn--next{top:-50px;right:0}.navigation-slider.nav--top-right-compact .nav-btn--prev{top:-50px;right:60px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
166
207
|
}
|
|
167
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SimpleSliderComponent, decorators: [{
|
|
168
209
|
type: Component,
|
|
169
|
-
args: [{ selector: "app-simple-slider", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], providers: [
|
|
210
|
+
args: [{ selector: "app-simple-slider", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], providers: [
|
|
170
211
|
SliderEngine,
|
|
171
212
|
SliderStore,
|
|
172
213
|
SliderDraggablePlugin,
|
|
@@ -174,7 +215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
174
215
|
SliderNavigationPlugin,
|
|
175
216
|
SliderAutoplayPlugin,
|
|
176
217
|
SliderThumbsScrollPlugin,
|
|
177
|
-
], template: "<ng-container *ngIf=\"state$ | async as state\">\r\n <div\r\n class=\"slider\"\r\n #sliderHost\r\n [class.slider-vertical]=\"state.vertical\"\r\n [class.slider-draggable]=\"state.isDragging\"\r\n [class.slider--main]=\"!config.isThumbs\"\r\n [class.slider--thumbs]=\"config.isThumbs\"\r\n *ngIf=\"state.visibleSlides?.length > 0 && state.isVisible\"\r\n (pointerdown)=\"onPointerDown($event)\"\r\n (pointermove)=\"onPointerMove($event)\"\r\n (pointerup)=\"onPointerUp($event)\"\r\n (pointercancel)=\"onPointerUp($event)\">\r\n <div\r\n class=\"slider__wrapper\"\r\n [ngStyle]=\"{\r\n transform: state.translate,\r\n transition:
|
|
218
|
+
], template: "<ng-container *ngIf=\"state$ | async as state\">\r\n <div\r\n class=\"slider\"\r\n #sliderHost\r\n [class.slider-vertical]=\"state.vertical\"\r\n [class.slider-draggable]=\"state.isDragging\"\r\n [class.slider--main]=\"!config.isThumbs\"\r\n [class.slider--thumbs]=\"config.isThumbs\"\r\n *ngIf=\"state.visibleSlides?.length > 0 && state.isVisible\"\r\n (pointerdown)=\"onPointerDown($event)\"\r\n (pointermove)=\"onPointerMove($event)\"\r\n (pointerup)=\"onPointerUp($event)\"\r\n (pointercancel)=\"onPointerUp($event)\">\r\n <div\r\n class=\"slider__wrapper\"\r\n [ngStyle]=\"{\r\n transform: state.translate,\r\n transition: draggable.isDraggingPointer ? 'none' : 'transform 0.3s ease',\r\n display: 'flex',\r\n 'flex-direction': state.vertical ? 'column' : 'row',\r\n 'justify-content': state.visibleSlides?.length < state.slidesPerView ? 'center' : 'flex-start',\r\n gap: (state.slidesPerView > 1 ? state.gap || 0 : 0) + 'px',\r\n }\">\r\n <div\r\n *ngFor=\"let slide of state.visibleSlides; let i = index\"\r\n class=\"slide\"\r\n [attr.data-index]=\"i\"\r\n [class.slide--current]=\"state.selectedSlide === i\"\r\n [style.flex]=\"\r\n !config.isThumbs\r\n ? '0 0 calc(' +\r\n 100 / state.slidesPerView +\r\n '% - ' +\r\n ((state.gap || 0) * (state.slidesPerView - 1)) / state.slidesPerView +\r\n 'px)'\r\n : '0 0 ' + thumbSize + 'px'\r\n \"\r\n [style.width]=\"config.isThumbs ? thumbSize + 'px' : null\"\r\n [style.height]=\"config.isThumbs ? thumbSize + 'px' : null\"\r\n (click)=\"engine.selectSlide(i)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"slideTemplate ? slideTemplate : defaultSlideTemplate; context: { slide: slide, index: i }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [".slider-main-product{display:inline-flex;height:520px}.slider-main{width:100%;height:600px;justify-content:center;display:flex}@media (max-width: 577px){.slider-main{height:100%;display:block}}.slider--main{height:100%;overflow:hidden}.slider--main .slider__wrapper{display:flex;will-change:transform}.slider--main .slider__wrapper .slide{flex:0 0 100%}.slider--main .slider__wrapper .slide .slide-content,.slider--main .slider__wrapper .slide picture{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.slider--main .slider__wrapper .slide .slide-content .drag-handle,.slider--main .slider__wrapper .slide picture .drag-handle{width:100%;height:100%;cursor:grab;z-index:10;pointer-events:all}.slider--main .slider__wrapper .slide .slide-content img,.slider--main .slider__wrapper .slide picture img{max-width:100%;max-height:100%;object-fit:contain;display:block;transform-origin:center;transform:translateZ(0);pointer-events:none}.slider--thumbs{margin-top:24px;margin-bottom:36px;height:70px!important}.slider--thumbs .slider__wrapper{display:flex;gap:8px;will-change:transform;transform:translateZ(0)}.slider--thumbs .slide{flex:0 0 auto;pointer-events:auto}.slider--thumbs .slide .slide-content{width:54px;height:68px;display:flex;align-items:center;justify-content:center;border:1px solid #ebebeb;cursor:pointer}.slider--thumbs .slide .slide-content img{max-width:100%;max-height:100%;object-fit:contain;display:block;transform:scale(.9)}.slider--thumbs .slide .slide-content.slide--current{border-color:#212121}.slider{width:100%;height:100%;overflow:hidden;position:relative;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}.slider.slider-can-drag{cursor:grab}.slider.slider-is-dragging{cursor:grabbing}.slider.slider-dragged{box-shadow:0 0 10px #0000001a}.slider.slider-drag-prevent-click{pointer-events:none}.slider .slider__wrapper{display:flex;transition:transform .3s cubic-bezier(.25,.46,.45,.84);will-change:transform;transform:none;width:auto;height:100%}.slider .slide{display:flex;align-items:center;justify-content:center;height:100%;overflow:hidden;flex-shrink:0;position:relative;transition:transform .3s cubic-bezier(.25,.46,.45,.84)}@media (min-width: 1441px){.slider--thumbs .slide{flex:0 0 20%}}@media (max-width: 1024px){.slider--thumbs .slide{flex:0 0 33.333%}}@media (max-width: 1023px){.slider--thumbs .slide{flex:0 0 50%}}.slider-arrow-next,.slider-arrow-prev{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;background:#fffc no-repeat center center;cursor:pointer;z-index:10}.slider-arrow-next.next,.slider-arrow-prev.next{right:10px}.slider-arrow-next.prev,.slider-arrow-prev.prev{left:10px}.thumbs-wrapper{position:relative}.thumb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:48px;height:48px;background:#ffffffe6 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='4.51 0.01 10.99 19.97'%3E%3Cpath fill='%23000' d='m4.508 18.968 1.006 1.006 9.983-9.984L5.514.005 4.508 1.011l8.984 8.984-8.984 8.973Z'/%3E%3C/svg%3E\") no-repeat center center/11px 18px;font-size:36px;line-height:56px;opacity:0;pointer-events:none;transition:opacity .2s ease}.thumb-nav.activeArrow{opacity:1;pointer-events:all}.thumb-nav--left{left:-73px;transform:translateY(-50%) rotate(180deg)!important}.thumb-nav--right{right:-65px}.slider-pagination .thumb-dots-wrapper{display:flex;align-items:center;justify-content:center;gap:7px}.slider-pagination .thumb-dots-wrapper .thumb-dot{display:inline-block;width:4px;height:4px;margin:0 0 0 8px;border-radius:50%;background:#b3b3b3}.slider-pagination .thumb-dots-wrapper .thumb-dot.active,.slider-pagination .thumb-dots-wrapper .thumb-dot:hover{background:#212121;border:1px solid #212121}.slider-pagination .thumb-dots-wrapper .thumb-dot.hidden{opacity:0;pointer-events:none}.navigation-slider{position:relative}.navigation-slider app-simple-slider{pointer-events:auto;position:relative;z-index:1}.navigation-slider .nav-btn{pointer-events:auto;position:absolute;z-index:10;border:0;cursor:pointer;width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:transparent;box-shadow:unset;font-size:32px;line-height:1;transition:transform .15s ease,opacity .15s ease}.navigation-slider .nav-btn:hover{transform:translateY(-1px)}.navigation-slider .nav-btn.is-hidden{color:#a0a0a58d;pointer-events:none}.navigation-slider.nav--top-left .nav-btn--prev{top:12px;left:12px}.navigation-slider.nav--top-left .nav-btn--next{top:12px;left:56px}.navigation-slider.nav--center-sides .nav-btn--prev{top:50%;left:10px;transform:translateY(-50%)}.navigation-slider.nav--center-sides .nav-btn--next{top:50%;right:10px;transform:translateY(-50%)}.navigation-slider.nav--center-sides .nav-btn:hover{transform:translateY(-50%) translateY(-1px)}.navigation-slider.nav--top-right-compact .nav-btn--next{top:-50px;right:0}.navigation-slider.nav--top-right-compact .nav-btn--prev{top:-50px;right:60px}\n"] }]
|
|
178
219
|
}], ctorParameters: () => [{ type: i1.SliderEngine }, { type: i2.SliderStore }, { type: i3.SliderDraggablePlugin }, { type: i4.SliderPaginationPlugin }, { type: i5.SliderNavigationPlugin }, { type: i6.SliderAutoplayPlugin }, { type: i7.SliderThumbsScrollPlugin }], propDecorators: { config: [{
|
|
179
220
|
type: Input
|
|
180
221
|
}], slideTemplate: [{
|
|
@@ -189,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
189
230
|
type: ViewChild,
|
|
190
231
|
args: ["sliderHost", { static: false }]
|
|
191
232
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZWRnZS1zbGlkZXIvc3JjL2xpYi9jb21wb25lbnQvc2ltcGxlLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZWRnZS1zbGlkZXIvc3JjL2xpYi9jb21wb25lbnQvc2ltcGxlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUd2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7QUFtQi9DLE1BQU0sT0FBTyxxQkFBcUI7SUFrQnRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBdkJELE1BQU0sQ0FBZTtJQUNyQixhQUFhLENBQW9CO0lBQ2pDLGtCQUFrQixDQUFvQjtJQUN0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LElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxhQUNaO3dCQUNULFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHdCQUF3QjtxQkFDekI7bVNBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQVVxQyxVQUFVO3NCQUFyRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlkZXJWaWV3U3RhdGUgfSBmcm9tIFwiLi4vbW9kZWxzL3NsaWRlci1zdGF0ZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTbGlkZXJDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL3NsaWRlci1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgU2xpZGVyRW5naW5lIH0gZnJvbSBcIi4uL2VuZ2luZS9zbGlkZXItZW5naW5lLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpZGVyU3RvcmUgfSBmcm9tIFwiLi4vc3RvcmUvc2xpZGVyLXN0b3JlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpZGVyQXV0b3BsYXlQbHVnaW4gfSBmcm9tIFwiLi4vcGx1Z2lucy9hdXRvcGxheS5wbHVnaW5cIjtcclxuaW1wb3J0IHsgU2xpZGVyRHJhZ2dhYmxlUGx1Z2luIH0gZnJvbSBcIi4uL3BsdWdpbnMvZHJhZ2dhYmxlL2RyYWdnYWJsZS5wbHVnaW5cIjtcclxuaW1wb3J0IHsgU2xpZGVyTmF2aWdhdGlvblBsdWdpbiB9IGZyb20gXCIuLi9wbHVnaW5zL25hdmlnYXRpb24vbmF2aWdhdGlvbi5wbHVnaW5cIjtcclxuaW1wb3J0IHsgU2xpZGVyUGFnaW5hdGlvblBsdWdpbiB9IGZyb20gXCIuLi9wbHVnaW5zL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5wbHVnaW5cIjtcclxuaW1wb3J0IHsgU2xpZGVyVGh1bWJzU2Nyb2xsUGx1Z2luIH0gZnJvbSBcIi4uL3BsdWdpbnMvdGh1bWJzL3RodW1icy1zY3JvbGwucGx1Z2luXCI7XHJcbmltcG9ydCB7IFNsaWRlclBsdWdpbiB9IGZyb20gXCIuLi9wbHVnaW5zL3NsaWRlci1wbHVnaW5cIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXNpbXBsZS1zbGlkZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3NpbXBsZS1zbGlkZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3NpbXBsZS1zbGlkZXIuY29tcG9uZW50LnNjc3NcIixcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgU2xpZGVyRW5naW5lLFxyXG4gICAgU2xpZGVyU3RvcmUsXHJcbiAgICBTbGlkZXJEcmFnZ2FibGVQbHVnaW4sXHJcbiAgICBTbGlkZXJQYWdpbmF0aW9uUGx1Z2luLFxyXG4gICAgU2xpZGVyTmF2aWdhdGlvblBsdWdpbixcclxuICAgIFNsaWRlckF1dG9wbGF5UGx1Z2luLFxyXG4gICAgU2xpZGVyVGh1bWJzU2Nyb2xsUGx1Z2luLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBjb25maWc6IFNsaWRlckNvbmZpZztcclxuICBASW5wdXQoKSBzbGlkZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBuYXZpZ2F0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHBhZ2luYXRpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQE91dHB1dCgpIHNsaWRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIHByaXZhdGUgaXNEcmFnZ2luZ1BvaW50ZXIgPSBmYWxzZTtcclxuICBwcml2YXRlIGRyYWdTdGFydFggPSAwO1xyXG4gIHByaXZhdGUgZHJhZ1N0YXJ0WSA9IDA7XHJcbiAgcHJpdmF0ZSBsYXN0SW5kZXggPSAtMTtcclxuICBwcml2YXRlIGxhc3RTbGlkZXNSZWY6IGFueVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHN0YXRlJDogT2JzZXJ2YWJsZTxTbGlkZXJWaWV3U3RhdGU+O1xyXG4gIEBWaWV3Q2hpbGQoXCJzbGlkZXJIb3N0XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBzbGlkZXJIb3N0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbmdpbmU6IFNsaWRlckVuZ2luZSxcclxuICAgIHByaXZhdGUgc3RvcmU6IFNsaWRlclN0b3JlLFxyXG4gICAgcHJpdmF0ZSBkcmFnZ2FibGU6IFNsaWRlckRyYWdnYWJsZVBsdWdpbixcclxuICAgIHByaXZhdGUgcGFnaW5hdGlvbjogU2xpZGVyUGFnaW5hdGlvblBsdWdpbixcclxuICAgIHByaXZhdGUgbmF2aWdhdGlvbjogU2xpZGVyTmF2aWdhdGlvblBsdWdpbixcclxuICAgIHByaXZhdGUgYXV0b3BsYXk6IFNsaWRlckF1dG9wbGF5UGx1Z2luLFxyXG4gICAgcHJpdmF0ZSB0aHVtYnM6IFNsaWRlclRodW1ic1Njcm9sbFBsdWdpbixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdGF0ZSQgPSB0aGlzLnN0b3JlLnZpZXckO1xyXG5cclxuICAgIHRoaXMuc3RhdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XHJcbiAgICAgIGlmIChzdGF0ZS5jdXJyZW50U2xpZGUgIT09IHRoaXMubGFzdEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5sYXN0SW5kZXggPSBzdGF0ZS5jdXJyZW50U2xpZGU7XHJcbiAgICAgICAgdGhpcy5zbGlkZUNoYW5nZS5lbWl0KHN0YXRlLmN1cnJlbnRTbGlkZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYXN0U2xpZGVzUmVmID0gdGhpcy5jb25maWc/LnNsaWRlcyA/PyBudWxsO1xyXG4gICAgdGhpcy5lbmdpbmUuaW5pdCh7IC4uLnRoaXMuY29uZmlnLCBwbHVnaW5zOiB0aGlzLmNvbmZpZy5wbHVnaW5zIH0pO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zbGlkZXJIb3N0Py5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuZW5naW5lLmF0dGFjaENvbnRhaW5lcih0aGlzLnNsaWRlckhvc3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoIWNoYW5nZXNbXCJjb25maWdcIl0gfHwgIXRoaXMuY29uZmlnKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgbmV3U2xpZGVzUmVmID0gdGhpcy5jb25maWcuc2xpZGVzID8/IG51bGw7XHJcblxyXG4gICAgaWYgKG5ld1NsaWRlc1JlZiAhPT0gdGhpcy5sYXN0U2xpZGVzUmVmKSB7XHJcbiAgICAgIHRoaXMubGFzdFNsaWRlc1JlZiA9IG5ld1NsaWRlc1JlZjtcclxuICAgICAgdGhpcy5lbmdpbmUuZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLnJlc29sdmVQbHVnaW5zKHRoaXMuY29uZmlnKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3lTbGlkZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZW5naW5lLnNlbGVjdFNsaWRlKGluZGV4KTsgLy8gYWRkIHRoaXMgbGluZVxyXG4gICAgLy90aGlzLnNsaWRlQ2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVNsaWRlcigpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5lbmdpbmUuZGVzdHJveSgpO1xyXG4gIH0gLy8gZGVzdHJveXMgcGx1Z2lucyBhbmQgY2xlYXJzIHN0b3JlXHJcblxyXG4gIG9uTmV4dCgpIHtcclxuICAgIHRoaXMuZW5naW5lLm5leHQoKTtcclxuICB9XHJcbiAgb25QcmV2aW91cygpIHtcclxuICAgIHRoaXMuZW5naW5lLnByZXZpb3VzKCk7XHJcbiAgfVxyXG4gIHNlbGVjdFNsaWRlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZW5naW5lLnNlbGVjdFNsaWRlKGluZGV4KTtcclxuICB9XHJcblxyXG4gIC8vIEhhbmRsZSBQb2ludGVyc1xyXG5cclxuICBvblBvaW50ZXJEb3duKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcclxuICAgIHRoaXMuZHJhZ1N0YXJ0WCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLmRyYWdTdGFydFkgPSBldmVudC5jbGllbnRZO1xyXG4gICAgdGhpcy5pc0RyYWdnaW5nUG9pbnRlciA9IGZhbHNlO1xyXG5cclxuICAgIC8vIERvIG5vdCBjYXB0dXJlIHlldDsgd2FpdCB1bnRpbCBtb3ZlbWVudCBleGNlZWRzIHRocmVzaG9sZFxyXG4gICAgdGhpcy5lbmdpbmUuaGFuZGxlRHJhZ1N0YXJ0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uUG9pbnRlck1vdmUoZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xyXG4gICAgY29uc3QgZHggPSBNYXRoLmFicyhldmVudC5jbGllbnRYIC0gdGhpcy5kcmFnU3RhcnRYKTtcclxuICAgIGNvbnN0IGR5ID0gTWF0aC5hYnMoZXZlbnQuY2xpZW50WSAtIHRoaXMuZHJhZ1N0YXJ0WSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmdQb2ludGVyICYmIChkeCA+IDUgfHwgZHkgPiA1KSkge1xyXG4gICAgICB0aGlzLmlzRHJhZ2dpbmdQb2ludGVyID0gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIE5vdyBzdGFydCBjYXB0dXJpbmcgcG9pbnRlciBzbyBkcmFnZ2luZyB3b3JrcyBvdXRzaWRlIHRoZSBzbGlkZXIgYm91bmRzXHJcbiAgICAgIChldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5zZXRQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzRHJhZ2dpbmdQb2ludGVyKSB7XHJcbiAgICAgIHRoaXMuZW5naW5lLmhhbmRsZURyYWdNb3ZlKGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUG9pbnRlclVwKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcclxuICAgIGlmICghZXZlbnQpIHJldHVybjtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZ1BvaW50ZXIpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgLy8gT25seSBzZWxlY3QgdGhlIHNsaWRlIGlmIGNsaWNrIGlzIG5vdCBvbiBhbiBpbnRlcmFjdGl2ZSBjaGlsZFxyXG4gICAgICBjb25zdCBzbGlkZUVsID0gdGFyZ2V0LmNsb3Nlc3QoXCIuc2xpZGVcIik7XHJcbiAgICAgIGlmIChzbGlkZUVsICYmICF0YXJnZXQuY2xvc2VzdChcImJ1dHRvbiwgdmlkZW8sIGFcIikpIHtcclxuICAgICAgICBjb25zdCBpbmRleEF0dHIgPSBzbGlkZUVsLmdldEF0dHJpYnV0ZShcImRhdGEtaW5kZXhcIik7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSBpbmRleEF0dHIgPyBwYXJzZUludChpbmRleEF0dHIsIDEwKSA6IG51bGw7XHJcbiAgICAgICAgaWYgKGluZGV4ICE9PSBudWxsKSB0aGlzLmVuZ2luZS5zZWxlY3RTbGlkZShpbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVuZ2luZS5oYW5kbGVEcmFnRW5kKCk7XHJcbiAgICB0aGlzLmlzRHJhZ2dpbmdQb2ludGVyID0gZmFsc2U7XHJcblxyXG4gICAgLy8gUmVsZWFzZSBwb2ludGVyIGNhcHR1cmUgaWYgaXQgd2FzIGNhcHR1cmVkXHJcbiAgICB0cnkge1xyXG4gICAgICAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCkucmVsZWFzZVBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XHJcbiAgICB9IGNhdGNoIHt9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc29sdmVQbHVnaW5zKGNvbmZpZzogU2xpZGVyQ29uZmlnKSB7XHJcbiAgICBjb25zdCBydW50aW1lUGx1Z2luczogU2xpZGVyUGx1Z2luW10gPSBbXTtcclxuXHJcbiAgICBjb25zdCBjZmcgPSBjb25maWcucGx1Z2lucztcclxuXHJcbiAgICBpZiAoY2ZnPy5kcmFnZ2FibGUpIHJ1bnRpbWVQbHVnaW5zLnB1c2godGhpcy5kcmFnZ2FibGUpO1xyXG4gICAgaWYgKGNmZz8ucGFnaW5hdGlvbikgcnVudGltZVBsdWdpbnMucHVzaCh0aGlzLnBhZ2luYXRpb24pO1xyXG4gICAgaWYgKGNmZz8ubmF2aWdhdGlvbikgcnVudGltZVBsdWdpbnMucHVzaCh0aGlzLm5hdmlnYXRpb24pO1xyXG5cclxuICAgIGlmIChjZmc/LmF1dG9wbGF5KSB7XHJcbiAgICAgIHRoaXMuYXV0b3BsYXkuc2V0Q29uZmlnKGNmZy5hdXRvcGxheSk7XHJcbiAgICAgIHJ1bnRpbWVQbHVnaW5zLnB1c2godGhpcy5hdXRvcGxheSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNmZz8udGh1bWJzKSBydW50aW1lUGx1Z2lucy5wdXNoKHRoaXMudGh1bWJzKTtcclxuXHJcbiAgICB0aGlzLmVuZ2luZS5pbml0KHsgLi4uY29uZmlnLCBwbHVnaW5zOiB1bmRlZmluZWQgfSwgcnVudGltZVBsdWdpbnMpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInNsaWRlclwiXHJcbiAgICAjc2xpZGVySG9zdFxyXG4gICAgW2NsYXNzLnNsaWRlci12ZXJ0aWNhbF09XCJzdGF0ZS52ZXJ0aWNhbFwiXHJcbiAgICBbY2xhc3Muc2xpZGVyLWRyYWdnYWJsZV09XCJzdGF0ZS5pc0RyYWdnaW5nXCJcclxuICAgIFtjbGFzcy5zbGlkZXItLW1haW5dPVwiIWNvbmZpZy5pc1RodW1ic1wiXHJcbiAgICBbY2xhc3Muc2xpZGVyLS10aHVtYnNdPVwiY29uZmlnLmlzVGh1bWJzXCJcclxuICAgICpuZ0lmPVwic3RhdGUudmlzaWJsZVNsaWRlcz8ubGVuZ3RoID4gMCAmJiBzdGF0ZS5pc1Zpc2libGVcIlxyXG4gICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGV2ZW50KVwiXHJcbiAgICAocG9pbnRlcm1vdmUpPVwib25Qb2ludGVyTW92ZSgkZXZlbnQpXCJcclxuICAgIChwb2ludGVydXApPVwib25Qb2ludGVyVXAoJGV2ZW50KVwiXHJcbiAgICAocG9pbnRlcmNhbmNlbCk9XCJvblBvaW50ZXJVcCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwic2xpZGVyX193cmFwcGVyXCJcclxuICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgIHRyYW5zZm9ybTogc3RhdGUudHJhbnNsYXRlLFxyXG4gICAgICAgIHRyYW5zaXRpb246IHN0YXRlLnRyYW5zaXRpb24sXHJcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAgICAgICdmbGV4LWRpcmVjdGlvbic6IHN0YXRlLnZlcnRpY2FsID8gJ2NvbHVtbicgOiAncm93JyxcclxuICAgICAgICAnanVzdGlmeS1jb250ZW50Jzogc3RhdGUudmlzaWJsZVNsaWRlcz8ubGVuZ3RoIDwgc3RhdGUuc2xpZGVzUGVyVmlldyA/ICdjZW50ZXInIDogJ2ZsZXgtc3RhcnQnLFxyXG4gICAgICAgIGdhcDogKHN0YXRlLnNsaWRlc1BlclZpZXcgPiAxID8gc3RhdGUuZ2FwIHx8IDAgOiAwKSArICdweCcsXHJcbiAgICAgIH1cIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBzdGF0ZS52aXNpYmxlU2xpZGVzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICBjbGFzcz1cInNsaWRlXCJcclxuICAgICAgICBbYXR0ci5kYXRhLWluZGV4XT1cImlcIlxyXG4gICAgICAgIFtjbGFzcy5zbGlkZS0tY3VycmVudF09XCJzdGF0ZS5zZWxlY3RlZFNsaWRlID09PSBpXCJcclxuICAgICAgICBbc3R5bGUuZmxleF09XCJcclxuICAgICAgICAgICFjb25maWcuaXNUaHVtYnNcclxuICAgICAgICAgICAgPyAnMCAwIGNhbGMoJyArXHJcbiAgICAgICAgICAgICAgMTAwIC8gc3RhdGUuc2xpZGVzUGVyVmlldyArXHJcbiAgICAgICAgICAgICAgJyUgLSAnICtcclxuICAgICAgICAgICAgICAoKHN0YXRlLmdhcCB8fCAwKSAqIChzdGF0ZS5zbGlkZXNQZXJWaWV3IC0gMSkpIC8gc3RhdGUuc2xpZGVzUGVyVmlldyArXHJcbiAgICAgICAgICAgICAgJ3B4KSdcclxuICAgICAgICAgICAgOiAnMCAwICcgKyB0aHVtYlNpemUgKyAncHgnXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29uZmlnLmlzVGh1bWJzID8gdGh1bWJTaXplICsgJ3B4JyA6IG51bGxcIlxyXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiY29uZmlnLmlzVGh1bWJzID8gdGh1bWJTaXplICsgJ3B4JyA6IG51bGxcIlxyXG4gICAgICAgIChjbGljayk9XCJlbmdpbmUuc2VsZWN0U2xpZGUoaSlcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNsaWRlVGVtcGxhdGUgPyBzbGlkZVRlbXBsYXRlIDogZGVmYXVsdFNsaWRlVGVtcGxhdGU7IGNvbnRleHQ6IHsgc2xpZGU6IHNsaWRlLCBpbmRleDogaSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZWRnZS1zbGlkZXIvc3JjL2xpYi9jb21wb25lbnQvc2ltcGxlLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZWRnZS1zbGlkZXIvc3JjL2xpYi9jb21wb25lbnQvc2ltcGxlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUd2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEVBR1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFTLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBb0IvQyxNQUFNLE9BQU8scUJBQXFCO0lBa0J0QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXZCRCxNQUFNLENBQWU7SUFDckIsYUFBYSxDQUFvQjtJQUNqQyxrQkFB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QkFBcUI7a0JBbEJqQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxhQUNaO3dCQUNULFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHdCQUF3QjtxQkFDekI7bVNBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQVVxQyxVQUFVO3NCQUFyRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlkZXJWaWV3U3RhdGUgfSBmcm9tIFwiLi4vbW9kZWxzL3NsaWRlci1zdGF0ZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTbGlkZXJDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL3NsaWRlci1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgU2xpZGVyRW5naW5lIH0gZnJvbSBcIi4uL2VuZ2luZS9zbGlkZXItZW5naW5lLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpZGVyU3RvcmUgfSBmcm9tIFwiLi4vc3RvcmUvc2xpZGVyLXN0b3JlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpZGVyQXV0b3BsYXlQbHVnaW4gfSBmcm9tIFwiLi4vcGx1Z2lucy9hdXRvcGxheS9hdXRvcGxheS5wbHVnaW5cIjtcclxuaW1wb3J0IHsgU2xpZGVyRHJhZ2dhYmxlUGx1Z2luIH0gZnJvbSBcIi4uL3BsdWdpbnMvZHJhZ2dhYmxlL2RyYWdnYWJsZS5wbHVnaW5cIjtcclxuaW1wb3J0IHsgU2xpZGVyTmF2aWdhdGlvblBsdWdpbiB9IGZyb20gXCIuLi9wbHVnaW5zL25hdmlnYXRpb24vbmF2aWdhdGlvbi5wbHVnaW5cIjtcclxuaW1wb3J0IHsgUGFnZXIsIFNsaWRlclBhZ2luYXRpb25QbHVnaW4gfSBmcm9tIFwiLi4vcGx1Z2lucy9wYWdpbmF0aW9uL3BhZ2luYXRpb24ucGx1Z2luXCI7XHJcbmltcG9ydCB7IFNsaWRlclRodW1ic1Njcm9sbFBsdWdpbiB9IGZyb20gXCIuLi9wbHVnaW5zL3RodW1icy90aHVtYnMtc2Nyb2xsLnBsdWdpblwiO1xyXG5pbXBvcnQgeyBTbGlkZXJQbHVnaW4gfSBmcm9tIFwiLi4vcGx1Z2lucy9zbGlkZXItcGx1Z2luXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1zaW1wbGUtc2xpZGVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zaW1wbGUtc2xpZGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9zaW1wbGUtc2xpZGVyLmNvbXBvbmVudC5zY3NzXCIsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgU2xpZGVyRW5naW5lLFxyXG4gICAgU2xpZGVyU3RvcmUsXHJcbiAgICBTbGlkZXJEcmFnZ2FibGVQbHVnaW4sXHJcbiAgICBTbGlkZXJQYWdpbmF0aW9uUGx1Z2luLFxyXG4gICAgU2xpZGVyTmF2aWdhdGlvblBsdWdpbixcclxuICAgIFNsaWRlckF1dG9wbGF5UGx1Z2luLFxyXG4gICAgU2xpZGVyVGh1bWJzU2Nyb2xsUGx1Z2luLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBjb25maWc6IFNsaWRlckNvbmZpZztcclxuICBASW5wdXQoKSBzbGlkZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBuYXZpZ2F0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHBhZ2luYXRpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQE91dHB1dCgpIHNsaWRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIHByaXZhdGUgaXNEcmFnZ2luZ1BvaW50ZXIgPSBmYWxzZTtcclxuICBwcml2YXRlIGRyYWdTdGFydFggPSAwO1xyXG4gIHByaXZhdGUgZHJhZ1N0YXJ0WSA9IDA7XHJcbiAgcHJpdmF0ZSBsYXN0SW5kZXggPSAtMTtcclxuICBwcml2YXRlIGxhc3RTbGlkZXNSZWY6IGFueVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHN0YXRlJDogT2JzZXJ2YWJsZTxTbGlkZXJWaWV3U3RhdGU+O1xyXG4gIEBWaWV3Q2hpbGQoXCJzbGlkZXJIb3N0XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBzbGlkZXJIb3N0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbmdpbmU6IFNsaWRlckVuZ2luZSxcclxuICAgIHByaXZhdGUgc3RvcmU6IFNsaWRlclN0b3JlLFxyXG4gICAgcHJpdmF0ZSBkcmFnZ2FibGU6IFNsaWRlckRyYWdnYWJsZVBsdWdpbixcclxuICAgIHByaXZhdGUgcGFnaW5hdGlvbjogU2xpZGVyUGFnaW5hdGlvblBsdWdpbixcclxuICAgIHByaXZhdGUgbmF2aWdhdGlvbjogU2xpZGVyTmF2aWdhdGlvblBsdWdpbixcclxuICAgIHByaXZhdGUgYXV0b3BsYXk6IFNsaWRlckF1dG9wbGF5UGx1Z2luLFxyXG4gICAgcHJpdmF0ZSB0aHVtYnM6IFNsaWRlclRodW1ic1Njcm9sbFBsdWdpbixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdGF0ZSQgPSB0aGlzLnN0b3JlLnZpZXckO1xyXG5cclxuICAgIHRoaXMuc3RhdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XHJcbiAgICAgIGlmIChzdGF0ZS5jdXJyZW50U2xpZGUgIT09IHRoaXMubGFzdEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5sYXN0SW5kZXggPSBzdGF0ZS5jdXJyZW50U2xpZGU7XHJcbiAgICAgICAgdGhpcy5zbGlkZUNoYW5nZS5lbWl0KHN0YXRlLmN1cnJlbnRTbGlkZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYXN0U2xpZGVzUmVmID0gdGhpcy5jb25maWc/LnNsaWRlcyA/PyBudWxsO1xyXG4gICAgdGhpcy5yZXNvbHZlUGx1Z2lucyh0aGlzLmNvbmZpZyk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNsaWRlckhvc3Q/Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5lbmdpbmUuYXR0YWNoQ29udGFpbmVyKHRoaXMuc2xpZGVySG9zdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmICghY2hhbmdlc1tcImNvbmZpZ1wiXSB8fCAhdGhpcy5jb25maWcpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBuZXdTbGlkZXNSZWYgPSB0aGlzLmNvbmZpZy5zbGlkZXMgPz8gbnVsbDtcclxuXHJcbiAgICBpZiAobmV3U2xpZGVzUmVmICE9PSB0aGlzLmxhc3RTbGlkZXNSZWYpIHtcclxuICAgICAgdGhpcy5sYXN0U2xpZGVzUmVmID0gbmV3U2xpZGVzUmVmO1xyXG4gICAgICB0aGlzLmVuZ2luZS5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMucmVzb2x2ZVBsdWdpbnModGhpcy5jb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveVNsaWRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG8oaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5lbmdpbmUuc2VsZWN0U2xpZGUoaW5kZXgpOyAvLyBhZGQgdGhpcyBsaW5lXHJcbiAgICAvL3RoaXMuc2xpZGVDaGFuZ2UuZW1pdChpbmRleCk7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95U2xpZGVyKCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmVuZ2luZS5kZXN0cm95KCk7XHJcbiAgfSAvLyBkZXN0cm95cyBwbHVnaW5zIGFuZCBjbGVhcnMgc3RvcmVcclxuXHJcbiAgb25OZXh0KCkge1xyXG4gICAgdGhpcy5lbmdpbmUubmV4dCgpO1xyXG4gIH1cclxuICBvblByZXZpb3VzKCkge1xyXG4gICAgdGhpcy5lbmdpbmUucHJldmlvdXMoKTtcclxuICB9XHJcbiAgc2VsZWN0U2xpZGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5lbmdpbmUuc2VsZWN0U2xpZGUoaW5kZXgpO1xyXG4gIH1cclxuICBvblJlY2FsY3VsYXRlKCkge1xyXG4gICAgdGhpcy5lbmdpbmUucmVjYWxjdWxhdGUoKTtcclxuICB9XHJcbiAgLy8gTmF2aWdhdGlvblxyXG4gIC8qKiBFeHBvc2UgbmF2aWdhdGlvbiBvYnNlcnZhYmxlcyBzYWZlbHkgKi9cclxuICBnZXQgY2FuUHJldiQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IG51bGwge1xyXG4gICAgaWYgKCF0aGlzLm5hdmlnYXRpb24pIHtcclxuICAgICAgY29uc29sZS53YXJuKFwiTmF2aWdhdGlvbiBwbHVnaW4gaXMgbm90IGVuYWJsZWQuXCIpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb24uY2FuUHJldiQ7XHJcbiAgfVxyXG5cclxuICBnZXQgY2FuTmV4dCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IG51bGwge1xyXG4gICAgaWYgKCF0aGlzLm5hdmlnYXRpb24pIHtcclxuICAgICAgY29uc29sZS53YXJuKFwiTmF2aWdhdGlvbiBwbHVnaW4gaXMgbm90IGVuYWJsZWQuXCIpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb24uY2FuTmV4dCQ7XHJcbiAgfVxyXG5cclxuICAvKiogRXhwb3NlIG5leHQvcHJldiBtZXRob2RzICovXHJcbiAgcHVibGljIG5leHQoKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRpb24/Lm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmV2KCkge1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uPy5wcmV2KCk7XHJcbiAgfVxyXG5cclxuICAvKiogRXhwb3NlIHBhZ2luYXRpb24gb2JzZXJ2YWJsZSAqL1xyXG4gIGdldCBwYWdlciQoKTogT2JzZXJ2YWJsZTxQYWdlciB8IG51bGw+IHwgbnVsbCB7XHJcbiAgICBpZiAoIXRoaXMucGFnaW5hdGlvbikge1xyXG4gICAgICBjb25zb2xlLndhcm4oXCJQYWdpbmF0aW9uIHBsdWdpbiBpcyBub3QgZW5hYmxlZCBmb3IgdGhpcyBzbGlkZXIuXCIpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBhZ2luYXRpb24ucGFnZXIkO1xyXG4gIH1cclxuXHJcbiAgLyoqIEV4cG9zZSBhIGdvVG9TbGlkZSBtZXRob2QgKi9cclxuICBwdWJsaWMgZ29Ub1NsaWRlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMucGFnaW5hdGlvbi5nb1RvU2xpZGUoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgLy8gSGFuZGxlIFBvaW50ZXJzXHJcblxyXG4gIG9uUG9pbnRlckRvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xyXG4gICAgY29uc29sZS5sb2coXCJkb3duXCIpO1xyXG4gICAgdGhpcy5kcmFnU3RhcnRYID0gZXZlbnQuY2xpZW50WDtcclxuICAgIHRoaXMuZHJhZ1N0YXJ0WSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgICB0aGlzLmlzRHJhZ2dpbmdQb2ludGVyID0gZmFsc2U7XHJcblxyXG4gICAgLy8gRG8gbm90IGNhcHR1cmUgeWV0OyB3YWl0IHVudGlsIG1vdmVtZW50IGV4Y2VlZHMgdGhyZXNob2xkXHJcbiAgICB0aGlzLmVuZ2luZS5oYW5kbGVEcmFnU3RhcnQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgb25Qb2ludGVyTW92ZShldmVudDogUG9pbnRlckV2ZW50KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIm1vdmVcIik7XHJcbiAgICBjb25zdCBkeCA9IE1hdGguYWJzKGV2ZW50LmNsaWVudFggLSB0aGlzLmRyYWdTdGFydFgpO1xyXG4gICAgY29uc3QgZHkgPSBNYXRoLmFicyhldmVudC5jbGllbnRZIC0gdGhpcy5kcmFnU3RhcnRZKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZ1BvaW50ZXIgJiYgKGR4ID4gNSB8fCBkeSA+IDUpKSB7XHJcbiAgICAgIHRoaXMuaXNEcmFnZ2luZ1BvaW50ZXIgPSB0cnVlO1xyXG5cclxuICAgICAgLy8gTm93IHN0YXJ0IGNhcHR1cmluZyBwb2ludGVyIHNvIGRyYWdnaW5nIHdvcmtzIG91dHNpZGUgdGhlIHNsaWRlciBib3VuZHNcclxuICAgICAgKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpLnNldFBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNEcmFnZ2luZ1BvaW50ZXIpIHtcclxuICAgICAgdGhpcy5lbmdpbmUuaGFuZGxlRHJhZ01vdmUoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Qb2ludGVyVXAoZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xyXG4gICAgaWYgKCFldmVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwidXBcIik7XHJcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZ1BvaW50ZXIpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgLy8gT25seSBzZWxlY3QgdGhlIHNsaWRlIGlmIGNsaWNrIGlzIG5vdCBvbiBhbiBpbnRlcmFjdGl2ZSBjaGlsZFxyXG4gICAgICBjb25zdCBzbGlkZUVsID0gdGFyZ2V0LmNsb3Nlc3QoXCIuc2xpZGVcIik7XHJcbiAgICAgIGlmIChzbGlkZUVsICYmICF0YXJnZXQuY2xvc2VzdChcImJ1dHRvbiwgdmlkZW8sIGFcIikpIHtcclxuICAgICAgICBjb25zdCBpbmRleEF0dHIgPSBzbGlkZUVsLmdldEF0dHJpYnV0ZShcImRhdGEtaW5kZXhcIik7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSBpbmRleEF0dHIgPyBwYXJzZUludChpbmRleEF0dHIsIDEwKSA6IG51bGw7XHJcbiAgICAgICAgaWYgKGluZGV4ICE9PSBudWxsKSB0aGlzLmVuZ2luZS5zZWxlY3RTbGlkZShpbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVuZ2luZS5oYW5kbGVEcmFnRW5kKCk7XHJcbiAgICB0aGlzLmlzRHJhZ2dpbmdQb2ludGVyID0gZmFsc2U7XHJcblxyXG4gICAgLy8gUmVsZWFzZSBwb2ludGVyIGNhcHR1cmUgaWYgaXQgd2FzIGNhcHR1cmVkXHJcbiAgICB0cnkge1xyXG4gICAgICAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCkucmVsZWFzZVBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XHJcbiAgICB9IGNhdGNoIHt9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc29sdmVQbHVnaW5zKGNvbmZpZzogU2xpZGVyQ29uZmlnKSB7XHJcbiAgICBjb25zdCBydW50aW1lUGx1Z2luczogU2xpZGVyUGx1Z2luW10gPSBbXTtcclxuXHJcbiAgICBjb25zdCBjZmcgPSBjb25maWcucGx1Z2lucyA/PyB7fTsgLy8gPC0tIHNhZmUgZmFsbGJhY2tcclxuXHJcbiAgICBpZiAoY2ZnLmRyYWdnYWJsZSkgcnVudGltZVBsdWdpbnMucHVzaCh0aGlzLmRyYWdnYWJsZSk7XHJcbiAgICBpZiAoY2ZnLnBhZ2luYXRpb24pIHJ1bnRpbWVQbHVnaW5zLnB1c2godGhpcy5wYWdpbmF0aW9uKTtcclxuICAgIGlmIChjZmcubmF2aWdhdGlvbikgcnVudGltZVBsdWdpbnMucHVzaCh0aGlzLm5hdmlnYXRpb24pO1xyXG5cclxuICAgIGlmIChjZmcuYXV0b3BsYXkpIHtcclxuICAgICAgdGhpcy5hdXRvcGxheS5zZXRDb25maWcoY2ZnLmF1dG9wbGF5KTtcclxuICAgICAgcnVudGltZVBsdWdpbnMucHVzaCh0aGlzLmF1dG9wbGF5KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2ZnLnRodW1icykgcnVudGltZVBsdWdpbnMucHVzaCh0aGlzLnRodW1icyk7XHJcblxyXG4gICAgdGhpcy5lbmdpbmUuaW5pdCh7IC4uLmNvbmZpZywgcGx1Z2luczogdW5kZWZpbmVkIH0sIHJ1bnRpbWVQbHVnaW5zKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIHN0YXRlXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJzbGlkZXJcIlxyXG4gICAgI3NsaWRlckhvc3RcclxuICAgIFtjbGFzcy5zbGlkZXItdmVydGljYWxdPVwic3RhdGUudmVydGljYWxcIlxyXG4gICAgW2NsYXNzLnNsaWRlci1kcmFnZ2FibGVdPVwic3RhdGUuaXNEcmFnZ2luZ1wiXHJcbiAgICBbY2xhc3Muc2xpZGVyLS1tYWluXT1cIiFjb25maWcuaXNUaHVtYnNcIlxyXG4gICAgW2NsYXNzLnNsaWRlci0tdGh1bWJzXT1cImNvbmZpZy5pc1RodW1ic1wiXHJcbiAgICAqbmdJZj1cInN0YXRlLnZpc2libGVTbGlkZXM/Lmxlbmd0aCA+IDAgJiYgc3RhdGUuaXNWaXNpYmxlXCJcclxuICAgIChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRldmVudClcIlxyXG4gICAgKHBvaW50ZXJtb3ZlKT1cIm9uUG9pbnRlck1vdmUoJGV2ZW50KVwiXHJcbiAgICAocG9pbnRlcnVwKT1cIm9uUG9pbnRlclVwKCRldmVudClcIlxyXG4gICAgKHBvaW50ZXJjYW5jZWwpPVwib25Qb2ludGVyVXAoJGV2ZW50KVwiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInNsaWRlcl9fd3JhcHBlclwiXHJcbiAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICB0cmFuc2Zvcm06IHN0YXRlLnRyYW5zbGF0ZSxcclxuICAgICAgICB0cmFuc2l0aW9uOiBkcmFnZ2FibGUuaXNEcmFnZ2luZ1BvaW50ZXIgPyAnbm9uZScgOiAndHJhbnNmb3JtIDAuM3MgZWFzZScsXHJcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAgICAgICdmbGV4LWRpcmVjdGlvbic6IHN0YXRlLnZlcnRpY2FsID8gJ2NvbHVtbicgOiAncm93JyxcclxuICAgICAgICAnanVzdGlmeS1jb250ZW50Jzogc3RhdGUudmlzaWJsZVNsaWRlcz8ubGVuZ3RoIDwgc3RhdGUuc2xpZGVzUGVyVmlldyA/ICdjZW50ZXInIDogJ2ZsZXgtc3RhcnQnLFxyXG4gICAgICAgIGdhcDogKHN0YXRlLnNsaWRlc1BlclZpZXcgPiAxID8gc3RhdGUuZ2FwIHx8IDAgOiAwKSArICdweCcsXHJcbiAgICAgIH1cIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBzdGF0ZS52aXNpYmxlU2xpZGVzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICBjbGFzcz1cInNsaWRlXCJcclxuICAgICAgICBbYXR0ci5kYXRhLWluZGV4XT1cImlcIlxyXG4gICAgICAgIFtjbGFzcy5zbGlkZS0tY3VycmVudF09XCJzdGF0ZS5zZWxlY3RlZFNsaWRlID09PSBpXCJcclxuICAgICAgICBbc3R5bGUuZmxleF09XCJcclxuICAgICAgICAgICFjb25maWcuaXNUaHVtYnNcclxuICAgICAgICAgICAgPyAnMCAwIGNhbGMoJyArXHJcbiAgICAgICAgICAgICAgMTAwIC8gc3RhdGUuc2xpZGVzUGVyVmlldyArXHJcbiAgICAgICAgICAgICAgJyUgLSAnICtcclxuICAgICAgICAgICAgICAoKHN0YXRlLmdhcCB8fCAwKSAqIChzdGF0ZS5zbGlkZXNQZXJWaWV3IC0gMSkpIC8gc3RhdGUuc2xpZGVzUGVyVmlldyArXHJcbiAgICAgICAgICAgICAgJ3B4KSdcclxuICAgICAgICAgICAgOiAnMCAwICcgKyB0aHVtYlNpemUgKyAncHgnXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29uZmlnLmlzVGh1bWJzID8gdGh1bWJTaXplICsgJ3B4JyA6IG51bGxcIlxyXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiY29uZmlnLmlzVGh1bWJzID8gdGh1bWJTaXplICsgJ3B4JyA6IG51bGxcIlxyXG4gICAgICAgIChjbGljayk9XCJlbmdpbmUuc2VsZWN0U2xpZGUoaSlcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNsaWRlVGVtcGxhdGUgPyBzbGlkZVRlbXBsYXRlIDogZGVmYXVsdFNsaWRlVGVtcGxhdGU7IGNvbnRleHQ6IHsgc2xpZGU6IHNsaWRlLCBpbmRleDogaSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -19,12 +19,10 @@ export class SliderEngine {
|
|
|
19
19
|
}
|
|
20
20
|
/* ---------------- Public API ---------------- */
|
|
21
21
|
init(config, plugins = []) {
|
|
22
|
-
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
22
|
+
this.config = { ...DEFAULT_CONFIG, ...config, plugins: { ...(config.plugins ?? {}) } };
|
|
23
23
|
this.plugins = plugins;
|
|
24
24
|
this.plugins.forEach((p) => p.init?.(this));
|
|
25
|
-
// Viewport signals (fallback + orientation support)
|
|
26
25
|
this.setupViewportSignals();
|
|
27
|
-
// Initial layout
|
|
28
26
|
this.applyBreakpoint();
|
|
29
27
|
this.clampIndicesAfterLayoutChange();
|
|
30
28
|
this.recalculate();
|
|
@@ -68,13 +66,17 @@ export class SliderEngine {
|
|
|
68
66
|
this.store.reset();
|
|
69
67
|
}
|
|
70
68
|
next() {
|
|
71
|
-
|
|
69
|
+
console.log("next");
|
|
70
|
+
this.goTo(this.store.snapshot.currentSlide + this.slideStep());
|
|
72
71
|
this.plugins.forEach((p) => p.onNext?.());
|
|
73
72
|
}
|
|
74
73
|
previous() {
|
|
75
|
-
this.
|
|
74
|
+
this.goTo(this.store.snapshot.currentSlide - this.slideStep());
|
|
76
75
|
this.plugins.forEach((p) => p.onPrevious?.());
|
|
77
76
|
}
|
|
77
|
+
getContainerEl() {
|
|
78
|
+
return this.containerEl;
|
|
79
|
+
}
|
|
78
80
|
selectSlide(index) {
|
|
79
81
|
const slidesPerView = this.store.snapshot.slidesPerView;
|
|
80
82
|
// 1️⃣ Mark selected
|
|
@@ -121,6 +123,8 @@ export class SliderEngine {
|
|
|
121
123
|
this.plugins.forEach((p) => p.onSlideClick?.(index));
|
|
122
124
|
}
|
|
123
125
|
recalculate() {
|
|
126
|
+
if (this.store.snapshot.isDragging)
|
|
127
|
+
return; // skip during drag
|
|
124
128
|
const slides = this.config.slides ?? [];
|
|
125
129
|
const maxStartIndex = this.getMaxStartIndex();
|
|
126
130
|
const current = this.store.snapshot.currentSlide;
|
|
@@ -128,7 +132,6 @@ export class SliderEngine {
|
|
|
128
132
|
visibleSlides: slides,
|
|
129
133
|
translate: this.translate(current),
|
|
130
134
|
pager: this.config.plugins.pagination ? this.buildPager() : null,
|
|
131
|
-
// ✅ add
|
|
132
135
|
maxStartIndex,
|
|
133
136
|
canPrev: current > 0,
|
|
134
137
|
canNext: current < maxStartIndex,
|
|
@@ -283,4 +286,4 @@ export class SliderEngine {
|
|
|
283
286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderEngine, decorators: [{
|
|
284
287
|
type: Injectable
|
|
285
288
|
}], ctorParameters: () => [{ type: i1.SliderStore }] });
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWVuZ2luZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVkZ2Utc2xpZGVyL3NyYy9saWIvZW5naW5lL3NsaWRlci1lbmdpbmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQU03RSxNQUFNLE9BQU8sWUFBWTtJQWNIO0lBYlosTUFBTSxDQUFnQjtJQUN0QixPQUFPLEdBQW1CLEVBQUUsQ0FBQztJQUM3QixnQkFBZ0IsQ0FBZ0I7SUFFeEMsZUFBZTtJQUNQLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXZDLDhCQUE4QjtJQUN0QixXQUFXLENBQWU7SUFDMUIsRUFBRSxDQUFrQjtJQUVwQixtQkFBbUIsQ0FBVTtJQUVyQyxZQUFvQixLQUFrQjtRQUFsQixVQUFLLEdBQUwsS0FBSyxDQUFhO0lBQUcsQ0FBQztJQUUxQyxrREFBa0Q7SUFFbEQsSUFBSSxDQUFDLE1BQW9CLEVBQUUsVUFBMEIsRUFBRTtRQUNyRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUV2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUMsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxD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QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx5Q0FBeUM7SUFFekMsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQzt3R0F2VlUsWUFBWTs0R0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QsIGF1ZGl0VGltZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgU2xpZGVyQ29uZmlnLCBERUZBVUxUX0NPTkZJRyB9IGZyb20gXCIuLi9tb2RlbHMvc2xpZGVyLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBTbGlkZXJWaWV3U3RhdGUgfSBmcm9tIFwiLi4vbW9kZWxzL3NsaWRlci1zdGF0ZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBTbGlkZXJQbHVnaW4gfSBmcm9tIFwiLi4vcGx1Z2lucy9zbGlkZXItcGx1Z2luXCI7XHJcbmltcG9ydCB7IFNsaWRlclN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlL3NsaWRlci1zdG9yZS5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbGlkZXJFbmdpbmUge1xyXG4gIHByaXZhdGUgY29uZmlnITogU2xpZGVyQ29uZmlnO1xyXG4gIHByaXZhdGUgcGx1Z2luczogU2xpZGVyUGx1Z2luW10gPSBbXTtcclxuICBwcml2YXRlIHN5bmNUaHVtYnNFbmdpbmU/OiBTbGlkZXJFbmdpbmU7XHJcblxyXG4gIC8vIFJYIGxpZmVjeWNsZVxyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAvLyBDb250YWluZXItYmFzZWQgYnJlYWtwb2ludHNcclxuICBwcml2YXRlIGNvbnRhaW5lckVsPzogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBybz86IFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBwcml2YXRlIG1lYXN1cmVkU2xpZGVTaXplUHg/OiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFNsaWRlclN0b3JlKSB7fVxyXG5cclxuICAvKiAtLS0tLS0tLS0tLS0tLS0tIFB1YmxpYyBBUEkgLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuICBpbml0KGNvbmZpZzogU2xpZGVyQ29uZmlnLCBwbHVnaW5zOiBTbGlkZXJQbHVnaW5bXSA9IFtdKSB7XHJcbiAgICB0aGlzLmNvbmZpZyA9IHsgLi4uREVGQVVMVF9DT05GSUcsIC4uLmNvbmZpZyB9O1xyXG4gICAgdGhpcy5wbHVnaW5zID0gcGx1Z2lucztcclxuXHJcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5pbml0Py4odGhpcykpO1xyXG5cclxuICAgIC8vIFZpZXdwb3J0IHNpZ25hbHMgKGZhbGxiYWNrICsgb3JpZW50YXRpb24gc3VwcG9ydClcclxuICAgIHRoaXMuc2V0dXBWaWV3cG9ydFNpZ25hbHMoKTtcclxuXHJcbiAgICAvLyBJbml0aWFsIGxheW91dFxyXG4gICAgdGhpcy5hcHBseUJyZWFrcG9pbnQoKTtcclxuICAgIHRoaXMuY2xhbXBJbmRpY2VzQWZ0ZXJMYXlvdXRDaGFuZ2UoKTtcclxuICAgIHRoaXMucmVjYWxjdWxhdGUoKTtcclxuICB9XHJcblxyXG4gIC8qKiBDYWxsIHRoaXMgZnJvbSB0aGUgY29tcG9uZW50IG9uY2UgeW91IGhhdmUgdGhlIHNsaWRlciBob3N0IGVsZW1lbnQgKi9cclxuICBhdHRhY2hDb250YWluZXIoZWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLmNvbnRhaW5lckVsID0gZWw7XHJcblxyXG4gICAgLy8gT2JzZXJ2ZSBjb250YWluZXIgc2l6ZSBjaGFuZ2VzIChyb2J1c3QgaW4gZ3JpZHMvc2lkZWJhcnMvdGFicylcclxuICAgIHRoaXMucm8/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMucm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICAvLyBXZSByZXVzZSB0aGUgc2FtZSBkZWJvdW5jZWQgbGF5b3V0IGhhbmRsZXJcclxuICAgICAgdGhpcy5vbkxheW91dFNpZ25hbCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJvLm9ic2VydmUoZWwpO1xyXG5cclxuICAgIHRoaXMubWVhc3VyZVNsaWRlU2l6ZSgpO1xyXG4gICAgLy8gQXBwbHkgaW1tZWRpYXRlbHkgYmFzZWQgb24gcmVhbCBjb250YWluZXIgd2lkdGhcclxuICAgIHRoaXMub25MYXlvdXRTaWduYWwoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBtZWFzdXJlU2xpZGVTaXplKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckVsKSByZXR1cm47XHJcbiAgICBjb25zdCBmaXJzdFNsaWRlID0gdGhpcy5jb250YWluZXJFbC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihcIi5zbGlkZVwiKTtcclxuICAgIGlmICghZmlyc3RTbGlkZSkgcmV0dXJuO1xyXG4gICAgY29uc3QgcmVjdCA9IGZpcnN0U2xpZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBpZiAocmVjdC53aWR0aCA+IDApIHRoaXMubWVhc3VyZWRTbGlkZVNpemVQeCA9IHJlY3Qud2lkdGg7XHJcbiAgfVxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICAvLyBTdG9wIFJ4IHN0cmVhbXNcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG5cclxuICAgIC8vIERpc2Nvbm5lY3QgUmVzaXplT2JzZXJ2ZXJcclxuICAgIHRoaXMucm8/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMucm8gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNvbnRhaW5lckVsID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIC8vIFBsdWdpbiBjbGVhbnVwXHJcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5kZXN0cm95Py4oKSk7XHJcbiAgICB0aGlzLnBsdWdpbnMgPSBbXTtcclxuXHJcbiAgICAvLyBSZXNldCBzdG9yZVxyXG4gICAgdGhpcy5zdG9yZS5yZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpIHtcclxuICAgIHRoaXMuZ29Ub1NsaWRlKHRoaXMuc3RvcmUuc25hcHNob3QuY3VycmVudFNsaWRlICsgdGhpcy5zbGlkZVN0ZXAoKSk7XHJcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vbk5leHQ/LigpKTtcclxuICB9XHJcblxyXG4gIHByZXZpb3VzKCkge1xyXG4gICAgdGhpcy5nb1RvU2xpZGUodGhpcy5zdG9yZS5zbmFwc2hvdC5jdXJyZW50U2xpZGUgLSB0aGlzLnNsaWRlU3RlcCgpKTtcclxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uUHJldmlvdXM/LigpKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNsaWRlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHNsaWRlc1BlclZpZXcgPSB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXc7XHJcblxyXG4gICAgLy8gMe+4j+KDoyBNYXJrIHNlbGVjdGVkXHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IHNlbGVjdGVkU2xpZGU6IGluZGV4IH0pO1xyXG5cclxuICAgIC8vIDLvuI/ig6MgQ2FsY3VsYXRlIHBhZ2Ugc3RhcnRcclxuICAgIGxldCBwYWdlU3RhcnQgPSBNYXRoLmZsb29yKGluZGV4IC8gc2xpZGVzUGVyVmlldykgKiBzbGlkZXNQZXJWaWV3O1xyXG5cclxuICAgIC8vIDPvuI/ig6MgQ2xhbXAgdG8gbWF4U3RhcnRJbmRleFxyXG4gICAgcGFnZVN0YXJ0ID0gTWF0aC5taW4ocGFnZVN0YXJ0LCB0aGlzLm1heFN0YXJ0SW5kZXgpO1xyXG5cclxuICAgIC8vIDTvuI/ig6MgSWYgc3luY2VkIHdpdGggdGh1bWJzLCBhbHNvIGNsYW1wIHRvIHRoZWlyIG1heCBpbmRleFxyXG4gICAgaWYgKHRoaXMuc3luY1RodW1ic0VuZ2luZSkge1xyXG4gICAgICBjb25zdCB0aHVtYk1heEluZGV4ID0gdGhpcy5zeW5jVGh1bWJzRW5naW5lLmdldE1heFN0YXJ0SW5kZXgoKTtcclxuICAgICAgcGFnZVN0YXJ0ID0gTWF0aC5taW4ocGFnZVN0YXJ0LCB0aHVtYk1heEluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA177iP4oOjIE1vdmUgbWFpbiBzbGlkZXJcclxuICAgIGlmIChwYWdlU3RhcnQgIT09IHRoaXMuc3RvcmUuc25hcHNob3QuY3VycmVudFNsaWRlKSB7XHJcbiAgICAgIHRoaXMuZ29Ub1NsaWRlKHBhZ2VTdGFydCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNu+4j+KDoyBOb3RpZnkgcGx1Z2luc1xyXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25TbGlkZUNsaWNrPy4oaW5kZXgpKTtcclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0gRHJhZyAtLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4gIGhhbmRsZURyYWdTdGFydChldmVudDogUG9pbnRlckV2ZW50KSB7XHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IGlzRHJhZ2dpbmc6IHRydWUgfSk7XHJcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vbkRyYWdTdGFydD8uKGV2ZW50KSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVEcmFnTW92ZShldmVudDogUG9pbnRlckV2ZW50KSB7XHJcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vbkRyYWdNb3ZlPy4oZXZlbnQpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZURyYWdFbmQoKSB7XHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IGlzRHJhZ2dpbmc6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25EcmFnRW5kPy4oKSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnb1RvKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZ29Ub1NsaWRlKGluZGV4KTsgLy8gcmV1c2UgeW91ciBleGlzdGluZyBwcml2YXRlIG1ldGhvZFxyXG4gIH1cclxuICAvKiAtLS0tLS0tLS0tLS0tLS0tIEludGVybmFscyAtLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4gIHByaXZhdGUgZ29Ub1NsaWRlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNsYW1wZWQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgdGhpcy5tYXhTdGFydEluZGV4KSk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcIltFbmdpbmVdIGdvVG9TbGlkZSBpbmRleDpcIiwgaW5kZXgsIFwiY2xhbXBlZDpcIiwgY2xhbXBlZCk7XHJcblxyXG4gICAgdGhpcy5zdG9yZS51cGRhdGUoeyBjdXJyZW50U2xpZGU6IGNsYW1wZWQgfSk7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlKCk7XHJcblxyXG4gICAgLy8gTk9URTogY2FsbGluZyBvblNsaWRlQ2xpY2sgaGVyZSBpcyBhIGJpdCBzZW1hbnRpY2FsbHkgb2RkIChzaW5jZSBpdOKAmXMgbm90IGFsd2F5cyBhIGNsaWNrKSxcclxuICAgIC8vIGJ1dCBJIHByZXNlcnZlZCB5b3VyIGJlaGF2aW9yLlxyXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25TbGlkZUNsaWNrPy4oaW5kZXgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVjYWxjdWxhdGUoKSB7XHJcbiAgICBjb25zdCBzbGlkZXMgPSB0aGlzLmNvbmZpZy5zbGlkZXMgPz8gW107XHJcbiAgICBjb25zdCBtYXhTdGFydEluZGV4ID0gdGhpcy5nZXRNYXhTdGFydEluZGV4KCk7XHJcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdG9yZS5zbmFwc2hvdC5jdXJyZW50U2xpZGU7XHJcblxyXG4gICAgdGhpcy5zdG9yZS51cGRhdGUoe1xyXG4gICAgICB2aXNpYmxlU2xpZGVzOiBzbGlkZXMsXHJcbiAgICAgIHRyYW5zbGF0ZTogdGhpcy50cmFuc2xhdGUoY3VycmVudCksXHJcbiAgICAgIHBhZ2VyOiB0aGlzLmNvbmZpZy5wbHVnaW5zLnBhZ2luYXRpb24gPyB0aGlzLmJ1aWxkUGFnZXIoKSA6IG51bGwsXHJcblxyXG4gICAgICAvLyDinIUgYWRkXHJcbiAgICAgIG1heFN0YXJ0SW5kZXgsXHJcbiAgICAgIGNhblByZXY6IGN1cnJlbnQgPiAwLFxyXG4gICAgICBjYW5OZXh0OiBjdXJyZW50IDwgbWF4U3RhcnRJbmRleCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGUoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBheGlzID0gdGhpcy5jb25maWcudmVydGljYWwgPyBcIllcIiA6IFwiWFwiO1xyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLmNvbnRhaW5lckVsXHJcbiAgICAgID8gdGhpcy5jb25maWcudmVydGljYWxcclxuICAgICAgICA/IHRoaXMuY29udGFpbmVyRWwuY2xpZW50SGVpZ2h0XHJcbiAgICAgICAgOiB0aGlzLmNvbnRhaW5lckVsLmNsaWVudFdpZHRoXHJcbiAgICAgIDogdGhpcy5jb25maWcudmVydGljYWxcclxuICAgICAgICA/IHdpbmRvdy5pbm5lckhlaWdodFxyXG4gICAgICAgIDogd2luZG93LmlubmVyV2lkdGg7XHJcblxyXG4gICAgY29uc3QgZ2FwID0gdGhpcy5zdG9yZS5zbmFwc2hvdC5nYXAgPz8gMDtcclxuXHJcbiAgICBjb25zdCBzcHYgPSB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXc7XHJcbiAgICBjb25zdCBzbGlkZVNpemUgPVxyXG4gICAgICB0aGlzLmNvbmZpZy5pc1RodW1icyAmJiB0aGlzLm1lYXN1cmVkU2xpZGVTaXplUHhcclxuICAgICAgICA/IHRoaXMubWVhc3VyZWRTbGlkZVNpemVQeFxyXG4gICAgICAgIDogc3B2ID4gMFxyXG4gICAgICAgICAgPyAoY29udGFpbmVyU2l6ZSAtIGdhcCAqIChzcHYgLSAxKSkgLyBzcHZcclxuICAgICAgICAgIDogY29udGFpbmVyU2l6ZTtcclxuXHJcbiAgICAvLyBtb3ZlIGJ5IFwicGFnZVN0YXJ0ICogKHNsaWRlU2l6ZSArIGdhcClcIlxyXG4gICAgY29uc3Qgb2Zmc2V0ID0gaW5kZXggKiAoc2xpZGVTaXplICsgZ2FwKTtcclxuXHJcbiAgICByZXR1cm4gYHRyYW5zbGF0ZSR7YXhpc30oLSR7b2Zmc2V0fXB4KWA7XHJcbiAgfVxyXG5cclxuICAvKiogRGVib3VuY2VkIGxheW91dCBzaWduYWxzIGZvciByZXNpemUvb3JpZW50YXRpb24vY29udGFpbmVyIGNoYW5nZXMgKi9cclxuICBwcml2YXRlIHNldHVwVmlld3BvcnRTaWduYWxzKCkge1xyXG4gICAgLy8gSWYgeW91IHdhbnQgXCJvbmx5IGFmdGVyIHJlc2l6aW5nIHN0b3BzXCIsIHJlcGxhY2UgYXVkaXRUaW1lIHdpdGggZGVib3VuY2VUaW1lKDEyMClcclxuICAgIGNvbnN0IHJlc2l6ZSQgPSBmcm9tRXZlbnQod2luZG93LCBcInJlc2l6ZVwiLCB7IHBhc3NpdmU6IHRydWUgfSBhcyBhbnkpO1xyXG4gICAgY29uc3Qgb3JpZW50YXRpb24kID0gZnJvbUV2ZW50KHdpbmRvdywgXCJvcmllbnRhdGlvbmNoYW5nZVwiLCB7IHBhc3NpdmU6IHRydWUgfSBhcyBhbnkpO1xyXG5cclxuICAgIG1lcmdlKHJlc2l6ZSQsIG9yaWVudGF0aW9uJClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgYXVkaXRUaW1lKDgwKSwgLy8gZ29vZCBjb21wcm9taXNlOiByZXNwb25zaXZlIHdpdGhvdXQgb3Zlci1yZWNhbGNcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uTGF5b3V0U2lnbmFsKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkxheW91dFNpZ25hbCgpIHtcclxuICAgIGNvbnN0IGJlZm9yZVNsaWRlc1BlclZpZXcgPSB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXc7XHJcbiAgICBjb25zdCBiZWZvcmVWaXNpYmxlID0gdGhpcy5zdG9yZS5zbmFwc2hvdC5pc1Zpc2libGU7XHJcblxyXG4gICAgdGhpcy5hcHBseUJyZWFrcG9pbnQoKTtcclxuXHJcbiAgICBjb25zdCBhZnRlclNsaWRlc1BlclZpZXcgPSB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXc7XHJcbiAgICBjb25zdCBhZnRlclZpc2libGUgPSB0aGlzLnN0b3JlLnNuYXBzaG90LmlzVmlzaWJsZTtcclxuXHJcbiAgICBpZiAoYmVmb3JlU2xpZGVzUGVyVmlldyAhPT0gYWZ0ZXJTbGlkZXNQZXJWaWV3IHx8IGJlZm9yZVZpc2libGUgIT09IGFmdGVyVmlzaWJsZSkge1xyXG4gICAgICB0aGlzLmNsYW1wSW5kaWNlc0FmdGVyTGF5b3V0Q2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tZWFzdXJlU2xpZGVTaXplKCk7XHJcblxyXG4gICAgdGhpcy5yZWNhbGN1bGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCcmVha3BvaW50V2lkdGgoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLmNvbnRhaW5lckVsKSB7XHJcbiAgICAgIC8vIFByZWZlciBjbGllbnRXaWR0aCAobGF5b3V0KSwgZmFsbGJhY2sgdG8gcmVjdCB3aWR0aFxyXG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXJFbC5jbGllbnRXaWR0aCB8fCB0aGlzLmNvbnRhaW5lckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIHx8IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseUJyZWFrcG9pbnQoKSB7XHJcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuZ2V0QnJlYWtwb2ludFdpZHRoKCk7XHJcbiAgICBjb25zdCBicCA9IHRoaXMuY29uZmlnLmJyZWFrcG9pbnRzO1xyXG5cclxuICAgIGxldCBvdmVycmlkZTogUGFydGlhbDxTbGlkZXJDb25maWc+IHwgdW5kZWZpbmVkO1xyXG4gICAgbGV0IGRldmljZTogXCJtb2JpbGVcIiB8IFwidGFibGV0XCIgfCBcImRlc2t0b3BcIiA9IFwiZGVza3RvcFwiO1xyXG5cclxuICAgIGlmICh3aWR0aCA8IDc2OCkge1xyXG4gICAgICBvdmVycmlkZSA9IGJwPy5tb2JpbGU7XHJcbiAgICAgIGRldmljZSA9IFwibW9iaWxlXCI7XHJcbiAgICB9IGVsc2UgaWYgKHdpZHRoIDwgMTAyNCkge1xyXG4gICAgICBvdmVycmlkZSA9IGJwPy50YWJsZXQ7XHJcbiAgICAgIGRldmljZSA9IFwidGFibGV0XCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvdmVycmlkZSA9IGJwPy5kZXNrdG9wO1xyXG4gICAgICBkZXZpY2UgPSBcImRlc2t0b3BcIjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNZXJnZSBvdmVycmlkZXNcclxuICAgIHRoaXMuY29uZmlnID0geyAuLi50aGlzLmNvbmZpZywgLi4ub3ZlcnJpZGUgfTtcclxuXHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XHJcbiAgICAgIHNsaWRlc1BlclZpZXc6IHRoaXMuY29uZmlnLnNsaWRlc1BlclZpZXcsXHJcbiAgICAgIGdhcDogdGhpcy5jb25maWcuZ2FwID8/IDAsIC8vIOKchSBORVdcclxuICAgICAgaXNWaXNpYmxlOiB0aGlzLmNvbmZpZy5zaG93T24/LltkZXZpY2VdID8/IHRydWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xhbXBJbmRpY2VzQWZ0ZXJMYXlvdXRDaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBtYXggPSB0aGlzLmdldE1heFN0YXJ0SW5kZXgoKTtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdG9yZS5zbmFwc2hvdC5jdXJyZW50U2xpZGU7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc3RvcmUuc25hcHNob3Quc2VsZWN0ZWRTbGlkZTtcclxuXHJcbiAgICBjb25zdCBjbGFtcGVkQ3VycmVudCA9IE1hdGgubWF4KDAsIE1hdGgubWluKGN1cnJlbnQsIG1heCkpO1xyXG4gICAgY29uc3QgY2xhbXBlZFNlbGVjdGVkID0gc2VsZWN0ZWQgPT09IC0xID8gLTEgOiBNYXRoLm1heCgwLCBNYXRoLm1pbihzZWxlY3RlZCwgKHRoaXMuY29uZmlnLnNsaWRlcz8ubGVuZ3RoID8/IDApIC0gMSkpO1xyXG5cclxuICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcclxuICAgICAgY3VycmVudFNsaWRlOiBjbGFtcGVkQ3VycmVudCxcclxuICAgICAgc2VsZWN0ZWRTbGlkZTogY2xhbXBlZFNlbGVjdGVkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkUGFnZXIoKSB7XHJcbiAgICBjb25zdCB0b3RhbFNsaWRlcyA9IHRoaXMuY29uZmlnLnNsaWRlcy5sZW5ndGg7XHJcbiAgICBjb25zdCBjdXJyZW50U2xpZGUgPSB0aGlzLnN0b3JlLnNuYXBzaG90LnNlbGVjdGVkU2xpZGUgIT09IC0xID8gdGhpcy5zdG9yZS5zbmFwc2hvdC5zZWxlY3RlZFNsaWRlIDogdGhpcy5zdG9yZS5zbmFwc2hvdC5jdXJyZW50U2xpZGU7XHJcblxyXG4gICAgY29uc3QgbWF4VmlzaWJsZURvdHMgPSA1O1xyXG5cclxuICAgIGxldCBzdGFydCA9IE1hdGgubWF4KDAsIGN1cnJlbnRTbGlkZSAtIE1hdGguZmxvb3IobWF4VmlzaWJsZURvdHMgLyAyKSk7XHJcbiAgICBsZXQgZW5kID0gc3RhcnQgKyBtYXhWaXNpYmxlRG90cztcclxuXHJcbiAgICBpZiAoZW5kID4gdG90YWxTbGlkZXMpIHtcclxuICAgICAgZW5kID0gdG90YWxTbGlkZXM7XHJcbiAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMCwgZW5kIC0gbWF4VmlzaWJsZURvdHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZpc2libGVEb3RzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogZW5kIC0gc3RhcnQgfSwgKF8sIGkpID0+IHN0YXJ0ICsgaSk7XHJcbiAgICBjb25zdCBhY3RpdmVEb3RJbmRleCA9IHZpc2libGVEb3RzLmluZGV4T2YoY3VycmVudFNsaWRlKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjdXJyZW50UGFnZTogY3VycmVudFNsaWRlLFxyXG4gICAgICB0b3RhbFBhZ2VzOiB0b3RhbFNsaWRlcyxcclxuICAgICAgdmlzaWJsZURvdHMsXHJcbiAgICAgIGFjdGl2ZURvdEluZGV4LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2xpZGVTdGVwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc25hcHNob3Quc2xpZGVzUGVyVmlldztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IG1heFN0YXJ0SW5kZXgoKSB7XHJcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuY29uZmlnLnNsaWRlcz8ubGVuZ3RoID8/IDA7XHJcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgdG90YWwgLSB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXcpO1xyXG4gIH1cclxuICBnZXRNYXhTdGFydEluZGV4KCkge1xyXG4gICAgY29uc3QgdG90YWwgPSB0aGlzLmNvbmZpZy5zbGlkZXM/Lmxlbmd0aCA/PyAwO1xyXG4gICAgY29uc3Qgc3B2ID0gdGhpcy5zdG9yZS5zbmFwc2hvdC5zbGlkZXNQZXJWaWV3IHx8IDE7XHJcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgdG90YWwgLSBzcHYpO1xyXG4gIH1cclxuICAvKiAtLS0tLS0tLSBQbHVnaW4tc2FmZSBBUEkgLS0tLS0tLS0gKi9cclxuXHJcbiAgZ2V0U3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbmFwc2hvdDtcclxuICB9XHJcblxyXG4gIGdldFN0YXRlT2JzZXJ2YWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnZpZXckO1xyXG4gIH1cclxuXHJcbiAgc2V0U3RhdGUocGF0Y2g6IFBhcnRpYWw8U2xpZGVyVmlld1N0YXRlPikge1xyXG4gICAgdGhpcy5zdG9yZS51cGRhdGUocGF0Y2gpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgLyoqIExpbmsgdGhpcyBzbGlkZXIgdG8gdGh1bWJzICovXHJcbiAgc3luY1dpdGhUaHVtYnModGh1bWJzRW5naW5lOiBTbGlkZXJFbmdpbmUpIHtcclxuICAgIHRoaXMuc3luY1RodW1ic0VuZ2luZSA9IHRodW1ic0VuZ2luZTtcclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0tIFJlYWQtb25seSBoZWxwZXJzIC0tLS0tLS0tICovXHJcblxyXG4gIGdldFNsaWRlc1BlclZpZXcoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXc7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW50U2xpZGUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNuYXBzaG90LmN1cnJlbnRTbGlkZTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkU2xpZGUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNuYXBzaG90LnNlbGVjdGVkU2xpZGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWVuZ2luZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVkZ2Utc2xpZGVyL3NyYy9saWIvZW5naW5lL3NsaWRlci1lbmdpbmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQU03RSxNQUFNLE9BQU8sWUFBWTtJQWNIO0lBYlosTUFBTSxDQUFnQjtJQUN0QixPQUFPLEdBQW1CLEVBQUUsQ0FBQztJQUM3QixnQkFBZ0IsQ0FBZ0I7SUFFeEMsZUFBZTtJQUNQLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXZDLDhCQUE4QjtJQUN0QixXQUFXLENBQWU7SUFDMUIsRUFBRSxDQUFrQjtJQUVwQixtQkFBbUIsQ0FBVTtJQUVyQyxZQUFvQixLQUFrQjtRQUFsQixVQUFLLEdBQUwsS0FBSyxDQUFhO0lBQUcsQ0FBQztJQUUxQyxrREFBa0Q7SUFFbEQsSUFBSSxDQUFDLE1BQW9CLEVBQUUsVUFBMEIsRUFBRTtRQUNyRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRXZCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENB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SyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBK0I7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxjQUFjLENBQUMsWUFBMEI7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQztJQUN2QyxDQUFDO0lBRUQseUNBQXlDO0lBRXpDLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7SUFDMUMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7d0dBcFZVLFlBQVk7NEdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0LCBhdWRpdFRpbWUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNsaWRlckNvbmZpZywgREVGQVVMVF9DT05GSUcgfSBmcm9tIFwiLi4vbW9kZWxzL3NsaWRlci1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgU2xpZGVyVmlld1N0YXRlIH0gZnJvbSBcIi4uL21vZGVscy9zbGlkZXItc3RhdGUubW9kZWxcIjtcclxuaW1wb3J0IHsgU2xpZGVyUGx1Z2luIH0gZnJvbSBcIi4uL3BsdWdpbnMvc2xpZGVyLXBsdWdpblwiO1xyXG5pbXBvcnQgeyBTbGlkZXJTdG9yZSB9IGZyb20gXCIuLi9zdG9yZS9zbGlkZXItc3RvcmUuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpZGVyRW5naW5lIHtcclxuICBwcml2YXRlIGNvbmZpZyE6IFNsaWRlckNvbmZpZztcclxuICBwcml2YXRlIHBsdWdpbnM6IFNsaWRlclBsdWdpbltdID0gW107XHJcbiAgcHJpdmF0ZSBzeW5jVGh1bWJzRW5naW5lPzogU2xpZGVyRW5naW5lO1xyXG5cclxuICAvLyBSWCBsaWZlY3ljbGVcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgLy8gQ29udGFpbmVyLWJhc2VkIGJyZWFrcG9pbnRzXHJcbiAgcHJpdmF0ZSBjb250YWluZXJFbD86IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgcm8/OiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgcHJpdmF0ZSBtZWFzdXJlZFNsaWRlU2l6ZVB4PzogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTbGlkZXJTdG9yZSkge31cclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLSBQdWJsaWMgQVBJIC0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbiAgaW5pdChjb25maWc6IFNsaWRlckNvbmZpZywgcGx1Z2luczogU2xpZGVyUGx1Z2luW10gPSBbXSkge1xyXG4gICAgdGhpcy5jb25maWcgPSB7IC4uLkRFRkFVTFRfQ09ORklHLCAuLi5jb25maWcsIHBsdWdpbnM6IHsgLi4uKGNvbmZpZy5wbHVnaW5zID8/IHt9KSB9IH07XHJcbiAgICB0aGlzLnBsdWdpbnMgPSBwbHVnaW5zO1xyXG5cclxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLmluaXQ/Lih0aGlzKSk7XHJcblxyXG4gICAgdGhpcy5zZXR1cFZpZXdwb3J0U2lnbmFscygpO1xyXG4gICAgdGhpcy5hcHBseUJyZWFrcG9pbnQoKTtcclxuICAgIHRoaXMuY2xhbXBJbmRpY2VzQWZ0ZXJMYXlvdXRDaGFuZ2UoKTtcclxuICAgIHRoaXMucmVjYWxjdWxhdGUoKTtcclxuICB9XHJcblxyXG4gIC8qKiBDYWxsIHRoaXMgZnJvbSB0aGUgY29tcG9uZW50IG9uY2UgeW91IGhhdmUgdGhlIHNsaWRlciBob3N0IGVsZW1lbnQgKi9cclxuICBhdHRhY2hDb250YWluZXIoZWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLmNvbnRhaW5lckVsID0gZWw7XHJcblxyXG4gICAgLy8gT2JzZXJ2ZSBjb250YWluZXIgc2l6ZSBjaGFuZ2VzIChyb2J1c3QgaW4gZ3JpZHMvc2lkZWJhcnMvdGFicylcclxuICAgIHRoaXMucm8/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMucm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICAvLyBXZSByZXVzZSB0aGUgc2FtZSBkZWJvdW5jZWQgbGF5b3V0IGhhbmRsZXJcclxuICAgICAgdGhpcy5vbkxheW91dFNpZ25hbCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJvLm9ic2VydmUoZWwpO1xyXG5cclxuICAgIHRoaXMubWVhc3VyZVNsaWRlU2l6ZSgpO1xyXG4gICAgLy8gQXBwbHkgaW1tZWRpYXRlbHkgYmFzZWQgb24gcmVhbCBjb250YWluZXIgd2lkdGhcclxuICAgIHRoaXMub25MYXlvdXRTaWduYWwoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBtZWFzdXJlU2xpZGVTaXplKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckVsKSByZXR1cm47XHJcbiAgICBjb25zdCBmaXJzdFNsaWRlID0gdGhpcy5jb250YWluZXJFbC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihcIi5zbGlkZVwiKTtcclxuICAgIGlmICghZmlyc3RTbGlkZSkgcmV0dXJuO1xyXG4gICAgY29uc3QgcmVjdCA9IGZpcnN0U2xpZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBpZiAocmVjdC53aWR0aCA+IDApIHRoaXMubWVhc3VyZWRTbGlkZVNpemVQeCA9IHJlY3Qud2lkdGg7XHJcbiAgfVxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICAvLyBTdG9wIFJ4IHN0cmVhbXNcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG5cclxuICAgIC8vIERpc2Nvbm5lY3QgUmVzaXplT2JzZXJ2ZXJcclxuICAgIHRoaXMucm8/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMucm8gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNvbnRhaW5lckVsID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIC8vIFBsdWdpbiBjbGVhbnVwXHJcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5kZXN0cm95Py4oKSk7XHJcbiAgICB0aGlzLnBsdWdpbnMgPSBbXTtcclxuXHJcbiAgICAvLyBSZXNldCBzdG9yZVxyXG4gICAgdGhpcy5zdG9yZS5yZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwibmV4dFwiKTtcclxuICAgIHRoaXMuZ29Ubyh0aGlzLnN0b3JlLnNuYXBzaG90LmN1cnJlbnRTbGlkZSArIHRoaXMuc2xpZGVTdGVwKCkpO1xyXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25OZXh0Py4oKSk7XHJcbiAgfVxyXG5cclxuICBwcmV2aW91cygpIHtcclxuICAgIHRoaXMuZ29Ubyh0aGlzLnN0b3JlLnNuYXBzaG90LmN1cnJlbnRTbGlkZSAtIHRoaXMuc2xpZGVTdGVwKCkpO1xyXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25QcmV2aW91cz8uKCkpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0Q29udGFpbmVyRWwoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVyRWw7XHJcbiAgfVxyXG4gIHNlbGVjdFNsaWRlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHNsaWRlc1BlclZpZXcgPSB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXc7XHJcblxyXG4gICAgLy8gMe+4j+KDoyBNYXJrIHNlbGVjdGVkXHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IHNlbGVjdGVkU2xpZGU6IGluZGV4IH0pO1xyXG5cclxuICAgIC8vIDLvuI/ig6MgQ2FsY3VsYXRlIHBhZ2Ugc3RhcnRcclxuICAgIGxldCBwYWdlU3RhcnQgPSBNYXRoLmZsb29yKGluZGV4IC8gc2xpZGVzUGVyVmlldykgKiBzbGlkZXNQZXJWaWV3O1xyXG5cclxuICAgIC8vIDPvuI/ig6MgQ2xhbXAgdG8gbWF4U3RhcnRJbmRleFxyXG4gICAgcGFnZVN0YXJ0ID0gTWF0aC5taW4ocGFnZVN0YXJ0LCB0aGlzLm1heFN0YXJ0SW5kZXgpO1xyXG5cclxuICAgIC8vIDTvuI/ig6MgSWYgc3luY2VkIHdpdGggdGh1bWJzLCBhbHNvIGNsYW1wIHRvIHRoZWlyIG1heCBpbmRleFxyXG4gICAgaWYgKHRoaXMuc3luY1RodW1ic0VuZ2luZSkge1xyXG4gICAgICBjb25zdCB0aHVtYk1heEluZGV4ID0gdGhpcy5zeW5jVGh1bWJzRW5naW5lLmdldE1heFN0YXJ0SW5kZXgoKTtcclxuICAgICAgcGFnZVN0YXJ0ID0gTWF0aC5taW4ocGFnZVN0YXJ0LCB0aHVtYk1heEluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA177iP4oOjIE1vdmUgbWFpbiBzbGlkZXJcclxuICAgIGlmIChwYWdlU3RhcnQgIT09IHRoaXMuc3RvcmUuc25hcHNob3QuY3VycmVudFNsaWRlKSB7XHJcbiAgICAgIHRoaXMuZ29Ub1NsaWRlKHBhZ2VTdGFydCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNu+4j+KDoyBOb3RpZnkgcGx1Z2luc1xyXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25TbGlkZUNsaWNrPy4oaW5kZXgpKTtcclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0gRHJhZyAtLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4gIGhhbmRsZURyYWdTdGFydChldmVudDogUG9pbnRlckV2ZW50KSB7XHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IGlzRHJhZ2dpbmc6IHRydWUgfSk7XHJcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vbkRyYWdTdGFydD8uKGV2ZW50KSk7XHJcbiAgfVxyXG4gIGhhbmRsZURyYWdNb3ZlKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcclxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uRHJhZ01vdmU/LihldmVudCkpO1xyXG4gIH1cclxuICBoYW5kbGVEcmFnRW5kKCkge1xyXG4gICAgdGhpcy5zdG9yZS51cGRhdGUoeyBpc0RyYWdnaW5nOiBmYWxzZSB9KTtcclxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uRHJhZ0VuZD8uKCkpO1xyXG4gIH1cclxuICBwdWJsaWMgZ29UbyhpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmdvVG9TbGlkZShpbmRleCk7IC8vIHJldXNlIHlvdXIgZXhpc3RpbmcgcHJpdmF0ZSBtZXRob2RcclxuICB9XHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLSBJbnRlcm5hbHMgLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuICBwcml2YXRlIGdvVG9TbGlkZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oaW5kZXgsIHRoaXMubWF4U3RhcnRJbmRleCkpO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJbRW5naW5lXSBnb1RvU2xpZGUgaW5kZXg6XCIsIGluZGV4LCBcImNsYW1wZWQ6XCIsIGNsYW1wZWQpO1xyXG5cclxuICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgY3VycmVudFNsaWRlOiBjbGFtcGVkIH0pO1xyXG4gICAgdGhpcy5yZWNhbGN1bGF0ZSgpO1xyXG5cclxuICAgIC8vIE5PVEU6IGNhbGxpbmcgb25TbGlkZUNsaWNrIGhlcmUgaXMgYSBiaXQgc2VtYW50aWNhbGx5IG9kZCAoc2luY2UgaXTigJlzIG5vdCBhbHdheXMgYSBjbGljayksXHJcbiAgICAvLyBidXQgSSBwcmVzZXJ2ZWQgeW91ciBiZWhhdmlvci5cclxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uU2xpZGVDbGljaz8uKGluZGV4KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVjYWxjdWxhdGUoKSB7XHJcbiAgICBpZiAodGhpcy5zdG9yZS5zbmFwc2hvdC5pc0RyYWdnaW5nKSByZXR1cm47IC8vIHNraXAgZHVyaW5nIGRyYWdcclxuICAgIGNvbnN0IHNsaWRlcyA9IHRoaXMuY29uZmlnLnNsaWRlcyA/PyBbXTtcclxuICAgIGNvbnN0IG1heFN0YXJ0SW5kZXggPSB0aGlzLmdldE1heFN0YXJ0SW5kZXgoKTtcclxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnN0b3JlLnNuYXBzaG90LmN1cnJlbnRTbGlkZTtcclxuXHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XHJcbiAgICAgIHZpc2libGVTbGlkZXM6IHNsaWRlcyxcclxuICAgICAgdHJhbnNsYXRlOiB0aGlzLnRyYW5zbGF0ZShjdXJyZW50KSxcclxuICAgICAgcGFnZXI6IHRoaXMuY29uZmlnLnBsdWdpbnMucGFnaW5hdGlvbiA/IHRoaXMuYnVpbGRQYWdlcigpIDogbnVsbCxcclxuICAgICAgbWF4U3RhcnRJbmRleCxcclxuICAgICAgY2FuUHJldjogY3VycmVudCA+IDAsXHJcbiAgICAgIGNhbk5leHQ6IGN1cnJlbnQgPCBtYXhTdGFydEluZGV4LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zbGF0ZShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGF4aXMgPSB0aGlzLmNvbmZpZy52ZXJ0aWNhbCA/IFwiWVwiIDogXCJYXCI7XHJcblxyXG4gICAgY29uc3QgY29udGFpbmVyU2l6ZSA9IHRoaXMuY29udGFpbmVyRWxcclxuICAgICAgPyB0aGlzLmNvbmZpZy52ZXJ0aWNhbFxyXG4gICAgICAgID8gdGhpcy5jb250YWluZXJFbC5jbGllbnRIZWlnaHRcclxuICAgICAgICA6IHRoaXMuY29udGFpbmVyRWwuY2xpZW50V2lkdGhcclxuICAgICAgOiB0aGlzLmNvbmZpZy52ZXJ0aWNhbFxyXG4gICAgICAgID8gd2luZG93LmlubmVySGVpZ2h0XHJcbiAgICAgICAgOiB3aW5kb3cuaW5uZXJXaWR0aDtcclxuXHJcbiAgICBjb25zdCBnYXAgPSB0aGlzLnN0b3JlLnNuYXBzaG90LmdhcCA/PyAwO1xyXG5cclxuICAgIGNvbnN0IHNwdiA9IHRoaXMuc3RvcmUuc25hcHNob3Quc2xpZGVzUGVyVmlldztcclxuICAgIGNvbnN0IHNsaWRlU2l6ZSA9XHJcbiAgICAgIHRoaXMuY29uZmlnLmlzVGh1bWJzICYmIHRoaXMubWVhc3VyZWRTbGlkZVNpemVQeFxyXG4gICAgICAgID8gdGhpcy5tZWFzdXJlZFNsaWRlU2l6ZVB4XHJcbiAgICAgICAgOiBzcHYgPiAwXHJcbiAgICAgICAgICA/IChjb250YWluZXJTaXplIC0gZ2FwICogKHNwdiAtIDEpKSAvIHNwdlxyXG4gICAgICAgICAgOiBjb250YWluZXJTaXplO1xyXG5cclxuICAgIC8vIG1vdmUgYnkgXCJwYWdlU3RhcnQgKiAoc2xpZGVTaXplICsgZ2FwKVwiXHJcbiAgICBjb25zdCBvZmZzZXQgPSBpbmRleCAqIChzbGlkZVNpemUgKyBnYXApO1xyXG5cclxuICAgIHJldHVybiBgdHJhbnNsYXRlJHtheGlzfSgtJHtvZmZzZXR9cHgpYDtcclxuICB9XHJcblxyXG4gIC8qKiBEZWJvdW5jZWQgbGF5b3V0IHNpZ25hbHMgZm9yIHJlc2l6ZS9vcmllbnRhdGlvbi9jb250YWluZXIgY2hhbmdlcyAqL1xyXG4gIHByaXZhdGUgc2V0dXBWaWV3cG9ydFNpZ25hbHMoKSB7XHJcbiAgICAvLyBJZiB5b3Ugd2FudCBcIm9ubHkgYWZ0ZXIgcmVzaXppbmcgc3RvcHNcIiwgcmVwbGFjZSBhdWRpdFRpbWUgd2l0aCBkZWJvdW5jZVRpbWUoMTIwKVxyXG4gICAgY29uc3QgcmVzaXplJCA9IGZyb21FdmVudCh3aW5kb3csIFwicmVzaXplXCIsIHsgcGFzc2l2ZTogdHJ1ZSB9IGFzIGFueSk7XHJcbiAgICBjb25zdCBvcmllbnRhdGlvbiQgPSBmcm9tRXZlbnQod2luZG93LCBcIm9yaWVudGF0aW9uY2hhbmdlXCIsIHsgcGFzc2l2ZTogdHJ1ZSB9IGFzIGFueSk7XHJcblxyXG4gICAgbWVyZ2UocmVzaXplJCwgb3JpZW50YXRpb24kKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBhdWRpdFRpbWUoODApLCAvLyBnb29kIGNvbXByb21pc2U6IHJlc3BvbnNpdmUgd2l0aG91dCBvdmVyLXJlY2FsY1xyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25MYXlvdXRTaWduYWwoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uTGF5b3V0U2lnbmFsKCkge1xyXG4gICAgY29uc3QgYmVmb3JlU2xpZGVzUGVyVmlldyA9IHRoaXMuc3RvcmUuc25hcHNob3Quc2xpZGVzUGVyVmlldztcclxuICAgIGNvbnN0IGJlZm9yZVZpc2libGUgPSB0aGlzLnN0b3JlLnNuYXBzaG90LmlzVmlzaWJsZTtcclxuXHJcbiAgICB0aGlzLmFwcGx5QnJlYWtwb2ludCgpO1xyXG5cclxuICAgIGNvbnN0IGFmdGVyU2xpZGVzUGVyVmlldyA9IHRoaXMuc3RvcmUuc25hcHNob3Quc2xpZGVzUGVyVmlldztcclxuICAgIGNvbnN0IGFmdGVyVmlzaWJsZSA9IHRoaXMuc3RvcmUuc25hcHNob3QuaXNWaXNpYmxlO1xyXG5cclxuICAgIGlmIChiZWZvcmVTbGlkZXNQZXJWaWV3ICE9PSBhZnRlclNsaWRlc1BlclZpZXcgfHwgYmVmb3JlVmlzaWJsZSAhPT0gYWZ0ZXJWaXNpYmxlKSB7XHJcbiAgICAgIHRoaXMuY2xhbXBJbmRpY2VzQWZ0ZXJMYXlvdXRDaGFuZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1lYXN1cmVTbGlkZVNpemUoKTtcclxuXHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEJyZWFrcG9pbnRXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuY29udGFpbmVyRWwpIHtcclxuICAgICAgLy8gUHJlZmVyIGNsaWVudFdpZHRoIChsYXlvdXQpLCBmYWxsYmFjayB0byByZWN0IHdpZHRoXHJcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckVsLmNsaWVudFdpZHRoIHx8IHRoaXMuY29udGFpbmVyRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggfHwgd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5QnJlYWtwb2ludCgpIHtcclxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRCcmVha3BvaW50V2lkdGgoKTtcclxuICAgIGNvbnN0IGJwID0gdGhpcy5jb25maWcuYnJlYWtwb2ludHM7XHJcblxyXG4gICAgbGV0IG92ZXJyaWRlOiBQYXJ0aWFsPFNsaWRlckNvbmZpZz4gfCB1bmRlZmluZWQ7XHJcbiAgICBsZXQgZGV2aWNlOiBcIm1vYmlsZVwiIHwgXCJ0YWJsZXRcIiB8IFwiZGVza3RvcFwiID0gXCJkZXNrdG9wXCI7XHJcblxyXG4gICAgaWYgKHdpZHRoIDwgNzY4KSB7XHJcbiAgICAgIG92ZXJyaWRlID0gYnA/Lm1vYmlsZTtcclxuICAgICAgZGV2aWNlID0gXCJtb2JpbGVcIjtcclxuICAgIH0gZWxzZSBpZiAod2lkdGggPCAxMDI0KSB7XHJcbiAgICAgIG92ZXJyaWRlID0gYnA/LnRhYmxldDtcclxuICAgICAgZGV2aWNlID0gXCJ0YWJsZXRcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG92ZXJyaWRlID0gYnA/LmRlc2t0b3A7XHJcbiAgICAgIGRldmljZSA9IFwiZGVza3RvcFwiO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE1lcmdlIG92ZXJyaWRlc1xyXG4gICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuY29uZmlnLCAuLi5vdmVycmlkZSB9O1xyXG5cclxuICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcclxuICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5jb25maWcuc2xpZGVzUGVyVmlldyxcclxuICAgICAgZ2FwOiB0aGlzLmNvbmZpZy5nYXAgPz8gMCwgLy8g4pyFIE5FV1xyXG4gICAgICBpc1Zpc2libGU6IHRoaXMuY29uZmlnLnNob3dPbj8uW2RldmljZV0gPz8gdHJ1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGFtcEluZGljZXNBZnRlckxheW91dENoYW5nZSgpIHtcclxuICAgIGNvbnN0IG1heCA9IHRoaXMuZ2V0TWF4U3RhcnRJbmRleCgpO1xyXG5cclxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnN0b3JlLnNuYXBzaG90LmN1cnJlbnRTbGlkZTtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zdG9yZS5zbmFwc2hvdC5zZWxlY3RlZFNsaWRlO1xyXG5cclxuICAgIGNvbnN0IGNsYW1wZWRDdXJyZW50ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oY3VycmVudCwgbWF4KSk7XHJcbiAgICBjb25zdCBjbGFtcGVkU2VsZWN0ZWQgPSBzZWxlY3RlZCA9PT0gLTEgPyAtMSA6IE1hdGgubWF4KDAsIE1hdGgubWluKHNlbGVjdGVkLCAodGhpcy5jb25maWcuc2xpZGVzPy5sZW5ndGggPz8gMCkgLSAxKSk7XHJcblxyXG4gICAgdGhpcy5zdG9yZS51cGRhdGUoe1xyXG4gICAgICBjdXJyZW50U2xpZGU6IGNsYW1wZWRDdXJyZW50LFxyXG4gICAgICBzZWxlY3RlZFNsaWRlOiBjbGFtcGVkU2VsZWN0ZWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRQYWdlcigpIHtcclxuICAgIGNvbnN0IHRvdGFsU2xpZGVzID0gdGhpcy5jb25maWcuc2xpZGVzLmxlbmd0aDtcclxuICAgIGNvbnN0IGN1cnJlbnRTbGlkZSA9IHRoaXMuc3RvcmUuc25hcHNob3Quc2VsZWN0ZWRTbGlkZSAhPT0gLTEgPyB0aGlzLnN0b3JlLnNuYXBzaG90LnNlbGVjdGVkU2xpZGUgOiB0aGlzLnN0b3JlLnNuYXBzaG90LmN1cnJlbnRTbGlkZTtcclxuXHJcbiAgICBjb25zdCBtYXhWaXNpYmxlRG90cyA9IDU7XHJcblxyXG4gICAgbGV0IHN0YXJ0ID0gTWF0aC5tYXgoMCwgY3VycmVudFNsaWRlIC0gTWF0aC5mbG9vcihtYXhWaXNpYmxlRG90cyAvIDIpKTtcclxuICAgIGxldCBlbmQgPSBzdGFydCArIG1heFZpc2libGVEb3RzO1xyXG5cclxuICAgIGlmIChlbmQgPiB0b3RhbFNsaWRlcykge1xyXG4gICAgICBlbmQgPSB0b3RhbFNsaWRlcztcclxuICAgICAgc3RhcnQgPSBNYXRoLm1heCgwLCBlbmQgLSBtYXhWaXNpYmxlRG90cyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmlzaWJsZURvdHMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBlbmQgLSBzdGFydCB9LCAoXywgaSkgPT4gc3RhcnQgKyBpKTtcclxuICAgIGNvbnN0IGFjdGl2ZURvdEluZGV4ID0gdmlzaWJsZURvdHMuaW5kZXhPZihjdXJyZW50U2xpZGUpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGN1cnJlbnRQYWdlOiBjdXJyZW50U2xpZGUsXHJcbiAgICAgIHRvdGFsUGFnZXM6IHRvdGFsU2xpZGVzLFxyXG4gICAgICB2aXNpYmxlRG90cyxcclxuICAgICAgYWN0aXZlRG90SW5kZXgsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzbGlkZVN0ZXAoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbmFwc2hvdC5zbGlkZXNQZXJWaWV3O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgbWF4U3RhcnRJbmRleCgpIHtcclxuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5jb25maWcuc2xpZGVzPy5sZW5ndGggPz8gMDtcclxuICAgIHJldHVybiBNYXRoLm1heCgwLCB0b3RhbCAtIHRoaXMuc3RvcmUuc25hcHNob3Quc2xpZGVzUGVyVmlldyk7XHJcbiAgfVxyXG4gIGdldE1heFN0YXJ0SW5kZXgoKSB7XHJcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuY29uZmlnLnNsaWRlcz8ubGVuZ3RoID8/IDA7XHJcbiAgICBjb25zdCBzcHYgPSB0aGlzLnN0b3JlLnNuYXBzaG90LnNsaWRlc1BlclZpZXcgfHwgMTtcclxuICAgIHJldHVybiBNYXRoLm1heCgwLCB0b3RhbCAtIHNwdik7XHJcbiAgfVxyXG4gIC8qIC0tLS0tLS0tIFBsdWdpbi1zYWZlIEFQSSAtLS0tLS0tLSAqL1xyXG5cclxuICBnZXRTdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNuYXBzaG90O1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RhdGVPYnNlcnZhYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUudmlldyQ7XHJcbiAgfVxyXG5cclxuICBzZXRTdGF0ZShwYXRjaDogUGFydGlhbDxTbGlkZXJWaWV3U3RhdGU+KSB7XHJcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZShwYXRjaCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XHJcbiAgfVxyXG5cclxuICAvKiogTGluayB0aGlzIHNsaWRlciB0byB0aHVtYnMgKi9cclxuICBzeW5jV2l0aFRodW1icyh0aHVtYnNFbmdpbmU6IFNsaWRlckVuZ2luZSkge1xyXG4gICAgdGhpcy5zeW5jVGh1bWJzRW5naW5lID0gdGh1bWJzRW5naW5lO1xyXG4gIH1cclxuXHJcbiAgLyogLS0tLS0tLS0gUmVhZC1vbmx5IGhlbHBlcnMgLS0tLS0tLS0gKi9cclxuXHJcbiAgZ2V0U2xpZGVzUGVyVmlldygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc25hcHNob3Quc2xpZGVzUGVyVmlldztcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRTbGlkZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc25hcHNob3QuY3VycmVudFNsaWRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRTbGlkZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc25hcHNob3Quc2VsZWN0ZWRTbGlkZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -6,7 +6,14 @@ export const DEFAULT_CONFIG = {
|
|
|
6
6
|
vertical: false,
|
|
7
7
|
changeToClickedSlide: false,
|
|
8
8
|
isThumbs: false,
|
|
9
|
+
plugins: {
|
|
10
|
+
draggable: false,
|
|
11
|
+
pagination: false,
|
|
12
|
+
navigation: false,
|
|
13
|
+
autoplay: undefined,
|
|
14
|
+
thumbs: false,
|
|
15
|
+
},
|
|
9
16
|
gap: 0,
|
|
10
17
|
showOn: { mobile: true, tablet: true, desktop: true },
|
|
11
18
|
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lZGdlLXNsaWRlci9zcmMvbGliL21vZGVscy9zbGlkZXItY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWlCO0lBQzFDLE1BQU0sRUFBRSxFQUFFO0lBQ1YsYUFBYSxFQUFFLENBQUM7SUFDaEIsYUFBYSxFQUFFLENBQUM7SUFDaEIsSUFBSSxFQUFFLENBQUM7SUFDUCxRQUFRLEVBQUUsS0FBSztJQUNmLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsUUFBUSxFQUFFLEtBQUs7SUFDZixPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsS0FBSztRQUNoQixVQUFVLEVBQUUsS0FBSztRQUNqQixVQUFVLEVBQUUsS0FBSztRQUNqQixRQUFRLEVBQUUsU0FBUztRQUNuQixNQUFNLEVBQUUsS0FBSztLQUNkO0lBQ0QsR0FBRyxFQUFFLENBQUM7SUFFTixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtDQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRvcGxheVBsdWdpbkNvbmZpZyB7XHJcbiAgZGVsYXk/OiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbGlkZXJQbHVnaW5Db25maWcge1xyXG4gIGRyYWdnYWJsZT86IGJvb2xlYW47XHJcbiAgYXV0b3BsYXk/OiB7IGRlbGF5PzogbnVtYmVyIH07XHJcbiAgbmF2aWdhdGlvbj86IGJvb2xlYW47XHJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW47XHJcbiAgdGh1bWJzPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNsaWRlckNvbmZpZyB7XHJcbiAgc2xpZGVzOiBhbnlbXTtcclxuICBzbGlkZXNQZXJWaWV3OiBudW1iZXI7XHJcbiAgc2xpZGVzVG9TbGlkZT86IG51bWJlcjtcclxuICBsb29wPzogMCB8IDEgfCAyO1xyXG4gIHZlcnRpY2FsPzogYm9vbGVhbjtcclxuICBjaGFuZ2VUb0NsaWNrZWRTbGlkZT86IGJvb2xlYW47XHJcbiAgaXNUaHVtYnM/OiBib29sZWFuO1xyXG5cclxuICAvKiogTkVXOiBnYXAgYmV0d2VlbiBzbGlkZXMgaW4gcHggKi9cclxuICBnYXA/OiBudW1iZXI7XHJcblxyXG4gIGJyZWFrcG9pbnRzPzoge1xyXG4gICAgbW9iaWxlPzogUGFydGlhbDxTbGlkZXJDb25maWc+O1xyXG4gICAgdGFibGV0PzogUGFydGlhbDxTbGlkZXJDb25maWc+O1xyXG4gICAgZGVza3RvcD86IFBhcnRpYWw8U2xpZGVyQ29uZmlnPjtcclxuICB9O1xyXG5cclxuICBwbHVnaW5zPzogU2xpZGVyUGx1Z2luQ29uZmlnO1xyXG5cclxuICBzaG93T24/OiB7XHJcbiAgICBtb2JpbGU/OiBib29sZWFuO1xyXG4gICAgdGFibGV0PzogYm9vbGVhbjtcclxuICAgIGRlc2t0b3A/OiBib29sZWFuO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogU2xpZGVyQ29uZmlnID0ge1xyXG4gIHNsaWRlczogW10sXHJcbiAgc2xpZGVzUGVyVmlldzogMSxcclxuICBzbGlkZXNUb1NsaWRlOiAxLFxyXG4gIGxvb3A6IDAsXHJcbiAgdmVydGljYWw6IGZhbHNlLFxyXG4gIGNoYW5nZVRvQ2xpY2tlZFNsaWRlOiBmYWxzZSxcclxuICBpc1RodW1iczogZmFsc2UsXHJcbiAgcGx1Z2luczoge1xyXG4gICAgZHJhZ2dhYmxlOiBmYWxzZSxcclxuICAgIHBhZ2luYXRpb246IGZhbHNlLFxyXG4gICAgbmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgICBhdXRvcGxheTogdW5kZWZpbmVkLFxyXG4gICAgdGh1bWJzOiBmYWxzZSxcclxuICB9LFxyXG4gIGdhcDogMCxcclxuXHJcbiAgc2hvd09uOiB7IG1vYmlsZTogdHJ1ZSwgdGFibGV0OiB0cnVlLCBkZXNrdG9wOiB0cnVlIH0sXHJcbn07XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from "@angular/core";
|
|
2
|
-
import { SimpleSliderComponent } from "
|
|
2
|
+
import { SimpleSliderComponent } from "./component/simple-slider.component";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class NgxEdgeSliderModule {
|
|
5
5
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgxEdgeSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
13
13
|
exports: [SimpleSliderComponent],
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVkZ2Utc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lZGdlLXNsaWRlci9zcmMvbGliL25neC1lZGdlLXNsaWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFNNUUsTUFBTSxPQUFPLG1CQUFtQjt3R0FBbkIsbUJBQW1CO3lHQUFuQixtQkFBbUIsWUFIcEIscUJBQXFCLGFBQ3JCLHFCQUFxQjt5R0FFcEIsbUJBQW1CLFlBSHBCLHFCQUFxQjs7NEZBR3BCLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTaW1wbGVTbGlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnQvc2ltcGxlLXNsaWRlci5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1NpbXBsZVNsaWRlckNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW1NpbXBsZVNsaWRlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hFZGdlU2xpZGVyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SliderAutoplayPlugin {
|
|
4
|
+
engine;
|
|
5
|
+
timerId;
|
|
6
|
+
delay = 4000; // default
|
|
7
|
+
init(engine) {
|
|
8
|
+
this.engine = engine;
|
|
9
|
+
this.start();
|
|
10
|
+
}
|
|
11
|
+
setConfig(config) {
|
|
12
|
+
if (!config)
|
|
13
|
+
return;
|
|
14
|
+
if (typeof config.delay === "number") {
|
|
15
|
+
this.delay = config.delay;
|
|
16
|
+
}
|
|
17
|
+
// restart autoplay with new config
|
|
18
|
+
this.start();
|
|
19
|
+
}
|
|
20
|
+
onDragStart() {
|
|
21
|
+
this.stop();
|
|
22
|
+
}
|
|
23
|
+
onDragEnd() {
|
|
24
|
+
this.start();
|
|
25
|
+
}
|
|
26
|
+
start() {
|
|
27
|
+
this.stop();
|
|
28
|
+
this.timerId = setInterval(() => {
|
|
29
|
+
this.engine.next();
|
|
30
|
+
}, this.delay);
|
|
31
|
+
}
|
|
32
|
+
stop() {
|
|
33
|
+
if (this.timerId) {
|
|
34
|
+
clearInterval(this.timerId);
|
|
35
|
+
this.timerId = null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
destroy() {
|
|
39
|
+
this.stop();
|
|
40
|
+
}
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderAutoplayPlugin, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderAutoplayPlugin });
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderAutoplayPlugin, decorators: [{
|
|
45
|
+
type: Injectable
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3BsYXkucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVkZ2Utc2xpZGVyL3NyYy9saWIvcGx1Z2lucy9hdXRvcGxheS9hdXRvcGxheS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUN2QixNQUFNLENBQWdCO0lBQ3RCLE9BQU8sQ0FBTTtJQUNiLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVO0lBRWhDLElBQUksQ0FBQyxNQUFvQjtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQTZCO1FBQ3JDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUVwQixJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDNUIsQ0FBQztRQUVELG1DQUFtQztRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxJQUFJO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO3dHQTdDVSxvQkFBb0I7NEdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlkZXJQbHVnaW4gfSBmcm9tIFwiLi4vc2xpZGVyLXBsdWdpblwiO1xyXG5pbXBvcnQgeyBTbGlkZXJFbmdpbmUgfSBmcm9tIFwiLi4vLi4vZW5naW5lL3NsaWRlci1lbmdpbmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBdXRvcGxheVBsdWdpbkNvbmZpZyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2xpZGVyLWNvbmZpZy5tb2RlbFwiO1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbGlkZXJBdXRvcGxheVBsdWdpbiBpbXBsZW1lbnRzIFNsaWRlclBsdWdpbiB7XHJcbiAgcHJpdmF0ZSBlbmdpbmUhOiBTbGlkZXJFbmdpbmU7XHJcbiAgcHJpdmF0ZSB0aW1lcklkOiBhbnk7XHJcbiAgcHJpdmF0ZSBkZWxheSA9IDQwMDA7IC8vIGRlZmF1bHRcclxuXHJcbiAgaW5pdChlbmdpbmU6IFNsaWRlckVuZ2luZSkge1xyXG4gICAgdGhpcy5lbmdpbmUgPSBlbmdpbmU7XHJcbiAgICB0aGlzLnN0YXJ0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnPzogQXV0b3BsYXlQbHVnaW5Db25maWcpIHtcclxuICAgIGlmICghY29uZmlnKSByZXR1cm47XHJcblxyXG4gICAgaWYgKHR5cGVvZiBjb25maWcuZGVsYXkgPT09IFwibnVtYmVyXCIpIHtcclxuICAgICAgdGhpcy5kZWxheSA9IGNvbmZpZy5kZWxheTtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZXN0YXJ0IGF1dG9wbGF5IHdpdGggbmV3IGNvbmZpZ1xyXG4gICAgdGhpcy5zdGFydCgpO1xyXG4gIH1cclxuXHJcbiAgb25EcmFnU3RhcnQoKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuICB9XHJcblxyXG4gIG9uRHJhZ0VuZCgpIHtcclxuICAgIHRoaXMuc3RhcnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhcnQoKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuICAgIHRoaXMudGltZXJJZCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgdGhpcy5lbmdpbmUubmV4dCgpO1xyXG4gICAgfSwgdGhpcy5kZWxheSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3AoKSB7XHJcbiAgICBpZiAodGhpcy50aW1lcklkKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcklkKTtcclxuICAgICAgdGhpcy50aW1lcklkID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuICB9XHJcbn1cclxuIl19
|