@festo-ui/angular 7.0.0-dev.349 → 7.0.0-dev.352
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/forms/text-editor/text-editor.component.mjs +7 -8
- package/esm2022/lib/modals/image-gallery/image-gallery.component.mjs +23 -5
- package/fesm2022/festo-ui-angular.mjs +27 -10
- package/fesm2022/festo-ui-angular.mjs.map +1 -1
- package/lib/modals/image-gallery/image-gallery.component.d.ts +6 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { SwiperModule } from 'swiper/angular';
|
|
3
|
-
import SwiperCore, { FreeMode, Keyboard, Navigation, Thumbs, Zoom } from 'swiper';
|
|
4
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
+
import SwiperCore, { FreeMode, Keyboard, Navigation, Thumbs, Zoom } from 'swiper';
|
|
5
5
|
import { FngSafeHtmlPipe } from '../../pipes/safe-html.pipe';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "swiper/angular";
|
|
@@ -16,12 +16,16 @@ export class FngImageGalleryComponent {
|
|
|
16
16
|
thumbnailImages: [],
|
|
17
17
|
slideChanged: () => null,
|
|
18
18
|
pagination: true,
|
|
19
|
-
descriptiveContent: false
|
|
19
|
+
descriptiveContent: false,
|
|
20
|
+
showScaleButton: false
|
|
20
21
|
};
|
|
21
22
|
this.close = new EventEmitter();
|
|
23
|
+
this.scaleUp = new EventEmitter();
|
|
24
|
+
this.scaleDown = new EventEmitter();
|
|
22
25
|
this.cancel = new EventEmitter();
|
|
23
26
|
this.ok = new EventEmitter();
|
|
24
27
|
this.currentIndex = this.data.startIndex + 1;
|
|
28
|
+
this.isScaled = false;
|
|
25
29
|
}
|
|
26
30
|
onKeyUp(event) {
|
|
27
31
|
event.preventDefault();
|
|
@@ -41,16 +45,30 @@ export class FngImageGalleryComponent {
|
|
|
41
45
|
onClose() {
|
|
42
46
|
this.close.emit();
|
|
43
47
|
}
|
|
48
|
+
onScale() {
|
|
49
|
+
if (!this.isScaled) {
|
|
50
|
+
this.scaleUp.emit();
|
|
51
|
+
this.isScaled = true;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.scaleDown.emit();
|
|
55
|
+
this.isScaled = false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
44
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FngImageGalleryComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: FngImageGalleryComponent, isStandalone: true, selector: "fng-image-gallery", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: FngImageGalleryComponent, isStandalone: true, selector: "fng-image-gallery", inputs: { data: "data" }, outputs: { close: "close", scaleUp: "scaleUp", scaleDown: "scaleDown", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div class=\"fwe-modal fwe-modal-image-gallery\" *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\"\n class=\"fwe-pagination fwe-pagination--on-dark-bg fwe-pagination--lining-tabular-numbers\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button *ngIf=\"data?.showScaleButton === true\" aria-label=\"scale up\" type=\"button\"\n class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onScale()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-modal-image-gallery-scale\"\n [ngClass]=\"{'fwe-icon-arrows-scale-down': isScaled === true, 'fwe-icon-arrows-scale-up': isScaled === false}\"></i>\n </button>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onClose()\"\n [ngClass]=\"{'fwe-ml-auto': !data.showScaleButton, 'fwe-ml-3': data.showScaleButton}\">\n <i class=\"fwe-icon fwe-icon-2x fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper [initialSlide]=\"data.startIndex\" [keyboard]=\"{\n enabled: true\n }\" [spaceBetween]=\"0\" [zoom]=\"true\" [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\" [thumbs]=\"{ swiper: thumbsSwiper }\" (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\">\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\"\n [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper *ngIf=\"data.thumbnailImages?.length\" (swiper)=\"thumbsSwiper = $event\" [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\" [threshold]=\"20\" [watchSlidesProgress]=\"true\" class=\"thumbs-swiper fwe-image-gallery-thumbs\">\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img [alt]=\"thumbnail.alt\" [src]=\"thumbnail.url\" [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\" />\n </ng-template>\n </swiper>\n </div>\n</ng-template>", styles: [".fwe-modal-image-gallery{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: SwiperModule }, { kind: "component", type: i1.SwiperComponent, selector: "swiper, [swiper]", inputs: ["enabled", "on", "direction", "touchEventsTarget", "initialSlide", "speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "width", "height", "preventInteractionOnTransition", "userAgent", "url", "edgeSwipeDetection", "edgeSwipeThreshold", "freeMode", "autoHeight", "setWrapperSize", "virtualTranslate", "effect", "breakpoints", "spaceBetween", "slidesPerView", "maxBackfaceHiddenSlides", "grid", "slidesPerGroup", "slidesPerGroupSkip", "centeredSlides", "centeredSlidesBounds", "slidesOffsetBefore", "slidesOffsetAfter", "normalizeSlideIndex", "centerInsufficientSlides", "watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "shortSwipes", "longSwipes", "longSwipesRatio", "longSwipesMs", "followFinger", "allowTouchMove", "threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "resistance", "resistanceRatio", "watchSlidesProgress", "grabCursor", "preventClicks", "preventClicksPropagation", "slideToClickedSlide", "preloadImages", "updateOnImagesReady", "loop", "loopAdditionalSlides", "loopedSlides", "loopedSlidesLimit", "loopFillGroupWithBlank", "loopPreventsSlide", "rewind", "allowSlidePrev", "allowSlideNext", "swipeHandler", "noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observeParents", "observeSlideChildren", "a11y", "autoplay", "controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "parallax", "thumbs", "zoom", "slidesPerGroupAuto", "class", "id", "navigation", "pagination", "scrollbar", "virtual", "config"], outputs: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_swiper", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "doubleTap", "doubleClick", "destroy", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "navigationPrev", "navigationNext", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "update", "zoomChange", "swiper", "lock", "unlock"] }, { kind: "directive", type: i1.SwiperSlideDirective, selector: "ng-template[swiperSlide]", inputs: ["virtualIndex", "class", "ngClass", "data-swiper-autoplay", "zoom"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
46
60
|
}
|
|
47
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FngImageGalleryComponent, decorators: [{
|
|
48
62
|
type: Component,
|
|
49
|
-
args: [{ standalone: true, imports: [SwiperModule, CommonModule, FngSafeHtmlPipe], selector: 'fng-image-gallery', encapsulation: ViewEncapsulation.None, template: "<div
|
|
63
|
+
args: [{ standalone: true, imports: [SwiperModule, CommonModule, FngSafeHtmlPipe], selector: 'fng-image-gallery', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal fwe-modal-image-gallery\" *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\"\n class=\"fwe-pagination fwe-pagination--on-dark-bg fwe-pagination--lining-tabular-numbers\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button *ngIf=\"data?.showScaleButton === true\" aria-label=\"scale up\" type=\"button\"\n class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onScale()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-modal-image-gallery-scale\"\n [ngClass]=\"{'fwe-icon-arrows-scale-down': isScaled === true, 'fwe-icon-arrows-scale-up': isScaled === false}\"></i>\n </button>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onClose()\"\n [ngClass]=\"{'fwe-ml-auto': !data.showScaleButton, 'fwe-ml-3': data.showScaleButton}\">\n <i class=\"fwe-icon fwe-icon-2x fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper [initialSlide]=\"data.startIndex\" [keyboard]=\"{\n enabled: true\n }\" [spaceBetween]=\"0\" [zoom]=\"true\" [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\" [thumbs]=\"{ swiper: thumbsSwiper }\" (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\">\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\"\n [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper *ngIf=\"data.thumbnailImages?.length\" (swiper)=\"thumbsSwiper = $event\" [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\" [threshold]=\"20\" [watchSlidesProgress]=\"true\" class=\"thumbs-swiper fwe-image-gallery-thumbs\">\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img [alt]=\"thumbnail.alt\" [src]=\"thumbnail.url\" [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\" />\n </ng-template>\n </swiper>\n </div>\n</ng-template>", styles: [".fwe-modal-image-gallery{position:relative}\n"] }]
|
|
50
64
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
51
65
|
type: Input
|
|
52
66
|
}], close: [{
|
|
53
67
|
type: Output
|
|
68
|
+
}], scaleUp: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}], scaleDown: [{
|
|
71
|
+
type: Output
|
|
54
72
|
}], cancel: [{
|
|
55
73
|
type: Output
|
|
56
74
|
}], ok: [{
|
|
@@ -59,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
59
77
|
type: HostListener,
|
|
60
78
|
args: ['window:keyup', ['$event']]
|
|
61
79
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRzdELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQXdCL0QsTUFBTSxPQUFPLHdCQUF3QjtJQWdCbkMsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFmaEMsU0FBSSxHQUF3QjtZQUNuQyxVQUFVLEVBQUUsQ0FBQztZQUNiLE1BQU0sRUFBRSxFQUFFO1lBQ1YsZUFBZSxFQUFFLEVBQUU7WUFDbkIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDeEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsa0JBQWtCLEVBQUUsS0FBSztTQUMxQixDQUFDO1FBQ1EsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsT0FBRSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHdkMsaUJBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFSSxDQUFDO0lBRzdDLE9BQU8sQ0FBQyxLQUFvQjtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsTUFBaUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7OEdBdkNVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDROQ2hDckMsNitGQTBFQSxzR0RoRFksWUFBWSwwbkhBQUUsWUFBWSw4cUJBQUUsZUFBZTs7MkZBTTFDLHdCQUF3QjtrQkFScEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxZQUM1QyxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSTtzRkFHNUIsSUFBSTtzQkFBWixLQUFLO2dCQVFJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csRUFBRTtzQkFBWCxNQUFNO2dCQVFQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN3aXBlck1vZHVsZSB9IGZyb20gJ3N3aXBlci9hbmd1bGFyJztcblxuaW1wb3J0IFN3aXBlckNvcmUsIHsgRnJlZU1vZGUsIEtleWJvYXJkLCBOYXZpZ2F0aW9uLCBUaHVtYnMsIFpvb20gfSBmcm9tICdzd2lwZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZuZ1NhZmVIdG1sUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3NhZmUtaHRtbC5waXBlJztcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnLi4vbW9kYWxzLm1vZHVsZSc7XG5cblN3aXBlckNvcmUudXNlKFtGcmVlTW9kZSwgTmF2aWdhdGlvbiwgS2V5Ym9hcmQsIFRodW1icywgWm9vbV0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZuZ0ltYWdlRGVzY3JpcHRpdmVDb250ZW50IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgYm9keTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZuZ0ltYWdlR2FsbGVyeURhdGEge1xuICBzdGFydEluZGV4OiBudW1iZXI7XG4gIGltYWdlczogeyB1cmw6IHN0cmluZzsgYWx0OiBzdHJpbmc7IGNvbnRlbnQ/OiBGbmdJbWFnZURlc2NyaXB0aXZlQ29udGVudDsgY29udGFpbk1vZGU/OiBib29sZWFuIH1bXTtcbiAgdGh1bWJuYWlsSW1hZ2VzPzogeyB1cmw6IHN0cmluZzsgYWx0OiBzdHJpbmc7IGNvbnRhaW5Nb2RlPzogYm9vbGVhbiB9W107XG4gIHBhZ2luYXRpb24/OiBib29sZWFuO1xuICBkZXNjcmlwdGl2ZUNvbnRlbnQ/OiBib29sZWFuO1xuICBzbGlkZUNoYW5nZWQ/OiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTd2lwZXJNb2R1bGUsIENvbW1vbk1vZHVsZSwgRm5nU2FmZUh0bWxQaXBlXSxcbiAgc2VsZWN0b3I6ICdmbmctaW1hZ2UtZ2FsbGVyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ0ltYWdlR2FsbGVyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE1vZGFsPEZuZ0ltYWdlR2FsbGVyeURhdGEsIGFueT4ge1xuICBASW5wdXQoKSBkYXRhOiBGbmdJbWFnZUdhbGxlcnlEYXRhID0ge1xuICAgIHN0YXJ0SW5kZXg6IDAsXG4gICAgaW1hZ2VzOiBbXSxcbiAgICB0aHVtYm5haWxJbWFnZXM6IFtdLFxuICAgIHNsaWRlQ2hhbmdlZDogKCkgPT4gbnVsbCxcbiAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgIGRlc2NyaXB0aXZlQ29udGVudDogZmFsc2VcbiAgfTtcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9rID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgdGh1bWJzU3dpcGVyOiBhbnk7XG4gIGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5zdGFydEluZGV4ICsgMTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2MnIHx8IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2xpZGVDaGFuZ2Uoc3dpcGVyOiB7IGFjdGl2ZUluZGV4OiBudW1iZXIgfVtdKSB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXggPSBzd2lwZXJbMF0uYWN0aXZlSW5kZXggKyAxO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgaWYgKHRoaXMuZGF0YT8uc2xpZGVDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmRhdGEuc2xpZGVDaGFuZ2VkKHN3aXBlclswXS5hY3RpdmVJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZ3ZS1tb2RhbCBmd2UtbW9kYWwtaW1hZ2UtZ2FsbGVyeVwiXG4gICpuZ0lmPVwiZGF0YSAhPSBudWxsXCJcbiAgW2NsYXNzLmZ3ZS1tb2RhbC1pbWFnZS1nYWxsZXJ5LS13aXRoLXRodW1ibmFpbHNdPVwiZGF0YS50aHVtYm5haWxJbWFnZXM/Lmxlbmd0aFwiXG4gIFtjbGFzcy5md2UtbW9kYWwtaW1hZ2UtZ2FsbGVyeS0td2l0aC1jb250YWluZXJdPVwiZGF0YS5kZXNjcmlwdGl2ZUNvbnRlbnRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktaGVhZGVyXCI+XG4gICAgPGRpdiAqbmdJZj1cImRhdGEucGFnaW5hdGlvblwiIGNsYXNzPVwiZndlLXBhZ2luYXRpb24gZndlLXBhZ2luYXRpb24tLW9uLWRhcmstYmdcIj5cbiAgICAgIDxidXR0b24gYXJpYS1sYWJlbD1cInByZXZpb3VzXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLW5hdmlnYXRlLWJ0bi1kb3duXCI+PC9idXR0b24+XG4gICAgICA8c3BhbiBjbGFzcz1cImZ3ZS1wYWdlLWN1cnJlbnRcIj57eyBjdXJyZW50SW5kZXggfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImZ3ZS1wYWdlLW1heFwiPnt7IGRhdGEuaW1hZ2VzLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgIDxidXR0b24gYXJpYS1sYWJlbD1cIm5leHRcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtbmF2aWdhdGUtYnRuLXVwXCI+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiBhcmlhLWxhYmVsPVwiY2xvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGluayBmd2UtbWwtYXV0b1wiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tbGcgZndlLWNvbG9yLXdoaXRlIGZ3ZS1pY29uLW1lbnUtY2xvc2UgZndlLW1vZGFsLWltYWdlLWdhbGxlcnktY2xvc2VcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLmRlc2NyaXB0aXZlQ29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtaW1hZ2UtZ2FsbGVyeS1jb250YWluZXJcIiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJhc2VHYWxsZXJ5XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktY29udGVudFwiICpuZ0lmPVwiZGF0YS5pbWFnZXNbY3VycmVudEluZGV4IC0gMV0/LmNvbnRlbnQgYXMgaW1hZ2VDb250ZW50XCI+XG4gICAgICAgIDxoMz57eyBpbWFnZUNvbnRlbnQudGl0bGUgfX08L2gzPlxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaW1hZ2VDb250ZW50LmJvZHkgfCBmbmdTYWZlSHRtbFwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJhc2VHYWxsZXJ5XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYmFzZUdhbGxlcnk+XG4gIDxkaXYgY2xhc3M9XCJmd2UtaW1hZ2UtZ2FsbGVyeS13cmFwcGVyXCI+XG4gICAgPHN3aXBlclxuICAgICAgW2luaXRpYWxTbGlkZV09XCJkYXRhLnN0YXJ0SW5kZXhcIlxuICAgICAgW2tleWJvYXJkXT1cIntcbiAgICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgfVwiXG4gICAgICBbc3BhY2VCZXR3ZWVuXT1cIjBcIlxuICAgICAgW3pvb21dPVwidHJ1ZVwiXG4gICAgICBbbmF2aWdhdGlvbl09XCJ7XG4gICAgICAgIG5leHRFbDogJy5md2UtbmF2aWdhdGUtYnRuLXVwJyxcbiAgICAgICAgcHJldkVsOiAnLmZ3ZS1uYXZpZ2F0ZS1idG4tZG93bidcbiAgICAgIH1cIlxuICAgICAgW3RodW1ic109XCJ7IHN3aXBlcjogdGh1bWJzU3dpcGVyIH1cIlxuICAgICAgKHNsaWRlQ2hhbmdlKT1cIm9uU2xpZGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cImdhbGxlcnktc3dpcGVyIGZ3ZS1pbWFnZS1nYWxsZXJ5XCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IGltYWdlIG9mIGRhdGEuaW1hZ2VzXCIgc3dpcGVyU2xpZGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItem9vbS1jb250YWluZXJcIj5cbiAgICAgICAgICA8aW1nIFthbHRdPVwiaW1hZ2UuYWx0XCIgW3NyY109XCJpbWFnZS51cmxcIiBbY2xhc3MuZndlLW9iamVjdC1maXQtY29udGFpbl09XCJpbWFnZS5jb250YWluTW9kZVwiIFtjbGFzcy5md2UtcC1tXT1cImltYWdlLmNvbnRhaW5Nb2RlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc3dpcGVyPlxuICAgIDxzd2lwZXJcbiAgICAgICpuZ0lmPVwiZGF0YS50aHVtYm5haWxJbWFnZXM/Lmxlbmd0aFwiXG4gICAgICAoc3dpcGVyKT1cInRodW1ic1N3aXBlciA9ICRldmVudFwiXG4gICAgICBbc2xpZGVzUGVyVmlld109XCInYXV0bydcIlxuICAgICAgW2ZyZWVNb2RlXT1cInRydWVcIlxuICAgICAgW3RocmVzaG9sZF09XCIyMFwiXG4gICAgICBbd2F0Y2hTbGlkZXNQcm9ncmVzc109XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwidGh1bWJzLXN3aXBlciBmd2UtaW1hZ2UtZ2FsbGVyeS10aHVtYnNcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdGb3I9XCJsZXQgdGh1bWJuYWlsIG9mIGRhdGEudGh1bWJuYWlsSW1hZ2VzXCIgc3dpcGVyU2xpZGU+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBbYWx0XT1cInRodW1ibmFpbC5hbHRcIlxuICAgICAgICAgIFtzcmNdPVwidGh1bWJuYWlsLnVybFwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1vYmplY3QtZml0LWNvbnRhaW5dPVwidGh1bWJuYWlsLmNvbnRhaW5Nb2RlXCJcbiAgICAgICAgICBbY2xhc3MuZndlLXAteHh4c109XCJ0aHVtYm5haWwuY29udGFpbk1vZGVcIlxuICAgICAgICAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3N3aXBlcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRzdELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQXlCL0QsTUFBTSxPQUFPLHdCQUF3QjtJQXNCbkMsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFyQmhDLFNBQUksR0FBd0I7WUFDbkMsVUFBVSxFQUFFLENBQUM7WUFDYixNQUFNLEVBQUUsRUFBRTtZQUNWLGVBQWUsRUFBRSxFQUFFO1lBQ25CLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQ3hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsZUFBZSxFQUFFLEtBQUs7U0FDdkIsQ0FBQztRQUdRLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLE9BQUUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3ZDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFMkIsQ0FBQztJQUc3QyxPQUFPLENBQUMsS0FBb0I7UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWlDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7OEdBdkRVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHdRQ2pDckMsMDJHQTJEYyxzR0RoQ0YsWUFBWSwwbkhBQUUsWUFBWSw0d0JBQUUsZUFBZTs7MkZBTTFDLHdCQUF3QjtrQkFScEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxZQUM1QyxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSTtzRkFHNUIsSUFBSTtzQkFBWixLQUFLO2dCQVdJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEVBQUU7c0JBQVgsTUFBTTtnQkFTUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTd2lwZXJNb2R1bGUgfSBmcm9tICdzd2lwZXIvYW5ndWxhcic7XG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgU3dpcGVyQ29yZSwgeyBGcmVlTW9kZSwgS2V5Ym9hcmQsIE5hdmlnYXRpb24sIFRodW1icywgWm9vbSB9IGZyb20gJ3N3aXBlcic7XG5pbXBvcnQgeyBGbmdTYWZlSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJy4uL21vZGFscy5tb2R1bGUnO1xuXG5Td2lwZXJDb3JlLnVzZShbRnJlZU1vZGUsIE5hdmlnYXRpb24sIEtleWJvYXJkLCBUaHVtYnMsIFpvb21dKTtcblxuZXhwb3J0IGludGVyZmFjZSBGbmdJbWFnZURlc2NyaXB0aXZlQ29udGVudCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbmdJbWFnZUdhbGxlcnlEYXRhIHtcbiAgc3RhcnRJbmRleDogbnVtYmVyO1xuICBpbWFnZXM6IHsgdXJsOiBzdHJpbmc7IGFsdDogc3RyaW5nOyBjb250ZW50PzogRm5nSW1hZ2VEZXNjcmlwdGl2ZUNvbnRlbnQ7IGNvbnRhaW5Nb2RlPzogYm9vbGVhbiB9W107XG4gIHRodW1ibmFpbEltYWdlcz86IHsgdXJsOiBzdHJpbmc7IGFsdDogc3RyaW5nOyBjb250YWluTW9kZT86IGJvb2xlYW4gfVtdO1xuICBwYWdpbmF0aW9uPzogYm9vbGVhbjtcbiAgZGVzY3JpcHRpdmVDb250ZW50PzogYm9vbGVhbjtcbiAgc2xpZGVDaGFuZ2VkPzogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG4gIHNob3dTY2FsZUJ1dHRvbjogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTd2lwZXJNb2R1bGUsIENvbW1vbk1vZHVsZSwgRm5nU2FmZUh0bWxQaXBlXSxcbiAgc2VsZWN0b3I6ICdmbmctaW1hZ2UtZ2FsbGVyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ0ltYWdlR2FsbGVyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE1vZGFsPEZuZ0ltYWdlR2FsbGVyeURhdGEsIGFueT4ge1xuICBASW5wdXQoKSBkYXRhOiBGbmdJbWFnZUdhbGxlcnlEYXRhID0ge1xuICAgIHN0YXJ0SW5kZXg6IDAsXG4gICAgaW1hZ2VzOiBbXSxcbiAgICB0aHVtYm5haWxJbWFnZXM6IFtdLFxuICAgIHNsaWRlQ2hhbmdlZDogKCkgPT4gbnVsbCxcbiAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgIGRlc2NyaXB0aXZlQ29udGVudDogZmFsc2UsXG4gICAgc2hvd1NjYWxlQnV0dG9uOiBmYWxzZVxuICB9O1xuXG5cbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzY2FsZVVwID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzY2FsZURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0aHVtYnNTd2lwZXI6IGFueTtcbiAgY3VycmVudEluZGV4ID0gdGhpcy5kYXRhLnN0YXJ0SW5kZXggKyAxO1xuICBpc1NjYWxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzYycgfHwgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgb25TbGlkZUNoYW5nZShzd2lwZXI6IHsgYWN0aXZlSW5kZXg6IG51bWJlciB9W10pIHtcbiAgICB0aGlzLmN1cnJlbnRJbmRleCA9IHN3aXBlclswXS5hY3RpdmVJbmRleCArIDE7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICBpZiAodGhpcy5kYXRhPy5zbGlkZUNoYW5nZWQpIHtcbiAgICAgIHRoaXMuZGF0YS5zbGlkZUNoYW5nZWQoc3dpcGVyWzBdLmFjdGl2ZUluZGV4KTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgb25TY2FsZSgpIHtcbiAgICBpZighdGhpcy5pc1NjYWxlZCkge1xuICAgICAgdGhpcy5zY2FsZVVwLmVtaXQoKTtcbiAgICAgIHRoaXMuaXNTY2FsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNjYWxlRG93bi5lbWl0KCk7XG4gICAgICB0aGlzLmlzU2NhbGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZndlLW1vZGFsIGZ3ZS1tb2RhbC1pbWFnZS1nYWxsZXJ5XCIgKm5nSWY9XCJkYXRhICE9IG51bGxcIlxuICBbY2xhc3MuZndlLW1vZGFsLWltYWdlLWdhbGxlcnktLXdpdGgtdGh1bWJuYWlsc109XCJkYXRhLnRodW1ibmFpbEltYWdlcz8ubGVuZ3RoXCJcbiAgW2NsYXNzLmZ3ZS1tb2RhbC1pbWFnZS1nYWxsZXJ5LS13aXRoLWNvbnRhaW5lcl09XCJkYXRhLmRlc2NyaXB0aXZlQ29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktaGVhZGVyXCI+XG4gICAgPGRpdiAqbmdJZj1cImRhdGEucGFnaW5hdGlvblwiXG4gICAgICBjbGFzcz1cImZ3ZS1wYWdpbmF0aW9uIGZ3ZS1wYWdpbmF0aW9uLS1vbi1kYXJrLWJnIGZ3ZS1wYWdpbmF0aW9uLS1saW5pbmctdGFidWxhci1udW1iZXJzXCI+XG4gICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9XCJwcmV2aW91c1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1uYXZpZ2F0ZS1idG4tZG93blwiPjwvYnV0dG9uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmd2UtcGFnZS1jdXJyZW50XCI+e3sgY3VycmVudEluZGV4IH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmd2UtcGFnZS1tYXhcIj57eyBkYXRhLmltYWdlcy5sZW5ndGggfX08L3NwYW4+XG4gICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9XCJuZXh0XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLW5hdmlnYXRlLWJ0bi11cFwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gKm5nSWY9XCJkYXRhPy5zaG93U2NhbGVCdXR0b24gPT09IHRydWVcIiBhcmlhLWxhYmVsPVwic2NhbGUgdXBcIiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxpbmsgZndlLW1sLWF1dG9cIiAoY2xpY2spPVwib25TY2FsZSgpXCI+XG4gICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLWxnIGZ3ZS1jb2xvci13aGl0ZSBmd2UtbW9kYWwtaW1hZ2UtZ2FsbGVyeS1zY2FsZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZndlLWljb24tYXJyb3dzLXNjYWxlLWRvd24nOiBpc1NjYWxlZCA9PT0gdHJ1ZSwgJ2Z3ZS1pY29uLWFycm93cy1zY2FsZS11cCc6IGlzU2NhbGVkID09PSBmYWxzZX1cIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBhcmlhLWxhYmVsPVwiY2xvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGlua1wiIChjbGljayk9XCJvbkNsb3NlKClcIlxuICAgICAgW25nQ2xhc3NdPVwieydmd2UtbWwtYXV0byc6ICFkYXRhLnNob3dTY2FsZUJ1dHRvbiwgJ2Z3ZS1tbC0zJzogZGF0YS5zaG93U2NhbGVCdXR0b259XCI+XG4gICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLTJ4IGZ3ZS1jb2xvci13aGl0ZSBmd2UtaWNvbi1tZW51LWNsb3NlIGZ3ZS1tb2RhbC1pbWFnZS1nYWxsZXJ5LWNsb3NlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YS5kZXNjcmlwdGl2ZUNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktY29udGFpbmVyXCIgKm5nU3dpdGNoQ2FzZT1cInRydWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJiYXNlR2FsbGVyeVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzcz1cImZ3ZS1pbWFnZS1nYWxsZXJ5LWNvbnRlbnRcIiAqbmdJZj1cImRhdGEuaW1hZ2VzW2N1cnJlbnRJbmRleCAtIDFdPy5jb250ZW50IGFzIGltYWdlQ29udGVudFwiPlxuICAgICAgICA8aDM+e3sgaW1hZ2VDb250ZW50LnRpdGxlIH19PC9oMz5cbiAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImltYWdlQ29udGVudC5ib2R5IHwgZm5nU2FmZUh0bWxcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJiYXNlR2FsbGVyeVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2Jhc2VHYWxsZXJ5PlxuICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktd3JhcHBlclwiPlxuICAgIDxzd2lwZXIgW2luaXRpYWxTbGlkZV09XCJkYXRhLnN0YXJ0SW5kZXhcIiBba2V5Ym9hcmRdPVwie1xuICAgICAgICBlbmFibGVkOiB0cnVlXG4gICAgICB9XCIgW3NwYWNlQmV0d2Vlbl09XCIwXCIgW3pvb21dPVwidHJ1ZVwiIFtuYXZpZ2F0aW9uXT1cIntcbiAgICAgICAgbmV4dEVsOiAnLmZ3ZS1uYXZpZ2F0ZS1idG4tdXAnLFxuICAgICAgICBwcmV2RWw6ICcuZndlLW5hdmlnYXRlLWJ0bi1kb3duJ1xuICAgICAgfVwiIFt0aHVtYnNdPVwieyBzd2lwZXI6IHRodW1ic1N3aXBlciB9XCIgKHNsaWRlQ2hhbmdlKT1cIm9uU2xpZGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cImdhbGxlcnktc3dpcGVyIGZ3ZS1pbWFnZS1nYWxsZXJ5XCI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IGltYWdlIG9mIGRhdGEuaW1hZ2VzXCIgc3dpcGVyU2xpZGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItem9vbS1jb250YWluZXJcIj5cbiAgICAgICAgICA8aW1nIFthbHRdPVwiaW1hZ2UuYWx0XCIgW3NyY109XCJpbWFnZS51cmxcIiBbY2xhc3MuZndlLW9iamVjdC1maXQtY29udGFpbl09XCJpbWFnZS5jb250YWluTW9kZVwiXG4gICAgICAgICAgICBbY2xhc3MuZndlLXAtbV09XCJpbWFnZS5jb250YWluTW9kZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3N3aXBlcj5cbiAgICA8c3dpcGVyICpuZ0lmPVwiZGF0YS50aHVtYm5haWxJbWFnZXM/Lmxlbmd0aFwiIChzd2lwZXIpPVwidGh1bWJzU3dpcGVyID0gJGV2ZW50XCIgW3NsaWRlc1BlclZpZXddPVwiJ2F1dG8nXCJcbiAgICAgIFtmcmVlTW9kZV09XCJ0cnVlXCIgW3RocmVzaG9sZF09XCIyMFwiIFt3YXRjaFNsaWRlc1Byb2dyZXNzXT1cInRydWVcIiBjbGFzcz1cInRodW1icy1zd2lwZXIgZndlLWltYWdlLWdhbGxlcnktdGh1bWJzXCI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IHRodW1ibmFpbCBvZiBkYXRhLnRodW1ibmFpbEltYWdlc1wiIHN3aXBlclNsaWRlPlxuICAgICAgICA8aW1nIFthbHRdPVwidGh1bWJuYWlsLmFsdFwiIFtzcmNdPVwidGh1bWJuYWlsLnVybFwiIFtjbGFzcy5md2Utb2JqZWN0LWZpdC1jb250YWluXT1cInRodW1ibmFpbC5jb250YWluTW9kZVwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1wLXh4eHNdPVwidGh1bWJuYWlsLmNvbnRhaW5Nb2RlXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zd2lwZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|