@jooler/jooler-websites-shared 0.0.44 → 0.0.46

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.
@@ -1,12 +1,14 @@
1
1
  import { Component, HostListener, Input } from '@angular/core';
2
2
  import { animate, style, transition, trigger } from '@angular/animations';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@fortawesome/angular-fontawesome";
6
- import * as i3 from "primeng/galleria";
7
- import * as i4 from "primeng/api";
4
+ import * as i1 from "@angular/cdk/layout";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@fortawesome/angular-fontawesome";
7
+ import * as i4 from "primeng/galleria";
8
+ import * as i5 from "primeng/api";
8
9
  export class ImageGalleryModal {
9
- constructor() {
10
+ constructor(breakpointObserver) {
11
+ this.breakpointObserver = breakpointObserver;
10
12
  this.galleryData = [];
11
13
  this.showCount = false;
12
14
  this.previewImage = false;
@@ -17,6 +19,10 @@ export class ImageGalleryModal {
17
19
  this.totalImageCount = 0;
18
20
  }
19
21
  ngOnInit() {
22
+ this.breakpointObserver.observe("(max-width: 900px) and (min-width:0px)").subscribe((result) => {
23
+ if (result.breakpoints['(max-width: 900px) and (min-width:0px)'])
24
+ this.onClosePreview();
25
+ });
20
26
  this.totalImageCount = this.galleryData.length;
21
27
  this.responsiveOptions = [
22
28
  {
@@ -71,8 +77,8 @@ export class ImageGalleryModal {
71
77
  this.currentImageGalleryModal = this.galleryData[this.currentIndex];
72
78
  }
73
79
  }
74
- ImageGalleryModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ImageGalleryModal, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
- ImageGalleryModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ImageGalleryModal, selector: "image-gallery-modal", inputs: { galleryData: "galleryData", showCount: "showCount" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, ngImport: i0, template: "<div class=\"gallery-image-gallery-modal-container\">\n <div class=\"gallery\">\n <div *ngFor=\"let image of galleryData; let i = index\" class=\"gallery-image\">\n <img (click)=\"onPreviewImage(i)\" [src]=\"image.imageSrc\" [alt]=\"image.imageAlt\">\n </div>\n </div>\n <div *ngIf=\"showMask\" [ngClass]=\"{'hide-overflow' : showMask}\" class=\"image-gallery-modal\" @animation2>\n <div *ngIf=\"showCount\" class=\"count\">\n {{currentIndex + 1}}/{{totalImageCount}}\n </div>\n <button (click)=\"onClosePreview()\" *ngIf=\"previewImage\" class=\"close-btn\">\n <fa-icon icon=\"times\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-prev\" (click)=\"onclickPrev()\">\n <fa-icon icon=\"arrow-circle-left\" class=\"icon-image-gallery-modal-carousel icon-prev\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-next\" (click)=\"onclickNext()\">\n <fa-icon icon=\"arrow-circle-right\" class=\"icon-image-gallery-modal-carousel icon-next\"></fa-icon>\n </button>\n <div *ngIf=\"previewImage\" [@animation]=\"{value : 'visible'}\" (@animation.done)=\"onAnimationEnd($event)\"\n class=\"image-gallery-modal-img\">\n <img [src]=\"currentImageGalleryModal.imageSrc\" [alt]=\"currentImageGalleryModal.imageAlt\">\n </div>\n </div>\n</div>\n<p-galleria class=\"gallery-custom\" [value]=\"galleryData\" [responsiveOptions]=\"responsiveOptions\"\n [containerStyle]=\"{ 'max-width': '900px' }\" [numVisible]=\"6\">\n <ng-template pTemplate=\"item\" let-item>\n <div class=\"img\">\n <img class=\"big-img\" [src]=\"item.imageSrc\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"thumbnail\" let-item>\n <div class=\"grid grid-nogutter justify-content-center\">\n <img [src]=\"item.imageSrc\" style=\"width: 10rem; height:12rem\" class=\"small-img\" />\n </div>\n </ng-template>\n</p-galleria>", styles: [".gallery-custom{display:none}.gallery-image-gallery-modal-container{position:relative;display:block;padding:2.5rem;width:90%;margin:auto}@media only screen and (min-width: 1500px){.gallery-image-gallery-modal-container{max-width:150rem}}.gallery-image-gallery-modal-container .gallery{line-height:0;column-count:4;column-gap:2rem}.gallery-image-gallery-modal-container .gallery .gallery-image img{width:100%;height:auto;cursor:zoom-in;border-radius:.35rem;margin-bottom:3rem;box-shadow:0 .1rem .5rem #00000036}.gallery-image-gallery-modal-container .image-gallery-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;background-color:#000000d9;z-index:101;height:100%;overflow-y:auto}.gallery-image-gallery-modal-container .count{position:absolute;top:0;left:0;width:7%;height:10%;color:#fff;opacity:.7;font-size:1.8rem;display:flex;justify-content:center;align-items:center;margin-left:.5rem}.gallery-image-gallery-modal-container .close-btn{position:absolute;top:0;right:0;padding:0;color:#fff;background:0 0;border:0;cursor:pointer;width:7%;height:10%;z-index:10}.gallery-image-gallery-modal-container .close-btn fa-icon{font-size:2.5rem}.gallery-image-gallery-modal-container .btn-image-gallery-modal-carousel{display:flex;justify-content:center;align-items:center;position:absolute;z-index:1;width:8%;height:8%;padding:0;color:#fff;text-align:center;background:0 0;border:0;cursor:pointer}.gallery-image-gallery-modal-container .btn-prev{left:0}.gallery-image-gallery-modal-container .btn-next{right:0}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel{color:#fff;opacity:.5;transition:all .15s ease}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel:hover{opacity:.9}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel:active{opacity:.5}.gallery-image-gallery-modal-container .icon-prev,.gallery-image-gallery-modal-container .icon-next{font-size:3rem}.gallery-image-gallery-modal-container .image-gallery-modal-img img{width:100%;max-height:90vh;border-radius:1rem}.gallery-image-gallery-modal-container .hide-overflow{overflow:hidden}@media only screen and (max-width: 75em){.gallery-image-gallery-modal-container .gallery-custom{display:normal}.gallery-image-gallery-modal-container .gallery-image-gallery-modal-container{display:none}.gallery-image-gallery-modal-container .gallery{column-count:3;width:100%}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}@media only screen and (max-width: 56.25em){.gallery-image-gallery-modal-container .gallery{column-count:2}.gallery-image-gallery-modal-container .gallery-img img{max-width:100%}}@media only screen and (max-width: 37.5em){.gallery-image-gallery-modal-container .gallery{column-count:1}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}.small-img{width:10rem;height:12rem}@media only screen and (max-width: 56.25em){.gallery-custom{display:block;margin:auto;width:90%}.gallery-custom .img{width:90%}.gallery-custom .big-img{width:100%;height:50rem;object-fit:cover;border-radius:1.5rem;box-shadow:2rem 1rem 1.5rem -.5rem #e0e0e075;margin-bottom:2rem}.gallery-custom .small-img{object-fit:cover;border-radius:.7rem;box-shadow:1rem .4rem .5rem -.5rem #e0e0e075}.gallery-image-gallery-modal-container{display:none}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i3.Galleria, selector: "p-galleria", inputs: ["activeIndex", "fullScreen", "id", "value", "numVisible", "responsiveOptions", "showItemNavigators", "showThumbnailNavigators", "showItemNavigatorsOnHover", "changeItemOnIndicatorHover", "circular", "autoPlay", "transitionInterval", "showThumbnails", "thumbnailsPosition", "verticalThumbnailViewPortHeight", "showIndicators", "showIndicatorsOnItem", "indicatorsPosition", "baseZIndex", "maskClass", "containerClass", "containerStyle", "showTransitionOptions", "hideTransitionOptions", "visible"], outputs: ["activeIndexChange", "visibleChange"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], animations: [
80
+ ImageGalleryModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ImageGalleryModal, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
81
+ ImageGalleryModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ImageGalleryModal, selector: "image-gallery-modal", inputs: { galleryData: "galleryData", showCount: "showCount" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, ngImport: i0, template: "<div class=\"gallery-image-gallery-modal-container\">\n <div class=\"gallery\">\n <div *ngFor=\"let image of galleryData; let i = index\" class=\"gallery-image\">\n <img (click)=\"onPreviewImage(i)\" [src]=\"image.imageSrc\" [alt]=\"image.imageAlt\">\n </div>\n </div>\n <div *ngIf=\"showMask\" [ngClass]=\"{'hide-overflow' : showMask}\" class=\"image-gallery-modal\" @animation2>\n <div *ngIf=\"showCount\" class=\"count\">\n {{currentIndex + 1}}/{{totalImageCount}}\n </div>\n <button (click)=\"onClosePreview()\" *ngIf=\"previewImage\" class=\"close-btn\">\n <fa-icon icon=\"times\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-prev\" (click)=\"onclickPrev()\">\n <fa-icon icon=\"arrow-circle-left\" class=\"icon-image-gallery-modal-carousel icon-prev\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-next\" (click)=\"onclickNext()\">\n <fa-icon icon=\"arrow-circle-right\" class=\"icon-image-gallery-modal-carousel icon-next\"></fa-icon>\n </button>\n <div *ngIf=\"previewImage\" [@animation]=\"{value : 'visible'}\" (@animation.done)=\"onAnimationEnd($event)\"\n class=\"image-gallery-modal-img\">\n <img [src]=\"currentImageGalleryModal.imageSrc\" [alt]=\"currentImageGalleryModal.imageAlt\">\n </div>\n </div>\n</div>\n<p-galleria class=\"gallery-custom\" [value]=\"galleryData\" [responsiveOptions]=\"responsiveOptions\"\n [containerStyle]=\"{ 'max-width': '900px' }\" [numVisible]=\"6\">\n <ng-template pTemplate=\"item\" let-item>\n <div class=\"img\">\n <img class=\"big-img\" [src]=\"item.imageSrc\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"thumbnail\" let-item>\n <div class=\"grid grid-nogutter justify-content-center\">\n <img [src]=\"item.imageSrc\" style=\"width: 10rem; height:12rem\" class=\"small-img\" />\n </div>\n </ng-template>\n</p-galleria>", styles: [".gallery-custom{display:none}.gallery-image-gallery-modal-container{position:relative;display:block;padding:2.5rem;width:90%;margin:auto}@media only screen and (min-width: 1500px){.gallery-image-gallery-modal-container{max-width:150rem}}.gallery-image-gallery-modal-container .gallery{line-height:0;column-count:4;column-gap:2rem}.gallery-image-gallery-modal-container .gallery .gallery-image img{width:100%;height:auto;cursor:zoom-in;border-radius:.35rem;margin-bottom:3rem;box-shadow:0 .1rem .5rem #00000036}.gallery-image-gallery-modal-container .image-gallery-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;background-color:#000000d9;z-index:101;height:100%;overflow-y:auto}.gallery-image-gallery-modal-container .count{position:absolute;top:0;left:0;width:7%;height:10%;color:#fff;opacity:.7;font-size:1.8rem;display:flex;justify-content:center;align-items:center;margin-left:.5rem}.gallery-image-gallery-modal-container .close-btn{position:absolute;top:0;right:0;padding:0;color:#fff;background:0 0;border:0;cursor:pointer;width:7%;height:10%;z-index:10}.gallery-image-gallery-modal-container .close-btn fa-icon{font-size:2.5rem}.gallery-image-gallery-modal-container .btn-image-gallery-modal-carousel{display:flex;justify-content:center;align-items:center;position:absolute;z-index:1;width:8%;height:8%;padding:0;color:#fff;text-align:center;background:0 0;border:0;cursor:pointer}.gallery-image-gallery-modal-container .btn-prev{left:0}.gallery-image-gallery-modal-container .btn-next{right:0}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel{color:#fff;opacity:.5;transition:all .15s ease}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel:hover{opacity:.9}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel:active{opacity:.5}.gallery-image-gallery-modal-container .icon-prev,.gallery-image-gallery-modal-container .icon-next{font-size:3rem}.gallery-image-gallery-modal-container .image-gallery-modal-img img{width:100%;max-height:90vh;border-radius:1rem}.gallery-image-gallery-modal-container .hide-overflow{overflow:hidden}@media only screen and (max-width: 75em){.gallery-image-gallery-modal-container .gallery-custom{display:normal}.gallery-image-gallery-modal-container .gallery-image-gallery-modal-container{display:none}.gallery-image-gallery-modal-container .gallery{column-count:3;width:100%}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}@media only screen and (max-width: 56.25em){.gallery-image-gallery-modal-container .gallery{column-count:2}.gallery-image-gallery-modal-container .gallery-img img{max-width:100%}}@media only screen and (max-width: 37.5em){.gallery-image-gallery-modal-container .gallery{column-count:1}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}.small-img{width:10rem;height:12rem}@media only screen and (max-width: 56.25em){.gallery-custom{display:block;margin:auto;width:90%}.gallery-custom .img{width:90%}.gallery-custom .big-img{width:100%;height:50rem;object-fit:cover;border-radius:1.5rem;box-shadow:2rem 1rem 1.5rem -.5rem #e0e0e075;margin-bottom:2rem}.gallery-custom .small-img{object-fit:cover;border-radius:.7rem;box-shadow:1rem .4rem .5rem -.5rem #e0e0e075}.gallery-image-gallery-modal-container{display:none}}\n"], dependencies: [{ 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: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i4.Galleria, selector: "p-galleria", inputs: ["activeIndex", "fullScreen", "id", "value", "numVisible", "responsiveOptions", "showItemNavigators", "showThumbnailNavigators", "showItemNavigatorsOnHover", "changeItemOnIndicatorHover", "circular", "autoPlay", "transitionInterval", "showThumbnails", "thumbnailsPosition", "verticalThumbnailViewPortHeight", "showIndicators", "showIndicatorsOnItem", "indicatorsPosition", "baseZIndex", "maskClass", "containerClass", "containerStyle", "showTransitionOptions", "hideTransitionOptions", "visible"], outputs: ["activeIndexChange", "visibleChange"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], animations: [
76
82
  trigger('animation', [
77
83
  transition('void => visible', [
78
84
  style({ transform: 'scale(0.5)' }),
@@ -110,7 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
110
116
  ])
111
117
  ])
112
118
  ], template: "<div class=\"gallery-image-gallery-modal-container\">\n <div class=\"gallery\">\n <div *ngFor=\"let image of galleryData; let i = index\" class=\"gallery-image\">\n <img (click)=\"onPreviewImage(i)\" [src]=\"image.imageSrc\" [alt]=\"image.imageAlt\">\n </div>\n </div>\n <div *ngIf=\"showMask\" [ngClass]=\"{'hide-overflow' : showMask}\" class=\"image-gallery-modal\" @animation2>\n <div *ngIf=\"showCount\" class=\"count\">\n {{currentIndex + 1}}/{{totalImageCount}}\n </div>\n <button (click)=\"onClosePreview()\" *ngIf=\"previewImage\" class=\"close-btn\">\n <fa-icon icon=\"times\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-prev\" (click)=\"onclickPrev()\">\n <fa-icon icon=\"arrow-circle-left\" class=\"icon-image-gallery-modal-carousel icon-prev\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-next\" (click)=\"onclickNext()\">\n <fa-icon icon=\"arrow-circle-right\" class=\"icon-image-gallery-modal-carousel icon-next\"></fa-icon>\n </button>\n <div *ngIf=\"previewImage\" [@animation]=\"{value : 'visible'}\" (@animation.done)=\"onAnimationEnd($event)\"\n class=\"image-gallery-modal-img\">\n <img [src]=\"currentImageGalleryModal.imageSrc\" [alt]=\"currentImageGalleryModal.imageAlt\">\n </div>\n </div>\n</div>\n<p-galleria class=\"gallery-custom\" [value]=\"galleryData\" [responsiveOptions]=\"responsiveOptions\"\n [containerStyle]=\"{ 'max-width': '900px' }\" [numVisible]=\"6\">\n <ng-template pTemplate=\"item\" let-item>\n <div class=\"img\">\n <img class=\"big-img\" [src]=\"item.imageSrc\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"thumbnail\" let-item>\n <div class=\"grid grid-nogutter justify-content-center\">\n <img [src]=\"item.imageSrc\" style=\"width: 10rem; height:12rem\" class=\"small-img\" />\n </div>\n </ng-template>\n</p-galleria>", styles: [".gallery-custom{display:none}.gallery-image-gallery-modal-container{position:relative;display:block;padding:2.5rem;width:90%;margin:auto}@media only screen and (min-width: 1500px){.gallery-image-gallery-modal-container{max-width:150rem}}.gallery-image-gallery-modal-container .gallery{line-height:0;column-count:4;column-gap:2rem}.gallery-image-gallery-modal-container .gallery .gallery-image img{width:100%;height:auto;cursor:zoom-in;border-radius:.35rem;margin-bottom:3rem;box-shadow:0 .1rem .5rem #00000036}.gallery-image-gallery-modal-container .image-gallery-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;background-color:#000000d9;z-index:101;height:100%;overflow-y:auto}.gallery-image-gallery-modal-container .count{position:absolute;top:0;left:0;width:7%;height:10%;color:#fff;opacity:.7;font-size:1.8rem;display:flex;justify-content:center;align-items:center;margin-left:.5rem}.gallery-image-gallery-modal-container .close-btn{position:absolute;top:0;right:0;padding:0;color:#fff;background:0 0;border:0;cursor:pointer;width:7%;height:10%;z-index:10}.gallery-image-gallery-modal-container .close-btn fa-icon{font-size:2.5rem}.gallery-image-gallery-modal-container .btn-image-gallery-modal-carousel{display:flex;justify-content:center;align-items:center;position:absolute;z-index:1;width:8%;height:8%;padding:0;color:#fff;text-align:center;background:0 0;border:0;cursor:pointer}.gallery-image-gallery-modal-container .btn-prev{left:0}.gallery-image-gallery-modal-container .btn-next{right:0}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel{color:#fff;opacity:.5;transition:all .15s ease}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel:hover{opacity:.9}.gallery-image-gallery-modal-container .icon-image-gallery-modal-carousel:active{opacity:.5}.gallery-image-gallery-modal-container .icon-prev,.gallery-image-gallery-modal-container .icon-next{font-size:3rem}.gallery-image-gallery-modal-container .image-gallery-modal-img img{width:100%;max-height:90vh;border-radius:1rem}.gallery-image-gallery-modal-container .hide-overflow{overflow:hidden}@media only screen and (max-width: 75em){.gallery-image-gallery-modal-container .gallery-custom{display:normal}.gallery-image-gallery-modal-container .gallery-image-gallery-modal-container{display:none}.gallery-image-gallery-modal-container .gallery{column-count:3;width:100%}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}@media only screen and (max-width: 56.25em){.gallery-image-gallery-modal-container .gallery{column-count:2}.gallery-image-gallery-modal-container .gallery-img img{max-width:100%}}@media only screen and (max-width: 37.5em){.gallery-image-gallery-modal-container .gallery{column-count:1}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}.small-img{width:10rem;height:12rem}@media only screen and (max-width: 56.25em){.gallery-custom{display:block;margin:auto;width:90%}.gallery-custom .img{width:90%}.gallery-custom .big-img{width:100%;height:50rem;object-fit:cover;border-radius:1.5rem;box-shadow:2rem 1rem 1.5rem -.5rem #e0e0e075;margin-bottom:2rem}.gallery-custom .small-img{object-fit:cover;border-radius:.7rem;box-shadow:1rem .4rem .5rem -.5rem #e0e0e075}.gallery-image-gallery-modal-container{display:none}}\n"] }]
113
- }], ctorParameters: function () { return []; }, propDecorators: { galleryData: [{
119
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { galleryData: [{
114
120
  type: Input
115
121
  }], showCount: [{
116
122
  type: Input
@@ -118,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
118
124
  type: HostListener,
119
125
  args: ['document:keydown.escape', ['$event']]
120
126
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qb29sZXItd2Vic2l0ZXMtc2hhcmVkL3NyYy9saWIvaW1hZ2UtZ2FsbGVyeS1tb2RhbC9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pvb2xlci13ZWJzaXRlcy1zaGFyZWQvc3JjL2xpYi9pbWFnZS1nYWxsZXJ5LW1vZGFsL2ltYWdlLWdhbGxlcnktbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQXlCMUYsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QjtRQVZTLGdCQUFXLEdBQTZCLEVBQUUsQ0FBQztRQUMzQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsNkJBQXdCLEdBQTJCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixvQkFBZSxHQUFHLENBQUMsQ0FBQztJQUVKLENBQUM7SUFDakIsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFFL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHO1lBQ3ZCO2dCQUNFLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixVQUFVLEVBQUUsQ0FBQzthQUNkO1lBQ0Q7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LGlCQUFpQjtrQkF2QjdCLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CO3dCQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ25CLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtnQ0FDNUIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDO2dDQUNsQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDOzZCQUNuRCxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtnQ0FDNUIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO2dDQUNoQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDOzZCQUNyRCxDQUFDO3lCQUNILENBQUM7d0JBQ0YsT0FBTyxDQUFDLFlBQVksRUFBRTs0QkFDcEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO2dDQUNyQixPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzZCQUN6QyxDQUFDO3lCQUNILENBQUM7cUJBQ0g7MEVBR1EsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQWdDK0MsZ0JBQWdCO3NCQUFwRSxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdhbGxlcnlJdGVtc1Byb3BlcnRpZXMgfSBmcm9tICcuLi9tb2RlbHMvZ2FsbGVyeS1pdGVtcy1wcm9wZXJ0aWVzLm1vZGVsJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbWFnZS1nYWxsZXJ5LW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWdhbGxlcnktbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdhbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IHZpc2libGUnLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMC41KScgfSksXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgxKScgfSkpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gdm9pZCcsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgxKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgwLjUpJyB9KSlcbiAgICAgIF0pLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ2FuaW1hdGlvbjInLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSB9KSxcbiAgICAgICAgYW5pbWF0ZSgnNTBtcycsIHN0eWxlKHsgb3BhY2l0eTogMC44IH0pKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlR2FsbGVyeU1vZGFsIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZ2FsbGVyeURhdGE6IEdhbGxlcnlJdGVtc1Byb3BlcnRpZXNbXSA9IFtdO1xuICBASW5wdXQoKSBzaG93Q291bnQgPSBmYWxzZTtcblxuICBwcmV2aWV3SW1hZ2UgPSBmYWxzZTtcbiAgc2hvd01hc2sgPSBmYWxzZTtcbiAgY3VycmVudEltYWdlR2FsbGVyeU1vZGFsOiBHYWxsZXJ5SXRlbXNQcm9wZXJ0aWVzID0gdGhpcy5nYWxsZXJ5RGF0YVswXTtcbiAgY3VycmVudEluZGV4ID0gMDtcbiAgY29udHJvbHMgPSB0cnVlO1xuICB0b3RhbEltYWdlQ291bnQgPSAwO1xuICByZXNwb25zaXZlT3B0aW9uczogYW55W107XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudG90YWxJbWFnZUNvdW50ID0gdGhpcy5nYWxsZXJ5RGF0YS5sZW5ndGg7XG5cbiAgICB0aGlzLnJlc3BvbnNpdmVPcHRpb25zID0gW1xuICAgICAge1xuICAgICAgICBicmVha3BvaW50OiAnOTAwcHgnLFxuICAgICAgICBudW1WaXNpYmxlOiA1XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBicmVha3BvaW50OiAnNjAwcHgnLFxuICAgICAgICBudW1WaXNpYmxlOiA0XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBicmVha3BvaW50OiAnNTQwcHgnLFxuICAgICAgICBudW1WaXNpYmxlOiAzXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBicmVha3BvaW50OiAnNDAwcHgnLFxuICAgICAgICBudW1WaXNpYmxlOiAyXG4gICAgICB9XG4gICAgXTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLm9uQ2xvc2VQcmV2aWV3KCk7XG4gIH1cblxuICBvblByZXZpZXdJbWFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvd1kgPSAnaGlkZGVuJztcbiAgICB0aGlzLnNob3dNYXNrID0gdHJ1ZTtcbiAgICB0aGlzLnByZXZpZXdJbWFnZSA9IHRydWU7XG4gICAgdGhpcy5jdXJyZW50SW5kZXggPSBpbmRleDtcbiAgICB0aGlzLmN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbCA9IHRoaXMuZ2FsbGVyeURhdGFbaW5kZXhdO1xuICB9XG5cbiAgb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgdGhpcy5zaG93TWFzayA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBvbkNsb3NlUHJldmlldygpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93WSA9ICd2aXNpYmxlJztcbiAgICB0aGlzLnByZXZpZXdJbWFnZSA9IGZhbHNlO1xuICB9XG5cbiAgb25jbGlja1ByZXYoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXgrK1xuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA+IHRoaXMuZ2FsbGVyeURhdGEubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSAwO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbCA9IHRoaXMuZ2FsbGVyeURhdGFbdGhpcy5jdXJyZW50SW5kZXhdXG4gIH1cbiAgb25jbGlja05leHQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXgtLTtcbiAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPCAwKSB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IHRoaXMuZ2FsbGVyeURhdGEubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50SW1hZ2VHYWxsZXJ5TW9kYWwgPSB0aGlzLmdhbGxlcnlEYXRhW3RoaXMuY3VycmVudEluZGV4XVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWltYWdlLWdhbGxlcnktbW9kYWwtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImdhbGxlcnlcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgZ2FsbGVyeURhdGE7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImdhbGxlcnktaW1hZ2VcIj5cbiAgICAgICAgICAgIDxpbWcgKGNsaWNrKT1cIm9uUHJldmlld0ltYWdlKGkpXCIgW3NyY109XCJpbWFnZS5pbWFnZVNyY1wiIFthbHRdPVwiaW1hZ2UuaW1hZ2VBbHRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInNob3dNYXNrXCIgW25nQ2xhc3NdPVwieydoaWRlLW92ZXJmbG93JyA6IHNob3dNYXNrfVwiIGNsYXNzPVwiaW1hZ2UtZ2FsbGVyeS1tb2RhbFwiIEBhbmltYXRpb24yPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0NvdW50XCIgY2xhc3M9XCJjb3VudFwiPlxuICAgICAgICAgICAge3tjdXJyZW50SW5kZXggKyAxfX0ve3t0b3RhbEltYWdlQ291bnR9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25DbG9zZVByZXZpZXcoKVwiICpuZ0lmPVwicHJldmlld0ltYWdlXCIgY2xhc3M9XCJjbG9zZS1idG5cIj5cbiAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJ0aW1lc1wiPjwvZmEtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJjb250cm9sc1wiIGNsYXNzPVwiYnRuLWltYWdlLWdhbGxlcnktbW9kYWwtY2Fyb3VzZWwgYnRuLXByZXZcIiAoY2xpY2spPVwib25jbGlja1ByZXYoKVwiPlxuICAgICAgICAgICAgPGZhLWljb24gaWNvbj1cImFycm93LWNpcmNsZS1sZWZ0XCIgY2xhc3M9XCJpY29uLWltYWdlLWdhbGxlcnktbW9kYWwtY2Fyb3VzZWwgaWNvbi1wcmV2XCI+PC9mYS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNvbnRyb2xzXCIgY2xhc3M9XCJidG4taW1hZ2UtZ2FsbGVyeS1tb2RhbC1jYXJvdXNlbCBidG4tbmV4dFwiIChjbGljayk9XCJvbmNsaWNrTmV4dCgpXCI+XG4gICAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwiYXJyb3ctY2lyY2xlLXJpZ2h0XCIgY2xhc3M9XCJpY29uLWltYWdlLWdhbGxlcnktbW9kYWwtY2Fyb3VzZWwgaWNvbi1uZXh0XCI+PC9mYS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInByZXZpZXdJbWFnZVwiIFtAYW5pbWF0aW9uXT1cInt2YWx1ZSA6ICd2aXNpYmxlJ31cIiAoQGFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRW5kKCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbWFnZS1nYWxsZXJ5LW1vZGFsLWltZ1wiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbC5pbWFnZVNyY1wiIFthbHRdPVwiY3VycmVudEltYWdlR2FsbGVyeU1vZGFsLmltYWdlQWx0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48cC1nYWxsZXJpYSBjbGFzcz1cImdhbGxlcnktY3VzdG9tXCIgW3ZhbHVlXT1cImdhbGxlcnlEYXRhXCIgW3Jlc3BvbnNpdmVPcHRpb25zXT1cInJlc3BvbnNpdmVPcHRpb25zXCJcbiAgICBbY29udGFpbmVyU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogJzkwMHB4JyB9XCIgW251bVZpc2libGVdPVwiNlwiPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJpdGVtXCIgbGV0LWl0ZW0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJiaWctaW1nXCIgW3NyY109XCJpdGVtLmltYWdlU3JjXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwidGh1bWJuYWlsXCIgbGV0LWl0ZW0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtbm9ndXR0ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cIml0ZW0uaW1hZ2VTcmNcIiBzdHlsZT1cIndpZHRoOiAxMHJlbTsgaGVpZ2h0OjEycmVtXCIgY2xhc3M9XCJzbWFsbC1pbWdcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9wLWdhbGxlcmlhPiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qb29sZXItd2Vic2l0ZXMtc2hhcmVkL3NyYy9saWIvaW1hZ2UtZ2FsbGVyeS1tb2RhbC9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pvb2xlci13ZWJzaXRlcy1zaGFyZWQvc3JjL2xpYi9pbWFnZS1nYWxsZXJ5LW1vZGFsL2ltYWdlLWdhbGxlcnktbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUEwQjFGLE1BQU0sT0FBTyxpQkFBaUI7SUFXNUIsWUFDVSxrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVh2QyxnQkFBVyxHQUE2QixFQUFFLENBQUM7UUFDM0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDZCQUF3QixHQUEyQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxDQUFDLENBQUM7SUFNaEIsQ0FBQztJQUNMLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUM3Qix3Q0FBd0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUM5RSxJQUFH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QUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdhbGxlcnlJdGVtc1Byb3BlcnRpZXMgfSBmcm9tICcuLi9tb2RlbHMvZ2FsbGVyeS1pdGVtcy1wcm9wZXJ0aWVzLm1vZGVsJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1hZ2UtZ2FsbGVyeS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtZ2FsbGVyeS1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignYW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiB2aXNpYmxlJywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuNSknIH0pLFxuICAgICAgICBhbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSknIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlID0+IHZvaWQnLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSknIH0pLFxuICAgICAgICBhbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMC41KScgfSkpXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdhbmltYXRpb24yJywgW1xuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAuOCB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUdhbGxlcnlNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGdhbGxlcnlEYXRhOiBHYWxsZXJ5SXRlbXNQcm9wZXJ0aWVzW10gPSBbXTtcbiAgQElucHV0KCkgc2hvd0NvdW50ID0gZmFsc2U7XG5cbiAgcHJldmlld0ltYWdlID0gZmFsc2U7XG4gIHNob3dNYXNrID0gZmFsc2U7XG4gIGN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbDogR2FsbGVyeUl0ZW1zUHJvcGVydGllcyA9IHRoaXMuZ2FsbGVyeURhdGFbMF07XG4gIGN1cnJlbnRJbmRleCA9IDA7XG4gIGNvbnRyb2xzID0gdHJ1ZTtcbiAgdG90YWxJbWFnZUNvdW50ID0gMDtcbiAgcmVzcG9uc2l2ZU9wdGlvbnM6IGFueVtdO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuXG4gICAgXG4gICkgeyB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoXG4gICAgICBcIihtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG1pbi13aWR0aDowcHgpXCIpLnN1YnNjcmliZSgocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYocmVzdWx0LmJyZWFrcG9pbnRzWycobWF4LXdpZHRoOiA5MDBweCkgIGFuZCAobWluLXdpZHRoOjBweCknXSlcbiAgICAgICAgdGhpcy5vbkNsb3NlUHJldmlldygpO1xuICAgICAgICBcbiAgICB9KTtcbiAgICB0aGlzLnRvdGFsSW1hZ2VDb3VudCA9IHRoaXMuZ2FsbGVyeURhdGEubGVuZ3RoO1xuXG4gICAgdGhpcy5yZXNwb25zaXZlT3B0aW9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzkwMHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogNVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzYwMHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogNFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzU0MHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogM1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzQwMHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogMlxuICAgICAgfVxuICAgIF07XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKSBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNsb3NlUHJldmlldygpO1xuICB9XG5cbiAgb25QcmV2aWV3SW1hZ2UoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3dZID0gJ2hpZGRlbic7XG4gICAgdGhpcy5zaG93TWFzayA9IHRydWU7XG4gICAgdGhpcy5wcmV2aWV3SW1hZ2UgPSB0cnVlO1xuICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XG4gICAgdGhpcy5jdXJyZW50SW1hZ2VHYWxsZXJ5TW9kYWwgPSB0aGlzLmdhbGxlcnlEYXRhW2luZGV4XTtcbiAgfVxuXG4gIG9uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcbiAgICAgIHRoaXMuc2hvd01hc2sgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgb25DbG9zZVByZXZpZXcoKSB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvd1kgPSAndmlzaWJsZSc7XG4gICAgdGhpcy5wcmV2aWV3SW1hZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIG9uY2xpY2tQcmV2KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudEluZGV4KytcbiAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPiB0aGlzLmdhbGxlcnlEYXRhLmxlbmd0aCAtIDEpIHtcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gMDtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50SW1hZ2VHYWxsZXJ5TW9kYWwgPSB0aGlzLmdhbGxlcnlEYXRhW3RoaXMuY3VycmVudEluZGV4XVxuICB9XG4gIG9uY2xpY2tOZXh0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudEluZGV4LS07XG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4IDwgMCkge1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSB0aGlzLmdhbGxlcnlEYXRhLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudEltYWdlR2FsbGVyeU1vZGFsID0gdGhpcy5nYWxsZXJ5RGF0YVt0aGlzLmN1cnJlbnRJbmRleF1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5XCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltYWdlIG9mIGdhbGxlcnlEYXRhOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJnYWxsZXJ5LWltYWdlXCI+XG4gICAgICAgICAgICA8aW1nIChjbGljayk9XCJvblByZXZpZXdJbWFnZShpKVwiIFtzcmNdPVwiaW1hZ2UuaW1hZ2VTcmNcIiBbYWx0XT1cImltYWdlLmltYWdlQWx0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzaG93TWFza1wiIFtuZ0NsYXNzXT1cInsnaGlkZS1vdmVyZmxvdycgOiBzaG93TWFza31cIiBjbGFzcz1cImltYWdlLWdhbGxlcnktbW9kYWxcIiBAYW5pbWF0aW9uMj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dDb3VudFwiIGNsYXNzPVwiY291bnRcIj5cbiAgICAgICAgICAgIHt7Y3VycmVudEluZGV4ICsgMX19L3t7dG90YWxJbWFnZUNvdW50fX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9uQ2xvc2VQcmV2aWV3KClcIiAqbmdJZj1cInByZXZpZXdJbWFnZVwiIGNsYXNzPVwiY2xvc2UtYnRuXCI+XG4gICAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwidGltZXNcIj48L2ZhLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29udHJvbHNcIiBjbGFzcz1cImJ0bi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGJ0bi1wcmV2XCIgKGNsaWNrKT1cIm9uY2xpY2tQcmV2KClcIj5cbiAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJhcnJvdy1jaXJjbGUtbGVmdFwiIGNsYXNzPVwiaWNvbi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGljb24tcHJldlwiPjwvZmEtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJjb250cm9sc1wiIGNsYXNzPVwiYnRuLWltYWdlLWdhbGxlcnktbW9kYWwtY2Fyb3VzZWwgYnRuLW5leHRcIiAoY2xpY2spPVwib25jbGlja05leHQoKVwiPlxuICAgICAgICAgICAgPGZhLWljb24gaWNvbj1cImFycm93LWNpcmNsZS1yaWdodFwiIGNsYXNzPVwiaWNvbi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGljb24tbmV4dFwiPjwvZmEtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJwcmV2aWV3SW1hZ2VcIiBbQGFuaW1hdGlvbl09XCJ7dmFsdWUgOiAndmlzaWJsZSd9XCIgKEBhbmltYXRpb24uZG9uZSk9XCJvbkFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2UtZ2FsbGVyeS1tb2RhbC1pbWdcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJjdXJyZW50SW1hZ2VHYWxsZXJ5TW9kYWwuaW1hZ2VTcmNcIiBbYWx0XT1cImN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbC5pbWFnZUFsdFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPHAtZ2FsbGVyaWEgY2xhc3M9XCJnYWxsZXJ5LWN1c3RvbVwiIFt2YWx1ZV09XCJnYWxsZXJ5RGF0YVwiIFtyZXNwb25zaXZlT3B0aW9uc109XCJyZXNwb25zaXZlT3B0aW9uc1wiXG4gICAgW2NvbnRhaW5lclN0eWxlXT1cInsgJ21heC13aWR0aCc6ICc5MDBweCcgfVwiIFtudW1WaXNpYmxlXT1cIjZcIj5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaXRlbVwiIGxldC1pdGVtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiYmlnLWltZ1wiIFtzcmNdPVwiaXRlbS5pbWFnZVNyY1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInRodW1ibmFpbFwiIGxldC1pdGVtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLW5vZ3V0dGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtLmltYWdlU3JjXCIgc3R5bGU9XCJ3aWR0aDogMTByZW07IGhlaWdodDoxMnJlbVwiIGNsYXNzPVwic21hbGwtaW1nXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1nYWxsZXJpYT4iXX0=