ctt-puro 0.45.11 → 0.46.1

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.
Files changed (66) hide show
  1. package/esm2022/lib/components/puro-banner-slider/puro-banner-slider.component.mjs +10 -5
  2. package/esm2022/lib/components/puro-banner4col/puro-banner4col.component.mjs +6 -5
  3. package/esm2022/lib/components/puro-blog-list/puro-blog-list.component.mjs +6 -5
  4. package/esm2022/lib/components/puro-blog-post/puro-blog-post.component.mjs +11 -5
  5. package/esm2022/lib/components/puro-careers-form/puro-careers-form.component.mjs +6 -4
  6. package/esm2022/lib/components/puro-events-form/puro-events-form.component.mjs +5 -4
  7. package/esm2022/lib/components/puro-faqs-img/puro-faqs-img.component.mjs +6 -5
  8. package/esm2022/lib/components/puro-footer-hotels/puro-footer-hotels.component.mjs +9 -4
  9. package/esm2022/lib/components/puro-footer-info/puro-footer-info.component.mjs +6 -5
  10. package/esm2022/lib/components/puro-footer-links/puro-footer-links.component.mjs +10 -5
  11. package/esm2022/lib/components/puro-gallery/puro-gallery.component.mjs +6 -5
  12. package/esm2022/lib/components/puro-grid3col-filter/puro-grid3col-filter.component.mjs +10 -5
  13. package/esm2022/lib/components/puro-grid3col-plus-filter/puro-grid3col-plus-filter.component.mjs +5 -4
  14. package/esm2022/lib/components/puro-grid3col-slider/puro-grid3col-slider.component.mjs +5 -4
  15. package/esm2022/lib/components/puro-grid4items/puro-grid4items.component.mjs +5 -4
  16. package/esm2022/lib/components/puro-grid5items/puro-grid5items.component.mjs +11 -5
  17. package/esm2022/lib/components/puro-grid6items/puro-grid6items.component.mjs +11 -5
  18. package/esm2022/lib/components/puro-hotels-modal/puro-hotels-modal.component.mjs +11 -5
  19. package/esm2022/lib/components/puro-img-info/puro-img-info.component.mjs +5 -4
  20. package/esm2022/lib/components/puro-info-banner/puro-info-banner.component.mjs +11 -5
  21. package/esm2022/lib/components/puro-info-gallery/puro-info-gallery.component.mjs +5 -4
  22. package/esm2022/lib/components/puro-info-list/puro-info-list.component.mjs +7 -3
  23. package/esm2022/lib/components/puro-info-services/puro-info-services.component.mjs +11 -5
  24. package/esm2022/lib/components/puro-info-slider/puro-info-slider.component.mjs +13 -5
  25. package/esm2022/lib/components/puro-info2col/puro-info2col.component.mjs +12 -5
  26. package/esm2022/lib/components/puro-list-awards/puro-list-awards.component.mjs +11 -5
  27. package/esm2022/lib/components/puro-list-general/puro-list-general.component.mjs +11 -5
  28. package/esm2022/lib/components/puro-list-logos/puro-list-logos.component.mjs +5 -4
  29. package/esm2022/lib/components/puro-list-restaurants/puro-list-restaurants.component.mjs +11 -5
  30. package/esm2022/lib/components/puro-map-list/puro-map-list.component.mjs +10 -4
  31. package/esm2022/lib/components/puro-modal-info/puro-modal-info.component.mjs +11 -5
  32. package/esm2022/lib/components/puro-modal-options/puro-modal-options.component.mjs +12 -6
  33. package/esm2022/lib/components/puro-music-slider/puro-music-slider.component.mjs +9 -5
  34. package/esm2022/lib/components/puro-newsletter/puro-newsletter.component.mjs +5 -3
  35. package/esm2022/lib/components/puro-offer-banner/puro-offer-banner.component.mjs +6 -5
  36. package/esm2022/lib/components/puro-offers-slider/puro-offers-slider.component.mjs +11 -5
  37. package/esm2022/lib/components/puro-photo-slider/puro-photo-slider.component.mjs +11 -5
  38. package/esm2022/lib/components/puro-projects-form/puro-projects-form.component.mjs +11 -4
  39. package/esm2022/lib/components/puro-slider-4items/puro-slider-4items.component.mjs +9 -5
  40. package/esm2022/lib/components/puro-slider1col/puro-slider1col.component.mjs +5 -4
  41. package/esm2022/lib/components/puro-slider2col/puro-slider2col.component.mjs +11 -5
  42. package/esm2022/lib/components/puro-slider3card/puro-slider3card.component.mjs +11 -5
  43. package/esm2022/lib/components/puro-slider3col/puro-slider3col.component.mjs +8 -3
  44. package/esm2022/lib/components/puro-slider3col-round/puro-slider3col-round.component.mjs +8 -3
  45. package/esm2022/lib/components/puro-thanks/puro-thanks.component.mjs +10 -5
  46. package/esm2022/lib/components/puro-timeline/puro-timeline.component.mjs +5 -4
  47. package/esm2022/lib/components/puro-top-slider/puro-top-slider.component.mjs +6 -5
  48. package/esm2022/lib/components/puro-vertical-info/puro-vertical-info.component.mjs +5 -4
  49. package/esm2022/lib/components/puro-webmap/puro-webmap.component.mjs +10 -5
  50. package/esm2022/lib/components/puro-zigzag2col/puro-zigzag2col.component.mjs +10 -5
  51. package/esm2022/lib/directives/index.mjs +2 -1
  52. package/esm2022/lib/directives/puro-img-wrapper/puro-img-wrapper.directive.mjs +38 -0
  53. package/esm2022/lib/services/mapper/mapper.service.mjs +20 -17
  54. package/fesm2022/ctt-puro.mjs +332 -105
  55. package/fesm2022/ctt-puro.mjs.map +1 -1
  56. package/lib/components/puro-banner-slider/puro-banner-slider.component.d.ts +1 -1
  57. package/lib/components/puro-careers-form/puro-careers-form.component.d.ts +3 -3
  58. package/lib/components/puro-faqs-img/puro-faqs-img.component.d.ts +1 -1
  59. package/lib/components/puro-gallery/puro-gallery.component.d.ts +1 -1
  60. package/lib/components/puro-grid3col-filter/puro-grid3col-filter.component.d.ts +1 -2
  61. package/lib/components/puro-info-services/puro-info-services.component.d.ts +1 -1
  62. package/lib/components/puro-info-slider/puro-info-slider.component.d.ts +1 -2
  63. package/lib/components/puro-projects-form/puro-projects-form.component.d.ts +1 -1
  64. package/lib/directives/index.d.ts +1 -0
  65. package/lib/directives/puro-img-wrapper/puro-img-wrapper.directive.d.ts +11 -0
  66. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { CommonModule, NgOptimizedImage } from '@angular/common';
1
+ import { CommonModule, NgOptimizedImage, } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Input, computed, signal, } from '@angular/core';
3
- import { PuroFilterGalleryDirective, PuroActiveModalDirective, PuroLinkTypeDirective, } from '../../directives';
3
+ import { AutoImageZoomWrapperDirective, PuroActiveModalDirective, PuroFilterGalleryDirective, PuroLinkTypeDirective, } from '../../directives';
4
4
  import { PuroDynamicHeadingComponent } from '../../shared/puro-dynamic-heading';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../services";
@@ -42,7 +42,7 @@ export class PuroGalleryComponent {
42
42
  });
43
43
  }
44
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGalleryComponent, deps: [{ token: i1.ModalStateService }], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGalleryComponent, isStandalone: true, selector: "lib-puro-gallery", inputs: { pretitle: "pretitle", title: "title", roomTitle: "roomTitle", filters: "filters", items: "items", button: "button", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"gallery gallery--withTabs generalMargin\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"gallery__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"gallery__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n @if (categoriesFilters()) {\n <ul class=\"gallery__tabs\">\n @for (option of categoriesFilters(); track $index) {\n <!-- Filtros normales -->\n @if (!option.rooms) {\n <li\n role=\"button\"\n class=\"js-filter-gallery\"\n [filterGallery]=\"option\"\n (filterSelect)=\"filterItems($event)\"\n [class.active]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.aria-selected]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.data-filter_category]=\"option.id\"\n [attr.aria-label]=\"option.text\"\n >\n {{ option.text }}\n </li>\n }\n\n <!-- Rooms: MISMO patr\u00F3n que languages -->\n @if (option.rooms) {\n <li\n class=\"js-active-modal\"\n activeModal\n data-modal_name=\"filter\"\n role=\"button\"\n (click)=\"prepareRoomsModal()\"\n [attr.aria-label]=\"option.text || 'Rooms'\"\n >\n {{ option.text }}\n </li>\n }\n }\n </ul>\n <!-- Categor\u00EDas (sin rooms ni room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"categoriesFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Categor\u00EDas</option>\n @for (option of categoriesFilters(); track $index) {\n @if (!option.rooms && !option.room) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n\n <!-- Habitaciones (room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"roomsFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Habitaciones</option>\n @for (option of roomsFilters(); track $index) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n\n <div class=\"gallery__list galleryGrid__for-7\">\n @if (itemsDisplayed()) {\n @for (item of itemsDisplayed(); track $index) {\n <div\n class=\"gallery__item show\"\n [attr.data-category]=\"item.filter\"\n [attr.data-title]=\"item.title\"\n >\n <div\n role=\"button\"\n class=\"gallery__box js-active-modal\"\n activeModal\n data-modal_name=\"gallery\"\n [attr.aria-label]=\"item.title ?? 'Gallery Item'\"\n [attr.data-img]=\"item.img?.src\"\n [attr.data-title]=\"item.title\"\n >\n <div class=\"gallery__graphic\">\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"789\"\n height=\"747\"\n class=\"gallery__graphic--img\"\n [alt]=\"item.title\"\n fetchpriority=\"high\"\n priority\n />\n <div class=\"gallery__zoom\">\n <span>{{ item.title }}</span>\n <i class=\"icon-84\"></i>\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n puroLinkType\n [linkType]=\"button.linkType\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroFilterGalleryDirective, selector: "[filterGallery]", inputs: ["filterGallery"], outputs: ["filterSelect"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGalleryComponent, isStandalone: true, selector: "lib-puro-gallery", inputs: { pretitle: "pretitle", title: "title", roomTitle: "roomTitle", filters: "filters", items: "items", button: "button", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"gallery gallery--withTabs generalMargin\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"gallery__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"gallery__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n @if (categoriesFilters()) {\n <ul class=\"gallery__tabs\">\n @for (option of categoriesFilters(); track $index) {\n <!-- Filtros normales -->\n @if (!option.rooms) {\n <li\n role=\"button\"\n class=\"js-filter-gallery\"\n [filterGallery]=\"option\"\n (filterSelect)=\"filterItems($event)\"\n [class.active]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.aria-selected]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.data-filter_category]=\"option.id\"\n [attr.aria-label]=\"option.text\"\n >\n {{ option.text }}\n </li>\n }\n\n <!-- Rooms: MISMO patr\u00F3n que languages -->\n @if (option.rooms) {\n <li\n class=\"js-active-modal\"\n activeModal\n data-modal_name=\"filter\"\n role=\"button\"\n (click)=\"prepareRoomsModal()\"\n [attr.aria-label]=\"option.text || 'Rooms'\"\n >\n {{ option.text }}\n </li>\n }\n }\n </ul>\n <!-- Categor\u00EDas (sin rooms ni room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"categoriesFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Categor\u00EDas</option>\n @for (option of categoriesFilters(); track $index) {\n @if (!option.rooms && !option.room) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n\n <!-- Habitaciones (room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"roomsFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Habitaciones</option>\n @for (option of roomsFilters(); track $index) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n\n <div class=\"gallery__list galleryGrid__for-7\">\n @if (itemsDisplayed()) {\n @for (item of itemsDisplayed(); track $index) {\n <div\n class=\"gallery__item show\"\n [attr.data-category]=\"item.filter\"\n [attr.data-title]=\"item.title\"\n >\n <div\n role=\"button\"\n class=\"gallery__box js-active-modal\"\n activeModal\n data-modal_name=\"gallery\"\n [attr.aria-label]=\"item.title ?? 'Gallery Item'\"\n [attr.data-img]=\"item.img?.src\"\n [attr.data-title]=\"item.title\"\n >\n <div class=\"gallery__graphic\">\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"789\"\n height=\"747\"\n class=\"gallery__graphic--img\"\n [alt]=\"item.title\"\n fetchpriority=\"high\"\n priority\n />\n <div class=\"gallery__zoom\">\n <span>{{ item.title }}</span>\n <i class=\"icon-84\"></i>\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n puroLinkType\n [linkType]=\"button.linkType\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroFilterGalleryDirective, selector: "[filterGallery]", inputs: ["filterGallery"], outputs: ["filterSelect"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
46
  }
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGalleryComponent, decorators: [{
48
48
  type: Component,
@@ -52,7 +52,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
52
52
  PuroLinkTypeDirective,
53
53
  PuroActiveModalDirective,
54
54
  PuroFilterGalleryDirective,
55
- NgOptimizedImage
55
+ NgOptimizedImage,
56
+ AutoImageZoomWrapperDirective,
56
57
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"gallery gallery--withTabs generalMargin\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"gallery__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"gallery__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n @if (categoriesFilters()) {\n <ul class=\"gallery__tabs\">\n @for (option of categoriesFilters(); track $index) {\n <!-- Filtros normales -->\n @if (!option.rooms) {\n <li\n role=\"button\"\n class=\"js-filter-gallery\"\n [filterGallery]=\"option\"\n (filterSelect)=\"filterItems($event)\"\n [class.active]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.aria-selected]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.data-filter_category]=\"option.id\"\n [attr.aria-label]=\"option.text\"\n >\n {{ option.text }}\n </li>\n }\n\n <!-- Rooms: MISMO patr\u00F3n que languages -->\n @if (option.rooms) {\n <li\n class=\"js-active-modal\"\n activeModal\n data-modal_name=\"filter\"\n role=\"button\"\n (click)=\"prepareRoomsModal()\"\n [attr.aria-label]=\"option.text || 'Rooms'\"\n >\n {{ option.text }}\n </li>\n }\n }\n </ul>\n <!-- Categor\u00EDas (sin rooms ni room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"categoriesFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Categor\u00EDas</option>\n @for (option of categoriesFilters(); track $index) {\n @if (!option.rooms && !option.room) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n\n <!-- Habitaciones (room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"roomsFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Habitaciones</option>\n @for (option of roomsFilters(); track $index) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n\n <div class=\"gallery__list galleryGrid__for-7\">\n @if (itemsDisplayed()) {\n @for (item of itemsDisplayed(); track $index) {\n <div\n class=\"gallery__item show\"\n [attr.data-category]=\"item.filter\"\n [attr.data-title]=\"item.title\"\n >\n <div\n role=\"button\"\n class=\"gallery__box js-active-modal\"\n activeModal\n data-modal_name=\"gallery\"\n [attr.aria-label]=\"item.title ?? 'Gallery Item'\"\n [attr.data-img]=\"item.img?.src\"\n [attr.data-title]=\"item.title\"\n >\n <div class=\"gallery__graphic\">\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"789\"\n height=\"747\"\n class=\"gallery__graphic--img\"\n [alt]=\"item.title\"\n fetchpriority=\"high\"\n priority\n />\n <div class=\"gallery__zoom\">\n <span>{{ item.title }}</span>\n <i class=\"icon-84\"></i>\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n puroLinkType\n [linkType]=\"button.linkType\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n</section>\n" }]
57
58
  }], ctorParameters: () => [{ type: i1.ModalStateService }], propDecorators: { pretitle: [{
58
59
  type: Input
@@ -71,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
71
72
  }], textColors: [{
72
73
  type: Input
73
74
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1nYWxsZXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ2FsbGVyeS9wdXJvLWdhbGxlcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1nYWxsZXJ5L3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFPdkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIscUJBQXFCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQWlCaEYsTUFBTSxPQUFPLG9CQUFvQjtJQTBCN0IsWUFBNkIsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFoQjFELG1CQUFjLEdBQUcsTUFBTSxDQUFnQyxTQUFTLENBQUMsQ0FBQztRQUVsRSx3QkFBd0I7UUFDeEIsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUM5QixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDOUMsQ0FBQztRQUNGLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTFFLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNwRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FDckIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FDaEQsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBRTBELENBQUM7SUFFOUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLFdBQVcsQ0FBQyxNQUEwQjtRQUNsQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFcEIsaUNBQWlDO1FBQ2pDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU87U0FDVjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELGlCQUFpQjtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUztZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBdERRLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9QQ3JDakMseXJNQTZKQSx5RERuSUksWUFBWSwrQkFDWiwyQkFBMkIsaUlBQzNCLHFCQUFxQiw0SUFDckIsd0JBQXdCLDBEQUN4QiwwQkFBMEIsa0hBQzFCLGdCQUFnQjs7NEZBTVAsb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1A7d0JBQ1QsWUFBWTt3QkFDWiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLGdCQUFnQjtxQkFDbkIsbUJBR29CLHVCQUF1QixDQUFDLE1BQU07c0ZBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgY29tcHV0ZWQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUHVyb0ltYWdlSSxcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvVGFnc0ksXG4gICAgUHVyb1RleHRzQ29sb3JzSSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICAgIFB1cm9GaWx0ZXJHYWxsZXJ5RGlyZWN0aXZlLFxuICAgIFB1cm9BY3RpdmVNb2RhbERpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTW9kYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQdXJvRHluYW1pY0hlYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvcHVyby1keW5hbWljLWhlYWRpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1wdXJvLWdhbGxlcnknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQdXJvRHluYW1pY0hlYWRpbmdDb21wb25lbnQsXG4gICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgIFB1cm9BY3RpdmVNb2RhbERpcmVjdGl2ZSxcbiAgICBQdXJvRmlsdGVyR2FsbGVyeURpcmVjdGl2ZSxcbiAgICBOZ09wdGltaXplZEltYWdlXG5dLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWdhbGxlcnkuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdhbGxlcnkuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvR2FsbGVyeUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcm9vbVRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlcnM/OiBQdXJvR2FsbGVyeUZpbHRlcltdO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb0dhbGxlcnlJdGVtW107XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgdGFncz86IFB1cm9UYWdzSTtcbiAgICBASW5wdXQoKSB0ZXh0Q29sb3JzPzogUHVyb1RleHRzQ29sb3JzSTtcblxuICAgIGZpbHRlclNlbGVjdGVkID0gc2lnbmFsPFB1cm9HYWxsZXJ5RmlsdGVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgLy8gTGlzdGFzIGZpbHRyb3MgbW9iaWxlXG4gICAgY2F0ZWdvcmllc0ZpbHRlcnMgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICAodGhpcy5maWx0ZXJzID8/IFtdKS5maWx0ZXIoKGYpID0+ICFmLnJvb20pXG4gICAgKTtcbiAgICByb29tc0ZpbHRlcnMgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5maWx0ZXJzID8/IFtdKS5maWx0ZXIoKGYpID0+IGYucm9vbSkpO1xuXG4gICAgaXRlbXNEaXNwbGF5ZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlclNlbGVjdGVkKCk/LmFsbCB8fCAhdGhpcy5maWx0ZXJTZWxlY3RlZCgpKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXM7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zPy5maWx0ZXIoXG4gICAgICAgICAgICAoaSkgPT4gaS5maWx0ZXIgPT09IHRoaXMuZmlsdGVyU2VsZWN0ZWQoKT8uaWRcbiAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTdGF0ZTogTW9kYWxTdGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZC5zZXQodGhpcy5maWx0ZXJzPy5maW5kKChmKSA9PiBmLmFsbCkpO1xuICAgIH1cblxuICAgIC8vIGZpbHRyb3Mgbm9ybWFsZXMgKG5vIHJvb21zKVxuICAgIGZpbHRlckl0ZW1zKGZpbHRlcj86IFB1cm9HYWxsZXJ5RmlsdGVyKTogdm9pZCB7XG4gICAgICAgIGlmICghZmlsdGVyKSByZXR1cm47XG5cbiAgICAgICAgLy8gQWdyZWdhZG9yIFwiUm9vbXNcIjogYWJyaXIgbW9kYWxcbiAgICAgICAgaWYgKGZpbHRlci5yb29tcykge1xuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUm9vbXNNb2RhbCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2F0ZWdvcsOtYSBub3JtYWwgbyBoYWJpdGFjacOzbiBjb25jcmV0YVxuICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLnNldChmaWx0ZXIpO1xuICAgIH1cblxuICAgIC8vIHByZXBhcmFyIGRhdG9zIHBhcmEgZWwgbW9kYWwgYW50ZXMvanVzdG8gYWwgY2xpY2tcbiAgICBwcmVwYXJlUm9vbXNNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZmlsdGVycz8uZmlsdGVyKChmKSA9PiBmLnJvb20pID8/IFtdO1xuICAgICAgICB0aGlzLm1vZGFsU3RhdGUub3BlblJvb21zKHtcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnJvb21UaXRsZSxcbiAgICAgICAgICAgIGZpbHRlcnM6IGxpc3QsXG4gICAgICAgICAgICBvblNlbGVjdDogKGYpID0+IHRoaXMuZmlsdGVyU2VsZWN0ZWQuc2V0KGYpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb0dhbGxlcnlJdGVtIHtcbiAgICBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGZpbHRlcj86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb0dhbGxlcnlGaWx0ZXIge1xuICAgIGlkOiBudW1iZXI7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICByb29tcz86IGJvb2xlYW47IC8vIOKAnFJvb21z4oCdIHRhYlxuICAgIHJvb20/OiBib29sZWFuOyAvLyBjYWRhIGhhYml0YWNpw7NuIGRlbnRybyBkZWwgbW9kYWxcbiAgICBhbGw/OiBib29sZWFuO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJnYWxsZXJ5IGdhbGxlcnktLXdpdGhUYWJzIGdlbmVyYWxNYXJnaW5cIj5cbiAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgIDxsaWItcHVyby1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgIFt0YWddPVwidGFncz8ucHJldGl0bGUgfHwgJ3NwYW4nXCJcbiAgICAgICAgICAgIGNzc0NsYXNzPVwiZ2FsbGVyeV9fdGl0bGVcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnByZXRpdGxlXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cInByZXRpdGxlXCJcbiAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgIH1cbiAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgIDxsaWItcHVyby1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgIFt0YWddPVwidGFncz8udGl0bGUgfHwgJ2gyJ1wiXG4gICAgICAgICAgICBjc3NDbGFzcz1cImdhbGxlcnlfX2hlYWRpbmdcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cInRpdGxlXCJcbiAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgIH1cblxuICAgIEBpZiAoY2F0ZWdvcmllc0ZpbHRlcnMoKSkge1xuICAgICAgICA8dWwgY2xhc3M9XCJnYWxsZXJ5X190YWJzXCI+XG4gICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgY2F0ZWdvcmllc0ZpbHRlcnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPCEtLSBGaWx0cm9zIG5vcm1hbGVzIC0tPlxuICAgICAgICAgICAgICAgIEBpZiAoIW9wdGlvbi5yb29tcykge1xuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJqcy1maWx0ZXItZ2FsbGVyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyR2FsbGVyeV09XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlclNlbGVjdCk9XCJmaWx0ZXJJdGVtcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIWZpbHRlclNlbGVjdGVkKCk/LnJvb20gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uLmFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICEhZmlsdGVyU2VsZWN0ZWQoKT8uYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsdGVyU2VsZWN0ZWQoKT8uaWQgPT09IG9wdGlvbi5pZClcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFmaWx0ZXJTZWxlY3RlZCgpPy5yb29tICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbi5hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAhIWZpbHRlclNlbGVjdGVkKCk/LmFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZpbHRlclNlbGVjdGVkKCk/LmlkID09PSBvcHRpb24uaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1maWx0ZXJfY2F0ZWdvcnldPVwib3B0aW9uLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLnRleHRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24udGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDwhLS0gUm9vbXM6IE1JU01PIHBhdHLDs24gcXVlIGxhbmd1YWdlcyAtLT5cbiAgICAgICAgICAgICAgICBAaWYgKG9wdGlvbi5yb29tcykge1xuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwianMtYWN0aXZlLW1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZU1vZGFsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1vZGFsX25hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJlcGFyZVJvb21zTW9kYWwoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi50ZXh0IHx8ICdSb29tcydcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24udGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgICAgPCEtLSBDYXRlZ29yw61hcyAoc2luIHJvb21zIG5pIHJvb206dHJ1ZSkgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtX19ncm91cCB3aXRoSWNvblwiPlxuICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2ZpbHRlckdhbGxlcnldPVwiY2F0ZWdvcmllc0ZpbHRlcnMoKVwiXG4gICAgICAgICAgICAgICAgKGZpbHRlclNlbGVjdCk9XCJmaWx0ZXJJdGVtcygkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgc2VsZWN0ZWQgZGlzYWJsZWQ+Q2F0ZWdvcsOtYXM8L29wdGlvbj5cbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgY2F0ZWdvcmllc0ZpbHRlcnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIW9wdGlvbi5yb29tcyAmJiAhb3B0aW9uLnJvb20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5pZFwiPnt7IG9wdGlvbi50ZXh0IH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiOFwiPlxuICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjc2VsZWN0LWFycm93XCI+PC91c2U+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gSGFiaXRhY2lvbmVzIChyb29tOnRydWUpIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9fZ3JvdXAgd2l0aEljb25cIj5cbiAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm1fX2NvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtmaWx0ZXJHYWxsZXJ5XT1cInJvb21zRmlsdGVycygpXCJcbiAgICAgICAgICAgICAgICAoZmlsdGVyU2VsZWN0KT1cImZpbHRlckl0ZW1zKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIiBzZWxlY3RlZCBkaXNhYmxlZD5IYWJpdGFjaW9uZXM8L29wdGlvbj5cbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygcm9vbXNGaWx0ZXJzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJvcHRpb24uaWRcIj57eyBvcHRpb24udGV4dCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCI4XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cImdhbGxlcnlfX2xpc3QgZ2FsbGVyeUdyaWRfX2Zvci03XCI+XG4gICAgICAgIEBpZiAoaXRlbXNEaXNwbGF5ZWQoKSkge1xuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc0Rpc3BsYXllZCgpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9faXRlbSBzaG93XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXRlZ29yeV09XCJpdGVtLmZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9fYm94IGpzLWFjdGl2ZS1tb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVNb2RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tb2RhbF9uYW1lPVwiZ2FsbGVyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0udGl0bGUgPz8gJ0dhbGxlcnkgSXRlbSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1pbWddPVwiaXRlbS5pbWc/LnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpY1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjc4OVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI3NDdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNocHJpb3JpdHk9XCJoaWdoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5X196b29tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTg0XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgcHVyb0xpbmtUeXBlXG4gICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1nYWxsZXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ2FsbGVyeS9wdXJvLWdhbGxlcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1nYWxsZXJ5L3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLDBCQUEwQixFQUMxQixxQkFBcUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQztBQVExQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBa0JoRixNQUFNLE9BQU8sb0JBQW9CO0lBMEI3QixZQUE2QixVQUE2QjtRQUE3QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQWhCMUQsbUJBQWMsR0FBRyxNQUFNLENBQWdDLFNBQVMsQ0FBQyxDQUFDO1FBRWxFLHdCQUF3QjtRQUN4QixzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzlCLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUM5QyxDQUFDO1FBQ0YsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFMUUsbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3BELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUNyQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUNoRCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFFMEQsQ0FBQztJQUU5RCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCw4QkFBOEI7SUFDOUIsV0FBVyxDQUFDLE1BQTBCO1FBQ2xDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUVwQixpQ0FBaUM7UUFDakMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsT0FBTztTQUNWO1FBRUQseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsaUJBQWlCO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3JCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDOUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0RFEsb0JBQW9CO21HQUFwQixvQkFBb0Isb1BDMUNqQyx5ck1BNkpBLHlERC9IUSxZQUFZLCtCQUNaLDJCQUEyQixpSUFDM0IscUJBQXFCLDRJQUNyQix3QkFBd0IsMERBQ3hCLDBCQUEwQixrSEFDMUIsZ0JBQWdCLGdQQUNoQiw2QkFBNkI7OzRGQU14QixvQkFBb0I7a0JBaEJoQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3FCQUNoQyxtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBjb21wdXRlZCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBQdXJvQWN0aXZlTW9kYWxEaXJlY3RpdmUsXG4gICAgUHVyb0ZpbHRlckdhbGxlcnlEaXJlY3RpdmUsXG4gICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gICAgUHVyb0J1dHRvbkksXG4gICAgUHVyb0ltYWdlSSxcbiAgICBQdXJvVGFnc0ksXG4gICAgUHVyb1RleHRzQ29sb3JzSSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb2RhbFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ2FsbGVyeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUHVyb0R5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgICAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIFB1cm9BY3RpdmVNb2RhbERpcmVjdGl2ZSxcbiAgICAgICAgUHVyb0ZpbHRlckdhbGxlcnlEaXJlY3RpdmUsXG4gICAgICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9HYWxsZXJ5Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwcmV0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSByb29tVGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVycz86IFB1cm9HYWxsZXJ5RmlsdGVyW107XG4gICAgQElucHV0KCkgaXRlbXM/OiBQdXJvR2FsbGVyeUl0ZW1bXTtcbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSB0YWdzPzogUHVyb1RhZ3NJO1xuICAgIEBJbnB1dCgpIHRleHRDb2xvcnM/OiBQdXJvVGV4dHNDb2xvcnNJO1xuXG4gICAgZmlsdGVyU2VsZWN0ZWQgPSBzaWduYWw8UHVyb0dhbGxlcnlGaWx0ZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICAvLyBMaXN0YXMgZmlsdHJvcyBtb2JpbGVcbiAgICBjYXRlZ29yaWVzRmlsdGVycyA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgICh0aGlzLmZpbHRlcnMgPz8gW10pLmZpbHRlcigoZikgPT4gIWYucm9vbSlcbiAgICApO1xuICAgIHJvb21zRmlsdGVycyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmZpbHRlcnMgPz8gW10pLmZpbHRlcigoZikgPT4gZi5yb29tKSk7XG5cbiAgICBpdGVtc0Rpc3BsYXllZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyU2VsZWN0ZWQoKT8uYWxsIHx8ICF0aGlzLmZpbHRlclNlbGVjdGVkKCkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXM/LmZpbHRlcihcbiAgICAgICAgICAgIChpKSA9PiBpLmZpbHRlciA9PT0gdGhpcy5maWx0ZXJTZWxlY3RlZCgpPy5pZFxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtb2RhbFN0YXRlOiBNb2RhbFN0YXRlU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLnNldCh0aGlzLmZpbHRlcnM/LmZpbmQoKGYpID0+IGYuYWxsKSk7XG4gICAgfVxuXG4gICAgLy8gZmlsdHJvcyBub3JtYWxlcyAobm8gcm9vbXMpXG4gICAgZmlsdGVySXRlbXMoZmlsdGVyPzogUHVyb0dhbGxlcnlGaWx0ZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybjtcblxuICAgICAgICAvLyBBZ3JlZ2Fkb3IgXCJSb29tc1wiOiBhYnJpciBtb2RhbFxuICAgICAgICBpZiAoZmlsdGVyLnJvb21zKSB7XG4gICAgICAgICAgICB0aGlzLnByZXBhcmVSb29tc01vZGFsKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYXRlZ29yw61hIG5vcm1hbCBvIGhhYml0YWNpw7NuIGNvbmNyZXRhXG4gICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQuc2V0KGZpbHRlcik7XG4gICAgfVxuXG4gICAgLy8gcHJlcGFyYXIgZGF0b3MgcGFyYSBlbCBtb2RhbCBhbnRlcy9qdXN0byBhbCBjbGlja1xuICAgIHByZXBhcmVSb29tc01vZGFsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5maWx0ZXJzPy5maWx0ZXIoKGYpID0+IGYucm9vbSkgPz8gW107XG4gICAgICAgIHRoaXMubW9kYWxTdGF0ZS5vcGVuUm9vbXMoe1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMucm9vbVRpdGxlLFxuICAgICAgICAgICAgZmlsdGVyczogbGlzdCxcbiAgICAgICAgICAgIG9uU2VsZWN0OiAoZikgPT4gdGhpcy5maWx0ZXJTZWxlY3RlZC5zZXQoZiksXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR2FsbGVyeUl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBQdXJvR2FsbGVyeUZpbHRlciB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHJvb21zPzogYm9vbGVhbjsgLy8g4oCcUm9vbXPigJ0gdGFiXG4gICAgcm9vbT86IGJvb2xlYW47IC8vIGNhZGEgaGFiaXRhY2nDs24gZGVudHJvIGRlbCBtb2RhbFxuICAgIGFsbD86IGJvb2xlYW47XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImdhbGxlcnkgZ2FsbGVyeS0td2l0aFRhYnMgZ2VuZXJhbE1hcmdpblwiPlxuICAgIEBpZiAocHJldGl0bGUpIHtcbiAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy5wcmV0aXRsZSB8fCAnc3BhbidcIlxuICAgICAgICAgICAgY3NzQ2xhc3M9XCJnYWxsZXJ5X190aXRsZVwiXG4gICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8ucHJldGl0bGVcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJldGl0bGVcIlxuICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgfVxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy50aXRsZSB8fCAnaDInXCJcbiAgICAgICAgICAgIGNzc0NsYXNzPVwiZ2FsbGVyeV9faGVhZGluZ1wiXG4gICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8udGl0bGVcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVcIlxuICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgfVxuXG4gICAgQGlmIChjYXRlZ29yaWVzRmlsdGVycygpKSB7XG4gICAgICAgIDx1bCBjbGFzcz1cImdhbGxlcnlfX3RhYnNcIj5cbiAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBjYXRlZ29yaWVzRmlsdGVycygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8IS0tIEZpbHRyb3Mgbm9ybWFsZXMgLS0+XG4gICAgICAgICAgICAgICAgQGlmICghb3B0aW9uLnJvb21zKSB7XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImpzLWZpbHRlci1nYWxsZXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJHYWxsZXJ5XT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyU2VsZWN0KT1cImZpbHRlckl0ZW1zKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhZmlsdGVyU2VsZWN0ZWQoKT8ucm9vbSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb24uYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gISFmaWx0ZXJTZWxlY3RlZCgpPy5hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmaWx0ZXJTZWxlY3RlZCgpPy5pZCA9PT0gb3B0aW9uLmlkKVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIWZpbHRlclNlbGVjdGVkKCk/LnJvb20gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uLmFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICEhZmlsdGVyU2VsZWN0ZWQoKT8uYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsdGVyU2VsZWN0ZWQoKT8uaWQgPT09IG9wdGlvbi5pZClcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWZpbHRlcl9jYXRlZ29yeV09XCJvcHRpb24uaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24udGV4dFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPCEtLSBSb29tczogTUlTTU8gcGF0csOzbiBxdWUgbGFuZ3VhZ2VzIC0tPlxuICAgICAgICAgICAgICAgIEBpZiAob3B0aW9uLnJvb21zKSB7XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJqcy1hY3RpdmUtbW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlTW9kYWxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbW9kYWxfbmFtZT1cImZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmVwYXJlUm9vbXNNb2RhbCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLnRleHQgfHwgJ1Jvb21zJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgICA8IS0tIENhdGVnb3LDrWFzIChzaW4gcm9vbXMgbmkgcm9vbTp0cnVlKSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1fX2dyb3VwIHdpdGhJY29uXCI+XG4gICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtX19jb250cm9sXCJcbiAgICAgICAgICAgICAgICBbZmlsdGVyR2FsbGVyeV09XCJjYXRlZ29yaWVzRmlsdGVycygpXCJcbiAgICAgICAgICAgICAgICAoZmlsdGVyU2VsZWN0KT1cImZpbHRlckl0ZW1zKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIiBzZWxlY3RlZCBkaXNhYmxlZD5DYXRlZ29yw61hczwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBjYXRlZ29yaWVzRmlsdGVycygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICghb3B0aW9uLnJvb21zICYmICFvcHRpb24ucm9vbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmlkXCI+e3sgb3B0aW9uLnRleHQgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCI4XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBIYWJpdGFjaW9uZXMgKHJvb206dHJ1ZSkgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtX19ncm91cCB3aXRoSWNvblwiPlxuICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2ZpbHRlckdhbGxlcnldPVwicm9vbXNGaWx0ZXJzKClcIlxuICAgICAgICAgICAgICAgIChmaWx0ZXJTZWxlY3QpPVwiZmlsdGVySXRlbXMoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIHNlbGVjdGVkIGRpc2FibGVkPkhhYml0YWNpb25lczwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiByb29tc0ZpbHRlcnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5pZFwiPnt7IG9wdGlvbi50ZXh0IH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiI3NlbGVjdC1hcnJvd1wiPjwvdXNlPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeV9fbGlzdCBnYWxsZXJ5R3JpZF9fZm9yLTdcIj5cbiAgICAgICAgQGlmIChpdGVtc0Rpc3BsYXllZCgpKSB7XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zRGlzcGxheWVkKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19pdGVtIHNob3dcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWNhdGVnb3J5XT1cIml0ZW0uZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10aXRsZV09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19ib3gganMtYWN0aXZlLW1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZU1vZGFsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1vZGFsX25hbWU9XCJnYWxsZXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS50aXRsZSA/PyAnR2FsbGVyeSBJdGVtJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWltZ109XCJpdGVtLmltZz8uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5X19ncmFwaGljXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTcmNdPVwiaXRlbS5pbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNzg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjc0N1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdhbGxlcnlfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hwcmlvcml0eT1cImhpZ2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdhbGxlcnlfX3pvb21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb24tODRcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICBwdXJvTGlua1R5cGVcbiAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L3NlY3Rpb24+XG4iXX0=
@@ -1,6 +1,6 @@
1
- import { CommonModule, NgOptimizedImage } from '@angular/common';
1
+ import { CommonModule, NgOptimizedImage, } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, computed, Input, signal, } from '@angular/core';
3
- import { PuroLinkTypeDirective } from '../../directives';
3
+ import { AutoImageZoomWrapperDirective, PuroLinkTypeDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PuroGrid3colFilterComponent {
6
6
  constructor() {
@@ -48,11 +48,16 @@ export class PuroGrid3colFilterComponent {
48
48
  this.option.set(value);
49
49
  }
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", buttons: "buttons", backgroundImg: "backgroundImg" }, ngImport: i0, template: "<section\n class=\"discover discover--noRadius discover__list generalMargin\"\n [style.--bg-url]=\"cssBgUrl\"\n>\n <span class=\"discover__title\">{{ title }}</span>\n <div class=\"discover__container extended\">\n <div class=\"discover__headingSection\">\n <p class=\"discover__subHeading\">{{ pretitle }}</p>\n <h2 class=\"discover__heading\">{{ title }}</h2>\n @if (filter && filter.options) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n [attr.aria-label]=\"filter.placeholder\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"discover__list--inner\">\n @if (itemsDisplayed()?.length) {\n @for (item of itemsDisplayed(); track $index) {\n @if (item) {\n <a\n [href]=\"item.button?.url\"\n [linkType]=\"item.button?.linkType\"\n class=\"discover__box\"\n [attr.aria-label]=\"\n item.button?.label ?? 'Item link'\n \"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n <div class=\"discover__content\">\n <p class=\"discover__subHeading photo\">\n {{ item.pretitle }}\n </p>\n <h2 class=\"discover__heading photo\">\n {{ item.title }}\n </h2>\n </div>\n </div>\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n [linkType]=\"item.button?.linkType\"\n [href]=\"item.button?.url\"\n [attr.aria-label]=\"\n item.button?.label ?? 'item button'\n \"\n >\n <span>{{ item.button?.label }}</span>\n </a>\n </div>\n </a>\n }\n }\n }\n </div>\n @if (buttons?.length) {\n @for (button of buttons; track $index) {\n <div class=\"btn__group\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn__primary--outline\"\n [linkType]=\"button?.linkType\"\n [attr.aria-label]=\"button?.label ?? 'Button'\"\n >\n <span>{{ button?.label }}</span>\n </a>\n </div>\n }\n }\n </div>\n</section>\n", styles: [".btn.btn__primary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}.discover__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", buttons: "buttons", backgroundImg: "backgroundImg" }, ngImport: i0, template: "<section\n class=\"discover discover--noRadius discover__list generalMargin\"\n [style.--bg-url]=\"cssBgUrl\"\n>\n <span class=\"discover__title\">{{ title }}</span>\n <div class=\"discover__container extended\">\n <div class=\"discover__headingSection\">\n <p class=\"discover__subHeading\">{{ pretitle }}</p>\n <h2 class=\"discover__heading\">{{ title }}</h2>\n @if (filter && filter.options) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n [attr.aria-label]=\"filter.placeholder\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"discover__list--inner\">\n @if (itemsDisplayed()?.length) {\n @for (item of itemsDisplayed(); track $index) {\n @if (item) {\n <a\n [href]=\"item.button?.url\"\n [linkType]=\"item.button?.linkType\"\n class=\"discover__box\"\n [attr.aria-label]=\"\n item.button?.label ?? 'Item link'\n \"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n <div class=\"discover__content\">\n <p class=\"discover__subHeading photo\">\n {{ item.pretitle }}\n </p>\n <h2 class=\"discover__heading photo\">\n {{ item.title }}\n </h2>\n </div>\n </div>\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n [linkType]=\"item.button?.linkType\"\n [href]=\"item.button?.url\"\n [attr.aria-label]=\"\n item.button?.label ?? 'item button'\n \"\n >\n <span>{{ item.button?.label }}</span>\n </a>\n </div>\n </a>\n }\n }\n }\n </div>\n @if (buttons?.length) {\n @for (button of buttons; track $index) {\n <div class=\"btn__group\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn__primary--outline\"\n [linkType]=\"button?.linkType\"\n [attr.aria-label]=\"button?.label ?? 'Button'\"\n >\n <span>{{ button?.label }}</span>\n </a>\n </div>\n }\n }\n </div>\n</section>\n", styles: [".btn.btn__primary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}.discover__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
52
  }
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colFilterComponent, decorators: [{
54
54
  type: Component,
55
- args: [{ selector: 'lib-puro-grid3col-filter', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, NgOptimizedImage], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"discover discover--noRadius discover__list generalMargin\"\n [style.--bg-url]=\"cssBgUrl\"\n>\n <span class=\"discover__title\">{{ title }}</span>\n <div class=\"discover__container extended\">\n <div class=\"discover__headingSection\">\n <p class=\"discover__subHeading\">{{ pretitle }}</p>\n <h2 class=\"discover__heading\">{{ title }}</h2>\n @if (filter && filter.options) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n [attr.aria-label]=\"filter.placeholder\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"discover__list--inner\">\n @if (itemsDisplayed()?.length) {\n @for (item of itemsDisplayed(); track $index) {\n @if (item) {\n <a\n [href]=\"item.button?.url\"\n [linkType]=\"item.button?.linkType\"\n class=\"discover__box\"\n [attr.aria-label]=\"\n item.button?.label ?? 'Item link'\n \"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n <div class=\"discover__content\">\n <p class=\"discover__subHeading photo\">\n {{ item.pretitle }}\n </p>\n <h2 class=\"discover__heading photo\">\n {{ item.title }}\n </h2>\n </div>\n </div>\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n [linkType]=\"item.button?.linkType\"\n [href]=\"item.button?.url\"\n [attr.aria-label]=\"\n item.button?.label ?? 'item button'\n \"\n >\n <span>{{ item.button?.label }}</span>\n </a>\n </div>\n </a>\n }\n }\n }\n </div>\n @if (buttons?.length) {\n @for (button of buttons; track $index) {\n <div class=\"btn__group\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn__primary--outline\"\n [linkType]=\"button?.linkType\"\n [attr.aria-label]=\"button?.label ?? 'Button'\"\n >\n <span>{{ button?.label }}</span>\n </a>\n </div>\n }\n }\n </div>\n</section>\n", styles: [".btn.btn__primary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}.discover__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}\n"] }]
55
+ args: [{ selector: 'lib-puro-grid3col-filter', standalone: true, imports: [
56
+ CommonModule,
57
+ PuroLinkTypeDirective,
58
+ NgOptimizedImage,
59
+ AutoImageZoomWrapperDirective,
60
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"discover discover--noRadius discover__list generalMargin\"\n [style.--bg-url]=\"cssBgUrl\"\n>\n <span class=\"discover__title\">{{ title }}</span>\n <div class=\"discover__container extended\">\n <div class=\"discover__headingSection\">\n <p class=\"discover__subHeading\">{{ pretitle }}</p>\n <h2 class=\"discover__heading\">{{ title }}</h2>\n @if (filter && filter.options) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n [attr.aria-label]=\"filter.placeholder\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"discover__list--inner\">\n @if (itemsDisplayed()?.length) {\n @for (item of itemsDisplayed(); track $index) {\n @if (item) {\n <a\n [href]=\"item.button?.url\"\n [linkType]=\"item.button?.linkType\"\n class=\"discover__box\"\n [attr.aria-label]=\"\n item.button?.label ?? 'Item link'\n \"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n <div class=\"discover__content\">\n <p class=\"discover__subHeading photo\">\n {{ item.pretitle }}\n </p>\n <h2 class=\"discover__heading photo\">\n {{ item.title }}\n </h2>\n </div>\n </div>\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n [linkType]=\"item.button?.linkType\"\n [href]=\"item.button?.url\"\n [attr.aria-label]=\"\n item.button?.label ?? 'item button'\n \"\n >\n <span>{{ item.button?.label }}</span>\n </a>\n </div>\n </a>\n }\n }\n }\n </div>\n @if (buttons?.length) {\n @for (button of buttons; track $index) {\n <div class=\"btn__group\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn__primary--outline\"\n [linkType]=\"button?.linkType\"\n [attr.aria-label]=\"button?.label ?? 'Button'\"\n >\n <span>{{ button?.label }}</span>\n </a>\n </div>\n }\n }\n </div>\n</section>\n", styles: [".btn.btn__primary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}.discover__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}\n"] }]
56
61
  }], propDecorators: { pretitle: [{
57
62
  type: Input
58
63
  }], title: [{
@@ -66,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
66
71
  }], backgroundImg: [{
67
72
  type: Input
68
73
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1maWx0ZXIvcHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1maWx0ZXIvcHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWF6RCxNQUFNLE9BQU8sMkJBQTJCO0lBUnhDO1FBa0JxQixXQUFNLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxNQUFNLENBQ2hDLFNBQVMsQ0FDWixDQUFDO1FBRUYsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQWdDZCxtQkFBYyxHQUFHLFFBQVEsQ0FBdUMsR0FBRyxFQUFFO1lBQ2pFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1lBQ2xFLElBQUksQ0FBQyxXQUFXO2dCQUFFLE9BQU8sR0FBRyxDQUFDLENBQUMsa0JBQWtCO1lBRWhELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztLQU1OO0lBdkRHLElBQWEsS0FBSyxDQUFDLEtBQTJDO1FBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFXRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNyQixNQUFNLElBQUksR0FDTixLQUFLLENBQUMsZ0JBQWdCLENBQW9CLGVBQWUsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sTUFBTSxHQUFHLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBRWpFLElBQ0ksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUNqQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFFLENBQUMsRUFDdEQ7Z0JBQ0UsNkVBQTZFO2dCQUM1RSxLQUFxQixDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2FBQ2pEO2lCQUFNO2dCQUNILDhEQUE4RDtnQkFDOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNqQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsQ0FBQyxFQUFFO3dCQUNqRCxHQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO3FCQUMvQztnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBVUQsWUFBWSxDQUFDLEdBQVU7UUFDbkIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFFLEdBQUcsQ0FBQyxNQUE0QixDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQTFEUSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw0TkN0QnhDLGtuSkF5R0EsMGFEeEZjLFlBQVksK0JBQUUscUJBQXFCLDRJQUFFLGdCQUFnQjs7NEZBS3RELDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDSSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLG1CQUcvQyx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1cm9MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHVyb0J1dHRvbkksIFB1cm9JbWFnZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9Ecm9wZG93bkkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3B1cm8tZHJvcGRvd24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItcHVyby1ncmlkM2NvbC1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLCBOZ09wdGltaXplZEltYWdlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdyaWQzY29sLWZpbHRlci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9HcmlkM2NvbEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVyPzogUHVyb0Ryb3Bkb3duSTtcbiAgICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IFB1cm9HcmlkM0NvbEZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnRvdGFsSXRlbXMuc2V0KGl0ZW1zKTtcbiAgICB9XG4gICAgQElucHV0KCkgYnV0dG9ucz86IFB1cm9CdXR0b25JW107XG4gICAgQElucHV0KCkgYmFja2dyb3VuZEltZz86IFB1cm9JbWFnZUk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IHNpZ25hbDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG90YWxJdGVtcyA9IHNpZ25hbDxQdXJvR3JpZDNDb2xGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQ+KFxuICAgICAgICB1bmRlZmluZWRcbiAgICApO1xuXG4gICAgY3NzQmdVcmwgPSAnJztcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kSW1nPy5zcmMpIHtcbiAgICAgICAgICAgIHRoaXMuY3NzQmdVcmwgPSBgdXJsKFwiJHt0aGlzLmJhY2tncm91bmRJbWcuc3JjfVwiKWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5idG5fX2dyb3VwJyk7XG4gICAgICAgIGdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnRucyA9XG4gICAgICAgICAgICAgICAgZ3JvdXAucXVlcnlTZWxlY3RvckFsbDxIVE1MQW5jaG9yRWxlbWVudD4oJ2FbYXJpYS1sYWJlbF0nKTtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVscyA9IFsnVmVyIGhvdGVsICsnLCAnU2VlIGhvdGVsICsnLCAnSG90ZWwgYW5zZWhlbiArJ107XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBidG5zLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgIGxhYmVscy5pbmNsdWRlcyhidG5zWzBdLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpISlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIENhc28gMTogc29sbyB1biBib3TDs24geSBlcyB1bm8gZGUgbG9zIHByb2hpYmlkb3Mg4oaSIG9jdWx0YXIgZWwgZ3J1cG8gZW50ZXJvXG4gICAgICAgICAgICAgICAgKGdyb3VwIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBDYXNvIDI6IGhheSB2YXJpb3MgYm90b25lcyDihpIgb2N1bHRhciBzb2xvIGxvcyBxdWUgY29pbmNpZGVuXG4gICAgICAgICAgICAgICAgYnRucy5mb3JFYWNoKChidG4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxhYmVscy5pbmNsdWRlcyhidG4uZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJykhKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKGJ0biBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpdGVtc0Rpc3BsYXllZCA9IGNvbXB1dGVkPFB1cm9HcmlkM0NvbEZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZD4oKCkgPT4ge1xuICAgICAgICBjb25zdCBhbGwgPSB0aGlzLnRvdGFsSXRlbXMoKSA/PyBbXTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWROdW0gPSBOdW1iZXIodGhpcy5vcHRpb24oKSk7IC8vIDwtIGFzZWd1cmFtb3MgbnVtYmVyXG4gICAgICAgIGlmICghc2VsZWN0ZWROdW0pIHJldHVybiBhbGw7IC8vIDAgPT4gc2luIGZpbHRyb1xuXG4gICAgICAgIHJldHVybiBhbGwuZmlsdGVyKChpKSA9PiBOdW1iZXIoaS5maWx0ZXJQYXJlbnQpID09PSBzZWxlY3RlZE51bSk7XG4gICAgfSk7XG5cbiAgICBzZWxlY3RPcHRpb24oZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IE51bWJlcigoZXZ0LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkudmFsdWUgfHwgMCk7XG4gICAgICAgIHRoaXMub3B0aW9uLnNldCh2YWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9HcmlkM0NvbEZpbHRlckl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGZpbHRlclBhcmVudD86IG51bWJlciB8IHN0cmluZztcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cbiIsIjxzZWN0aW9uXG4gICAgY2xhc3M9XCJkaXNjb3ZlciBkaXNjb3Zlci0tbm9SYWRpdXMgZGlzY292ZXJfX2xpc3QgZ2VuZXJhbE1hcmdpblwiXG4gICAgW3N0eWxlLi0tYmctdXJsXT1cImNzc0JnVXJsXCJcbj5cbiAgICA8c3BhbiBjbGFzcz1cImRpc2NvdmVyX190aXRsZVwiPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJkaXNjb3Zlcl9fY29udGFpbmVyIGV4dGVuZGVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXNjb3Zlcl9faGVhZGluZ1NlY3Rpb25cIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZGlzY292ZXJfX3N1YkhlYWRpbmdcIj57eyBwcmV0aXRsZSB9fTwvcD5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImRpc2NvdmVyX19oZWFkaW5nXCI+e3sgdGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgQGlmIChmaWx0ZXIgJiYgZmlsdGVyLm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9fZ3JvdXAgd2l0aEljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtX19jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2VsZWN0T3B0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWx0ZXIucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCIwXCIgc2VsZWN0ZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZmlsdGVyLnBsYWNlaG9sZGVyIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXIub3B0aW9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY292ZXJfX2xpc3QtLWlubmVyXCI+XG4gICAgICAgICAgICBAaWYgKGl0ZW1zRGlzcGxheWVkKCk/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXNEaXNwbGF5ZWQoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmJ1dHRvbj8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiaXRlbS5idXR0b24/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRpc2NvdmVyX19ib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9uPy5sYWJlbCA/PyAnSXRlbSBsaW5rJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRpc2NvdmVyX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMzkxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI1MzNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlzY292ZXJfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmltZy5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nPVwiYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY292ZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZGlzY292ZXJfX3N1YkhlYWRpbmcgcGhvdG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnByZXRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJkaXNjb3Zlcl9faGVhZGluZyBwaG90b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiaXRlbS5idXR0b24/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0uYnV0dG9uPy51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbj8ubGFiZWwgPz8gJ2l0ZW0gYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5idXR0b24/LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKGJ1dHRvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGJ1dHRvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24/LnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbj8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24/LmxhYmVsID8/ICdCdXR0b24nXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1maWx0ZXIvcHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1maWx0ZXIvcHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFpQnhGLE1BQU0sT0FBTywyQkFBMkI7SUFieEM7UUF1QnFCLFdBQU0sR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLE1BQU0sQ0FDaEMsU0FBUyxDQUNaLENBQUM7UUFFRixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBZ0NkLG1CQUFjLEdBQUcsUUFBUSxDQUF1QyxHQUFHLEVBQUU7WUFDakUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7WUFDbEUsSUFBSSxDQUFDLFdBQVc7Z0JBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxrQkFBa0I7WUFFaEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO0tBTU47SUF2REcsSUFBYSxLQUFLLENBQUMsS0FBMkM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQVdELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3REO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxHQUNOLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBb0IsZUFBZSxDQUFDLENBQUM7WUFDL0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFFakUsSUFDSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsQ0FBQyxFQUN0RDtnQkFDRSw2RUFBNkU7Z0JBQzVFLEtBQXFCLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7YUFDakQ7aUJBQU07Z0JBQ0gsOERBQThEO2dCQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ2pCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBRSxDQUFDLEVBQUU7d0JBQ2pELEdBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7cUJBQy9DO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFVRCxZQUFZLENBQUMsR0FBVTtRQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUUsR0FBRyxDQUFDLE1BQTRCLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBMURRLDJCQUEyQjttR0FBM0IsMkJBQTJCLDROQzlCeEMsa25KQXlHQSwwYURwRlEsWUFBWSwrQkFDWixxQkFBcUIsNElBQ3JCLGdCQUFnQixnUEFDaEIsNkJBQTZCOzs0RkFNeEIsMkJBQTJCO2tCQWJ2QyxTQUFTOytCQUNJLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3FCQUNoQyxtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQdXJvRHJvcGRvd25JIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wdXJvLWRyb3Bkb3duLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtZmlsdGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1ncmlkM2NvbC1maWx0ZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvR3JpZDNjb2xGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlcj86IFB1cm9Ecm9wZG93bkk7XG4gICAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBQdXJvR3JpZDNDb2xGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zLnNldChpdGVtcyk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRJbWc/OiBQdXJvSW1hZ2VJO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb24gPSBzaWduYWw8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvdGFsSXRlbXMgPSBzaWduYWw8UHVyb0dyaWQzQ29sRmlsdGVySXRlbVtdIHwgdW5kZWZpbmVkPihcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgKTtcblxuICAgIGNzc0JnVXJsID0gJyc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2dyb3VuZEltZz8uc3JjKSB7XG4gICAgICAgICAgICB0aGlzLmNzc0JnVXJsID0gYHVybChcIiR7dGhpcy5iYWNrZ3JvdW5kSW1nLnNyY31cIilgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCBncm91cHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYnRuX19ncm91cCcpO1xuICAgICAgICBncm91cHMuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJ0bnMgPVxuICAgICAgICAgICAgICAgIGdyb3VwLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEFuY2hvckVsZW1lbnQ+KCdhW2FyaWEtbGFiZWxdJyk7XG4gICAgICAgICAgICBjb25zdCBsYWJlbHMgPSBbJ1ZlciBob3RlbCArJywgJ1NlZSBob3RlbCArJywgJ0hvdGVsIGFuc2VoZW4gKyddO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgYnRucy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgICAgICBsYWJlbHMuaW5jbHVkZXMoYnRuc1swXS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSEpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBDYXNvIDE6IHNvbG8gdW4gYm90w7NuIHkgZXMgdW5vIGRlIGxvcyBwcm9oaWJpZG9zIOKGkiBvY3VsdGFyIGVsIGdydXBvIGVudGVyb1xuICAgICAgICAgICAgICAgIChncm91cCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQ2FzbyAyOiBoYXkgdmFyaW9zIGJvdG9uZXMg4oaSIG9jdWx0YXIgc29sbyBsb3MgcXVlIGNvaW5jaWRlblxuICAgICAgICAgICAgICAgIGJ0bnMuZm9yRWFjaCgoYnRuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYWJlbHMuaW5jbHVkZXMoYnRuLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpISkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChidG4gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXRlbXNEaXNwbGF5ZWQgPSBjb21wdXRlZDxQdXJvR3JpZDNDb2xGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgY29uc3QgYWxsID0gdGhpcy50b3RhbEl0ZW1zKCkgPz8gW107XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTnVtID0gTnVtYmVyKHRoaXMub3B0aW9uKCkpOyAvLyA8LSBhc2VndXJhbW9zIG51bWJlclxuICAgICAgICBpZiAoIXNlbGVjdGVkTnVtKSByZXR1cm4gYWxsOyAvLyAwID0+IHNpbiBmaWx0cm9cblxuICAgICAgICByZXR1cm4gYWxsLmZpbHRlcigoaSkgPT4gTnVtYmVyKGkuZmlsdGVyUGFyZW50KSA9PT0gc2VsZWN0ZWROdW0pO1xuICAgIH0pO1xuXG4gICAgc2VsZWN0T3B0aW9uKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBOdW1iZXIoKGV2dC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlIHx8IDApO1xuICAgICAgICB0aGlzLm9wdGlvbi5zZXQodmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDNDb2xGaWx0ZXJJdGVtIHtcbiAgICBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIGZpbHRlcj86IG51bWJlciB8IHN0cmluZztcbiAgICBmaWx0ZXJQYXJlbnQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwiZGlzY292ZXIgZGlzY292ZXItLW5vUmFkaXVzIGRpc2NvdmVyX19saXN0IGdlbmVyYWxNYXJnaW5cIlxuICAgIFtzdHlsZS4tLWJnLXVybF09XCJjc3NCZ1VybFwiXG4+XG4gICAgPHNwYW4gY2xhc3M9XCJkaXNjb3Zlcl9fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwiZGlzY292ZXJfX2NvbnRhaW5lciBleHRlbmRlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY292ZXJfX2hlYWRpbmdTZWN0aW9uXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImRpc2NvdmVyX19zdWJIZWFkaW5nXCI+e3sgcHJldGl0bGUgfX08L3A+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJkaXNjb3Zlcl9faGVhZGluZ1wiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgIEBpZiAoZmlsdGVyICYmIGZpbHRlci5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1fX2dyb3VwIHdpdGhJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsdGVyLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiMFwiIHNlbGVjdGVkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbHRlci5wbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjc2VsZWN0LWFycm93XCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRpc2NvdmVyX19saXN0LS1pbm5lclwiPlxuICAgICAgICAgICAgQGlmIChpdGVtc0Rpc3BsYXllZCgpPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zRGlzcGxheWVkKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS5idXR0b24/LnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0uYnV0dG9uPy5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNjb3Zlcl9fYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbj8ubGFiZWwgPz8gJ0l0ZW0gbGluaydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNjb3Zlcl9fZ3JhcGhpYyBqcy1zbGlkZXJfZml4LWFycm93cy16b25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTcmNdPVwiaXRlbS5pbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjM5MVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTMzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRpc2NvdmVyX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGluZz1cImFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc2NvdmVyX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImRpc2NvdmVyX19zdWJIZWFkaW5nIHBob3RvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5wcmV0aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZGlzY292ZXJfX2hlYWRpbmcgcGhvdG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0uYnV0dG9uPy5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmJ1dHRvbj8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5idXR0b24/LmxhYmVsID8/ICdpdGVtIGJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uYnV0dG9uPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChidXR0b25zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBidXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uPy51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uPy5sYWJlbCA/PyAnQnV0dG9uJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbj8ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
@@ -1,6 +1,6 @@
1
- import { CommonModule, NgOptimizedImage } from '@angular/common';
1
+ import { CommonModule, NgOptimizedImage, } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, computed, Input, signal, } from '@angular/core';
3
- import { PuroLinkTypeDirective } from '../../directives';
3
+ import { AutoImageZoomWrapperDirective, PuroLinkTypeDirective } from '../../directives';
4
4
  import { PuroDynamicHeadingComponent } from '../../shared/puro-dynamic-heading';
5
5
  import * as i0 from "@angular/core";
6
6
  export class PuroGrid3colPlusFilterComponent {
@@ -30,7 +30,7 @@ export class PuroGrid3colPlusFilterComponent {
30
30
  this.option.set(value);
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colPlusFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-plus-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", button: "button", backgroundImg: "backgroundImg", exp: "exp", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"events events__list generalMargin\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'p'\"\n cssClass=\"events__subHeading\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"events__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">{{ item.title }}</div>\n }\n <div class=\"events__inner\">\n <div class=\"events__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (exp) {\n @if (item.ndTitle) {\n <span class=\"events__location\">{{\n item.ndTitle\n }}</span>\n }\n } @else {\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n }\n </div>\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.events__location{flex:1 1 100%;display:flex;justify-content:center;align-items:center;font-size:1.4rem;line-height:1.5;letter-spacing:.14rem;font-weight:700;text-align:center}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colPlusFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-plus-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", button: "button", backgroundImg: "backgroundImg", exp: "exp", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"events events__list generalMargin\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'p'\"\n cssClass=\"events__subHeading\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"events__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">{{ item.title }}</div>\n }\n <div class=\"events__inner\">\n <div class=\"events__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (exp) {\n @if (item.ndTitle) {\n <span class=\"events__location\">{{\n item.ndTitle\n }}</span>\n }\n } @else {\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n }\n </div>\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.events__location{flex:1 1 100%;display:flex;justify-content:center;align-items:center;font-size:1.4rem;line-height:1.5;letter-spacing:.14rem;font-weight:700;text-align:center}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, decorators: [{
36
36
  type: Component,
@@ -38,6 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
38
38
  CommonModule,
39
39
  PuroLinkTypeDirective,
40
40
  NgOptimizedImage,
41
+ AutoImageZoomWrapperDirective,
41
42
  PuroDynamicHeadingComponent,
42
43
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"events events__list generalMargin\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'p'\"\n cssClass=\"events__subHeading\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"events__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">{{ item.title }}</div>\n }\n <div class=\"events__inner\">\n <div class=\"events__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (exp) {\n @if (item.ndTitle) {\n <span class=\"events__location\">{{\n item.ndTitle\n }}</span>\n }\n } @else {\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n }\n </div>\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.events__location{flex:1 1 100%;display:flex;justify-content:center;align-items:center;font-size:1.4rem;line-height:1.5;letter-spacing:.14rem;font-weight:700;text-align:center}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}\n"] }]
43
44
  }], propDecorators: { pretitle: [{
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
59
60
  }], textColors: [{
60
61
  type: Input
61
62
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVF6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFlaEYsTUFBTSxPQUFPLCtCQUErQjtJQWI1QztRQTJCcUIsV0FBTSxHQUFHLE1BQU0sQ0FBa0IsR0FBRyxDQUFDLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sQ0FFbEMsU0FBUyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBUWQsbUJBQWMsR0FBRyxRQUFRLENBQTJDLEdBQUcsRUFBRTtZQUNyRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7WUFFOUMsSUFBSSxRQUFRLEtBQUssR0FBRztnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUVqQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7S0FNTjtJQXBDRyxJQUFhLEtBQUssQ0FBQyxLQUErQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBY0QsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBV0QsWUFBWSxDQUFDLEdBQVU7UUFDbkIsTUFBTSxLQUFLLEdBQUksR0FBRyxDQUFDLE1BQTRCLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQXZDUSwrQkFBK0I7bUdBQS9CLCtCQUErQixtUkNqQzVDLGsyTEFvSUEsMGxCRDVHUSxZQUFZLCtCQUNaLHFCQUFxQiw0SUFDckIsZ0JBQWdCLGdQQUNoQiwyQkFBMkI7OzRGQU10QiwrQkFBK0I7a0JBYjNDLFNBQVM7K0JBQ0ksK0JBQStCLGNBQzdCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7cUJBQzlCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFB1cm9MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9Ecm9wZG93bkkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3B1cm8tZHJvcGRvd24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgICAgICAgUHVyb0R5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dyaWQzY29sUGx1c0ZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVyPzogUHVyb0Ryb3Bkb3duSTtcbiAgICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zLnNldChpdGVtcyk7XG4gICAgICAgIHRoaXMub3B0aW9uLnNldCgnMCcpO1xuICAgIH1cbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kSW1nPzogUHVyb0ltYWdlSTtcbiAgICBASW5wdXQoKSBleHA/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBQdXJvVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IFB1cm9UZXh0c0NvbG9yc0k7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IHNpZ25hbDxzdHJpbmcgfCBudW1iZXI+KCcwJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b3RhbEl0ZW1zID0gc2lnbmFsPFxuICAgICAgICBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySXRlbVtdIHwgdW5kZWZpbmVkXG4gICAgPih1bmRlZmluZWQpO1xuXG4gICAgY3NzQmdVcmwgPSAnJztcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kSW1nPy5zcmMpIHtcbiAgICAgICAgICAgIHRoaXMuY3NzQmdVcmwgPSBgdXJsKFwiJHt0aGlzLmJhY2tncm91bmRJbWcuc3JjfVwiKWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtc0Rpc3BsYXllZCA9IGNvbXB1dGVkPFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgY29uc3QgYWxsID0gdGhpcy50b3RhbEl0ZW1zKCkgPz8gW107XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gU3RyaW5nKHRoaXMub3B0aW9uKCkgPz8gJzAnKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWQgPT09ICcwJykgcmV0dXJuIGFsbDtcblxuICAgICAgICByZXR1cm4gYWxsLmZpbHRlcigoaSkgPT4gU3RyaW5nKGkuZmlsdGVyUGFyZW50KSA9PT0gc2VsZWN0ZWQpO1xuICAgIH0pO1xuXG4gICAgc2VsZWN0T3B0aW9uKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZ0LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkudmFsdWUgfHwgJzAnO1xuICAgICAgICB0aGlzLm9wdGlvbi5zZXQodmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySXRlbSB7XG4gICAgaW1nPzogUHVyb0ltYWdlSTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBuZFRpdGxlPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgZGF0ZT86IHN0cmluZztcbiAgICBmaWx0ZXI/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgZmlsdGVyUGFyZW50Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xuICAgIGxpbmtzPzogUHVyb0J1dHRvbklbXTtcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiZXZlbnRzIGV2ZW50c19fbGlzdCBnZW5lcmFsTWFyZ2luXCIgW3N0eWxlLi0tYmctdXJsXT1cImNzc0JnVXJsXCI+XG4gICAgPGRpdiBjbGFzcz1cImV2ZW50c19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2hlYWRpbmdTZWN0aW9uXCI+XG4gICAgICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnByZXRpdGxlIHx8ICdwJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwiZXZlbnRzX19zdWJIZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnByZXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJldGl0bGVcIlxuICAgICAgICAgICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGFncz8udGl0bGUgfHwgJ2gyJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwiZXZlbnRzX19oZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1fX2dyb3VwIHdpdGhJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiMFwiIHNlbGVjdGVkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbHRlci5wbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnMgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjc2VsZWN0LWFycm93XCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fbGlzdC0taW5uZXJcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXNEaXNwbGF5ZWQoKSB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faGVhZGluZyBwaG90b1wiPnt7IGl0ZW0udGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fZ3JhcGhpYyBqcy1zbGlkZXJfZml4LWFycm93cy16b25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTcmNdPVwiaXRlbS5pbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50c19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nPVwiYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZXhwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5uZFRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fbG9jYXRpb25cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ubmRUaXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLm5kVGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZlbnRzX19zdWJIZWFkaW5nIHBob3RvXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm5kVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX2RhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBpdGVtLmxpbmtzIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJsaW5rLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGluay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGxpbmsubGFiZWwgfX08L3NwYW4+PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGl0ZW0uYnV0dG9ucyB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuX19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ25CLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFReEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBZ0JoRixNQUFNLE9BQU8sK0JBQStCO0lBZDVDO1FBNEJxQixXQUFNLEdBQUcsTUFBTSxDQUFrQixHQUFHLENBQUMsQ0FBQztRQUN0QyxlQUFVLEdBQUcsTUFBTSxDQUVsQyxTQUFTLENBQUMsQ0FBQztRQUViLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFRZCxtQkFBYyxHQUFHLFFBQVEsQ0FBMkMsR0FBRyxFQUFFO1lBQ3JFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDcEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUU5QyxJQUFJLFFBQVEsS0FBSyxHQUFHO2dCQUFFLE9BQU8sR0FBRyxDQUFDO1lBRWpDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztLQU1OO0lBcENHLElBQWEsS0FBSyxDQUFDLEtBQStDO1FBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFjRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFXRCxZQUFZLENBQUMsR0FBVTtRQUNuQixNQUFNLEtBQUssR0FBSSxHQUFHLENBQUMsTUFBNEIsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDO1FBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBdkNRLCtCQUErQjttR0FBL0IsK0JBQStCLG1SQ3JDNUMsazJMQW9JQSwwbEJEekdRLFlBQVksK0JBQ1oscUJBQXFCLDRJQUNyQixnQkFBZ0IsZ1BBQ2hCLDZCQUE2QixpRUFDN0IsMkJBQTJCOzs0RkFNdEIsK0JBQStCO2tCQWQzQyxTQUFTOytCQUNJLCtCQUErQixjQUM3QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QiwyQkFBMkI7cUJBQzlCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gICAgUHVyb0J1dHRvbkksXG4gICAgUHVyb0ltYWdlSSxcbiAgICBQdXJvVGFnc0ksXG4gICAgUHVyb1RleHRzQ29sb3JzSSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQdXJvRHJvcGRvd25JIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wdXJvLWRyb3Bkb3duLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQdXJvRHluYW1pY0hlYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvcHVyby1keW5hbWljLWhlYWRpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgICAgICBQdXJvRHluYW1pY0hlYWRpbmdDb21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvR3JpZDNjb2xQbHVzRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBwcmV0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWx0ZXI/OiBQdXJvRHJvcGRvd25JO1xuICAgIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnRvdGFsSXRlbXMuc2V0KGl0ZW1zKTtcbiAgICAgICAgdGhpcy5vcHRpb24uc2V0KCcwJyk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRJbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIGV4cD86IGJvb2xlYW47XG4gICAgQElucHV0KCkgdGFncz86IFB1cm9UYWdzSTtcbiAgICBASW5wdXQoKSB0ZXh0Q29sb3JzPzogUHVyb1RleHRzQ29sb3JzSTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uID0gc2lnbmFsPHN0cmluZyB8IG51bWJlcj4oJzAnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvdGFsSXRlbXMgPSBzaWduYWw8XG4gICAgICAgIFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWRcbiAgICA+KHVuZGVmaW5lZCk7XG5cbiAgICBjc3NCZ1VybCA9ICcnO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmJhY2tncm91bmRJbWc/LnNyYykge1xuICAgICAgICAgICAgdGhpcy5jc3NCZ1VybCA9IGB1cmwoXCIke3RoaXMuYmFja2dyb3VuZEltZy5zcmN9XCIpYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGl0ZW1zRGlzcGxheWVkID0gY29tcHV0ZWQ8UHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZD4oKCkgPT4ge1xuICAgICAgICBjb25zdCBhbGwgPSB0aGlzLnRvdGFsSXRlbXMoKSA/PyBbXTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBTdHJpbmcodGhpcy5vcHRpb24oKSA/PyAnMCcpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZCA9PT0gJzAnKSByZXR1cm4gYWxsO1xuXG4gICAgICAgIHJldHVybiBhbGwuZmlsdGVyKChpKSA9PiBTdHJpbmcoaS5maWx0ZXJQYXJlbnQpID09PSBzZWxlY3RlZCk7XG4gICAgfSk7XG5cbiAgICBzZWxlY3RPcHRpb24oZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IChldnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50KS52YWx1ZSB8fCAnMCc7XG4gICAgICAgIHRoaXMub3B0aW9uLnNldCh2YWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtIHtcbiAgICBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIG5kVGl0bGU/OiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBkYXRlPzogc3RyaW5nO1xuICAgIGZpbHRlcj86IG51bWJlciB8IHN0cmluZztcbiAgICBmaWx0ZXJQYXJlbnQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgYnV0dG9ucz86IFB1cm9CdXR0b25JW107XG4gICAgbGlua3M/OiBQdXJvQnV0dG9uSVtdO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJldmVudHMgZXZlbnRzX19saXN0IGdlbmVyYWxNYXJnaW5cIiBbc3R5bGUuLS1iZy11cmxdPVwiY3NzQmdVcmxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faGVhZGluZ1NlY3Rpb25cIj5cbiAgICAgICAgICAgIEBpZiAocHJldGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGFncz8ucHJldGl0bGUgfHwgJ3AnXCJcbiAgICAgICAgICAgICAgICAgICAgY3NzQ2xhc3M9XCJldmVudHNfX3N1YkhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8ucHJldGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJwcmV0aXRsZVwiXG4gICAgICAgICAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgIDxsaWItcHVyby1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy50aXRsZSB8fCAnaDInXCJcbiAgICAgICAgICAgICAgICAgICAgY3NzQ2xhc3M9XCJldmVudHNfX2hlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9fZ3JvdXAgd2l0aEljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtX19jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2VsZWN0T3B0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCIwXCIgc2VsZWN0ZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZmlsdGVyLnBsYWNlaG9sZGVyIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXIub3B0aW9ucyB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19saXN0LS1pbm5lclwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc0Rpc3BsYXllZCgpIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19oZWFkaW5nIHBob3RvXCI+e3sgaXRlbS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2lubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI1MDlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmltZy5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2Rpbmc9XCJhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbmZvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChleHApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLm5kVGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZlbnRzX19sb2NhdGlvblwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5uZFRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubmRUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX3N1YkhlYWRpbmcgcGhvdG9cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ubmRUaXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5kYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fZGF0ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIGl0ZW0ubGlua3MgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImxpbmsubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgbGluay5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L3NlY3Rpb24+XG4iXX0=
@@ -1,11 +1,11 @@
1
- import { CommonModule, NgOptimizedImage } from '@angular/common';
1
+ import { CommonModule, NgOptimizedImage, } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
- import { PuroLinkTypeDirective, PuroSliderDirective } from '../../directives';
3
+ import { AutoImageZoomWrapperDirective, PuroLinkTypeDirective, PuroSliderDirective } from '../../directives';
4
4
  import { PuroDynamicHeadingComponent } from '../../shared/puro-dynamic-heading';
5
5
  import * as i0 from "@angular/core";
6
6
  export class PuroGrid3colSliderComponent {
7
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colSliderComponent, isStandalone: true, selector: "lib-puro-grid3col-slider", inputs: { title: "title", button: "button", items: "items", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"discover discover--noRadius js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-discover-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"discover__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"discover__inner relative\">\n <div class=\"discover__container\">\n <div\n class=\"js-discover-slider discover__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n @if (item) {\n <div>\n <a\n [href]=\"item.button?.url\"\n [linkType]=\"item.button?.linkType\"\n class=\"discover__box\"\n [attr.aria-label]=\"\n item.button?.label ?? 'Item link'\n \"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n <div class=\"discover__content\">\n @if (item.pretitle) {\n <p class=\"discover__subHeading photo\">\n {{ item.pretitle }}\n </p>\n }\n @if (item.title) {\n <h3\n class=\"discover__heading photo\"\n [innerHTML]=\"item.title\"\n ></h3>\n }\n </div>\n </div>\n @if (item.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n [linkType]=\"item.button?.linkType\"\n [href]=\"item.button?.url\"\n [attr.aria-label]=\"\n item.button.label ??\n 'Item button'\n \"\n >\n <span>{{ item.button.label }}</span>\n </a>\n </div>\n }\n </a>\n </div>\n }\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </div>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colSliderComponent, isStandalone: true, selector: "lib-puro-grid3col-slider", inputs: { title: "title", button: "button", items: "items", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"discover discover--noRadius js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-discover-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"discover__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"discover__inner relative\">\n <div class=\"discover__container\">\n <div\n class=\"js-discover-slider discover__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n @if (item) {\n <div>\n <a\n [href]=\"item.button?.url\"\n [linkType]=\"item.button?.linkType\"\n class=\"discover__box\"\n [attr.aria-label]=\"\n item.button?.label ?? 'Item link'\n \"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n <div class=\"discover__content\">\n @if (item.pretitle) {\n <p class=\"discover__subHeading photo\">\n {{ item.pretitle }}\n </p>\n }\n @if (item.title) {\n <h3\n class=\"discover__heading photo\"\n [innerHTML]=\"item.title\"\n ></h3>\n }\n </div>\n </div>\n @if (item.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n [linkType]=\"item.button?.linkType\"\n [href]=\"item.button?.url\"\n [attr.aria-label]=\"\n item.button.label ??\n 'Item button'\n \"\n >\n <span>{{ item.button.label }}</span>\n </a>\n </div>\n }\n </a>\n </div>\n }\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </div>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colSliderComponent, decorators: [{
11
11
  type: Component,
@@ -14,6 +14,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
14
14
  PuroSliderDirective,
15
15
  PuroLinkTypeDirective,
16
16
  NgOptimizedImage,
17
+ AutoImageZoomWrapperDirective,
17
18
  PuroDynamicHeadingComponent,
18
19
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"discover discover--noRadius js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-discover-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"discover__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"discover__inner relative\">\n <div class=\"discover__container\">\n <div\n class=\"js-discover-slider discover__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n @if (item) {\n <div>\n <a\n [href]=\"item.button?.url\"\n [linkType]=\"item.button?.linkType\"\n class=\"discover__box\"\n [attr.aria-label]=\"\n item.button?.label ?? 'Item link'\n \"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n <div class=\"discover__content\">\n @if (item.pretitle) {\n <p class=\"discover__subHeading photo\">\n {{ item.pretitle }}\n </p>\n }\n @if (item.title) {\n <h3\n class=\"discover__heading photo\"\n [innerHTML]=\"item.title\"\n ></h3>\n }\n </div>\n </div>\n @if (item.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n [linkType]=\"item.button?.linkType\"\n [href]=\"item.button?.url\"\n [attr.aria-label]=\"\n item.button.label ??\n 'Item button'\n \"\n >\n <span>{{ item.button.label }}</span>\n </a>\n </div>\n }\n </a>\n </div>\n }\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </div>\n </div>\n</section>\n" }]
19
20
  }], propDecorators: { title: [{
@@ -27,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
27
28
  }], textColors: [{
28
29
  type: Input
29
30
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1zbGlkZXIvcHVyby1ncmlkM2NvbC1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1zbGlkZXIvcHVyby1ncmlkM2NvbC1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLDJCQUEyQjsrR0FBM0IsMkJBQTJCO21HQUEzQiwyQkFBMkIsMExDekJ4Qyx1aUpBc0dBLHlERHZGUSxZQUFZLCtCQUNaLG1CQUFtQixpRkFDbkIscUJBQXFCLDRJQUNyQixnQkFBZ0IsZ1BBQ2hCLDJCQUEyQjs7NEZBTXRCLDJCQUEyQjtrQkFkdkMsU0FBUzsrQkFDSSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3FCQUM5QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1cm9MaW5rVHlwZURpcmVjdGl2ZSwgUHVyb1NsaWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtc2xpZGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQdXJvU2xpZGVyRGlyZWN0aXZlLFxuICAgICAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgICAgIFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWdyaWQzY29sLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtc2xpZGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dyaWQzY29sU2xpZGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBpdGVtcz86IFB1cm9HcmlkM2NvbFNsaWRlckl0ZW1bXTtcbiAgICBASW5wdXQoKSB0YWdzPzogUHVyb1RhZ3NJO1xuICAgIEBJbnB1dCgpIHRleHRDb2xvcnM/OiBQdXJvVGV4dHNDb2xvcnNJO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9HcmlkM2NvbFNsaWRlckl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwiZGlzY292ZXIgZGlzY292ZXItLW5vUmFkaXVzIGpzLWFjdGl2ZS1zbGlkZXIgZ2VuZXJhbE1hcmdpblwiXG4gICAgW3B1cm9TbGlkZXJdPVwiaXRlbXNcIlxuICAgIGRhdGEtc2xpZGVzX2luZmluaXRlPVwidHJ1ZVwiXG4gICAgZGF0YS1zbGlkZXJfbmFtZT1cImpzLWRpc2NvdmVyLXNsaWRlclwiXG4gICAgZGF0YS1zbGlkZXJfc2hvd2J0bnM9XCJ0cnVlXCJcbiAgICBkYXRhLXNsaWRlcl9zaG93ZG90cz1cImZhbHNlXCJcbiAgICBkYXRhLXNsaWRlcl9mYWRlPVwiZmFsc2VcIlxuICAgIGRhdGEtc2xpZGVyX2F1dG9wbGF5PVwidHJ1ZVwiXG4gICAgZGF0YS1zbGlkZXNfcGM9XCIzXCJcbiAgICBkYXRhLXNsaWRlc19sYXB0b3A9XCIzXCJcbiAgICBkYXRhLXNsaWRlc190YWJsZXQ9XCIxXCJcbiAgICBkYXRhLXNsaWRlc19tb2JpbGU9XCIxXCJcbiAgICBkYXRhLXNsaWRlc19tb2JpbGVfc21hbGw9XCIxXCJcbiAgICBkYXRhLXNsaWRlc19tb2JpbGVfeHNtYWxsPVwiMVwiXG4+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnRpdGxlIHx8ICdzcGFuJ1wiXG4gICAgICAgICAgICBjc3NDbGFzcz1cImRpc2NvdmVyX190aXRsZVwiXG4gICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8udGl0bGVcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVcIlxuICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJkaXNjb3Zlcl9faW5uZXIgcmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRpc2NvdmVyX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImpzLWRpc2NvdmVyLXNsaWRlciBkaXNjb3Zlcl9fc2xpZGVyIGpzLXNsaWRlcl9maXgtYXJyb3dzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0uYnV0dG9uPy51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiaXRlbS5idXR0b24/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNjb3Zlcl9fYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9uPy5sYWJlbCA/PyAnSXRlbSBsaW5rJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNjb3Zlcl9fZ3JhcGhpYyBqcy1zbGlkZXJfZml4LWFycm93cy16b25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMzkxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTMzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNjb3Zlcl9fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmltZy5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGluZz1cImFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc2NvdmVyX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZGlzY292ZXJfX3N1YkhlYWRpbmcgcGhvdG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ucHJldGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRpc2NvdmVyX19oZWFkaW5nIHBob3RvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpdGVtLmJ1dHRvbj8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmJ1dHRvbj8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9uLmxhYmVsID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbSBidXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93c1wiPjwvZGl2PlxuICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1zbGlkZXIvcHVyby1ncmlkM2NvbC1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1zbGlkZXIvcHVyby1ncmlkM2NvbC1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU83RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFpQmhGLE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCLDBMQzdCeEMsdWlKQXNHQSx5RERwRlEsWUFBWSwrQkFDWixtQkFBbUIsaUZBQ25CLHFCQUFxQiw0SUFDckIsZ0JBQWdCLGdQQUNoQiw2QkFBNkIsaUVBQzdCLDJCQUEyQjs7NEZBTXRCLDJCQUEyQjtrQkFmdkMsU0FBUzsrQkFDSSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QiwyQkFBMkI7cUJBQzlCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0b0ltYWdlWm9vbVdyYXBwZXJEaXJlY3RpdmUsIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSwgUHVyb1NsaWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtc2xpZGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQdXJvU2xpZGVyRGlyZWN0aXZlLFxuICAgICAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgICAgICBQdXJvRHluYW1pY0hlYWRpbmdDb21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1ncmlkM2NvbC1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdyaWQzY29sLXNsaWRlci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9HcmlkM2NvbFNsaWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgaXRlbXM/OiBQdXJvR3JpZDNjb2xTbGlkZXJJdGVtW107XG4gICAgQElucHV0KCkgdGFncz86IFB1cm9UYWdzSTtcbiAgICBASW5wdXQoKSB0ZXh0Q29sb3JzPzogUHVyb1RleHRzQ29sb3JzSTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDNjb2xTbGlkZXJJdGVtIHtcbiAgICBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cImRpc2NvdmVyIGRpc2NvdmVyLS1ub1JhZGl1cyBqcy1hY3RpdmUtc2xpZGVyIGdlbmVyYWxNYXJnaW5cIlxuICAgIFtwdXJvU2xpZGVyXT1cIml0ZW1zXCJcbiAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX25hbWU9XCJqcy1kaXNjb3Zlci1zbGlkZXJcIlxuICAgIGRhdGEtc2xpZGVyX3Nob3didG5zPVwidHJ1ZVwiXG4gICAgZGF0YS1zbGlkZXJfc2hvd2RvdHM9XCJmYWxzZVwiXG4gICAgZGF0YS1zbGlkZXJfZmFkZT1cImZhbHNlXCJcbiAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVzX3BjPVwiM1wiXG4gICAgZGF0YS1zbGlkZXNfbGFwdG9wPVwiM1wiXG4gICAgZGF0YS1zbGlkZXNfdGFibGV0PVwiMVwiXG4gICAgZGF0YS1zbGlkZXNfbW9iaWxlPVwiMVwiXG4gICAgZGF0YS1zbGlkZXNfbW9iaWxlX3NtYWxsPVwiMVwiXG4gICAgZGF0YS1zbGlkZXNfbW9iaWxlX3hzbWFsbD1cIjFcIlxuPlxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy50aXRsZSB8fCAnc3BhbidcIlxuICAgICAgICAgICAgY3NzQ2xhc3M9XCJkaXNjb3Zlcl9fdGl0bGVcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cInRpdGxlXCJcbiAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiZGlzY292ZXJfX2lubmVyIHJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXNjb3Zlcl9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJqcy1kaXNjb3Zlci1zbGlkZXIgZGlzY292ZXJfX3NsaWRlciBqcy1zbGlkZXJfZml4LWFycm93c1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcyB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmJ1dHRvbj8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0uYnV0dG9uPy5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlzY292ZXJfX2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbj8ubGFiZWwgPz8gJ0l0ZW0gbGluaydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlzY292ZXJfX2dyYXBoaWMganMtc2xpZGVyX2ZpeC1hcnJvd3Mtem9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjM5MVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUzM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlzY292ZXJfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2Rpbmc9XCJhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXNjb3Zlcl9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5wcmV0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImRpc2NvdmVyX19zdWJIZWFkaW5nIHBob3RvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnByZXRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoM1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNjb3Zlcl9faGVhZGluZyBwaG90b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5idXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiaXRlbS5idXR0b24/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS5idXR0b24/LnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbi5sYWJlbCA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW0gYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5idXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImpzLXNsaWRlci1hcnJvd3NcIj48L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==