ctt-puro 0.20.6 → 0.20.7

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 (40) hide show
  1. package/esm2022/lib/components/puro-404/puro-404.component.mjs +1 -1
  2. package/esm2022/lib/components/puro-banner4col/puro-banner4col.component.mjs +1 -1
  3. package/esm2022/lib/components/puro-footer-beachs/puro-footer-beachs.component.mjs +1 -1
  4. package/esm2022/lib/components/puro-footer-hotels/puro-footer-hotels.component.mjs +1 -1
  5. package/esm2022/lib/components/puro-footer-info/puro-footer-info.component.mjs +2 -2
  6. package/esm2022/lib/components/puro-gallery/puro-gallery.component.mjs +2 -2
  7. package/esm2022/lib/components/puro-grid3col-filter/puro-grid3col-filter.component.mjs +1 -1
  8. package/esm2022/lib/components/puro-grid3col-plus-filter/puro-grid3col-plus-filter.component.mjs +1 -1
  9. package/esm2022/lib/components/puro-grid3col-slider/puro-grid3col-slider.component.mjs +1 -1
  10. package/esm2022/lib/components/puro-grid4items/puro-grid4items.component.mjs +1 -1
  11. package/esm2022/lib/components/puro-grid5items/puro-grid5items.component.mjs +2 -2
  12. package/esm2022/lib/components/puro-grid6items/puro-grid6items.component.mjs +2 -2
  13. package/esm2022/lib/components/puro-header/puro-header.component.mjs +2 -2
  14. package/esm2022/lib/components/puro-hotels-modal/puro-hotels-modal.component.mjs +2 -2
  15. package/esm2022/lib/components/puro-info-banner/puro-info-banner.component.mjs +2 -2
  16. package/esm2022/lib/components/puro-info-big/puro-info-big.component.mjs +1 -1
  17. package/esm2022/lib/components/puro-info-intro/puro-info-intro.component.mjs +1 -1
  18. package/esm2022/lib/components/puro-info-services/puro-info-services.component.mjs +2 -2
  19. package/esm2022/lib/components/puro-info-slider/puro-info-slider.component.mjs +2 -2
  20. package/esm2022/lib/components/puro-info-video/puro-info-video.component.mjs +1 -1
  21. package/esm2022/lib/components/puro-info2col/puro-info2col.component.mjs +2 -2
  22. package/esm2022/lib/components/puro-list-general/puro-list-general.component.mjs +2 -2
  23. package/esm2022/lib/components/puro-offer-banner/puro-offer-banner.component.mjs +2 -2
  24. package/esm2022/lib/components/puro-offers-slider/puro-offers-slider.component.mjs +2 -2
  25. package/esm2022/lib/components/puro-photo-slider/puro-photo-slider.component.mjs +2 -2
  26. package/esm2022/lib/components/puro-slider1col/puro-slider1col.component.mjs +1 -1
  27. package/esm2022/lib/components/puro-slider2col/puro-slider2col.component.mjs +2 -2
  28. package/esm2022/lib/components/puro-slider3col/puro-slider3col.component.mjs +2 -2
  29. package/esm2022/lib/components/puro-slider3col-round/puro-slider3col-round.component.mjs +2 -2
  30. package/esm2022/lib/components/puro-thanks/puro-thanks.component.mjs +1 -1
  31. package/esm2022/lib/components/puro-top-slider/puro-top-slider.component.mjs +2 -2
  32. package/esm2022/lib/components/puro-webmap/puro-webmap.component.mjs +1 -1
  33. package/esm2022/lib/components/puro-zigzag2col/puro-zigzag2col.component.mjs +1 -1
  34. package/esm2022/lib/directives/puro-link-type/puro-link-type.directive.mjs +168 -15
  35. package/esm2022/lib/services/mapper/mapper.service.mjs +2 -2
  36. package/esm2022/lib/utils/utils.mjs +9 -5
  37. package/fesm2022/ctt-puro.mjs +221 -64
  38. package/fesm2022/ctt-puro.mjs.map +1 -1
  39. package/lib/directives/puro-link-type/puro-link-type.directive.d.ts +21 -6
  40. package/package.json +1 -1
@@ -4,7 +4,7 @@ import { PuroLinkTypeDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  export class Puro404Component {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Puro404Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: Puro404Component, isStandalone: true, selector: "lib-puro-404", inputs: { title: "title", subtitle: "subtitle", description: "description", contact: "contact", link: "link", address: "address" }, ngImport: i0, template: "<div class=\"puro404\">\n <div class=\"puro404__pageNotFound\">\n <div class=\"puro404__pageNotFound--inner\">\n @if (title) {\n <h2 class=\"puro404__heading\">{{ title }}</h2>\n }\n @if (subtitle) {\n <h3 class=\"puro404__subHeading\">{{ subtitle }}</h3>\n }\n <div class=\"puro404__content\">\n @if (description || link) {\n <p class=\"puro404__text\">\n @if (description) {\n <span [innerHTML]=\"description\"></span>\n }\n <br />\n @if (link) {\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n }\n </p>\n }\n </div>\n </div>\n </div>\n <div class=\"puro404__contact\">\n <div class=\"puro404__contact--inner\">\n @if (contact) {\n <div>\n @if (contact.title) {\n <h4 class=\"puro404__contactHeading\">\n {{ contact.title }}\n </h4>\n }\n @if (contact.links && contact.links.length) {\n <p class=\"puro404__contactText\">\n @for (link of contact.links; track $index) {\n @if (link) {\n <a [href]=\"link.url\" [attr.aria-label]=\"link.label\">{{ link.label }}</a\n ><br />\n }\n }\n @if (contact.button) {\n <a\n [href]=\"contact.button.url\"\n [linkType]=\"contact.button.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"contact.button.label\"\n >{{ contact.button.label }}</a\n >\n }\n </p>\n }\n </div>\n }\n @if (address) {\n <div>\n @if (address.title) {\n <h4 class=\"puro404__contactHeading\">\n {{ address.title }}\n </h4>\n }\n @if (address.text || address.button) {\n <p class=\"puro404__contactText\">\n @if (address.text) {\n <span [innerHTML]=\"address.text\"></span>\n }\n @if (address.button) {\n <a\n [href]=\"address.button.url\"\n [linkType]=\"address.button.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"address.button.label\"\n >{{ address.button.label }}</a\n >\n }\n </p>\n }\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: Puro404Component, isStandalone: true, selector: "lib-puro-404", inputs: { title: "title", subtitle: "subtitle", description: "description", contact: "contact", link: "link", address: "address" }, ngImport: i0, template: "<div class=\"puro404\">\n <div class=\"puro404__pageNotFound\">\n <div class=\"puro404__pageNotFound--inner\">\n @if (title) {\n <h2 class=\"puro404__heading\">{{ title }}</h2>\n }\n @if (subtitle) {\n <h3 class=\"puro404__subHeading\">{{ subtitle }}</h3>\n }\n <div class=\"puro404__content\">\n @if (description || link) {\n <p class=\"puro404__text\">\n @if (description) {\n <span [innerHTML]=\"description\"></span>\n }\n <br />\n @if (link) {\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n }\n </p>\n }\n </div>\n </div>\n </div>\n <div class=\"puro404__contact\">\n <div class=\"puro404__contact--inner\">\n @if (contact) {\n <div>\n @if (contact.title) {\n <h4 class=\"puro404__contactHeading\">\n {{ contact.title }}\n </h4>\n }\n @if (contact.links && contact.links.length) {\n <p class=\"puro404__contactText\">\n @for (link of contact.links; track $index) {\n @if (link) {\n <a [href]=\"link.url\" [attr.aria-label]=\"link.label\">{{ link.label }}</a\n ><br />\n }\n }\n @if (contact.button) {\n <a\n [href]=\"contact.button.url\"\n [linkType]=\"contact.button.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"contact.button.label\"\n >{{ contact.button.label }}</a\n >\n }\n </p>\n }\n </div>\n }\n @if (address) {\n <div>\n @if (address.title) {\n <h4 class=\"puro404__contactHeading\">\n {{ address.title }}\n </h4>\n }\n @if (address.text || address.button) {\n <p class=\"puro404__contactText\">\n @if (address.text) {\n <span [innerHTML]=\"address.text\"></span>\n }\n @if (address.button) {\n <a\n [href]=\"address.button.url\"\n [linkType]=\"address.button.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"address.button.label\"\n >{{ address.button.label }}</a\n >\n }\n </p>\n }\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Puro404Component, decorators: [{
10
10
  type: Component,
@@ -3,7 +3,7 @@ import { PuroLinkTypeDirective, PuroSliderDirective } from '../../directives';
3
3
  import * as i0 from "@angular/core";
4
4
  export class PuroBanner4colComponent {
5
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroBanner4colComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroBanner4colComponent, isStandalone: true, selector: "lib-puro-banner4col", inputs: { title: "title", description: "description", button: "button", images: "images", bigtitle: "bigtitle", bigbanner: "bigbanner" }, ngImport: i0, template: "\n<section\nclass=\"introduction js-active-slider\"\n[puroSlider]=\"images\"\ndata-slides_infinite=\"true\"\ndata-slider_name=\"js-introduction-slider\"\ndata-slider_showbtns=\"true\"\ndata-slider_showdots=\"false\"\ndata-slider_fade=\"false\"\ndata-slider_autoplay=\"false\"\ndata-slides_pc=\"4\"\ndata-slides_laptop=\"4\"\ndata-slides_tablet=\"3\"\ndata-slides_mobile=\"2\"\ndata-slides_mobile_small=\"2\"\ndata-slides_mobile_xsmall=\"2\"\n>\n<div class=\"largeImage largeImage__blockSpacing--small\">\n @if (bigtitle) {\n <span class=\"largeImage__title largeImage__title--large\"\n >{{bigtitle}}</span\n >\n }\n @if (bigbanner) {\n <div class=\"largeImage__inner\">\n <div class=\"largeImage__box\">\n <div class=\"largeImage__graphic\">\n <img\n [src]=\"bigbanner.src\"\n width=\"1670\"\n height=\"704\"\n class=\"largeImage__graphic--img\"\n [alt]=\"bigbanner.alt\"\n />\n </div>\n </div>\n </div>\n }\n</div>\n@if (title) {\n <h2 class=\"introduction__heading\">{{title}}</h2>\n}\n@if (description) {\n <div class=\"introduction__paragraph\">\n <p>{{description}}</p>\n </div>\n}\n@if (images?.length) {\n <div class=\"introduction__inner relative\">\n <div\n class=\"js-introduction-slider introduction__slider js-slider_fix-arrows\"\n >\n @for (img of images; track $index) {\n <div>\n <div\n class=\"introduction__box js-slider_fix-arrows-zone\"\n >\n <div class=\"introduction__graphic\">\n <img\n [src]=\"img.src\"\n width=\"300\"\n height=\"578\"\n class=\"introduction__graphic--img\"\n [alt]=\"img.alt\"\n />\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n}\n@if (button) {\n <div class=\"btn__group\">\n <a [href]=\"button.url\" class=\"btn btn__primary--outline\" [linkType]=\"button.linkType\" [attr.aria-label]=\"button.label\"\n ><span>{{button.label}}</span></a\n >\n </div>\n}\n</section>", styles: [""], dependencies: [{ kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroBanner4colComponent, isStandalone: true, selector: "lib-puro-banner4col", inputs: { title: "title", description: "description", button: "button", images: "images", bigtitle: "bigtitle", bigbanner: "bigbanner" }, ngImport: i0, template: "\n<section\nclass=\"introduction js-active-slider\"\n[puroSlider]=\"images\"\ndata-slides_infinite=\"true\"\ndata-slider_name=\"js-introduction-slider\"\ndata-slider_showbtns=\"true\"\ndata-slider_showdots=\"false\"\ndata-slider_fade=\"false\"\ndata-slider_autoplay=\"false\"\ndata-slides_pc=\"4\"\ndata-slides_laptop=\"4\"\ndata-slides_tablet=\"3\"\ndata-slides_mobile=\"2\"\ndata-slides_mobile_small=\"2\"\ndata-slides_mobile_xsmall=\"2\"\n>\n<div class=\"largeImage largeImage__blockSpacing--small\">\n @if (bigtitle) {\n <span class=\"largeImage__title largeImage__title--large\"\n >{{bigtitle}}</span\n >\n }\n @if (bigbanner) {\n <div class=\"largeImage__inner\">\n <div class=\"largeImage__box\">\n <div class=\"largeImage__graphic\">\n <img\n [src]=\"bigbanner.src\"\n width=\"1670\"\n height=\"704\"\n class=\"largeImage__graphic--img\"\n [alt]=\"bigbanner.alt\"\n />\n </div>\n </div>\n </div>\n }\n</div>\n@if (title) {\n <h2 class=\"introduction__heading\">{{title}}</h2>\n}\n@if (description) {\n <div class=\"introduction__paragraph\">\n <p>{{description}}</p>\n </div>\n}\n@if (images?.length) {\n <div class=\"introduction__inner relative\">\n <div\n class=\"js-introduction-slider introduction__slider js-slider_fix-arrows\"\n >\n @for (img of images; track $index) {\n <div>\n <div\n class=\"introduction__box js-slider_fix-arrows-zone\"\n >\n <div class=\"introduction__graphic\">\n <img\n [src]=\"img.src\"\n width=\"300\"\n height=\"578\"\n class=\"introduction__graphic--img\"\n [alt]=\"img.alt\"\n />\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n}\n@if (button) {\n <div class=\"btn__group\">\n <a [href]=\"button.url\" class=\"btn btn__primary--outline\" [linkType]=\"button.linkType\" [attr.aria-label]=\"button.label\"\n ><span>{{button.label}}</span></a\n >\n </div>\n}\n</section>", styles: [""], dependencies: [{ kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroBanner4colComponent, decorators: [{
9
9
  type: Component,
@@ -4,7 +4,7 @@ import { PuroLinkTypeDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PuroFooterBeachsComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterBeachsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterBeachsComponent, isStandalone: true, selector: "lib-puro-footer-beachs", inputs: { items: "items" }, ngImport: i0, template: "<footer class=\"footer footer__bg--1\">\n <div class=\"footer__hotels\">\n <ul class=\"footer__hotelsList\">\n <li class=\"footer__logo\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"307\"\n height=\"32\"\n class=\"footer__logo--img\"\n >\n <use href=\"#purobeach-logo\"></use>\n >\n </svg>\n </li>\n\n @for (item of items || []; track $index) {\n @if (item) {\n <li class=\"footer__hotelsItem\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"footer__hotelsItem--inner\"\n [attr.aria-label]=\"item.link?.label ?? 'Item link'\"\n >\n @if (item.title) {\n <h3 class=\"footer__hotelsItem--heading\">\n {{ item.title }}\n </h3>\n }\n @if (item.subtitle) {\n <p class=\"footer__hotelsItem--text\">\n {{ item.subtitle }}\n </p>\n }\n </a>\n </li>\n }\n }\n </ul>\n </div>\n</footer>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }] }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterBeachsComponent, isStandalone: true, selector: "lib-puro-footer-beachs", inputs: { items: "items" }, ngImport: i0, template: "<footer class=\"footer footer__bg--1\">\n <div class=\"footer__hotels\">\n <ul class=\"footer__hotelsList\">\n <li class=\"footer__logo\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"307\"\n height=\"32\"\n class=\"footer__logo--img\"\n >\n <use href=\"#purobeach-logo\"></use>\n >\n </svg>\n </li>\n\n @for (item of items || []; track $index) {\n @if (item) {\n <li class=\"footer__hotelsItem\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"footer__hotelsItem--inner\"\n [attr.aria-label]=\"item.link?.label ?? 'Item link'\"\n >\n @if (item.title) {\n <h3 class=\"footer__hotelsItem--heading\">\n {{ item.title }}\n </h3>\n }\n @if (item.subtitle) {\n <p class=\"footer__hotelsItem--text\">\n {{ item.subtitle }}\n </p>\n }\n </a>\n </li>\n }\n }\n </ul>\n </div>\n</footer>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }] }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterBeachsComponent, decorators: [{
10
10
  type: Component,
@@ -4,7 +4,7 @@ import { PuroLinkTypeDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PuroFooterHotelsComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterHotelsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterHotelsComponent, isStandalone: true, selector: "lib-puro-footer-hotels", inputs: { items: "items" }, ngImport: i0, template: "<footer class=\"footer footer__bg--1\">\n <div class=\"footer__hotels\">\n <ul class=\"footer__hotelsList\">\n <li class=\"footer__logo\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"307\"\n height=\"32\"\n class=\"footer__logo--img\"\n >\n <use href=\"#purobeach-logo\"></use>\n >\n </svg>\n </li>\n\n @for (item of items || []; track $index) {\n @if (item) {\n <li class=\"footer__hotelsItem\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"footer__hotelsItem--inner\"\n [attr.aria-label]=\"item.link?.label\"\n >\n @if (item.title) {\n <h3 class=\"footer__hotelsItem--heading\">\n {{ item.title }}\n </h3>\n }\n @if (item.subtitle) {\n <p class=\"footer__hotelsItem--text\">\n {{ item.subtitle }}\n </p>\n }\n </a>\n </li>\n }\n }\n </ul>\n </div>\n</footer>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }] }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterHotelsComponent, isStandalone: true, selector: "lib-puro-footer-hotels", inputs: { items: "items" }, ngImport: i0, template: "<footer class=\"footer footer__bg--1\">\n <div class=\"footer__hotels\">\n <ul class=\"footer__hotelsList\">\n <li class=\"footer__logo\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"307\"\n height=\"32\"\n class=\"footer__logo--img\"\n >\n <use href=\"#purobeach-logo\"></use>\n >\n </svg>\n </li>\n\n @for (item of items || []; track $index) {\n @if (item) {\n <li class=\"footer__hotelsItem\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"footer__hotelsItem--inner\"\n [attr.aria-label]=\"item.link?.label\"\n >\n @if (item.title) {\n <h3 class=\"footer__hotelsItem--heading\">\n {{ item.title }}\n </h3>\n }\n @if (item.subtitle) {\n <p class=\"footer__hotelsItem--text\">\n {{ item.subtitle }}\n </p>\n }\n </a>\n </li>\n }\n }\n </ul>\n </div>\n</footer>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }] }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterHotelsComponent, decorators: [{
10
10
  type: Component,
@@ -21,7 +21,7 @@ export class PuroFooterInfoComponent {
21
21
  this.newsletterClick.emit(this.form?.value.email);
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterInfoComponent, isStandalone: true, selector: "lib-puro-footer-info", inputs: { socialMedia: "socialMedia", addressInfo: "addressInfo", contactInfo: "contactInfo", newsletterInfo: "newsletterInfo", img: "img", logo: "logo", button: "button", title: "title" }, outputs: { newsletterClick: "newsletterClick" }, ngImport: i0, template: "<section class=\"contact\">\n @if (title) {\n <span class=\"contact__title\">{{ title }}</span>\n }\n <div class=\"contact__graphic\">\n @if (img) {\n <img\n [src]=\"img.src\"\n class=\"contact__graphic--img\"\n width=\"1763\"\n height=\"434\"\n [alt]=\"img.alt\"\n />\n }\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"400\"\n height=\"42\"\n loading=\"lazy\"\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n />\n }\n </span>\n </div>\n <div class=\"contact__container\">\n @if (socialMedia) {\n <div class=\"contact__followUs\">\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"400\"\n height=\"42\"\n loading=\"lazy\"\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n />\n }\n </span>\n <ul class=\"contact__followUs--ItemList\">\n @for (item of socialMedia.items || []; track $index) {\n @if (item) {\n <li class=\"contact__followUs--ItemLink\">\n <a\n [href]=\"item.url\"\n [attr.aria-label]=\"item.icon\"\n ><i class=\"{{ item.icon }}\"></i\n ></a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (addressInfo) {\n <div class=\"contact__address\">\n @if (addressInfo.title) {\n <h3 class=\"contact__heading\">{{ addressInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n @if (addressInfo.text) {\n <p [innerHTML]=\"addressInfo.text\"></p>\n }\n @if (addressInfo.button) {\n <div class=\"btn__group\">\n <a\n [href]=\"addressInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"addressInfo.button.label\"\n >{{ addressInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (contactInfo) {\n <div class=\"contact__contactLinks\">\n @if (contactInfo.title) {\n <h3 class=\"contact__heading\">{{ contactInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n <ul class=\"contact__links\">\n @for (link of contactInfo.links || []; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url | contactLink\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n @if (contactInfo.button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"contactInfo.button.linkType\"\n [href]=\"contactInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"contactInfo.button.label\"\n >{{ contactInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (newsletterInfo) {\n <div class=\"contact__newsletter\">\n @if (newsletterInfo.title) {\n <h3 class=\"contact__heading\">{{ newsletterInfo.title }}</h3>\n }\n\n @if (form) {\n <form class=\"contact__text\" [formGroup]=\"form\">\n <div class=\"contact__newsletterBox\">\n <div class=\"form__group\">\n <input\n type=\"text\"\n class=\"form__control\"\n [placeholder]=\"\n newsletterInfo.inputPlaceholder\n \"\n formControlName=\"email\"\n />\n <span class=\"contact__newsletter--icon\">\n <i class=\"icon-63\"></i>\n </span>\n </div>\n <label class=\"form__checkbox\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n formControlName=\"check\"\n />\n <span class=\"box\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"9\"\n height=\"7\"\n >\n <use href=\"#checkbox-tick\"></use>\n </svg>\n </span>\n <span\n [innerHTML]=\"newsletterInfo.conditionsLink\"\n ></span>\n </label>\n </div>\n @if (newsletterInfo.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n (click)=\"send()\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n [attr.aria-label]=\"\n newsletterInfo.button.label\n \"\n >\n {{ newsletterInfo.button.label }}\n </a>\n </div>\n }\n </form>\n }\n </div>\n }\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }, { kind: "pipe", type: PuroContactLinkPipe, name: "contactLink" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterInfoComponent, isStandalone: true, selector: "lib-puro-footer-info", inputs: { socialMedia: "socialMedia", addressInfo: "addressInfo", contactInfo: "contactInfo", newsletterInfo: "newsletterInfo", img: "img", logo: "logo", button: "button", title: "title" }, outputs: { newsletterClick: "newsletterClick" }, ngImport: i0, template: "<section class=\"contact\">\n @if (title) {\n <span class=\"contact__title\">{{ title }}</span>\n }\n <div class=\"contact__graphic\">\n @if (img) {\n <img\n [src]=\"img.src\"\n class=\"contact__graphic--img\"\n width=\"1763\"\n height=\"434\"\n [alt]=\"img.alt\"\n />\n }\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"400\"\n height=\"42\"\n loading=\"lazy\"\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n />\n }\n </span>\n </div>\n <div class=\"contact__container\">\n @if (socialMedia) {\n <div class=\"contact__followUs\">\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"400\"\n height=\"42\"\n loading=\"lazy\"\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n />\n }\n </span>\n <ul class=\"contact__followUs--ItemList\">\n @for (item of socialMedia.items || []; track $index) {\n @if (item) {\n <li class=\"contact__followUs--ItemLink\">\n <a\n [href]=\"item.url\"\n [attr.aria-label]=\"item.icon\"\n ><i class=\"{{ item.icon }}\"></i\n ></a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (addressInfo) {\n <div class=\"contact__address\">\n @if (addressInfo.title) {\n <h3 class=\"contact__heading\">{{ addressInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n @if (addressInfo.text) {\n <p [innerHTML]=\"addressInfo.text\"></p>\n }\n @if (addressInfo.button) {\n <div class=\"btn__group\">\n <a\n [href]=\"addressInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"addressInfo.button.label\"\n >{{ addressInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (contactInfo) {\n <div class=\"contact__contactLinks\">\n @if (contactInfo.title) {\n <h3 class=\"contact__heading\">{{ contactInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n <ul class=\"contact__links\">\n @for (link of contactInfo.links || []; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url | contactLink\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n @if (contactInfo.button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"contactInfo.button.linkType\"\n [href]=\"contactInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"contactInfo.button.label\"\n >{{ contactInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (newsletterInfo) {\n <div class=\"contact__newsletter\">\n @if (newsletterInfo.title) {\n <h3 class=\"contact__heading\">{{ newsletterInfo.title }}</h3>\n }\n\n @if (form) {\n <form class=\"contact__text\" [formGroup]=\"form\">\n <div class=\"contact__newsletterBox\">\n <div class=\"form__group\">\n <input\n type=\"text\"\n class=\"form__control\"\n [placeholder]=\"\n newsletterInfo.inputPlaceholder\n \"\n formControlName=\"email\"\n />\n <span class=\"contact__newsletter--icon\">\n <i class=\"icon-63\"></i>\n </span>\n </div>\n <label class=\"form__checkbox\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n formControlName=\"check\"\n />\n <span class=\"box\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"9\"\n height=\"7\"\n >\n <use href=\"#checkbox-tick\"></use>\n </svg>\n </span>\n <span\n [innerHTML]=\"newsletterInfo.conditionsLink\"\n ></span>\n </label>\n </div>\n @if (newsletterInfo.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n (click)=\"send()\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n [attr.aria-label]=\"\n newsletterInfo.button.label\n \"\n >\n {{ newsletterInfo.button.label }}\n </a>\n </div>\n }\n </form>\n }\n </div>\n }\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "pipe", type: PuroContactLinkPipe, name: "contactLink" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterInfoComponent, decorators: [{
27
27
  type: Component,
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
51
51
  }], newsletterClick: [{
52
52
  type: Output
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1mb290ZXItaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWZvb3Rlci1pbmZvL3B1cm8tZm9vdGVyLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1mb290ZXItaW5mby9wdXJvLWZvb3Rlci1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFFWCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWdCbEQsTUFBTSxPQUFPLHVCQUF1QjtJQWRwQztRQWVxQixPQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBVWhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQWMxRDtJQVZHLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3RCLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM1QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBeEJRLHVCQUF1QjttR0FBdkIsdUJBQXVCLCtUQ25DcEMsZ2xQQXFMQSx5REQ1SlEsWUFBWSw2SEFDWixxQkFBcUIsd0dBQ3JCLG1CQUFtQixtREFDbkIsV0FBVyw0MEJBQ1gsbUJBQW1COzs0RkFNZCx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0ksc0JBQXNCLGNBQ3BCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDdEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUdyb3VwLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHVyb0xpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQdXJvQnV0dG9uSSwgUHVyb0ltYWdlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHVyb0NvbnRhY3RMaW5rUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItcHVyby1mb290ZXItaW5mbycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgICAgICBQdXJvQ29udGFjdExpbmtQaXBlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWZvb3Rlci1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1mb290ZXItaW5mby5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9Gb290ZXJJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcbiAgICBASW5wdXQoKSBzb2NpYWxNZWRpYT86IFB1cm9Gb290ZXJJbmZvU29jaWFsTWVkaWFJbmZvO1xuICAgIEBJbnB1dCgpIGFkZHJlc3NJbmZvPzogUHVyb0Zvb3RlckluZm9BZGRyZXNzSW5mbztcbiAgICBASW5wdXQoKSBjb250YWN0SW5mbz86IFB1cm9Gb290ZXJJbmZvQ29udGFjdEluZm87XG4gICAgQElucHV0KCkgbmV3c2xldHRlckluZm8/OiBQdXJvRm9vdGVySW5mb05ld3NsZXR0ZXJJbmZvO1xuICAgIEBJbnB1dCgpIGltZz86IFB1cm9JbWFnZUk7XG4gICAgQElucHV0KCkgbG9nbz86IFB1cm9JbWFnZUk7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgbmV3c2xldHRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBmb3JtPzogRm9ybUdyb3VwO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgICAgICAgIGNoZWNrOiBbZmFsc2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV1dLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ld3NsZXR0ZXJDbGljay5lbWl0KHRoaXMuZm9ybT8udmFsdWUuZW1haWwpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvRm9vdGVySW5mb05ld3NsZXR0ZXJJbmZvIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbnB1dFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnNMaW5rPzogc3RyaW5nO1xuICAgIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9Gb290ZXJJbmZvQWRkcmVzc0luZm8ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb0Zvb3RlckluZm9Tb2NpYWxNZWRpYUluZm8ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGl0ZW1zPzogeyB1cmw/OiBzdHJpbmc7IGljb24/OiBzdHJpbmcgfVtdO1xuICAgIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9Gb290ZXJJbmZvQ29udGFjdEluZm8ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGxpbmtzPzogUHVyb0J1dHRvbklbXTtcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiY29udGFjdFwiPlxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb250YWN0X190aXRsZVwiPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFjdF9fZ3JhcGhpY1wiPlxuICAgICAgICBAaWYgKGltZykge1xuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWN0X19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMTc2M1wiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDM0XCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImltZy5hbHRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvbnRhY3RfX3B1cm9iZWFjaFwiPlxuICAgICAgICAgICAgQGlmIChsb2dvKSB7XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFjdF9fcHVyb2JlYWNoLS1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI0MDBcIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0MlwiXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJsb2dvLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgIFthbHRdPVwibG9nby5hbHRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFjdF9fY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAoc29jaWFsTWVkaWEpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0X19mb2xsb3dVc1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGFjdF9fcHVyb2JlYWNoXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAobG9nbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFjdF9fcHVyb2JlYWNoLS1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjQwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImxvZ28uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImxvZ28uYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29udGFjdF9fZm9sbG93VXMtLUl0ZW1MaXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygc29jaWFsTWVkaWEuaXRlbXMgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiY29udGFjdF9fZm9sbG93VXMtLUl0ZW1MaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX1cIj48L2lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoYWRkcmVzc0luZm8pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0X19hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgQGlmIChhZGRyZXNzSW5mby50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjb250YWN0X19oZWFkaW5nXCI+e3sgYWRkcmVzc0luZm8udGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFjdF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFkZHJlc3NJbmZvLnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiYWRkcmVzc0luZm8udGV4dFwiPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFkZHJlc3NJbmZvLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJhZGRyZXNzSW5mby5idXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFkZHJlc3NJbmZvLmJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBhZGRyZXNzSW5mby5idXR0b24ubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjb250YWN0SW5mbykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX2NvbnRhY3RMaW5rc1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdEluZm8udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY29udGFjdF9faGVhZGluZ1wiPnt7IGNvbnRhY3RJbmZvLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX3RleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29udGFjdF9fbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2YgY29udGFjdEluZm8ubGlua3MgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsIHwgY29udGFjdExpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGluay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGxpbmsubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdEluZm8uYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJjb250YWN0SW5mby5idXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJjb250YWN0SW5mby5idXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbnRhY3RJbmZvLmJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBjb250YWN0SW5mby5idXR0b24ubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChuZXdzbGV0dGVySW5mbykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX25ld3NsZXR0ZXJcIj5cbiAgICAgICAgICAgICAgICBAaWYgKG5ld3NsZXR0ZXJJbmZvLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNvbnRhY3RfX2hlYWRpbmdcIj57eyBuZXdzbGV0dGVySW5mby50aXRsZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChmb3JtKSB7XG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwiY29udGFjdF9fdGV4dFwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX25ld3NsZXR0ZXJCb3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm1fX2NvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3NsZXR0ZXJJbmZvLmlucHV0UGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGFjdF9fbmV3c2xldHRlci0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTYzXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybV9fY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjY2hlY2tib3gtdGlja1wiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibmV3c2xldHRlckluZm8uY29uZGl0aW9uc0xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmV3c2xldHRlckluZm8uYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuX19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZW5kKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb2ludGVyLW5vbmUnOiBmb3JtLmludmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3c2xldHRlckluZm8uYnV0dG9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBuZXdzbGV0dGVySW5mby5idXR0b24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1mb290ZXItaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWZvb3Rlci1pbmZvL3B1cm8tZm9vdGVyLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1mb290ZXItaW5mby9wdXJvLWZvb3Rlci1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFFWCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWdCbEQsTUFBTSxPQUFPLHVCQUF1QjtJQWRwQztRQWVxQixPQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBVWhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQWMxRDtJQVZHLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3RCLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM1QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBeEJRLHVCQUF1QjttR0FBdkIsdUJBQXVCLCtUQ25DcEMsZ2xQQXFMQSx5REQ1SlEsWUFBWSw2SEFDWixxQkFBcUIsdUlBQ3JCLG1CQUFtQixtREFDbkIsV0FBVyw0MEJBQ1gsbUJBQW1COzs0RkFNZCx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0ksc0JBQXNCLGNBQ3BCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDdEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUdyb3VwLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHVyb0xpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQdXJvQnV0dG9uSSwgUHVyb0ltYWdlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHVyb0NvbnRhY3RMaW5rUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItcHVyby1mb290ZXItaW5mbycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgICAgICBQdXJvQ29udGFjdExpbmtQaXBlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWZvb3Rlci1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1mb290ZXItaW5mby5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9Gb290ZXJJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcbiAgICBASW5wdXQoKSBzb2NpYWxNZWRpYT86IFB1cm9Gb290ZXJJbmZvU29jaWFsTWVkaWFJbmZvO1xuICAgIEBJbnB1dCgpIGFkZHJlc3NJbmZvPzogUHVyb0Zvb3RlckluZm9BZGRyZXNzSW5mbztcbiAgICBASW5wdXQoKSBjb250YWN0SW5mbz86IFB1cm9Gb290ZXJJbmZvQ29udGFjdEluZm87XG4gICAgQElucHV0KCkgbmV3c2xldHRlckluZm8/OiBQdXJvRm9vdGVySW5mb05ld3NsZXR0ZXJJbmZvO1xuICAgIEBJbnB1dCgpIGltZz86IFB1cm9JbWFnZUk7XG4gICAgQElucHV0KCkgbG9nbz86IFB1cm9JbWFnZUk7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgbmV3c2xldHRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBmb3JtPzogRm9ybUdyb3VwO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgICAgICAgIGNoZWNrOiBbZmFsc2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV1dLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ld3NsZXR0ZXJDbGljay5lbWl0KHRoaXMuZm9ybT8udmFsdWUuZW1haWwpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvRm9vdGVySW5mb05ld3NsZXR0ZXJJbmZvIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbnB1dFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnNMaW5rPzogc3RyaW5nO1xuICAgIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9Gb290ZXJJbmZvQWRkcmVzc0luZm8ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb0Zvb3RlckluZm9Tb2NpYWxNZWRpYUluZm8ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGl0ZW1zPzogeyB1cmw/OiBzdHJpbmc7IGljb24/OiBzdHJpbmcgfVtdO1xuICAgIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9Gb290ZXJJbmZvQ29udGFjdEluZm8ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGxpbmtzPzogUHVyb0J1dHRvbklbXTtcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiY29udGFjdFwiPlxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb250YWN0X190aXRsZVwiPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFjdF9fZ3JhcGhpY1wiPlxuICAgICAgICBAaWYgKGltZykge1xuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWN0X19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMTc2M1wiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDM0XCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImltZy5hbHRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvbnRhY3RfX3B1cm9iZWFjaFwiPlxuICAgICAgICAgICAgQGlmIChsb2dvKSB7XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFjdF9fcHVyb2JlYWNoLS1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI0MDBcIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0MlwiXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJsb2dvLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgIFthbHRdPVwibG9nby5hbHRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFjdF9fY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAoc29jaWFsTWVkaWEpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0X19mb2xsb3dVc1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGFjdF9fcHVyb2JlYWNoXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAobG9nbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFjdF9fcHVyb2JlYWNoLS1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjQwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImxvZ28uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImxvZ28uYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29udGFjdF9fZm9sbG93VXMtLUl0ZW1MaXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygc29jaWFsTWVkaWEuaXRlbXMgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiY29udGFjdF9fZm9sbG93VXMtLUl0ZW1MaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX1cIj48L2lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoYWRkcmVzc0luZm8pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0X19hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgQGlmIChhZGRyZXNzSW5mby50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjb250YWN0X19oZWFkaW5nXCI+e3sgYWRkcmVzc0luZm8udGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFjdF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFkZHJlc3NJbmZvLnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiYWRkcmVzc0luZm8udGV4dFwiPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFkZHJlc3NJbmZvLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJhZGRyZXNzSW5mby5idXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFkZHJlc3NJbmZvLmJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBhZGRyZXNzSW5mby5idXR0b24ubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjb250YWN0SW5mbykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX2NvbnRhY3RMaW5rc1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdEluZm8udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY29udGFjdF9faGVhZGluZ1wiPnt7IGNvbnRhY3RJbmZvLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX3RleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29udGFjdF9fbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2YgY29udGFjdEluZm8ubGlua3MgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsIHwgY29udGFjdExpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGluay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGxpbmsubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdEluZm8uYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJjb250YWN0SW5mby5idXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJjb250YWN0SW5mby5idXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbnRhY3RJbmZvLmJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBjb250YWN0SW5mby5idXR0b24ubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChuZXdzbGV0dGVySW5mbykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX25ld3NsZXR0ZXJcIj5cbiAgICAgICAgICAgICAgICBAaWYgKG5ld3NsZXR0ZXJJbmZvLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNvbnRhY3RfX2hlYWRpbmdcIj57eyBuZXdzbGV0dGVySW5mby50aXRsZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChmb3JtKSB7XG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwiY29udGFjdF9fdGV4dFwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3RfX25ld3NsZXR0ZXJCb3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm1fX2NvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3NsZXR0ZXJJbmZvLmlucHV0UGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGFjdF9fbmV3c2xldHRlci0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTYzXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybV9fY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjY2hlY2tib3gtdGlja1wiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibmV3c2xldHRlckluZm8uY29uZGl0aW9uc0xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmV3c2xldHRlckluZm8uYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuX19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZW5kKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb2ludGVyLW5vbmUnOiBmb3JtLmludmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3c2xldHRlckluZm8uYnV0dG9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBuZXdzbGV0dGVySW5mby5idXR0b24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -4,7 +4,7 @@ import { PuroFilterGalleryDirective, PuroLinkTypeDirective, } from '../../direct
4
4
  import * as i0 from "@angular/core";
5
5
  export class PuroGalleryComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGalleryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGalleryComponent, isStandalone: true, selector: "lib-puro-gallery", inputs: { pretitle: "pretitle", filter: "filter", title: "title", items: "items", button: "button" }, ngImport: i0, template: "<section class=\"gallery gallery--withTabs\">\n @if (pretitle) {\n <span class=\"gallery__title\">{{ pretitle }}</span>\n }\n @if (title) {\n <h2 class=\"gallery__heading\">\n {{ title }}\n </h2>\n }\n @if (filter) {\n <ul class=\"gallery__tabs\">\n @for (option of filter.options; track $index) {\n <li\n role=\"button\"\n class=\"js-filter-gallery\"\n [filterGallery]=\"option.code\"\n [attr.data-filter_category]=\"option.code\"\n [attr.aria-label]=\"option.name\"\n >\n {{ option.name }}\n </li>\n }\n </ul>\n }\n <div class=\"form__group withIcon\">\n <select class=\"form__control\">\n <option [filterGallery]=\"0\" selected disabled>\n {{ filter?.placeholder }}\n </option>\n @if (filter?.options) {\n @for (option of filter?.options; track $index) {\n <option [filterGallery]=\"option.code\" [value]=\"option.code\">\n {{ option.name }}\n </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 <div class=\"gallery__list galleryGrid__for-7\">\n @if (items) {\n @for (item of items; 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 data-modal_name=\"gallery\"\n aria-label=\"Gallery Item\"\n [attr.aria-label]=\"item.title ?? 'Gallery Item'\"\n >\n <div class=\"gallery__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"789\"\n height=\"747\"\n class=\"gallery__graphic--img\"\n [alt]=\"item.title\"\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 @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: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }, { kind: "directive", type: PuroFilterGalleryDirective, selector: "[filterGallery]", inputs: ["filterGallery"] }] }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGalleryComponent, isStandalone: true, selector: "lib-puro-gallery", inputs: { pretitle: "pretitle", filter: "filter", title: "title", items: "items", button: "button" }, ngImport: i0, template: "<section class=\"gallery gallery--withTabs\">\n @if (pretitle) {\n <span class=\"gallery__title\">{{ pretitle }}</span>\n }\n @if (title) {\n <h2 class=\"gallery__heading\">\n {{ title }}\n </h2>\n }\n @if (filter) {\n <ul class=\"gallery__tabs\">\n @for (option of filter.options; track $index) {\n <li\n role=\"button\"\n class=\"js-filter-gallery\"\n [filterGallery]=\"option.code\"\n [attr.data-filter_category]=\"option.code\"\n [attr.aria-label]=\"option.name\"\n >\n {{ option.name }}\n </li>\n }\n </ul>\n }\n <div class=\"form__group withIcon\">\n <select class=\"form__control\">\n <option [filterGallery]=\"0\" selected disabled>\n {{ filter?.placeholder }}\n </option>\n @if (filter?.options) {\n @for (option of filter?.options; track $index) {\n <option [filterGallery]=\"option.code\" [value]=\"option.code\">\n {{ option.name }}\n </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 <div class=\"gallery__list galleryGrid__for-7\">\n @if (items) {\n @for (item of items; 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 data-modal_name=\"gallery\"\n aria-label=\"Gallery Item\"\n [attr.aria-label]=\"item.title ?? 'Gallery Item'\"\n >\n <div class=\"gallery__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"789\"\n height=\"747\"\n class=\"gallery__graphic--img\"\n [alt]=\"item.title\"\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 @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: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroFilterGalleryDirective, selector: "[filterGallery]", inputs: ["filterGallery"] }] }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGalleryComponent, decorators: [{
10
10
  type: Component,
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
20
20
  }], button: [{
21
21
  type: Input
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1nYWxsZXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ2FsbGVyeS9wdXJvLWdhbGxlcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1nYWxsZXJ5L3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNILDBCQUEwQixFQUMxQixxQkFBcUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQzs7QUFjMUIsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0Isa0xDbkJqQyx1M0dBNEZBLHlERDdFYyxZQUFZLCtCQUFFLHFCQUFxQiw2R0FBRSwwQkFBMEI7OzRGQUloRSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsQ0FBQzs4QkFLakUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQdXJvRmlsdGVyR2FsbGVyeURpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHVyb0J1dHRvbkksIFB1cm9JbWFnZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRHJvcGRvd25PcHRpb24sXG4gICAgUHVyb0Ryb3Bkb3duSSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wdXJvLWRyb3Bkb3duLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ2FsbGVyeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9GaWx0ZXJHYWxsZXJ5RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dhbGxlcnlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlcj86IFB1cm9Ecm9wZG93bkk7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM/OiBQdXJvR2FsbGVyeUl0ZW1bXTtcbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR2FsbGVyeUl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9HYWxsZXJ5RmlsdGVyIGV4dGVuZHMgRHJvcGRvd25PcHRpb24ge1xuICAgIGFsbD86IGJvb2xlYW47XG4gICAgcm9vbT86IGJvb2xlYW47XG4gICAgcm9vbXM/OiBib29sZWFuO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJnYWxsZXJ5IGdhbGxlcnktLXdpdGhUYWJzXCI+XG4gICAgQGlmIChwcmV0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImdhbGxlcnlfX3RpdGxlXCI+e3sgcHJldGl0bGUgfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPGgyIGNsYXNzPVwiZ2FsbGVyeV9faGVhZGluZ1wiPlxuICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgPC9oMj5cbiAgICB9XG4gICAgQGlmIChmaWx0ZXIpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwiZ2FsbGVyeV9fdGFic1wiPlxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlci5vcHRpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwianMtZmlsdGVyLWdhbGxlcnlcIlxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyR2FsbGVyeV09XCJvcHRpb24uY29kZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtZmlsdGVyX2NhdGVnb3J5XT1cIm9wdGlvbi5jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmb3JtX19ncm91cCB3aXRoSWNvblwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybV9fY29udHJvbFwiPlxuICAgICAgICAgICAgPG9wdGlvbiBbZmlsdGVyR2FsbGVyeV09XCIwXCIgc2VsZWN0ZWQgZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAge3sgZmlsdGVyPy5wbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICBAaWYgKGZpbHRlcj8ub3B0aW9ucykge1xuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXI/Lm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtmaWx0ZXJHYWxsZXJ5XT1cIm9wdGlvbi5jb2RlXCIgW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiOFwiPlxuICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdhbGxlcnlfX2xpc3QgZ2FsbGVyeUdyaWRfX2Zvci03XCI+XG4gICAgICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19pdGVtIHNob3dcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWNhdGVnb3J5XT1cIml0ZW0uZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10aXRsZV09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19ib3gganMtYWN0aXZlLW1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbW9kYWxfbmFtZT1cImdhbGxlcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkdhbGxlcnkgSXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0udGl0bGUgPz8gJ0dhbGxlcnkgSXRlbSdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpY1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3ODlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5X196b29tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTg0XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgIHB1cm9MaW5rVHlwZVxuICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvc2VjdGlvbj5cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1nYWxsZXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ2FsbGVyeS9wdXJvLWdhbGxlcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1nYWxsZXJ5L3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNILDBCQUEwQixFQUMxQixxQkFBcUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQzs7QUFjMUIsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0Isa0xDbkJqQyx1M0dBNEZBLHlERDdFYyxZQUFZLCtCQUFFLHFCQUFxQiw0SUFBRSwwQkFBMEI7OzRGQUloRSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsQ0FBQzs4QkFLakUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQdXJvRmlsdGVyR2FsbGVyeURpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHVyb0J1dHRvbkksIFB1cm9JbWFnZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRHJvcGRvd25PcHRpb24sXG4gICAgUHVyb0Ryb3Bkb3duSSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wdXJvLWRyb3Bkb3duLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ2FsbGVyeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9GaWx0ZXJHYWxsZXJ5RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dhbGxlcnlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlcj86IFB1cm9Ecm9wZG93bkk7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM/OiBQdXJvR2FsbGVyeUl0ZW1bXTtcbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR2FsbGVyeUl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9HYWxsZXJ5RmlsdGVyIGV4dGVuZHMgRHJvcGRvd25PcHRpb24ge1xuICAgIGFsbD86IGJvb2xlYW47XG4gICAgcm9vbT86IGJvb2xlYW47XG4gICAgcm9vbXM/OiBib29sZWFuO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJnYWxsZXJ5IGdhbGxlcnktLXdpdGhUYWJzXCI+XG4gICAgQGlmIChwcmV0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImdhbGxlcnlfX3RpdGxlXCI+e3sgcHJldGl0bGUgfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPGgyIGNsYXNzPVwiZ2FsbGVyeV9faGVhZGluZ1wiPlxuICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgPC9oMj5cbiAgICB9XG4gICAgQGlmIChmaWx0ZXIpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwiZ2FsbGVyeV9fdGFic1wiPlxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlci5vcHRpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwianMtZmlsdGVyLWdhbGxlcnlcIlxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyR2FsbGVyeV09XCJvcHRpb24uY29kZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtZmlsdGVyX2NhdGVnb3J5XT1cIm9wdGlvbi5jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmb3JtX19ncm91cCB3aXRoSWNvblwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybV9fY29udHJvbFwiPlxuICAgICAgICAgICAgPG9wdGlvbiBbZmlsdGVyR2FsbGVyeV09XCIwXCIgc2VsZWN0ZWQgZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAge3sgZmlsdGVyPy5wbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICBAaWYgKGZpbHRlcj8ub3B0aW9ucykge1xuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXI/Lm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtmaWx0ZXJHYWxsZXJ5XT1cIm9wdGlvbi5jb2RlXCIgW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiOFwiPlxuICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdhbGxlcnlfX2xpc3QgZ2FsbGVyeUdyaWRfX2Zvci03XCI+XG4gICAgICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19pdGVtIHNob3dcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWNhdGVnb3J5XT1cIml0ZW0uZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10aXRsZV09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19ib3gganMtYWN0aXZlLW1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbW9kYWxfbmFtZT1cImdhbGxlcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkdhbGxlcnkgSXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0udGl0bGUgPz8gJ0dhbGxlcnkgSXRlbSdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpY1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3ODlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5X196b29tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTg0XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgIHB1cm9MaW5rVHlwZVxuICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -18,7 +18,7 @@ export class PuroGrid3colFilterComponent {
18
18
  item.filterParent === this.option());
19
19
  }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- 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" }, ngImport: i0, template: "<section class=\"discover discover__list discover__list--spacing-1\">\n <span class=\"discover__title\">{{ title }}</span>\n <div class=\"discover__container\">\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 >\n <option selected>{{ filter.placeholder }}</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]=\"item.button?.label ?? 'Item link'\"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"discover__content\">\n <p class=\"discover__subHeading\">\n {{ item.pretitle }}\n </p>\n <h3 class=\"discover__heading\">\n {{ item.title }}\n </h3>\n </div>\n </div>\n <div class=\"btn__group\">\n <button class=\"btn btn__primary--outline\" [attr.aria-label]=\"item.button?.label ?? 'item button'\">\n <span>{{ item.button?.label }}</span>\n </button>\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: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ 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" }, ngImport: i0, template: "<section class=\"discover discover__list discover__list--spacing-1\">\n <span class=\"discover__title\">{{ title }}</span>\n <div class=\"discover__container\">\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 >\n <option selected>{{ filter.placeholder }}</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]=\"item.button?.label ?? 'Item link'\"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"discover__content\">\n <p class=\"discover__subHeading\">\n {{ item.pretitle }}\n </p>\n <h3 class=\"discover__heading\">\n {{ item.title }}\n </h3>\n </div>\n </div>\n <div class=\"btn__group\">\n <button class=\"btn btn__primary--outline\" [attr.aria-label]=\"item.button?.label ?? 'item button'\">\n <span>{{ item.button?.label }}</span>\n </button>\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: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colFilterComponent, decorators: [{
24
24
  type: Component,
@@ -17,7 +17,7 @@ export class PuroGrid3colPlusFilterComponent {
17
17
  return this.totalItems?.filter((item) => item.filter === this.option());
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- 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" }, ngImport: i0, template: "<section class=\"events events__list\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <p class=\"events__subHeading\">{{ pretitle }}</p>\n }\n @if (title) {\n <h2 class=\"events__heading\">{{ title }}</h2>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option>{{ filter.placeholder }}</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\">{{ 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 [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__name\">{{\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 </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 btn__secondary--outline\"\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: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ 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" }, ngImport: i0, template: "<section class=\"events events__list\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <p class=\"events__subHeading\">{{ pretitle }}</p>\n }\n @if (title) {\n <h2 class=\"events__heading\">{{ title }}</h2>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option>{{ filter.placeholder }}</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\">{{ 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 [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__name\">{{\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 </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 btn__secondary--outline\"\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: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, decorators: [{
23
23
  type: Component,
@@ -4,7 +4,7 @@ import { PuroLinkTypeDirective, PuroSliderDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PuroGrid3colSliderComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- 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" }, ngImport: i0, template: "<section\n class=\"discover discover--noRadius js-active-slider\"\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=\"false\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"2\"\n data-slides_tablet=\"2\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n>\n @if (title) {\n <span class=\"discover__title\">{{ title }}</span>\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]=\"item.button?.label ?? 'Item link'\"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"discover__content\">\n @if (item.pretitle) {\n <p class=\"discover__subHeading\">\n {{ item.pretitle }}\n </p>\n }\n @if (item.title) {\n <h3 class=\"discover__heading\">\n {{ item.title }}\n </h3>\n }\n </div>\n </div>\n @if (item.button) {\n <div class=\"btn__group\">\n <button\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"item.button.label ?? 'Item button'\"\n >\n <span>{{ item.button.label }}</span>\n </button>\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"], outputs: ["bookClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ 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" }, ngImport: i0, template: "<section\n class=\"discover discover--noRadius js-active-slider\"\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=\"false\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"2\"\n data-slides_tablet=\"2\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n>\n @if (title) {\n <span class=\"discover__title\">{{ title }}</span>\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]=\"item.button?.label ?? 'Item link'\"\n >\n <div\n class=\"discover__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"391\"\n height=\"533\"\n class=\"discover__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"discover__content\">\n @if (item.pretitle) {\n <p class=\"discover__subHeading\">\n {{ item.pretitle }}\n </p>\n }\n @if (item.title) {\n <h3 class=\"discover__heading\">\n {{ item.title }}\n </h3>\n }\n </div>\n </div>\n @if (item.button) {\n <div class=\"btn__group\">\n <button\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"item.button.label ?? 'Item button'\"\n >\n <span>{{ item.button.label }}</span>\n </button>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colSliderComponent, decorators: [{
10
10
  type: Component,
@@ -4,7 +4,7 @@ import { PuroLinkTypeDirective, PuroSliderDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PuroGrid4itemsComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid4itemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid4itemsComponent, isStandalone: true, selector: "lib-puro-grid4items", inputs: { title: "title", items: "items", button: "button" }, ngImport: i0, template: "<section\n class=\"imageGrid js-active-slider\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n @if (title) {\n <span class=\"imageGrid__title\">{{ title }}</span>\n }\n <!-- desktop view S -->\n <div class=\"imageGrid__desktop imageGrid__for-4\">\n @for (item of items || []; track $index) {\n <div class=\"imageGrid__item\">\n <a\n [href]=\"item.link ? item.link.url : ''\"\n class=\"imageGrid__box\"\n [attr.aria-label]=\"item.link.label\"\n >\n <div class=\"imageGrid__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"btn__group\">\n @if (item.link) {\n <button class=\"btn btn__secondary--outline\" [attr.aria-label]=\"item.link.label\">\n <span>{{ item.link.label }}</span>\n </button>\n }\n </div>\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">{{ item.title }}</h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n\n <div class=\"btn__group\">\n @if (button) {\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 }\n </div>\n </div>\n <!-- desktop view E -->\n <!-- mobile view S -->\n <div class=\"imageGrid__mobile relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items || []; track $index) {\n <div>\n <div class=\"imageGrid__box\">\n <div\n class=\"imageGrid__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n width=\"499\"\n height=\"472\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">\n {{ item.title }}\n </h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"item.link.label\"\n ><span>{{ item.link.label }}</span></a\n >\n }\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <!-- mobile view E -->\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"], outputs: ["bookClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid4itemsComponent, isStandalone: true, selector: "lib-puro-grid4items", inputs: { title: "title", items: "items", button: "button" }, ngImport: i0, template: "<section\n class=\"imageGrid js-active-slider\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n @if (title) {\n <span class=\"imageGrid__title\">{{ title }}</span>\n }\n <!-- desktop view S -->\n <div class=\"imageGrid__desktop imageGrid__for-4\">\n @for (item of items || []; track $index) {\n <div class=\"imageGrid__item\">\n <a\n [href]=\"item.link ? item.link.url : ''\"\n class=\"imageGrid__box\"\n [attr.aria-label]=\"item.link.label\"\n >\n <div class=\"imageGrid__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"btn__group\">\n @if (item.link) {\n <button class=\"btn btn__secondary--outline\" [attr.aria-label]=\"item.link.label\">\n <span>{{ item.link.label }}</span>\n </button>\n }\n </div>\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">{{ item.title }}</h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n\n <div class=\"btn__group\">\n @if (button) {\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 }\n </div>\n </div>\n <!-- desktop view E -->\n <!-- mobile view S -->\n <div class=\"imageGrid__mobile relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items || []; track $index) {\n <div>\n <div class=\"imageGrid__box\">\n <div\n class=\"imageGrid__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n width=\"499\"\n height=\"472\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">\n {{ item.title }}\n </h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"item.link.label\"\n ><span>{{ item.link.label }}</span></a\n >\n }\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <!-- mobile view E -->\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid4itemsComponent, decorators: [{
10
10
  type: Component,
@@ -8,7 +8,7 @@ export class PuroGrid5itemsComponent {
8
8
  this.items = input();
9
9
  }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid5itemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid5itemsComponent, isStandalone: true, selector: "lib-puro-grid5items", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section\n class=\"imageGrid js-active-slider\"\n [puroSlider]=\"items()\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n @if (title) {\n <span class=\"imageGrid__title\">{{ title }}</span>\n }\n <!-- desktop view S -->\n <div class=\"imageGrid__desktop imageGrid__for-5\">\n @for (item of items(); track $index) {\n @if (item) {\n <div class=\"imageGrid__item\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"imageGrid__box\"\n [ngClass]=\"{ 'imageGrid__box--right': $last }\"\n [attr.aria-label]=\"item.link?.label ?? 'Item link'\"\n >\n <div class=\"imageGrid__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"btn__group\">\n @if (item.link) {\n <button class=\"btn btn__secondary--outline\" [attr.aria-label]=\"item.link.label\">\n <span>{{ item.link.label }}</span>\n </button>\n }\n </div>\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">\n {{ item.title }}\n </h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n }\n\n <div class=\"btn__group\">\n @if (button) {\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 }\n </div>\n </div>\n <!-- desktop view E -->\n <!-- mobile view S -->\n <div class=\"imageGrid__mobile relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items(); track $index) {\n @if (item) {\n <div>\n <div class=\"imageGrid__box\">\n <div\n class=\"imageGrid__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n width=\"499\"\n height=\"472\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">\n {{ item.title }}\n </h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"item.link.label\"\n ><span>{{ item.link.label }}</span></a\n >\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <!-- mobile view E -->\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["bookClick"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }] }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid5itemsComponent, isStandalone: true, selector: "lib-puro-grid5items", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section\n class=\"imageGrid js-active-slider\"\n [puroSlider]=\"items()\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n @if (title) {\n <span class=\"imageGrid__title\">{{ title }}</span>\n }\n <!-- desktop view S -->\n <div class=\"imageGrid__desktop imageGrid__for-5\">\n @for (item of items(); track $index) {\n @if (item) {\n <div class=\"imageGrid__item\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"imageGrid__box\"\n [ngClass]=\"{ 'imageGrid__box--right': $last }\"\n [attr.aria-label]=\"item.link?.label ?? 'Item link'\"\n >\n <div class=\"imageGrid__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n <div class=\"btn__group\">\n @if (item.link) {\n <button class=\"btn btn__secondary--outline\" [attr.aria-label]=\"item.link.label\">\n <span>{{ item.link.label }}</span>\n </button>\n }\n </div>\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">\n {{ item.title }}\n </h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n }\n\n <div class=\"btn__group\">\n @if (button) {\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 }\n </div>\n </div>\n <!-- desktop view E -->\n <!-- mobile view S -->\n <div class=\"imageGrid__mobile relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items(); track $index) {\n @if (item) {\n <div>\n <div class=\"imageGrid__box\">\n <div\n class=\"imageGrid__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n width=\"499\"\n height=\"472\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2 class=\"imageGrid__heading\">\n {{ item.title }}\n </h2>\n }\n @if (item.subtitle) {\n <span class=\"imageGrid__subHeading\">{{\n item.subtitle\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"item.link.label\"\n ><span>{{ item.link.label }}</span></a\n >\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <!-- mobile view E -->\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }] }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid5itemsComponent, decorators: [{
14
14
  type: Component,
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
18
18
  }], button: [{
19
19
  type: Input
20
20
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkNWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ3JpZDVpdGVtcy9wdXJvLWdyaWQ1aXRlbXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkNWl0ZW1zL3B1cm8tZ3JpZDVpdGVtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFVOUUsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVVJLFVBQUssR0FBRyxLQUFLLEVBQXdCLENBQUM7S0FDekM7K0dBSlksdUJBQXVCO21HQUF2Qix1QkFBdUIsd2NDWnBDLGt4S0E0SEEseUREcEhjLFlBQVksNkhBQUUscUJBQXFCLDZHQUFFLG1CQUFtQjs7NEZBSXpELHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixDQUFDOzhCQUsxRCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDVpdGVtcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWdyaWQ1aXRlbXMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdyaWQ1aXRlbXMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvR3JpZDVpdGVtc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG4gICAgaXRlbXMgPSBpbnB1dDxQdXJvR3JpZDVpdGVtc0l0ZW1bXT4oKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDVpdGVtc0l0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgbGluaz86IFB1cm9CdXR0b25JO1xufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cImltYWdlR3JpZCBqcy1hY3RpdmUtc2xpZGVyXCJcbiAgICBbcHVyb1NsaWRlcl09XCJpdGVtcygpXCJcbiAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX25hbWU9XCJqcy1pbWFnZUdyaWQtc2xpZGVyXCJcbiAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgIGRhdGEtc2xpZGVyX2ZhZGU9XCJ0cnVlXCJcbiAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVzX3BjPVwiMVwiXG4+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImltYWdlR3JpZF9fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG4gICAgPCEtLSBkZXNrdG9wIHZpZXcgUyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19kZXNrdG9wIGltYWdlR3JpZF9fZm9yLTVcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIEBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0ubGluaz8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpdGVtLmxpbms/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2VHcmlkX19ib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW1hZ2VHcmlkX19ib3gtLXJpZ2h0JzogJGxhc3QgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGluaz8ubGFiZWwgPz8gJ0l0ZW0gbGluaydcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19ncmFwaGljXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlR3JpZF9fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuX19zZWNvbmRhcnktLW91dGxpbmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGluay5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGluay5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiaW1hZ2VHcmlkX19oZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImltYWdlR3JpZF9fc3ViSGVhZGluZ1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnN1YnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gZGVza3RvcCB2aWV3IEUgLS0+XG4gICAgPCEtLSBtb2JpbGUgdmlldyBTIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX21vYmlsZSByZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtaW1hZ2VHcmlkLXNsaWRlciBqcy1zbGlkZXJfZml4LWFycm93c1wiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX2JveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbWFnZUdyaWRfX2dyYXBoaWMganMtc2xpZGVyX2ZpeC1hcnJvd3Mtem9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2VHcmlkX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNDk5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0NzJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiaW1hZ2VHcmlkX19oZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW1hZ2VHcmlkX19zdWJIZWFkaW5nXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnN1YnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpdGVtLmxpbmsubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0ubGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmxpbmsubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48c3Bhbj57eyBpdGVtLmxpbmsubGFiZWwgfX08L3NwYW4+PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93c1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gbW9iaWxlIHZpZXcgRSAtLT5cbjwvc2VjdGlvbj5cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkNWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ3JpZDVpdGVtcy9wdXJvLWdyaWQ1aXRlbXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkNWl0ZW1zL3B1cm8tZ3JpZDVpdGVtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFVOUUsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVVJLFVBQUssR0FBRyxLQUFLLEVBQXdCLENBQUM7S0FDekM7K0dBSlksdUJBQXVCO21HQUF2Qix1QkFBdUIsd2NDWnBDLGt4S0E0SEEseUREcEhjLFlBQVksNkhBQUUscUJBQXFCLDRJQUFFLG1CQUFtQjs7NEZBSXpELHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixDQUFDOzhCQUsxRCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDVpdGVtcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWdyaWQ1aXRlbXMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdyaWQ1aXRlbXMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvR3JpZDVpdGVtc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG4gICAgaXRlbXMgPSBpbnB1dDxQdXJvR3JpZDVpdGVtc0l0ZW1bXT4oKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDVpdGVtc0l0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgbGluaz86IFB1cm9CdXR0b25JO1xufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cImltYWdlR3JpZCBqcy1hY3RpdmUtc2xpZGVyXCJcbiAgICBbcHVyb1NsaWRlcl09XCJpdGVtcygpXCJcbiAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX25hbWU9XCJqcy1pbWFnZUdyaWQtc2xpZGVyXCJcbiAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgIGRhdGEtc2xpZGVyX2ZhZGU9XCJ0cnVlXCJcbiAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVzX3BjPVwiMVwiXG4+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImltYWdlR3JpZF9fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG4gICAgPCEtLSBkZXNrdG9wIHZpZXcgUyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19kZXNrdG9wIGltYWdlR3JpZF9fZm9yLTVcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIEBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0ubGluaz8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpdGVtLmxpbms/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2VHcmlkX19ib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW1hZ2VHcmlkX19ib3gtLXJpZ2h0JzogJGxhc3QgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGluaz8ubGFiZWwgPz8gJ0l0ZW0gbGluaydcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19ncmFwaGljXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlR3JpZF9fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuX19zZWNvbmRhcnktLW91dGxpbmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGluay5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGluay5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiaW1hZ2VHcmlkX19oZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImltYWdlR3JpZF9fc3ViSGVhZGluZ1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnN1YnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gZGVza3RvcCB2aWV3IEUgLS0+XG4gICAgPCEtLSBtb2JpbGUgdmlldyBTIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX21vYmlsZSByZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtaW1hZ2VHcmlkLXNsaWRlciBqcy1zbGlkZXJfZml4LWFycm93c1wiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX2JveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbWFnZUdyaWRfX2dyYXBoaWMganMtc2xpZGVyX2ZpeC1hcnJvd3Mtem9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2VHcmlkX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNDk5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0NzJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiaW1hZ2VHcmlkX19oZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW1hZ2VHcmlkX19zdWJIZWFkaW5nXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnN1YnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpdGVtLmxpbmsubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0ubGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmxpbmsubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48c3Bhbj57eyBpdGVtLmxpbmsubGFiZWwgfX08L3NwYW4+PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93c1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gbW9iaWxlIHZpZXcgRSAtLT5cbjwvc2VjdGlvbj5cbiJdfQ==