desy-angular 9.1.0 → 10.0.0

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 (81) hide show
  1. package/esm2022/lib/desy-buttons/components/button/button.component.mjs +3 -3
  2. package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +3 -3
  3. package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +3 -3
  4. package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +3 -3
  5. package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +3 -3
  6. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +5 -3
  7. package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +5 -3
  8. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +3 -3
  9. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +4 -5
  10. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +3 -3
  11. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +3 -3
  12. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +6 -6
  13. package/esm2022/lib/desy-nav/components/header/header.component.mjs +1 -1
  14. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-custom-navigation/header-custom-navigation.component.mjs +14 -0
  15. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +38 -0
  16. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.mjs +33 -0
  17. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.mjs +38 -0
  18. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-subtitle/header-advanced-subtitle.component.mjs +14 -0
  19. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.mjs +38 -0
  20. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title/header-advanced-title.component.mjs +19 -0
  21. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.mjs +34 -0
  22. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced.component.mjs +53 -0
  23. package/esm2022/lib/desy-nav/components/header-mini/header-mini.component.mjs +31 -0
  24. package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +4 -6
  25. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +4 -7
  26. package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +31 -29
  27. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +9 -21
  28. package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +8 -8
  29. package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +1 -1
  30. package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +6 -7
  31. package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +3 -3
  32. package/esm2022/lib/desy-nav/desy-nav.module.mjs +94 -39
  33. package/esm2022/lib/desy-nav/directives/dynamic-heading.directive.mjs +40 -0
  34. package/esm2022/lib/desy-nav/interfaces/header-advanced-logo.mjs +7 -0
  35. package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +47 -5
  36. package/esm2022/lib/desy-tables/components/table/components/table-footer.component.mjs +18 -0
  37. package/esm2022/lib/desy-tables/components/table/table.component.mjs +26 -6
  38. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer-cell.component.mjs +23 -0
  39. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer.component.mjs +27 -0
  40. package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +14 -5
  41. package/esm2022/lib/desy-tables/desy-tables.module.mjs +29 -14
  42. package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +4 -9
  43. package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +3 -3
  44. package/esm2022/lib/desy-views/components/card/card.component.mjs +3 -3
  45. package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +3 -3
  46. package/esm2022/public-api.mjs +94 -79
  47. package/fesm2022/desy-angular.mjs +3247 -2786
  48. package/fesm2022/desy-angular.mjs.map +1 -1
  49. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +2 -1
  50. package/lib/desy-nav/components/footer/footer.component.d.ts +2 -1
  51. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +2 -2
  52. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +2 -2
  53. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +1 -1
  54. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +1 -1
  55. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +2 -2
  56. package/lib/desy-nav/components/header-advanced/header-advanced-custom-navigation/header-custom-navigation.component.d.ts +5 -0
  57. package/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.d.ts +14 -0
  58. package/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.d.ts +14 -0
  59. package/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.d.ts +17 -0
  60. package/lib/desy-nav/components/header-advanced/header-advanced-subtitle/header-advanced-subtitle.component.d.ts +6 -0
  61. package/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.d.ts +17 -0
  62. package/lib/desy-nav/components/header-advanced/header-advanced-title/header-advanced-title.component.d.ts +8 -0
  63. package/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.d.ts +15 -0
  64. package/lib/desy-nav/components/header-advanced/header-advanced.component.d.ts +16 -0
  65. package/lib/desy-nav/components/header-mini/header-mini.component.d.ts +12 -0
  66. package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +4 -2
  67. package/lib/desy-nav/components/menubar/menubar.component.d.ts +4 -4
  68. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +1 -1
  69. package/lib/desy-nav/components/nav/nav.component.d.ts +2 -1
  70. package/lib/desy-nav/desy-nav.module.d.ts +40 -29
  71. package/lib/desy-nav/directives/dynamic-heading.directive.d.ts +15 -0
  72. package/lib/desy-nav/interfaces/header-advanced-logo.d.ts +5 -0
  73. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +14 -2
  74. package/lib/desy-tables/components/table/components/table-footer.component.d.ts +8 -0
  75. package/lib/desy-tables/components/table/table.component.d.ts +7 -3
  76. package/lib/desy-tables/components/table-advanced/components/table-advanced-footer-cell.component.d.ts +11 -0
  77. package/lib/desy-tables/components/table-advanced/components/table-advanced-footer.component.d.ts +11 -0
  78. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +10 -6
  79. package/lib/desy-tables/desy-tables.module.d.ts +19 -16
  80. package/package.json +2 -2
  81. package/public-api.d.ts +93 -78
@@ -26,11 +26,11 @@ export class BreadcrumbsComponent extends AccessibilityComponent {
26
26
  return itemList;
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BreadcrumbsComponent, selector: "desy-breadcrumbs", inputs: { items: "items", classes: "classes", id: "id", collapseOnMobile: "collapseOnMobile", hasBackButton: "hasBackButton" }, queries: [{ propertyName: "itemComponentList", predicate: BreadcrumbsItemComponent }], usesInheritance: true, ngImport: i0, template: "<nav [class]=\"(classes ? 'c-breadcrumbs ' + classes : 'c-breadcrumbs') + (collapseOnMobile===true ? ' ' + 'c-breadcrumbs--collapse-on-mobile' : '')\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-errormessage]=\"ariaErrorMessage\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 'Est\u00E1s en: '\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-current]=\"ariaCurrent\"\n [attr.aria-live]=\"ariaLive\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n [attr.tabindex]=\"tabindex\">\n <ol [ngClass]=\"{\n 'lg:grid-cols-max-content-1': getLength() === 1,\n 'lg:grid-cols-max-content-2': getLength() === 2,\n 'lg:grid-cols-max-content-3': getLength() === 3,\n 'lg:grid-cols-max-content-4': getLength() === 4,\n 'lg:grid-cols-max-content-5': getLength() === 5,\n 'lg:grid-cols-max-content-6': getLength() === 6,\n 'lg:grid-cols-max-content-7': getLength() === 7,\n 'lg:grid-cols-max-content-8': getLength() === 8 }\" class=\"lg:grid w-full items-baseline text-sm\">\n \n <li *ngIf=\"hasBackButton\" class=\"c-breadcrumbs__backbutton flex items-baseline font-bold text-primary-base\">\n <a (click)=\"goBack()\" class=\"px-sm border-r border-neutral-base focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black cursor-pointer\">\n <span class=\"sr-only\">Volver a la p\u00E1gina anterior</span><span aria-hidden=\"true\" title=\"Volver a la p\u00E1gina anterior\">&larr;</span>\n </a>\n </li>\n <ng-container *ngFor=\"let item of getItemList(); last as isLast; index as index\">\n <li *ngIf=\"!isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black truncate\"\n [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline truncate\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </span>\n </li>\n <li *ngIf=\"isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark flex-1 font-semibold\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-black font-semibold no-underline truncate\"\n aria-current=\"page\" [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline text-black truncate\" aria-current=\"page\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </span>\n </li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }] }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BreadcrumbsComponent, selector: "desy-breadcrumbs", inputs: { items: "items", classes: "classes", id: "id", collapseOnMobile: "collapseOnMobile", inlineOnMobile: "inlineOnMobile", hasBackButton: "hasBackButton" }, queries: [{ propertyName: "itemComponentList", predicate: BreadcrumbsItemComponent }], usesInheritance: true, ngImport: i0, template: "<nav [class]=\"(classes ? 'c-breadcrumbs ' + classes : 'c-breadcrumbs') + (collapseOnMobile===true ? ' ' + 'c-breadcrumbs--collapse-on-mobile' : '') + (inlineOnMobile===true ? ' ' + 'c-breadcrumbs--inline-on-mobile' : '')\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-errormessage]=\"ariaErrorMessage\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 'Est\u00E1s en: '\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-current]=\"ariaCurrent\"\n [attr.aria-live]=\"ariaLive\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n [attr.tabindex]=\"tabindex\">\n <ol [ngClass]=\"{\n 'lg:grid-cols-max-content-1': getLength() === 1,\n 'lg:grid-cols-max-content-2': getLength() === 2,\n 'lg:grid-cols-max-content-3': getLength() === 3,\n 'lg:grid-cols-max-content-4': getLength() === 4,\n 'lg:grid-cols-max-content-5': getLength() === 5,\n 'lg:grid-cols-max-content-6': getLength() === 6,\n 'lg:grid-cols-max-content-7': getLength() === 7,\n 'lg:grid-cols-max-content-8': getLength() === 8 }\" class=\"lg:grid w-full items-baseline text-sm\">\n \n <li *ngIf=\"hasBackButton\" class=\"c-breadcrumbs__backbutton flex items-baseline font-bold text-primary-base\">\n <a (click)=\"goBack()\" class=\"px-sm border-r border-neutral-base focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black cursor-pointer\">\n <span class=\"sr-only\">Volver a la p\u00E1gina anterior</span><span aria-hidden=\"true\" title=\"Volver a la p\u00E1gina anterior\">&larr;</span>\n </a>\n </li>\n <ng-container *ngFor=\"let item of getItemList(); last as isLast; index as index\">\n <li *ngIf=\"!isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black truncate\"\n [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline truncate\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </span>\n </li>\n <li *ngIf=\"isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark flex-1 font-semibold\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-black font-semibold no-underline truncate\"\n aria-current=\"page\" [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline text-black truncate\" aria-current=\"page\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </span>\n </li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }] }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'desy-breadcrumbs', template: "<nav [class]=\"(classes ? 'c-breadcrumbs ' + classes : 'c-breadcrumbs') + (collapseOnMobile===true ? ' ' + 'c-breadcrumbs--collapse-on-mobile' : '')\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-errormessage]=\"ariaErrorMessage\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 'Est\u00E1s en: '\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-current]=\"ariaCurrent\"\n [attr.aria-live]=\"ariaLive\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n [attr.tabindex]=\"tabindex\">\n <ol [ngClass]=\"{\n 'lg:grid-cols-max-content-1': getLength() === 1,\n 'lg:grid-cols-max-content-2': getLength() === 2,\n 'lg:grid-cols-max-content-3': getLength() === 3,\n 'lg:grid-cols-max-content-4': getLength() === 4,\n 'lg:grid-cols-max-content-5': getLength() === 5,\n 'lg:grid-cols-max-content-6': getLength() === 6,\n 'lg:grid-cols-max-content-7': getLength() === 7,\n 'lg:grid-cols-max-content-8': getLength() === 8 }\" class=\"lg:grid w-full items-baseline text-sm\">\n \n <li *ngIf=\"hasBackButton\" class=\"c-breadcrumbs__backbutton flex items-baseline font-bold text-primary-base\">\n <a (click)=\"goBack()\" class=\"px-sm border-r border-neutral-base focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black cursor-pointer\">\n <span class=\"sr-only\">Volver a la p\u00E1gina anterior</span><span aria-hidden=\"true\" title=\"Volver a la p\u00E1gina anterior\">&larr;</span>\n </a>\n </li>\n <ng-container *ngFor=\"let item of getItemList(); last as isLast; index as index\">\n <li *ngIf=\"!isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black truncate\"\n [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline truncate\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </span>\n </li>\n <li *ngIf=\"isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark flex-1 font-semibold\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-black font-semibold no-underline truncate\"\n aria-current=\"page\" [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline text-black truncate\" aria-current=\"page\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </span>\n </li>\n </ng-container>\n </ol>\n</nav>\n" }]
33
+ args: [{ selector: 'desy-breadcrumbs', template: "<nav [class]=\"(classes ? 'c-breadcrumbs ' + classes : 'c-breadcrumbs') + (collapseOnMobile===true ? ' ' + 'c-breadcrumbs--collapse-on-mobile' : '') + (inlineOnMobile===true ? ' ' + 'c-breadcrumbs--inline-on-mobile' : '')\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-errormessage]=\"ariaErrorMessage\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 'Est\u00E1s en: '\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-current]=\"ariaCurrent\"\n [attr.aria-live]=\"ariaLive\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n [attr.tabindex]=\"tabindex\">\n <ol [ngClass]=\"{\n 'lg:grid-cols-max-content-1': getLength() === 1,\n 'lg:grid-cols-max-content-2': getLength() === 2,\n 'lg:grid-cols-max-content-3': getLength() === 3,\n 'lg:grid-cols-max-content-4': getLength() === 4,\n 'lg:grid-cols-max-content-5': getLength() === 5,\n 'lg:grid-cols-max-content-6': getLength() === 6,\n 'lg:grid-cols-max-content-7': getLength() === 7,\n 'lg:grid-cols-max-content-8': getLength() === 8 }\" class=\"lg:grid w-full items-baseline text-sm\">\n \n <li *ngIf=\"hasBackButton\" class=\"c-breadcrumbs__backbutton flex items-baseline font-bold text-primary-base\">\n <a (click)=\"goBack()\" class=\"px-sm border-r border-neutral-base focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black cursor-pointer\">\n <span class=\"sr-only\">Volver a la p\u00E1gina anterior</span><span aria-hidden=\"true\" title=\"Volver a la p\u00E1gina anterior\">&larr;</span>\n </a>\n </li>\n <ng-container *ngFor=\"let item of getItemList(); last as isLast; index as index\">\n <li *ngIf=\"!isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black truncate\"\n [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline truncate\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </span>\n </li>\n <li *ngIf=\"isLast\" class=\"flex items-baseline mb-sm py-xs text-neutral-dark flex-1 font-semibold\" [ngClass]=\"{'hover:text-black' : item.routerLink}\">\n <a *ngIf=\"item.routerLink\" class=\"underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-black font-semibold no-underline truncate\"\n aria-current=\"page\" [routerLink]=\"item.routerLink\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n <span *ngIf=\"!item.routerLink\" class=\"no-underline text-black truncate\" aria-current=\"page\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <strong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </span>\n </li>\n </ng-container>\n </ol>\n</nav>\n" }]
34
34
  }], ctorParameters: function () { return [{ type: i1.Location }]; }, propDecorators: { items: [{
35
35
  type: Input
36
36
  }], classes: [{
@@ -39,10 +39,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
39
39
  type: Input
40
40
  }], collapseOnMobile: [{
41
41
  type: Input
42
+ }], inlineOnMobile: [{
43
+ type: Input
42
44
  }], hasBackButton: [{
43
45
  type: Input
44
46
  }], itemComponentList: [{
45
47
  type: ContentChildren,
46
48
  args: [BreadcrumbsItemComponent]
47
49
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQU16RixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsc0JBQXNCO0lBVTlELFlBQW9CLFFBQWtCO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV0QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksV0FBVyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBRXpGLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixXQUFXLElBQUksQ0FBQyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFN0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzsrR0EvQlUsb0JBQW9CO21HQUFwQixvQkFBb0IsME5BUWQsd0JBQXdCLG9EQ2xCM0MsdTVOQThHQTs7NEZEcEdhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7K0ZBS25CLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQyxpQkFBaUI7c0JBQTNELGVBQWU7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYnNEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCcmVhZGNydW1ic0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWJzLWl0ZW0vYnJlYWRjcnVtYnMtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWJyZWFkY3J1bWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1ic0NvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxCcmVhZGNydW1ic0RhdGE+O1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgY29sbGFwc2VPbk1vYmlsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGFzQmFja0J1dHRvbjogYm9vbGVhbjtcbiAgQENvbnRlbnRDaGlsZHJlbihCcmVhZGNydW1ic0l0ZW1Db21wb25lbnQpIGl0ZW1Db21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8QnJlYWRjcnVtYnNJdGVtQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbil7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldExlbmd0aCgpOiBudW1iZXIge1xuICAgIGxldCBpdGVtc0xlbmd0aDogbnVtYmVyID0gdGhpcy5pdGVtcyA/IHRoaXMuaXRlbXMubGVuZ3RoIDogdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5sZW5ndGg7XG5cbiAgICBpZiAodGhpcy5oYXNCYWNrQnV0dG9uKSB7XG4gICAgICBpdGVtc0xlbmd0aCArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbXNMZW5ndGg7XG4gIH1cblxuICBnb0JhY2soKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gIH1cblxuICBnZXRJdGVtTGlzdCgpOiBCcmVhZGNydW1ic0RhdGFbXSB7XG4gICAgY29uc3QgaXRlbUxpc3QgPSB0aGlzLml0ZW1Db21wb25lbnRMaXN0ICYmIHRoaXMuaXRlbUNvbXBvbmVudExpc3QubGVuZ3RoID4gMCA/IHRoaXMuaXRlbUNvbXBvbmVudExpc3QudG9BcnJheSgpIDogdGhpcy5pdGVtcztcblxuICAgIHJldHVybiBpdGVtTGlzdDtcbiAgfVxuXG59XG4iLCI8bmF2IFtjbGFzc109XCIoY2xhc3NlcyA/ICdjLWJyZWFkY3J1bWJzICcgKyBjbGFzc2VzIDogJ2MtYnJlYWRjcnVtYnMnKSArIChjb2xsYXBzZU9uTW9iaWxlPT09dHJ1ZSA/ICcgJyArICdjLWJyZWFkY3J1bWJzLS1jb2xsYXBzZS1vbi1tb2JpbGUnIDogJycpXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgW2F0dHIucm9sZV09XCJyb2xlXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyBhcmlhTGFiZWwgOiAnRXN0w6FzIGVuOiAnXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW5cIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9sc1wiXG4gICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFyaWFDdXJyZW50XCJcbiAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmVcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiYXJpYUV4cGFuZGVkXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cFwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIj5cbiAgICA8b2wgW25nQ2xhc3NdPVwie1xuICAgICAgJ2xnOmdyaWQtY29scy1tYXgtY29udGVudC0xJzogZ2V0TGVuZ3RoKCkgPT09IDEsXG4gICAgICAnbGc6Z3JpZC1jb2xzLW1heC1jb250ZW50LTInOiBnZXRMZW5ndGgoKSA9PT0gMixcbiAgICAgICdsZzpncmlkLWNvbHMtbWF4LWNvbnRlbnQtMyc6IGdldExlbmd0aCgpID09PSAzLFxuICAgICAgJ2xnOmdyaWQtY29scy1tYXgtY29udGVudC00JzogZ2V0TGVuZ3RoKCkgPT09IDQsXG4gICAgICAnbGc6Z3JpZC1jb2xzLW1heC1jb250ZW50LTUnOiBnZXRMZW5ndGgoKSA9PT0gNSxcbiAgICAgICdsZzpncmlkLWNvbHMtbWF4LWNvbnRlbnQtNic6IGdldExlbmd0aCgpID09PSA2LFxuICAgICAgJ2xnOmdyaWQtY29scy1tYXgtY29udGVudC03JzogZ2V0TGVuZ3RoKCkgPT09IDcsXG4gICAgICAnbGc6Z3JpZC1jb2xzLW1heC1jb250ZW50LTgnOiBnZXRMZW5ndGgoKSA9PT0gOCB9XCIgY2xhc3M9XCJsZzpncmlkIHctZnVsbCBpdGVtcy1iYXNlbGluZSB0ZXh0LXNtXCI+XG4gICAgXG4gICAgICAgIDxsaSAqbmdJZj1cImhhc0JhY2tCdXR0b25cIiBjbGFzcz1cImMtYnJlYWRjcnVtYnNfX2JhY2tidXR0b24gZmxleCBpdGVtcy1iYXNlbGluZSBmb250LWJvbGQgdGV4dC1wcmltYXJ5LWJhc2VcIj5cbiAgICAgICAgICAgIDxhIChjbGljayk9XCJnb0JhY2soKVwiIGNsYXNzPVwicHgtc20gYm9yZGVyLXIgYm9yZGVyLW5ldXRyYWwtYmFzZSBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzIGZvY3VzOnRleHQtYmxhY2sgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Wb2x2ZXIgYSBsYSBww6FnaW5hIGFudGVyaW9yPC9zcGFuPjxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiVm9sdmVyIGEgbGEgcMOhZ2luYSBhbnRlcmlvclwiPiZsYXJyOzwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtTGlzdCgpOyBsYXN0IGFzIGlzTGFzdDsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cIiFpc0xhc3RcIiBjbGFzcz1cImZsZXggaXRlbXMtYmFzZWxpbmUgbWItc20gcHkteHMgdGV4dC1uZXV0cmFsLWRhcmtcIiAgW25nQ2xhc3NdPVwieydob3Zlcjp0ZXh0LWJsYWNrJyA6IGl0ZW0ucm91dGVyTGlua31cIj5cbiAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIml0ZW0ucm91dGVyTGlua1wiIGNsYXNzPVwidW5kZXJsaW5lIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjayB0cnVuY2F0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIml0ZW0uaWQgPyBpdGVtLmlkIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiaXRlbS5yb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uYXJpYUN1cnJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0ucm91dGVyTGlua1wiIGNsYXNzPVwibm8tdW5kZXJsaW5lIHRydW5jYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpdGVtLmlkID8gaXRlbS5pZCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiaXRlbS5yb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpdGVtLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImlzTGFzdFwiIGNsYXNzPVwiZmxleCBpdGVtcy1iYXNlbGluZSBtYi1zbSBweS14cyB0ZXh0LW5ldXRyYWwtZGFyayBmbGV4LTEgZm9udC1zZW1pYm9sZFwiICBbbmdDbGFzc109XCJ7J2hvdmVyOnRleHQtYmxhY2snIDogaXRlbS5yb3V0ZXJMaW5rfVwiPlxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiaXRlbS5yb3V0ZXJMaW5rXCIgY2xhc3M9XCJ1bmRlcmxpbmUgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrIHRleHQtYmxhY2sgZm9udC1zZW1pYm9sZCBuby11bmRlcmxpbmUgdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9XCJwYWdlXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpdGVtLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmFyaWFEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5yb3V0ZXJMaW5rXCIgY2xhc3M9XCJuby11bmRlcmxpbmUgdGV4dC1ibGFjayB0cnVuY2F0ZVwiIGFyaWEtY3VycmVudD1cInBhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpdGVtLmlkID8gaXRlbS5pZCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIml0ZW0ucm9sZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpdGVtLmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXBcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLnRhYmluZGV4XCI+XG4gICAgICAgICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvb2w+XG48L25hdj5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQU16RixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsc0JBQXNCO0lBVzlELFlBQW9CLFFBQWtCO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV0QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksV0FBVyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBRXpGLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixXQUFXLElBQUksQ0FBQyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFN0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzsrR0FoQ1Usb0JBQW9CO21HQUFwQixvQkFBb0IsNFBBU2Qsd0JBQXdCLG9EQ25CM0MsZytOQThHQTs7NEZEcEdhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7K0ZBS25CLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ3FDLGlCQUFpQjtzQkFBM0QsZUFBZTt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCcmVhZGNydW1ic0RhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJyZWFkY3J1bWJzSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYnMtaXRlbS9icmVhZGNydW1icy1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktYnJlYWRjcnVtYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJzQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PEJyZWFkY3J1bWJzRGF0YT47XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICBASW5wdXQoKSBjb2xsYXBzZU9uTW9iaWxlOiBib29sZWFuO1xuICBASW5wdXQoKSBpbmxpbmVPbk1vYmlsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGFzQmFja0J1dHRvbjogYm9vbGVhbjtcbiAgQENvbnRlbnRDaGlsZHJlbihCcmVhZGNydW1ic0l0ZW1Db21wb25lbnQpIGl0ZW1Db21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8QnJlYWRjcnVtYnNJdGVtQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbil7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldExlbmd0aCgpOiBudW1iZXIge1xuICAgIGxldCBpdGVtc0xlbmd0aDogbnVtYmVyID0gdGhpcy5pdGVtcyA/IHRoaXMuaXRlbXMubGVuZ3RoIDogdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5sZW5ndGg7XG5cbiAgICBpZiAodGhpcy5oYXNCYWNrQnV0dG9uKSB7XG4gICAgICBpdGVtc0xlbmd0aCArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbXNMZW5ndGg7XG4gIH1cblxuICBnb0JhY2soKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gIH1cblxuICBnZXRJdGVtTGlzdCgpOiBCcmVhZGNydW1ic0RhdGFbXSB7XG4gICAgY29uc3QgaXRlbUxpc3QgPSB0aGlzLml0ZW1Db21wb25lbnRMaXN0ICYmIHRoaXMuaXRlbUNvbXBvbmVudExpc3QubGVuZ3RoID4gMCA/IHRoaXMuaXRlbUNvbXBvbmVudExpc3QudG9BcnJheSgpIDogdGhpcy5pdGVtcztcblxuICAgIHJldHVybiBpdGVtTGlzdDtcbiAgfVxuXG59XG4iLCI8bmF2IFtjbGFzc109XCIoY2xhc3NlcyA/ICdjLWJyZWFkY3J1bWJzICcgKyBjbGFzc2VzIDogJ2MtYnJlYWRjcnVtYnMnKSArIChjb2xsYXBzZU9uTW9iaWxlPT09dHJ1ZSA/ICcgJyArICdjLWJyZWFkY3J1bWJzLS1jb2xsYXBzZS1vbi1tb2JpbGUnIDogJycpICsgKGlubGluZU9uTW9iaWxlPT09dHJ1ZSA/ICcgJyArICdjLWJyZWFkY3J1bWJzLS1pbmxpbmUtb24tbW9iaWxlJyA6ICcnKVwiXG4gICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2VcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogJ0VzdMOhcyBlbjogJ1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHNcIlxuICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudFwiXG4gICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZFwiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXBcIlxuICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCI+XG4gICAgPG9sIFtuZ0NsYXNzXT1cIntcbiAgICAgICdsZzpncmlkLWNvbHMtbWF4LWNvbnRlbnQtMSc6IGdldExlbmd0aCgpID09PSAxLFxuICAgICAgJ2xnOmdyaWQtY29scy1tYXgtY29udGVudC0yJzogZ2V0TGVuZ3RoKCkgPT09IDIsXG4gICAgICAnbGc6Z3JpZC1jb2xzLW1heC1jb250ZW50LTMnOiBnZXRMZW5ndGgoKSA9PT0gMyxcbiAgICAgICdsZzpncmlkLWNvbHMtbWF4LWNvbnRlbnQtNCc6IGdldExlbmd0aCgpID09PSA0LFxuICAgICAgJ2xnOmdyaWQtY29scy1tYXgtY29udGVudC01JzogZ2V0TGVuZ3RoKCkgPT09IDUsXG4gICAgICAnbGc6Z3JpZC1jb2xzLW1heC1jb250ZW50LTYnOiBnZXRMZW5ndGgoKSA9PT0gNixcbiAgICAgICdsZzpncmlkLWNvbHMtbWF4LWNvbnRlbnQtNyc6IGdldExlbmd0aCgpID09PSA3LFxuICAgICAgJ2xnOmdyaWQtY29scy1tYXgtY29udGVudC04JzogZ2V0TGVuZ3RoKCkgPT09IDggfVwiIGNsYXNzPVwibGc6Z3JpZCB3LWZ1bGwgaXRlbXMtYmFzZWxpbmUgdGV4dC1zbVwiPlxuICAgIFxuICAgICAgICA8bGkgKm5nSWY9XCJoYXNCYWNrQnV0dG9uXCIgY2xhc3M9XCJjLWJyZWFkY3J1bWJzX19iYWNrYnV0dG9uIGZsZXggaXRlbXMtYmFzZWxpbmUgZm9udC1ib2xkIHRleHQtcHJpbWFyeS1iYXNlXCI+XG4gICAgICAgICAgICA8YSAoY2xpY2spPVwiZ29CYWNrKClcIiBjbGFzcz1cInB4LXNtIGJvcmRlci1yIGJvcmRlci1uZXV0cmFsLWJhc2UgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Vm9sdmVyIGEgbGEgcMOhZ2luYSBhbnRlcmlvcjwvc3Bhbj48c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlZvbHZlciBhIGxhIHDDoWdpbmEgYW50ZXJpb3JcIj4mbGFycjs8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbUxpc3QoKTsgbGFzdCBhcyBpc0xhc3Q7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCIhaXNMYXN0XCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWJhc2VsaW5lIG1iLXNtIHB5LXhzIHRleHQtbmV1dHJhbC1kYXJrXCIgIFtuZ0NsYXNzXT1cInsnaG92ZXI6dGV4dC1ibGFjaycgOiBpdGVtLnJvdXRlckxpbmt9XCI+XG4gICAgICAgICAgICAgICAgPGEgKm5nSWY9XCJpdGVtLnJvdXRlckxpbmtcIiBjbGFzcz1cInVuZGVybGluZSBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzIGZvY3VzOnRleHQtYmxhY2sgdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpdGVtLmlkID8gaXRlbS5pZCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIml0ZW0ucm9sZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpdGVtLmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cIml0ZW0uYXJpYUxpdmVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0udGFiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLnJvdXRlckxpbmtcIiBjbGFzcz1cIm5vLXVuZGVybGluZSB0cnVuY2F0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIml0ZW0ucm9sZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hcmlhQ3VycmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cIml0ZW0uYXJpYUxpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXBcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0udGFiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJpc0xhc3RcIiBjbGFzcz1cImZsZXggaXRlbXMtYmFzZWxpbmUgbWItc20gcHkteHMgdGV4dC1uZXV0cmFsLWRhcmsgZmxleC0xIGZvbnQtc2VtaWJvbGRcIiAgW25nQ2xhc3NdPVwieydob3Zlcjp0ZXh0LWJsYWNrJyA6IGl0ZW0ucm91dGVyTGlua31cIj5cbiAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIml0ZW0ucm91dGVyTGlua1wiIGNsYXNzPVwidW5kZXJsaW5lIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjayB0ZXh0LWJsYWNrIGZvbnQtc2VtaWJvbGQgbm8tdW5kZXJsaW5lIHRydW5jYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PVwicGFnZVwiIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIml0ZW0uaWQgPyBpdGVtLmlkIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiaXRlbS5yb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cIml0ZW0uYXJpYUxpdmVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0udGFiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0ucm91dGVyTGlua1wiIGNsYXNzPVwibm8tdW5kZXJsaW5lIHRleHQtYmxhY2sgdHJ1bmNhdGVcIiBhcmlhLWN1cnJlbnQ9XCJwYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpdGVtLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmFyaWFEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L29sPlxuPC9uYXY+XG4iXX0=
@@ -27,7 +27,7 @@ export class FooterComponent extends AccessibilityComponent {
27
27
  return meta instanceof FooterMetaComponent ? meta.contentComponent : null;
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FooterComponent, selector: "desy-footer", inputs: { meta: "meta", navigation: "navigation", icon: "icon", containerClasses: "containerClasses", classes: "classes", description: "description", noLogo: "noLogo" }, queries: [{ propertyName: "iconComponent", predicate: IconComponent }, { propertyName: "metaComponent", predicate: FooterMetaComponent }, { propertyName: "descriptionComponent", predicate: DescriptionComponent }, { propertyName: "navigationComponent", predicate: FooterNavigationComponent }], usesInheritance: true, ngImport: i0, template: "<footer [class]=\"['py-base bg-neutral-lighter border-t border-neutral-base text-xs lg:text-sm text-neutral-dark', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <div [class]=\"['container mx-auto px-base', containerClasses] | makeHtmlList\">\n <ng-container *ngIf=\"getNavigationItems()\">\n <div class=\"flex flex-col lg:flex-row flex-wrap gap-base\">\n <div class=\"flex-1\" *ngFor=\"let nav of getNavigationItems()\">\n <div class=\"lg:flex-1\">\n <h3 class=\"c-h3 mb-base\">{{nav.title}}</h3>\n </div>\n <ul [class]=\"'grid grid-cols-1 gap-base lg:grid-cols-' + nav.columns\">\n <li class=\"mb-xs\" *ngFor=\"let item of getNavigationItemItems(nav)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n </div>\n </div>\n <hr class=\"my-base border-t border-neutral-base\">\n </ng-container>\n\n <div class=\"flex flex-wrap flex-col lg:flex-row justify-between\">\n <div class=\"mb-base\">\n <ng-template #metaTemplate let-metaElement=\"metaElement\">\n <ng-container *ngIf=\"metaElement\">\n <h2 class=\"sr-only\">{{(metaElement.visuallyHiddenTitle ? metaElement.visuallyHiddenTitle : 'Enlaces de pie de p\u00E1gina')}}</h2>\n <ul class=\"flex flex-col lg:flex-row lg:flex-wrap mb-base\" *ngIf=\"getMetaItems(metaElement)\">\n <li class=\"mb-sm mr-base\" *ngFor=\"let item of getMetaItems(metaElement)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n <div class=\"mb-sm\" *ngIf=\"getMetaContent(metaElement) || metaElement.html || metaElement.text\">\n <p>\n <ng-container *desyCustomInnerContent=\"{ component: getMetaContent(metaElement), html: metaElement.html, text: metaElement.text }\"></ng-container>\n </p>\n </div>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"metaTemplate; context: { metaElement: metaComponent ? metaComponent : meta }\"></ng-container>\n\n <!-- Description -->\n <div *ngIf=\"descriptionComponent || description?.html || description?.text; else noDesc\">\n <h2 class=\"sr-only\">{{descriptionComponent?.visuallyHiddenTitle ? descriptionComponent?.visuallyHiddenTitle : description?.visuallyHiddenTitle ? description?.visuallyHiddenTitle : 'Acerca de'}}</h2>\n <ng-container *desyCustomInnerContent=\"{ component: descriptionComponent, html: description?.html, text: description?.text }\"></ng-container>\n </div>\n <ng-template #noDesc>\n <div class=\"leading-tight\">\n <p>\n Todo el contenido bajo\n <a class=\"c-link c-link--neutral\" href=\"https://creativecommons.org/licenses/by/4.0/legalcode.es\" rel=\"license\"\n target=\"_blank\">licencia CC BY 4.0</a>\n </p>\n </div>\n <div class=\"leading-tight\">\n <p>\n <a target=\"_blank\" class=\"c-link c-link--neutral\" href=\"https://www.aragon.es/\">Gobierno de Arag\u00F3n</a>. Edificio\n Pignatelli. <abbr title=\u201DPaseo\u201D>P\u00BA</abbr> Mar\u00EDa Agust\u00EDn, 36. 50004 - Zaragoza - <abbr title=\"Tel\u00E9fono\"\n class=\"no-underline\">Tel.</abbr> <a href=\"tel:+976714000\" class=\"c-link c-link--neutral\">976 714 000</a>\n </p>\n </div>\n </ng-template>\n\n </div>\n <div class=\"mb-base lg:pl-base overflow-hidden\">\n <p *ngIf=\"iconComponent || icon?.html\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon?.html }\"></ng-container>\n </p>\n <p *ngIf=\"!noLogo\">\n <a href=\"http://www.aragon.es/Fondos_Europeos\" target=\"_blank\" class=\"inline-block text-sm c-link no-underline\" title=\"M\u00E1s informaci\u00F3n sobre los Fondos Estructurales y de Inversi\u00F3n Europeos (Fondos EIE)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 575 96\" width=\"288\" height=\"48\" class=\"w-auto h-12\" role=\"img\" aria-label=\"Logotipo Uni\u00F3n Europea. Fondo Europeo de Desarrollo Regional (FEDER). Construyendo Europa desde Arag\u00F3n.\"><text transform=\"translate(126 33)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\" font-weight=\"700\"><tspan x=\"0\" y=\"0\">UNI\u00D3N EUROPEA</tspan></text><text transform=\"translate(126 56)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">Fondo Europeo de Desarrollo Regional (FEDER)</tspan></text><text transform=\"translate(126 79)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">\u201CConstruyendo Europa desde Arag\u00F3n\u201D</tspan></text><path fill=\"#039\" stroke=\"#fff\" stroke-width=\"1%\" d=\"M14.086 13.02h104.282v69.522H14.086z\"/><g fill=\"#fc0\"><path d=\"M64.004 28.167l2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606h-2.755l-.843-2.628-.843 2.631h-2.753l2.233 1.606zM52.617 31.229l2.2-1.606 2.2 1.606-.836-2.6 2.233-1.606h-2.755l-.843-2.631-.843 2.634H51.22l2.234 1.606zM46.486 32.743l-.843 2.634H42.89l2.234 1.606-.837 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.234-1.606h-2.752zM43.429 49.345l2.2 1.606-.836-2.6 2.234-1.606h-2.753l-.843-2.631-.843 2.637-2.755-.006 2.235 1.606-.837 2.6zM47.332 58.156l-.843-2.631-.843 2.634h-2.753l2.234 1.606-.837 2.6 2.2-1.609 2.2 1.609-.837-2.6 2.234-1.606zM55.677 66.504l-.843-2.628-.842 2.631h-2.755l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.836-2.6 2.234-1.606zM67.05 69.528l-.843-2.631-.842 2.634H62.61l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606zM78.422 66.504l-.842-2.628-.845 2.631h-2.752l2.232 1.606-.836 2.6 2.2-1.606 2.2 1.606-.839-2.6 2.235-1.606zM86.774 58.156l-.845-2.631-.845 2.634h-2.752l2.235 1.606-.839 2.6 2.2-1.609 2.2 1.609-.839-2.6 2.235-1.606zM92.551 46.716h-2.755l-.845-2.631-.842 2.634h-2.755l2.235 1.606-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6zM83.728 39.544l2.2-1.606 2.2 1.606-.839-2.6 2.235-1.6h-2.752l-.845-2.631-.845 2.634H82.33l2.235 1.6zM77.613 24.395l-.842 2.634-2.755-.006 2.232 1.609-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6 2.235-1.609h-2.758z\"/></g></svg>\n </a>\n </p>\n </div>\n </div>\n </div>\n</footer>\n\n<ng-template #itemHref let-item=\"item\">\n <a class=\"c-link font-semibold\" [href]=\"item.href | externalHref\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #itemRouterLink let-item=\"item\">\n <a class=\"c-link font-semibold\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }, { kind: "pipe", type: i5.ExternalHrefPipe, name: "externalHref" }] }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FooterComponent, selector: "desy-footer", inputs: { meta: "meta", navigation: "navigation", icon: "icon", containerClasses: "containerClasses", classes: "classes", description: "description", noLogo: "noLogo", urlFeder: "urlFeder" }, queries: [{ propertyName: "iconComponent", predicate: IconComponent }, { propertyName: "metaComponent", predicate: FooterMetaComponent }, { propertyName: "descriptionComponent", predicate: DescriptionComponent }, { propertyName: "navigationComponent", predicate: FooterNavigationComponent }], usesInheritance: true, ngImport: i0, template: "<footer [class]=\"['py-base bg-neutral-lighter border-t border-neutral-base text-xs lg:text-sm text-neutral-dark', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <div [class]=\"['container mx-auto px-base', containerClasses] | makeHtmlList\">\n <ng-container *ngIf=\"getNavigationItems()\">\n <div class=\"flex flex-col lg:flex-row flex-wrap gap-base\">\n <div class=\"flex-1\" *ngFor=\"let nav of getNavigationItems()\">\n <div class=\"lg:flex-1\">\n <h3 class=\"c-h3 mb-base\">{{nav.title}}</h3>\n </div>\n <ul [class]=\"'grid grid-cols-1 gap-base lg:grid-cols-' + nav.columns\">\n <li class=\"mb-xs\" *ngFor=\"let item of getNavigationItemItems(nav)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n </div>\n </div>\n <hr class=\"my-base border-t border-neutral-base\">\n </ng-container>\n\n <div class=\"flex flex-wrap flex-col lg:flex-row justify-between\">\n <div class=\"mb-base\">\n <ng-template #metaTemplate let-metaElement=\"metaElement\">\n <ng-container *ngIf=\"metaElement\">\n <h2 class=\"sr-only\">{{(metaElement.visuallyHiddenTitle ? metaElement.visuallyHiddenTitle : 'Enlaces de pie de p\u00E1gina')}}</h2>\n <ul class=\"flex flex-col lg:flex-row lg:flex-wrap mb-base\" *ngIf=\"getMetaItems(metaElement)\">\n <li class=\"mb-sm mr-base\" *ngFor=\"let item of getMetaItems(metaElement)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n <div class=\"mb-sm\" *ngIf=\"getMetaContent(metaElement) || metaElement.html || metaElement.text\">\n <p>\n <ng-container *desyCustomInnerContent=\"{ component: getMetaContent(metaElement), html: metaElement.html, text: metaElement.text }\"></ng-container>\n </p>\n </div>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"metaTemplate; context: { metaElement: metaComponent ? metaComponent : meta }\"></ng-container>\n\n <!-- Description -->\n <div *ngIf=\"descriptionComponent || description?.html || description?.text; else noDesc\">\n <h2 class=\"sr-only\">{{descriptionComponent?.visuallyHiddenTitle ? descriptionComponent?.visuallyHiddenTitle : description?.visuallyHiddenTitle ? description?.visuallyHiddenTitle : 'Acerca de'}}</h2>\n <ng-container *desyCustomInnerContent=\"{ component: descriptionComponent, html: description?.html, text: description?.text }\"></ng-container>\n </div>\n <ng-template #noDesc>\n <div class=\"leading-tight\">\n <p>\n Todo el contenido bajo\n <a class=\"c-link c-link--neutral\" href=\"https://creativecommons.org/licenses/by/4.0/legalcode.es\" rel=\"license\"\n target=\"_blank\">licencia CC BY 4.0</a>\n </p>\n </div>\n <div class=\"leading-tight\">\n <p>\n <a target=\"_blank\" class=\"c-link c-link--neutral\" href=\"https://www.aragon.es/\">Gobierno de Arag\u00F3n</a>. Edificio\n Pignatelli. <abbr title=\u201DPaseo\u201D>P\u00BA</abbr> Mar\u00EDa Agust\u00EDn, 36. 50004 - Zaragoza - <abbr title=\"Tel\u00E9fono\"\n class=\"no-underline\">Tel.</abbr> <a href=\"tel:+34976714000\" class=\"c-link c-link--neutral\">976 714 000</a>\n </p>\n </div>\n </ng-template>\n\n </div>\n <div class=\"mb-base lg:pl-base overflow-hidden\">\n <p *ngIf=\"iconComponent || icon?.html\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon?.html }\"></ng-container>\n </p>\n <p *ngIf=\"!noLogo\">\n <a [href]=\"urlFeder ? (urlFeder | externalHref):'https://www.europarl.europa.eu/factsheets/es/sheet/95/el-fondo-europeo-de-desarrollo-regional-feder-'\" target=\"_blank\" class=\"inline-block text-sm c-link no-underline\" title=\"M\u00E1s informaci\u00F3n sobre los Fondos Estructurales y de Inversi\u00F3n Europeos (Fondos EIE)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 575 96\" width=\"288\" height=\"48\" class=\"w-auto h-12\" role=\"img\" aria-label=\"Logotipo Uni\u00F3n Europea. Fondo Europeo de Desarrollo Regional (FEDER). Construyendo Europa desde Arag\u00F3n.\"><text transform=\"translate(126 33)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\" font-weight=\"700\"><tspan x=\"0\" y=\"0\">UNI\u00D3N EUROPEA</tspan></text><text transform=\"translate(126 56)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">Fondo Europeo de Desarrollo Regional (FEDER)</tspan></text><text transform=\"translate(126 79)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">\u201CConstruyendo Europa desde Arag\u00F3n\u201D</tspan></text><path fill=\"#039\" stroke=\"#fff\" stroke-width=\"1%\" d=\"M14.086 13.02h104.282v69.522H14.086z\"/><g fill=\"#fc0\"><path d=\"M64.004 28.167l2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606h-2.755l-.843-2.628-.843 2.631h-2.753l2.233 1.606zM52.617 31.229l2.2-1.606 2.2 1.606-.836-2.6 2.233-1.606h-2.755l-.843-2.631-.843 2.634H51.22l2.234 1.606zM46.486 32.743l-.843 2.634H42.89l2.234 1.606-.837 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.234-1.606h-2.752zM43.429 49.345l2.2 1.606-.836-2.6 2.234-1.606h-2.753l-.843-2.631-.843 2.637-2.755-.006 2.235 1.606-.837 2.6zM47.332 58.156l-.843-2.631-.843 2.634h-2.753l2.234 1.606-.837 2.6 2.2-1.609 2.2 1.609-.837-2.6 2.234-1.606zM55.677 66.504l-.843-2.628-.842 2.631h-2.755l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.836-2.6 2.234-1.606zM67.05 69.528l-.843-2.631-.842 2.634H62.61l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606zM78.422 66.504l-.842-2.628-.845 2.631h-2.752l2.232 1.606-.836 2.6 2.2-1.606 2.2 1.606-.839-2.6 2.235-1.606zM86.774 58.156l-.845-2.631-.845 2.634h-2.752l2.235 1.606-.839 2.6 2.2-1.609 2.2 1.609-.839-2.6 2.235-1.606zM92.551 46.716h-2.755l-.845-2.631-.842 2.634h-2.755l2.235 1.606-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6zM83.728 39.544l2.2-1.606 2.2 1.606-.839-2.6 2.235-1.6h-2.752l-.845-2.631-.845 2.634H82.33l2.235 1.6zM77.613 24.395l-.842 2.634-2.755-.006 2.232 1.609-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6 2.235-1.609h-2.758z\"/></g></svg>\n </a>\n </p>\n </div>\n </div>\n </div>\n</footer>\n\n<ng-template #itemHref let-item=\"item\">\n <a class=\"c-link font-semibold\" [href]=\"item.href | externalHref\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #itemRouterLink let-item=\"item\">\n <a class=\"c-link font-semibold\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }, { kind: "pipe", type: i5.ExternalHrefPipe, name: "externalHref" }] }); }
31
31
  }
32
32
  __decorate([
33
33
  DesyContentChild(),
@@ -43,7 +43,7 @@ __decorate([
43
43
  ], FooterComponent.prototype, "descriptionComponent", void 0);
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FooterComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: 'desy-footer', template: "<footer [class]=\"['py-base bg-neutral-lighter border-t border-neutral-base text-xs lg:text-sm text-neutral-dark', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <div [class]=\"['container mx-auto px-base', containerClasses] | makeHtmlList\">\n <ng-container *ngIf=\"getNavigationItems()\">\n <div class=\"flex flex-col lg:flex-row flex-wrap gap-base\">\n <div class=\"flex-1\" *ngFor=\"let nav of getNavigationItems()\">\n <div class=\"lg:flex-1\">\n <h3 class=\"c-h3 mb-base\">{{nav.title}}</h3>\n </div>\n <ul [class]=\"'grid grid-cols-1 gap-base lg:grid-cols-' + nav.columns\">\n <li class=\"mb-xs\" *ngFor=\"let item of getNavigationItemItems(nav)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n </div>\n </div>\n <hr class=\"my-base border-t border-neutral-base\">\n </ng-container>\n\n <div class=\"flex flex-wrap flex-col lg:flex-row justify-between\">\n <div class=\"mb-base\">\n <ng-template #metaTemplate let-metaElement=\"metaElement\">\n <ng-container *ngIf=\"metaElement\">\n <h2 class=\"sr-only\">{{(metaElement.visuallyHiddenTitle ? metaElement.visuallyHiddenTitle : 'Enlaces de pie de p\u00E1gina')}}</h2>\n <ul class=\"flex flex-col lg:flex-row lg:flex-wrap mb-base\" *ngIf=\"getMetaItems(metaElement)\">\n <li class=\"mb-sm mr-base\" *ngFor=\"let item of getMetaItems(metaElement)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n <div class=\"mb-sm\" *ngIf=\"getMetaContent(metaElement) || metaElement.html || metaElement.text\">\n <p>\n <ng-container *desyCustomInnerContent=\"{ component: getMetaContent(metaElement), html: metaElement.html, text: metaElement.text }\"></ng-container>\n </p>\n </div>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"metaTemplate; context: { metaElement: metaComponent ? metaComponent : meta }\"></ng-container>\n\n <!-- Description -->\n <div *ngIf=\"descriptionComponent || description?.html || description?.text; else noDesc\">\n <h2 class=\"sr-only\">{{descriptionComponent?.visuallyHiddenTitle ? descriptionComponent?.visuallyHiddenTitle : description?.visuallyHiddenTitle ? description?.visuallyHiddenTitle : 'Acerca de'}}</h2>\n <ng-container *desyCustomInnerContent=\"{ component: descriptionComponent, html: description?.html, text: description?.text }\"></ng-container>\n </div>\n <ng-template #noDesc>\n <div class=\"leading-tight\">\n <p>\n Todo el contenido bajo\n <a class=\"c-link c-link--neutral\" href=\"https://creativecommons.org/licenses/by/4.0/legalcode.es\" rel=\"license\"\n target=\"_blank\">licencia CC BY 4.0</a>\n </p>\n </div>\n <div class=\"leading-tight\">\n <p>\n <a target=\"_blank\" class=\"c-link c-link--neutral\" href=\"https://www.aragon.es/\">Gobierno de Arag\u00F3n</a>. Edificio\n Pignatelli. <abbr title=\u201DPaseo\u201D>P\u00BA</abbr> Mar\u00EDa Agust\u00EDn, 36. 50004 - Zaragoza - <abbr title=\"Tel\u00E9fono\"\n class=\"no-underline\">Tel.</abbr> <a href=\"tel:+976714000\" class=\"c-link c-link--neutral\">976 714 000</a>\n </p>\n </div>\n </ng-template>\n\n </div>\n <div class=\"mb-base lg:pl-base overflow-hidden\">\n <p *ngIf=\"iconComponent || icon?.html\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon?.html }\"></ng-container>\n </p>\n <p *ngIf=\"!noLogo\">\n <a href=\"http://www.aragon.es/Fondos_Europeos\" target=\"_blank\" class=\"inline-block text-sm c-link no-underline\" title=\"M\u00E1s informaci\u00F3n sobre los Fondos Estructurales y de Inversi\u00F3n Europeos (Fondos EIE)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 575 96\" width=\"288\" height=\"48\" class=\"w-auto h-12\" role=\"img\" aria-label=\"Logotipo Uni\u00F3n Europea. Fondo Europeo de Desarrollo Regional (FEDER). Construyendo Europa desde Arag\u00F3n.\"><text transform=\"translate(126 33)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\" font-weight=\"700\"><tspan x=\"0\" y=\"0\">UNI\u00D3N EUROPEA</tspan></text><text transform=\"translate(126 56)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">Fondo Europeo de Desarrollo Regional (FEDER)</tspan></text><text transform=\"translate(126 79)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">\u201CConstruyendo Europa desde Arag\u00F3n\u201D</tspan></text><path fill=\"#039\" stroke=\"#fff\" stroke-width=\"1%\" d=\"M14.086 13.02h104.282v69.522H14.086z\"/><g fill=\"#fc0\"><path d=\"M64.004 28.167l2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606h-2.755l-.843-2.628-.843 2.631h-2.753l2.233 1.606zM52.617 31.229l2.2-1.606 2.2 1.606-.836-2.6 2.233-1.606h-2.755l-.843-2.631-.843 2.634H51.22l2.234 1.606zM46.486 32.743l-.843 2.634H42.89l2.234 1.606-.837 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.234-1.606h-2.752zM43.429 49.345l2.2 1.606-.836-2.6 2.234-1.606h-2.753l-.843-2.631-.843 2.637-2.755-.006 2.235 1.606-.837 2.6zM47.332 58.156l-.843-2.631-.843 2.634h-2.753l2.234 1.606-.837 2.6 2.2-1.609 2.2 1.609-.837-2.6 2.234-1.606zM55.677 66.504l-.843-2.628-.842 2.631h-2.755l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.836-2.6 2.234-1.606zM67.05 69.528l-.843-2.631-.842 2.634H62.61l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606zM78.422 66.504l-.842-2.628-.845 2.631h-2.752l2.232 1.606-.836 2.6 2.2-1.606 2.2 1.606-.839-2.6 2.235-1.606zM86.774 58.156l-.845-2.631-.845 2.634h-2.752l2.235 1.606-.839 2.6 2.2-1.609 2.2 1.609-.839-2.6 2.235-1.606zM92.551 46.716h-2.755l-.845-2.631-.842 2.634h-2.755l2.235 1.606-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6zM83.728 39.544l2.2-1.606 2.2 1.606-.839-2.6 2.235-1.6h-2.752l-.845-2.631-.845 2.634H82.33l2.235 1.6zM77.613 24.395l-.842 2.634-2.755-.006 2.232 1.609-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6 2.235-1.609h-2.758z\"/></g></svg>\n </a>\n </p>\n </div>\n </div>\n </div>\n</footer>\n\n<ng-template #itemHref let-item=\"item\">\n <a class=\"c-link font-semibold\" [href]=\"item.href | externalHref\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #itemRouterLink let-item=\"item\">\n <a class=\"c-link font-semibold\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n" }]
46
+ args: [{ selector: 'desy-footer', template: "<footer [class]=\"['py-base bg-neutral-lighter border-t border-neutral-base text-xs lg:text-sm text-neutral-dark', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <div [class]=\"['container mx-auto px-base', containerClasses] | makeHtmlList\">\n <ng-container *ngIf=\"getNavigationItems()\">\n <div class=\"flex flex-col lg:flex-row flex-wrap gap-base\">\n <div class=\"flex-1\" *ngFor=\"let nav of getNavigationItems()\">\n <div class=\"lg:flex-1\">\n <h3 class=\"c-h3 mb-base\">{{nav.title}}</h3>\n </div>\n <ul [class]=\"'grid grid-cols-1 gap-base lg:grid-cols-' + nav.columns\">\n <li class=\"mb-xs\" *ngFor=\"let item of getNavigationItemItems(nav)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n </div>\n </div>\n <hr class=\"my-base border-t border-neutral-base\">\n </ng-container>\n\n <div class=\"flex flex-wrap flex-col lg:flex-row justify-between\">\n <div class=\"mb-base\">\n <ng-template #metaTemplate let-metaElement=\"metaElement\">\n <ng-container *ngIf=\"metaElement\">\n <h2 class=\"sr-only\">{{(metaElement.visuallyHiddenTitle ? metaElement.visuallyHiddenTitle : 'Enlaces de pie de p\u00E1gina')}}</h2>\n <ul class=\"flex flex-col lg:flex-row lg:flex-wrap mb-base\" *ngIf=\"getMetaItems(metaElement)\">\n <li class=\"mb-sm mr-base\" *ngFor=\"let item of getMetaItems(metaElement)\">\n <ng-container *ngTemplateOutlet=\"(item.href !== null && item.href !== undefined) ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\n </li>\n </ul>\n <div class=\"mb-sm\" *ngIf=\"getMetaContent(metaElement) || metaElement.html || metaElement.text\">\n <p>\n <ng-container *desyCustomInnerContent=\"{ component: getMetaContent(metaElement), html: metaElement.html, text: metaElement.text }\"></ng-container>\n </p>\n </div>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"metaTemplate; context: { metaElement: metaComponent ? metaComponent : meta }\"></ng-container>\n\n <!-- Description -->\n <div *ngIf=\"descriptionComponent || description?.html || description?.text; else noDesc\">\n <h2 class=\"sr-only\">{{descriptionComponent?.visuallyHiddenTitle ? descriptionComponent?.visuallyHiddenTitle : description?.visuallyHiddenTitle ? description?.visuallyHiddenTitle : 'Acerca de'}}</h2>\n <ng-container *desyCustomInnerContent=\"{ component: descriptionComponent, html: description?.html, text: description?.text }\"></ng-container>\n </div>\n <ng-template #noDesc>\n <div class=\"leading-tight\">\n <p>\n Todo el contenido bajo\n <a class=\"c-link c-link--neutral\" href=\"https://creativecommons.org/licenses/by/4.0/legalcode.es\" rel=\"license\"\n target=\"_blank\">licencia CC BY 4.0</a>\n </p>\n </div>\n <div class=\"leading-tight\">\n <p>\n <a target=\"_blank\" class=\"c-link c-link--neutral\" href=\"https://www.aragon.es/\">Gobierno de Arag\u00F3n</a>. Edificio\n Pignatelli. <abbr title=\u201DPaseo\u201D>P\u00BA</abbr> Mar\u00EDa Agust\u00EDn, 36. 50004 - Zaragoza - <abbr title=\"Tel\u00E9fono\"\n class=\"no-underline\">Tel.</abbr> <a href=\"tel:+34976714000\" class=\"c-link c-link--neutral\">976 714 000</a>\n </p>\n </div>\n </ng-template>\n\n </div>\n <div class=\"mb-base lg:pl-base overflow-hidden\">\n <p *ngIf=\"iconComponent || icon?.html\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon?.html }\"></ng-container>\n </p>\n <p *ngIf=\"!noLogo\">\n <a [href]=\"urlFeder ? (urlFeder | externalHref):'https://www.europarl.europa.eu/factsheets/es/sheet/95/el-fondo-europeo-de-desarrollo-regional-feder-'\" target=\"_blank\" class=\"inline-block text-sm c-link no-underline\" title=\"M\u00E1s informaci\u00F3n sobre los Fondos Estructurales y de Inversi\u00F3n Europeos (Fondos EIE)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 575 96\" width=\"288\" height=\"48\" class=\"w-auto h-12\" role=\"img\" aria-label=\"Logotipo Uni\u00F3n Europea. Fondo Europeo de Desarrollo Regional (FEDER). Construyendo Europa desde Arag\u00F3n.\"><text transform=\"translate(126 33)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\" font-weight=\"700\"><tspan x=\"0\" y=\"0\">UNI\u00D3N EUROPEA</tspan></text><text transform=\"translate(126 56)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">Fondo Europeo de Desarrollo Regional (FEDER)</tspan></text><text transform=\"translate(126 79)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">\u201CConstruyendo Europa desde Arag\u00F3n\u201D</tspan></text><path fill=\"#039\" stroke=\"#fff\" stroke-width=\"1%\" d=\"M14.086 13.02h104.282v69.522H14.086z\"/><g fill=\"#fc0\"><path d=\"M64.004 28.167l2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606h-2.755l-.843-2.628-.843 2.631h-2.753l2.233 1.606zM52.617 31.229l2.2-1.606 2.2 1.606-.836-2.6 2.233-1.606h-2.755l-.843-2.631-.843 2.634H51.22l2.234 1.606zM46.486 32.743l-.843 2.634H42.89l2.234 1.606-.837 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.234-1.606h-2.752zM43.429 49.345l2.2 1.606-.836-2.6 2.234-1.606h-2.753l-.843-2.631-.843 2.637-2.755-.006 2.235 1.606-.837 2.6zM47.332 58.156l-.843-2.631-.843 2.634h-2.753l2.234 1.606-.837 2.6 2.2-1.609 2.2 1.609-.837-2.6 2.234-1.606zM55.677 66.504l-.843-2.628-.842 2.631h-2.755l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.836-2.6 2.234-1.606zM67.05 69.528l-.843-2.631-.842 2.634H62.61l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606zM78.422 66.504l-.842-2.628-.845 2.631h-2.752l2.232 1.606-.836 2.6 2.2-1.606 2.2 1.606-.839-2.6 2.235-1.606zM86.774 58.156l-.845-2.631-.845 2.634h-2.752l2.235 1.606-.839 2.6 2.2-1.609 2.2 1.609-.839-2.6 2.235-1.606zM92.551 46.716h-2.755l-.845-2.631-.842 2.634h-2.755l2.235 1.606-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6zM83.728 39.544l2.2-1.606 2.2 1.606-.839-2.6 2.235-1.6h-2.752l-.845-2.631-.845 2.634H82.33l2.235 1.6zM77.613 24.395l-.842 2.634-2.755-.006 2.232 1.609-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6 2.235-1.609h-2.758z\"/></g></svg>\n </a>\n </p>\n </div>\n </div>\n </div>\n</footer>\n\n<ng-template #itemHref let-item=\"item\">\n <a class=\"c-link font-semibold\" [href]=\"item.href | externalHref\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #itemRouterLink let-item=\"item\">\n <a class=\"c-link font-semibold\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </a>\n</ng-template>\n" }]
47
47
  }], propDecorators: { meta: [{
48
48
  type: Input
49
49
  }], navigation: [{
@@ -58,6 +58,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
58
  type: Input
59
59
  }], noLogo: [{
60
60
  type: Input
61
+ }], urlFeder: [{
62
+ type: Input
61
63
  }], iconComponent: [{
62
64
  type: ContentChildren,
63
65
  args: [IconComponent]
@@ -71,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
71
73
  type: ContentChildren,
72
74
  args: [FooterNavigationComponent]
73
75
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBRTVHLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFHbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBUXhFLE1BQU0sT0FBTyxlQUFnQixTQUFRLHNCQUFzQjtJQXNCekQsa0JBQWtCO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3hJLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsVUFBMEI7UUFDL0MsT0FBTyxVQUFVLFlBQVkseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDbEgsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFjO1FBQ3pCLE9BQU8sSUFBSSxZQUFZLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzFGLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBYztRQUMzQixPQUFPLElBQUksWUFBWSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUUsQ0FBQzsrR0FyQ1UsZUFBZTttR0FBZixlQUFlLDJQQVdULGFBQWEsZ0RBR2IsbUJBQW1CLHVEQUduQixvQkFBb0Isc0RBRXBCLHlCQUF5QixvRENwQzVDLGlnVUEySEE7O0FEaEdFO0lBQUMsZ0JBQWdCLEVBQUU7OEJBQzRCLGFBQWE7c0RBQUM7QUFFN0Q7SUFBQyxnQkFBZ0IsRUFBRTs4QkFDa0MsbUJBQW1CO3NEQUFDO0FBRXpFO0lBQUMsZ0JBQWdCLEVBQUU7OEJBQzBDLG9CQUFvQjs2REFBQTs0RkFqQnRFLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsYUFBYTs4QkFLZCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFHMEIsYUFBYTtzQkFBNUMsZUFBZTt1QkFBQyxhQUFhO2dCQUdRLGFBQWE7c0JBQWxELGVBQWU7dUJBQUMsbUJBQW1CO2dCQUdHLG9CQUFvQjtzQkFBMUQsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBRU8sbUJBQW1CO3NCQUE5RCxlQUFlO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzY3JpcHRpb25EYXRhIH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2ludGVyZmFjZXMvJztcbmltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0LCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQge01ldGFEYXRhLCBNZXRhSXRlbURhdGEsIE5hdmlnYXRpb25EYXRhLCBOYXZpZ2F0aW9uSXRlbURhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtJY29uRGF0YX0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7SWNvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvb3Rlck5hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4vZm9vdGVyLW5hdmlnYXRpb24vZm9vdGVyLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7Rm9vdGVyTWV0YUNvbXBvbmVudH0gZnJvbSAnLi9mb290ZXItbWV0YS9mb290ZXItbWV0YS5jb21wb25lbnQnO1xuaW1wb3J0IHtDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWZvb3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIG1ldGE6IE1ldGFEYXRhO1xuICBASW5wdXQoKSBuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uRGF0YVtdO1xuICBASW5wdXQoKSBpY29uOiBJY29uRGF0YTtcbiAgQElucHV0KCkgY29udGFpbmVyQ2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBEZXNjcmlwdGlvbkRhdGE7XG4gIEBJbnB1dCgpIG5vTG9nbzogYm9vbGVhbjtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oSWNvbkNvbXBvbmVudCkgaWNvbkNvbXBvbmVudDogSWNvbkNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oRm9vdGVyTWV0YUNvbXBvbmVudCkgbWV0YUNvbXBvbmVudDogRm9vdGVyTWV0YUNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oRGVzY3JpcHRpb25Db21wb25lbnQpIGRlc2NyaXB0aW9uQ29tcG9uZW50OiBEZXNjcmlwdGlvbkNvbXBvbmVudFxuXG4gIEBDb250ZW50Q2hpbGRyZW4oRm9vdGVyTmF2aWdhdGlvbkNvbXBvbmVudCkgbmF2aWdhdGlvbkNvbXBvbmVudDogUXVlcnlMaXN0PEZvb3Rlck5hdmlnYXRpb25Db21wb25lbnQ+O1xuXG5cbiAgZ2V0TmF2aWdhdGlvbkl0ZW1zKCk6IE5hdmlnYXRpb25EYXRhW10ge1xuICAgIGNvbnN0IG5hdkl0ZW1zID0gdGhpcy5uYXZpZ2F0aW9uQ29tcG9uZW50ICYmIHRoaXMubmF2aWdhdGlvbkNvbXBvbmVudC5sZW5ndGggPiAwID8gdGhpcy5uYXZpZ2F0aW9uQ29tcG9uZW50LnRvQXJyYXkoKSA6IHRoaXMubmF2aWdhdGlvbjtcbiAgICByZXR1cm4gbmF2SXRlbXMgJiYgbmF2SXRlbXMubGVuZ3RoID4gMCA/IG5hdkl0ZW1zIDogbnVsbDtcbiAgfVxuXG4gIGdldE5hdmlnYXRpb25JdGVtSXRlbXMobmF2aWdhdGlvbjogTmF2aWdhdGlvbkRhdGEpOiBOYXZpZ2F0aW9uSXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIG5hdmlnYXRpb24gaW5zdGFuY2VvZiBGb290ZXJOYXZpZ2F0aW9uQ29tcG9uZW50ID8gbmF2aWdhdGlvbi5pdGVtQ29tcG9uZW50cy50b0FycmF5KCkgOiBuYXZpZ2F0aW9uLml0ZW1zO1xuICB9XG5cbiAgZ2V0TWV0YUl0ZW1zKG1ldGE6IE1ldGFEYXRhKTogTWV0YUl0ZW1EYXRhW10ge1xuICAgIHJldHVybiBtZXRhIGluc3RhbmNlb2YgRm9vdGVyTWV0YUNvbXBvbmVudCA/IG1ldGEuaXRlbUNvbXBvbmVudHMudG9BcnJheSgpIDogbWV0YS5pdGVtcztcbiAgfVxuXG4gIGdldE1ldGFDb250ZW50KG1ldGE6IE1ldGFEYXRhKTogQ29udGVudENvbXBvbmVudCB7XG4gICAgcmV0dXJuIG1ldGEgaW5zdGFuY2VvZiBGb290ZXJNZXRhQ29tcG9uZW50ID8gbWV0YS5jb250ZW50Q29tcG9uZW50IDogbnVsbDtcbiAgfVxufVxuIiwiPGZvb3RlciBbY2xhc3NdPVwiWydweS1iYXNlIGJnLW5ldXRyYWwtbGlnaHRlciBib3JkZXItdCBib3JkZXItbmV1dHJhbC1iYXNlIHRleHQteHMgbGc6dGV4dC1zbSB0ZXh0LW5ldXRyYWwtZGFyaycsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyBhcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgPyBhcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiYXJpYUhpZGRlbiA/IGFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFyaWFDdXJyZW50ID8gYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiYXJpYUVycm9yTWVzc2FnZSA/IGFyaWFFcnJvck1lc3NhZ2UgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IG51bGxcIj5cbiAgPGRpdiBbY2xhc3NdPVwiWydjb250YWluZXIgbXgtYXV0byBweC1iYXNlJywgY29udGFpbmVyQ2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ2V0TmF2aWdhdGlvbkl0ZW1zKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGxnOmZsZXgtcm93IGZsZXgtd3JhcCBnYXAtYmFzZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xXCIgKm5nRm9yPVwibGV0IG5hdiBvZiBnZXROYXZpZ2F0aW9uSXRlbXMoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZzpmbGV4LTFcIj5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImMtaDMgbWItYmFzZVwiPnt7bmF2LnRpdGxlfX08L2gzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx1bCBbY2xhc3NdPVwiJ2dyaWQgZ3JpZC1jb2xzLTEgZ2FwLWJhc2UgbGc6Z3JpZC1jb2xzLScgKyBuYXYuY29sdW1uc1wiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibWIteHNcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXROYXZpZ2F0aW9uSXRlbUl0ZW1zKG5hdilcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIihpdGVtLmhyZWYgIT09IG51bGwgJiYgaXRlbS5ocmVmICE9PSB1bmRlZmluZWQpID8gaXRlbUhyZWYgOiBpdGVtUm91dGVyTGluazsgY29udGV4dDoge2l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aHIgY2xhc3M9XCJteS1iYXNlIGJvcmRlci10IGJvcmRlci1uZXV0cmFsLWJhc2VcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBmbGV4LWNvbCBsZzpmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi1iYXNlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbWV0YVRlbXBsYXRlIGxldC1tZXRhRWxlbWVudD1cIm1ldGFFbGVtZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1ldGFFbGVtZW50XCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJzci1vbmx5XCI+e3sobWV0YUVsZW1lbnQudmlzdWFsbHlIaWRkZW5UaXRsZSA/IG1ldGFFbGVtZW50LnZpc3VhbGx5SGlkZGVuVGl0bGUgOiAnRW5sYWNlcyBkZSBwaWUgZGUgcMOhZ2luYScpfX08L2gyPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBsZzpmbGV4LXJvdyBsZzpmbGV4LXdyYXAgbWItYmFzZVwiICpuZ0lmPVwiZ2V0TWV0YUl0ZW1zKG1ldGFFbGVtZW50KVwiPlxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi1zbSBtci1iYXNlXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TWV0YUl0ZW1zKG1ldGFFbGVtZW50KVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIoaXRlbS5ocmVmICE9PSBudWxsICYmIGl0ZW0uaHJlZiAhPT0gdW5kZWZpbmVkKSA/IGl0ZW1IcmVmIDogaXRlbVJvdXRlckxpbms7IGNvbnRleHQ6IHtpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi1zbVwiICAqbmdJZj1cImdldE1ldGFDb250ZW50KG1ldGFFbGVtZW50KSB8fCBtZXRhRWxlbWVudC5odG1sIHx8IG1ldGFFbGVtZW50LnRleHRcIj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBnZXRNZXRhQ29udGVudChtZXRhRWxlbWVudCksIGh0bWw6IG1ldGFFbGVtZW50Lmh0bWwsIHRleHQ6IG1ldGFFbGVtZW50LnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1ldGFUZW1wbGF0ZTsgY29udGV4dDogeyBtZXRhRWxlbWVudDogbWV0YUNvbXBvbmVudCA/IG1ldGFDb21wb25lbnQgOiBtZXRhIH1cIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIERlc2NyaXB0aW9uIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZGVzY3JpcHRpb25Db21wb25lbnQgfHwgZGVzY3JpcHRpb24/Lmh0bWwgfHwgZGVzY3JpcHRpb24/LnRleHQ7IGVsc2Ugbm9EZXNjXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwic3Itb25seVwiPnt7ZGVzY3JpcHRpb25Db21wb25lbnQ/LnZpc3VhbGx5SGlkZGVuVGl0bGUgPyBkZXNjcmlwdGlvbkNvbXBvbmVudD8udmlzdWFsbHlIaWRkZW5UaXRsZSA6IGRlc2NyaXB0aW9uPy52aXN1YWxseUhpZGRlblRpdGxlID8gZGVzY3JpcHRpb24/LnZpc3VhbGx5SGlkZGVuVGl0bGUgOiAnQWNlcmNhIGRlJ319PC9oMj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGRlc2NyaXB0aW9uQ29tcG9uZW50LCBodG1sOiBkZXNjcmlwdGlvbj8uaHRtbCwgdGV4dDogZGVzY3JpcHRpb24/LnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub0Rlc2M+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYWRpbmctdGlnaHRcIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICBUb2RvIGVsIGNvbnRlbmlkbyBiYWpvXG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiYy1saW5rIGMtbGluay0tbmV1dHJhbFwiIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wL2xlZ2FsY29kZS5lc1wiIHJlbD1cImxpY2Vuc2VcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiPmxpY2VuY2lhIENDIEJZIDQuMDwvYT5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVhZGluZy10aWdodFwiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwiYy1saW5rIGMtbGluay0tbmV1dHJhbFwiIGhyZWY9XCJodHRwczovL3d3dy5hcmFnb24uZXMvXCI+R29iaWVybm8gZGUgQXJhZ8OzbjwvYT4uIEVkaWZpY2lvXG4gICAgICAgICAgICAgIFBpZ25hdGVsbGkuIDxhYmJyIHRpdGxlPeKAnVBhc2Vv4oCdPlDCujwvYWJicj4gTWFyw61hIEFndXN0w61uLCAzNi4gNTAwMDQgLSBaYXJhZ296YSAtIDxhYmJyIHRpdGxlPVwiVGVsw6lmb25vXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vLXVuZGVybGluZVwiPlRlbC48L2FiYnI+IDxhIGhyZWY9XCJ0ZWw6Kzk3NjcxNDAwMFwiIGNsYXNzPVwiYy1saW5rIGMtbGluay0tbmV1dHJhbFwiPjk3NiA3MTQgMDAwPC9hPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi1iYXNlIGxnOnBsLWJhc2Ugb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgIDxwICpuZ0lmPVwiaWNvbkNvbXBvbmVudCB8fCBpY29uPy5odG1sXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpY29uQ29tcG9uZW50LCBodG1sOiBpY29uPy5odG1sIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCAqbmdJZj1cIiFub0xvZ29cIj5cbiAgICAgICAgICA8YSBocmVmPVwiaHR0cDovL3d3dy5hcmFnb24uZXMvRm9uZG9zX0V1cm9wZW9zXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJpbmxpbmUtYmxvY2sgdGV4dC1zbSBjLWxpbmsgbm8tdW5kZXJsaW5lXCIgdGl0bGU9XCJNw6FzIGluZm9ybWFjacOzbiBzb2JyZSBsb3MgRm9uZG9zIEVzdHJ1Y3R1cmFsZXMgeSBkZSBJbnZlcnNpw7NuIEV1cm9wZW9zIChGb25kb3MgRUlFKVwiPlxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1NzUgOTZcIiB3aWR0aD1cIjI4OFwiIGhlaWdodD1cIjQ4XCIgY2xhc3M9XCJ3LWF1dG8gaC0xMlwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiTG9nb3RpcG8gVW5pw7NuIEV1cm9wZWEuIEZvbmRvIEV1cm9wZW8gZGUgRGVzYXJyb2xsbyBSZWdpb25hbCAoRkVERVIpLiBDb25zdHJ1eWVuZG8gRXVyb3BhIGRlc2RlIEFyYWfDs24uXCI+PHRleHQgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEyNiAzMylcIiBmaWxsPVwiIzAzOVwiIGZvbnQtc2l6ZT1cIjIwXCIgZm9udC1mYW1pbHk9XCJBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBDYWxpYnJpLCBHYXJhbW9uZCwgVHJlYnVjaGV0LCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgSGVsdmV0aWNhTmV1ZS1Cb2xkLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBzYW5zXCIgZm9udC13ZWlnaHQ9XCI3MDBcIj48dHNwYW4geD1cIjBcIiB5PVwiMFwiPlVOScOTTiBFVVJPUEVBPC90c3Bhbj48L3RleHQ+PHRleHQgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEyNiA1NilcIiBmaWxsPVwiIzAzOVwiIGZvbnQtc2l6ZT1cIjIwXCIgZm9udC1mYW1pbHk9XCJBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBDYWxpYnJpLCBHYXJhbW9uZCwgVHJlYnVjaGV0LCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgSGVsdmV0aWNhTmV1ZS1Cb2xkLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBzYW5zXCI+PHRzcGFuIHg9XCIwXCIgeT1cIjBcIj5Gb25kbyBFdXJvcGVvIGRlIERlc2Fycm9sbG8gUmVnaW9uYWwgKEZFREVSKTwvdHNwYW4+PC90ZXh0Pjx0ZXh0IHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMjYgNzkpXCIgZmlsbD1cIiMwMzlcIiBmb250LXNpemU9XCIyMFwiIGZvbnQtZmFtaWx5PVwiQXJpYWwsIFRhaG9tYSwgVmVyZGFuYSwgQ2FsaWJyaSwgR2FyYW1vbmQsIFRyZWJ1Y2hldCwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIEhlbHZldGljYU5ldWUtQm9sZCwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgc2Fuc1wiPjx0c3BhbiB4PVwiMFwiIHk9XCIwXCI+4oCcQ29uc3RydXllbmRvIEV1cm9wYSBkZXNkZSBBcmFnw7Nu4oCdPC90c3Bhbj48L3RleHQ+PHBhdGggZmlsbD1cIiMwMzlcIiBzdHJva2U9XCIjZmZmXCIgc3Ryb2tlLXdpZHRoPVwiMSVcIiBkPVwiTTE0LjA4NiAxMy4wMmgxMDQuMjgydjY5LjUyMkgxNC4wODZ6XCIvPjxnIGZpbGw9XCIjZmMwXCI+PHBhdGggZD1cIk02NC4wMDQgMjguMTY3bDIuMi0xLjYwNiAyLjIgMS42MDYtLjgzNy0yLjYgMi4yMzUtMS42MDZoLTIuNzU1bC0uODQzLTIuNjI4LS44NDMgMi42MzFoLTIuNzUzbDIuMjMzIDEuNjA2ek01Mi42MTcgMzEuMjI5bDIuMi0xLjYwNiAyLjIgMS42MDYtLjgzNi0yLjYgMi4yMzMtMS42MDZoLTIuNzU1bC0uODQzLTIuNjMxLS44NDMgMi42MzRINTEuMjJsMi4yMzQgMS42MDZ6TTQ2LjQ4NiAzMi43NDNsLS44NDMgMi42MzRINDIuODlsMi4yMzQgMS42MDYtLjgzNyAyLjYgMi4yLTEuNjA2IDIuMiAxLjYwNi0uODM3LTIuNiAyLjIzNC0xLjYwNmgtMi43NTJ6TTQzLjQyOSA0OS4zNDVsMi4yIDEuNjA2LS44MzYtMi42IDIuMjM0LTEuNjA2aC0yLjc1M2wtLjg0My0yLjYzMS0uODQzIDIuNjM3LTIuNzU1LS4wMDYgMi4yMzUgMS42MDYtLjgzNyAyLjZ6TTQ3LjMzMiA1OC4xNTZsLS44NDMtMi42MzEtLjg0MyAyLjYzNGgtMi43NTNsMi4yMzQgMS42MDYtLjgzNyAyLjYgMi4yLTEuNjA5IDIuMiAxLjYwOS0uODM3LTIuNiAyLjIzNC0xLjYwNnpNNTUuNjc3IDY2LjUwNGwtLjg0My0yLjYyOC0uODQyIDIuNjMxaC0yLjc1NWwyLjIzNCAxLjYwNi0uODM2IDIuNiAyLjItMS42MDYgMi4yIDEuNjA2LS44MzYtMi42IDIuMjM0LTEuNjA2ek02Ny4wNSA2OS41MjhsLS44NDMtMi42MzEtLjg0MiAyLjYzNEg2Mi42MWwyLjIzNCAxLjYwNi0uODM2IDIuNiAyLjItMS42MDYgMi4yIDEuNjA2LS44MzctMi42IDIuMjM1LTEuNjA2ek03OC40MjIgNjYuNTA0bC0uODQyLTIuNjI4LS44NDUgMi42MzFoLTIuNzUybDIuMjMyIDEuNjA2LS44MzYgMi42IDIuMi0xLjYwNiAyLjIgMS42MDYtLjgzOS0yLjYgMi4yMzUtMS42MDZ6TTg2Ljc3NCA1OC4xNTZsLS44NDUtMi42MzEtLjg0NSAyLjYzNGgtMi43NTJsMi4yMzUgMS42MDYtLjgzOSAyLjYgMi4yLTEuNjA5IDIuMiAxLjYwOS0uODM5LTIuNiAyLjIzNS0xLjYwNnpNOTIuNTUxIDQ2LjcxNmgtMi43NTVsLS44NDUtMi42MzEtLjg0MiAyLjYzNGgtMi43NTVsMi4yMzUgMS42MDYtLjgzNiAyLjYgMi4yLTEuNjA5IDIuMiAxLjYwOS0uODM2LTIuNnpNODMuNzI4IDM5LjU0NGwyLjItMS42MDYgMi4yIDEuNjA2LS44MzktMi42IDIuMjM1LTEuNmgtMi43NTJsLS44NDUtMi42MzEtLjg0NSAyLjYzNEg4Mi4zM2wyLjIzNSAxLjZ6TTc3LjYxMyAyNC4zOTVsLS44NDIgMi42MzQtMi43NTUtLjAwNiAyLjIzMiAxLjYwOS0uODM2IDIuNiAyLjItMS42MDkgMi4yIDEuNjA5LS44MzYtMi42IDIuMjM1LTEuNjA5aC0yLjc1OHpcIi8+PC9nPjwvc3ZnPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb290ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbUhyZWYgbGV0LWl0ZW09XCJpdGVtXCI+XG4gIDxhIGNsYXNzPVwiYy1saW5rIGZvbnQtc2VtaWJvbGRcIiBbaHJlZl09XCJpdGVtLmhyZWYgfCBleHRlcm5hbEhyZWZcIlxuICAgICBbYXR0ci5yb2xlXT1cIml0ZW0ucm9sZSA/IGl0ZW0ucm9sZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsID8gaXRlbS5hcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeSA/IGl0ZW0uYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpdGVtLmFyaWFMYWJlbGxlZEJ5ID8gaXRlbS5hcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW4gPyBpdGVtLmFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmFyaWFEaXNhYmxlZCA/IGl0ZW0uYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHMgPyBpdGVtLmFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hcmlhQ3VycmVudCA/IGl0ZW0uYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1saXZlXT1cIml0ZW0uYXJpYUxpdmUgPyBpdGVtLmFyaWFMaXZlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWQgPyBpdGVtLmFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2UgPyBpdGVtLmFyaWFFcnJvck1lc3NhZ2UgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cCA/IGl0ZW0uYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0udGFiaW5kZXggPyBpdGVtLnRhYmluZGV4IDogbnVsbFwiPlxuICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtUm91dGVyTGluayBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPGEgY2xhc3M9XCJjLWxpbmsgZm9udC1zZW1pYm9sZFwiIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGUgPyBpdGVtLnJvbGUgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbCA/IGl0ZW0uYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnkgPyBpdGVtLmFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeSA/IGl0ZW0uYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuID8gaXRlbS5hcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWQgPyBpdGVtLmFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzID8gaXRlbS5hcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uYXJpYUN1cnJlbnQgPyBpdGVtLmFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlID8gaXRlbS5hcmlhTGl2ZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkID8gaXRlbS5hcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlID8gaXRlbS5hcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXAgPyBpdGVtLmFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLnRhYmluZGV4ID8gaXRlbS50YWJpbmRleCA6IG51bGxcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBRTVHLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFHbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBUXhFLE1BQU0sT0FBTyxlQUFnQixTQUFRLHNCQUFzQjtJQXVCekQsa0JBQWtCO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3hJLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsVUFBMEI7UUFDL0MsT0FBTyxVQUFVLFlBQVkseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDbEgsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFjO1FBQ3pCLE9BQU8sSUFBSSxZQUFZLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzFGLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBYztRQUMzQixPQUFPLElBQUksWUFBWSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUUsQ0FBQzsrR0F0Q1UsZUFBZTttR0FBZixlQUFlLGlSQVlULGFBQWEsZ0RBR2IsbUJBQW1CLHVEQUduQixvQkFBb0Isc0RBRXBCLHlCQUF5QixvRENyQzVDLDRtVUEySEE7O0FEL0ZFO0lBQUMsZ0JBQWdCLEVBQUU7OEJBQzRCLGFBQWE7c0RBQUM7QUFFN0Q7SUFBQyxnQkFBZ0IsRUFBRTs4QkFDa0MsbUJBQW1CO3NEQUFDO0FBRXpFO0lBQUMsZ0JBQWdCLEVBQUU7OEJBQzBDLG9CQUFvQjs2REFBQTs0RkFsQnRFLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsYUFBYTs4QkFLZCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUcwQixhQUFhO3NCQUE1QyxlQUFlO3VCQUFDLGFBQWE7Z0JBR1EsYUFBYTtzQkFBbEQsZUFBZTt1QkFBQyxtQkFBbUI7Z0JBR0csb0JBQW9CO3NCQUExRCxlQUFlO3VCQUFDLG9CQUFvQjtnQkFFTyxtQkFBbUI7c0JBQTlELGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpcHRpb25Db21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbkRhdGEgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7TWV0YURhdGEsIE1ldGFJdGVtRGF0YSwgTmF2aWdhdGlvbkRhdGEsIE5hdmlnYXRpb25JdGVtRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge0ljb25EYXRhfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvaW50ZXJmYWNlcyc7XG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHtJY29uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7Rm9vdGVyTmF2aWdhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9mb290ZXItbmF2aWdhdGlvbi9mb290ZXItbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtGb290ZXJNZXRhQ29tcG9uZW50fSBmcm9tICcuL2Zvb3Rlci1tZXRhL2Zvb3Rlci1tZXRhLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktZm9vdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgbWV0YTogTWV0YURhdGE7XG4gIEBJbnB1dCgpIG5hdmlnYXRpb246IE5hdmlnYXRpb25EYXRhW107XG4gIEBJbnB1dCgpIGljb246IEljb25EYXRhO1xuICBASW5wdXQoKSBjb250YWluZXJDbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IERlc2NyaXB0aW9uRGF0YTtcbiAgQElucHV0KCkgbm9Mb2dvOiBib29sZWFuO1xuICBASW5wdXQoKSB1cmxGZWRlcjogc3RyaW5nO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihJY29uQ29tcG9uZW50KSBpY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihGb290ZXJNZXRhQ29tcG9uZW50KSBtZXRhQ29tcG9uZW50OiBGb290ZXJNZXRhQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihEZXNjcmlwdGlvbkNvbXBvbmVudCkgZGVzY3JpcHRpb25Db21wb25lbnQ6IERlc2NyaXB0aW9uQ29tcG9uZW50XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGb290ZXJOYXZpZ2F0aW9uQ29tcG9uZW50KSBuYXZpZ2F0aW9uQ29tcG9uZW50OiBRdWVyeUxpc3Q8Rm9vdGVyTmF2aWdhdGlvbkNvbXBvbmVudD47XG5cblxuICBnZXROYXZpZ2F0aW9uSXRlbXMoKTogTmF2aWdhdGlvbkRhdGFbXSB7XG4gICAgY29uc3QgbmF2SXRlbXMgPSB0aGlzLm5hdmlnYXRpb25Db21wb25lbnQgJiYgdGhpcy5uYXZpZ2F0aW9uQ29tcG9uZW50Lmxlbmd0aCA+IDAgPyB0aGlzLm5hdmlnYXRpb25Db21wb25lbnQudG9BcnJheSgpIDogdGhpcy5uYXZpZ2F0aW9uO1xuICAgIHJldHVybiBuYXZJdGVtcyAmJiBuYXZJdGVtcy5sZW5ndGggPiAwID8gbmF2SXRlbXMgOiBudWxsO1xuICB9XG5cbiAgZ2V0TmF2aWdhdGlvbkl0ZW1JdGVtcyhuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uRGF0YSk6IE5hdmlnYXRpb25JdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gbmF2aWdhdGlvbiBpbnN0YW5jZW9mIEZvb3Rlck5hdmlnYXRpb25Db21wb25lbnQgPyBuYXZpZ2F0aW9uLml0ZW1Db21wb25lbnRzLnRvQXJyYXkoKSA6IG5hdmlnYXRpb24uaXRlbXM7XG4gIH1cblxuICBnZXRNZXRhSXRlbXMobWV0YTogTWV0YURhdGEpOiBNZXRhSXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIG1ldGEgaW5zdGFuY2VvZiBGb290ZXJNZXRhQ29tcG9uZW50ID8gbWV0YS5pdGVtQ29tcG9uZW50cy50b0FycmF5KCkgOiBtZXRhLml0ZW1zO1xuICB9XG5cbiAgZ2V0TWV0YUNvbnRlbnQobWV0YTogTWV0YURhdGEpOiBDb250ZW50Q29tcG9uZW50IHtcbiAgICByZXR1cm4gbWV0YSBpbnN0YW5jZW9mIEZvb3Rlck1ldGFDb21wb25lbnQgPyBtZXRhLmNvbnRlbnRDb21wb25lbnQgOiBudWxsO1xuICB9XG59XG4iLCI8Zm9vdGVyIFtjbGFzc109XCJbJ3B5LWJhc2UgYmctbmV1dHJhbC1saWdodGVyIGJvcmRlci10IGJvcmRlci1uZXV0cmFsLWJhc2UgdGV4dC14cyBsZzp0ZXh0LXNtIHRleHQtbmV1dHJhbC1kYXJrJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICA8ZGl2IFtjbGFzc109XCJbJ2NvbnRhaW5lciBteC1hdXRvIHB4LWJhc2UnLCBjb250YWluZXJDbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXROYXZpZ2F0aW9uSXRlbXMoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbGc6ZmxleC1yb3cgZmxleC13cmFwIGdhcC1iYXNlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LTFcIiAqbmdGb3I9XCJsZXQgbmF2IG9mIGdldE5hdmlnYXRpb25JdGVtcygpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxnOmZsZXgtMVwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiYy1oMyBtYi1iYXNlXCI+e3tuYXYudGl0bGV9fTwvaDM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHVsIFtjbGFzc109XCInZ3JpZCBncmlkLWNvbHMtMSBnYXAtYmFzZSBsZzpncmlkLWNvbHMtJyArIG5hdi5jb2x1bW5zXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi14c1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldE5hdmlnYXRpb25JdGVtSXRlbXMobmF2KVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKGl0ZW0uaHJlZiAhPT0gbnVsbCAmJiBpdGVtLmhyZWYgIT09IHVuZGVmaW5lZCkgPyBpdGVtSHJlZiA6IGl0ZW1Sb3V0ZXJMaW5rOyBjb250ZXh0OiB7aXRlbTogaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxociBjbGFzcz1cIm15LWJhc2UgYm9yZGVyLXQgYm9yZGVyLW5ldXRyYWwtYmFzZVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGZsZXgtY29sIGxnOmZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1iLWJhc2VcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtZXRhVGVtcGxhdGUgbGV0LW1ldGFFbGVtZW50PVwibWV0YUVsZW1lbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YUVsZW1lbnRcIj5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cInNyLW9ubHlcIj57eyhtZXRhRWxlbWVudC52aXN1YWxseUhpZGRlblRpdGxlID8gbWV0YUVsZW1lbnQudmlzdWFsbHlIaWRkZW5UaXRsZSA6ICdFbmxhY2VzIGRlIHBpZSBkZSBww6FnaW5hJyl9fTwvaDI+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGxnOmZsZXgtcm93IGxnOmZsZXgtd3JhcCBtYi1iYXNlXCIgKm5nSWY9XCJnZXRNZXRhSXRlbXMobWV0YUVsZW1lbnQpXCI+XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLXNtIG1yLWJhc2VcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRNZXRhSXRlbXMobWV0YUVsZW1lbnQpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIihpdGVtLmhyZWYgIT09IG51bGwgJiYgaXRlbS5ocmVmICE9PSB1bmRlZmluZWQpID8gaXRlbUhyZWYgOiBpdGVtUm91dGVyTGluazsgY29udGV4dDoge2l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLXNtXCIgICpuZ0lmPVwiZ2V0TWV0YUNvbnRlbnQobWV0YUVsZW1lbnQpIHx8IG1ldGFFbGVtZW50Lmh0bWwgfHwgbWV0YUVsZW1lbnQudGV4dFwiPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGdldE1ldGFDb250ZW50KG1ldGFFbGVtZW50KSwgaHRtbDogbWV0YUVsZW1lbnQuaHRtbCwgdGV4dDogbWV0YUVsZW1lbnQudGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWV0YVRlbXBsYXRlOyBjb250ZXh0OiB7IG1ldGFFbGVtZW50OiBtZXRhQ29tcG9uZW50ID8gbWV0YUNvbXBvbmVudCA6IG1ldGEgfVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gRGVzY3JpcHRpb24gLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJkZXNjcmlwdGlvbkNvbXBvbmVudCB8fCBkZXNjcmlwdGlvbj8uaHRtbCB8fCBkZXNjcmlwdGlvbj8udGV4dDsgZWxzZSBub0Rlc2NcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJzci1vbmx5XCI+e3tkZXNjcmlwdGlvbkNvbXBvbmVudD8udmlzdWFsbHlIaWRkZW5UaXRsZSA/IGRlc2NyaXB0aW9uQ29tcG9uZW50Py52aXN1YWxseUhpZGRlblRpdGxlIDogZGVzY3JpcHRpb24/LnZpc3VhbGx5SGlkZGVuVGl0bGUgPyBkZXNjcmlwdGlvbj8udmlzdWFsbHlIaWRkZW5UaXRsZSA6ICdBY2VyY2EgZGUnfX08L2gyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogZGVzY3JpcHRpb25Db21wb25lbnQsIGh0bWw6IGRlc2NyaXB0aW9uPy5odG1sLCB0ZXh0OiBkZXNjcmlwdGlvbj8udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vRGVzYz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVhZGluZy10aWdodFwiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIFRvZG8gZWwgY29udGVuaWRvIGJham9cbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJjLWxpbmsgYy1saW5rLS1uZXV0cmFsXCIgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvbGVnYWxjb2RlLmVzXCIgcmVsPVwibGljZW5zZVwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCI+bGljZW5jaWEgQ0MgQlkgNC4wPC9hPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWFkaW5nLXRpZ2h0XCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJjLWxpbmsgYy1saW5rLS1uZXV0cmFsXCIgaHJlZj1cImh0dHBzOi8vd3d3LmFyYWdvbi5lcy9cIj5Hb2JpZXJubyBkZSBBcmFnw7NuPC9hPi4gRWRpZmljaW9cbiAgICAgICAgICAgICAgUGlnbmF0ZWxsaS4gPGFiYnIgdGl0bGU94oCdUGFzZW/igJ0+UMK6PC9hYmJyPiBNYXLDrWEgQWd1c3TDrW4sIDM2LiA1MDAwNCAtIFphcmFnb3phIC0gPGFiYnIgdGl0bGU9XCJUZWzDqWZvbm9cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibm8tdW5kZXJsaW5lXCI+VGVsLjwvYWJicj4gPGEgaHJlZj1cInRlbDorMzQ5NzY3MTQwMDBcIiBjbGFzcz1cImMtbGluayBjLWxpbmstLW5ldXRyYWxcIj45NzYgNzE0IDAwMDwvYT5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWItYmFzZSBsZzpwbC1iYXNlIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICA8cCAqbmdJZj1cImljb25Db21wb25lbnQgfHwgaWNvbj8uaHRtbFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaWNvbkNvbXBvbmVudCwgaHRtbDogaWNvbj8uaHRtbCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHAgKm5nSWY9XCIhbm9Mb2dvXCI+XG4gICAgICAgICAgPGEgW2hyZWZdPVwidXJsRmVkZXIgPyAodXJsRmVkZXIgfCBleHRlcm5hbEhyZWYpOidodHRwczovL3d3dy5ldXJvcGFybC5ldXJvcGEuZXUvZmFjdHNoZWV0cy9lcy9zaGVldC85NS9lbC1mb25kby1ldXJvcGVvLWRlLWRlc2Fycm9sbG8tcmVnaW9uYWwtZmVkZXItJ1wiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwiaW5saW5lLWJsb2NrIHRleHQtc20gYy1saW5rIG5vLXVuZGVybGluZVwiIHRpdGxlPVwiTcOhcyBpbmZvcm1hY2nDs24gc29icmUgbG9zIEZvbmRvcyBFc3RydWN0dXJhbGVzIHkgZGUgSW52ZXJzacOzbiBFdXJvcGVvcyAoRm9uZG9zIEVJRSlcIj5cbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTc1IDk2XCIgd2lkdGg9XCIyODhcIiBoZWlnaHQ9XCI0OFwiIGNsYXNzPVwidy1hdXRvIGgtMTJcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkxvZ290aXBvIFVuacOzbiBFdXJvcGVhLiBGb25kbyBFdXJvcGVvIGRlIERlc2Fycm9sbG8gUmVnaW9uYWwgKEZFREVSKS4gQ29uc3RydXllbmRvIEV1cm9wYSBkZXNkZSBBcmFnw7NuLlwiPjx0ZXh0IHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMjYgMzMpXCIgZmlsbD1cIiMwMzlcIiBmb250LXNpemU9XCIyMFwiIGZvbnQtZmFtaWx5PVwiQXJpYWwsIFRhaG9tYSwgVmVyZGFuYSwgQ2FsaWJyaSwgR2FyYW1vbmQsIFRyZWJ1Y2hldCwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIEhlbHZldGljYU5ldWUtQm9sZCwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgc2Fuc1wiIGZvbnQtd2VpZ2h0PVwiNzAwXCI+PHRzcGFuIHg9XCIwXCIgeT1cIjBcIj5VTknDk04gRVVST1BFQTwvdHNwYW4+PC90ZXh0Pjx0ZXh0IHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMjYgNTYpXCIgZmlsbD1cIiMwMzlcIiBmb250LXNpemU9XCIyMFwiIGZvbnQtZmFtaWx5PVwiQXJpYWwsIFRhaG9tYSwgVmVyZGFuYSwgQ2FsaWJyaSwgR2FyYW1vbmQsIFRyZWJ1Y2hldCwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIEhlbHZldGljYU5ldWUtQm9sZCwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgc2Fuc1wiPjx0c3BhbiB4PVwiMFwiIHk9XCIwXCI+Rm9uZG8gRXVyb3BlbyBkZSBEZXNhcnJvbGxvIFJlZ2lvbmFsIChGRURFUik8L3RzcGFuPjwvdGV4dD48dGV4dCB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTI2IDc5KVwiIGZpbGw9XCIjMDM5XCIgZm9udC1zaXplPVwiMjBcIiBmb250LWZhbWlseT1cIkFyaWFsLCBUYWhvbWEsIFZlcmRhbmEsIENhbGlicmksIEdhcmFtb25kLCBUcmVidWNoZXQsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2FOZXVlLUJvbGQsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIHNhbnNcIj48dHNwYW4geD1cIjBcIiB5PVwiMFwiPuKAnENvbnN0cnV5ZW5kbyBFdXJvcGEgZGVzZGUgQXJhZ8OzbuKAnTwvdHNwYW4+PC90ZXh0PjxwYXRoIGZpbGw9XCIjMDM5XCIgc3Ryb2tlPVwiI2ZmZlwiIHN0cm9rZS13aWR0aD1cIjElXCIgZD1cIk0xNC4wODYgMTMuMDJoMTA0LjI4MnY2OS41MjJIMTQuMDg2elwiLz48ZyBmaWxsPVwiI2ZjMFwiPjxwYXRoIGQ9XCJNNjQuMDA0IDI4LjE2N2wyLjItMS42MDYgMi4yIDEuNjA2LS44MzctMi42IDIuMjM1LTEuNjA2aC0yLjc1NWwtLjg0My0yLjYyOC0uODQzIDIuNjMxaC0yLjc1M2wyLjIzMyAxLjYwNnpNNTIuNjE3IDMxLjIyOWwyLjItMS42MDYgMi4yIDEuNjA2LS44MzYtMi42IDIuMjMzLTEuNjA2aC0yLjc1NWwtLjg0My0yLjYzMS0uODQzIDIuNjM0SDUxLjIybDIuMjM0IDEuNjA2ek00Ni40ODYgMzIuNzQzbC0uODQzIDIuNjM0SDQyLjg5bDIuMjM0IDEuNjA2LS44MzcgMi42IDIuMi0xLjYwNiAyLjIgMS42MDYtLjgzNy0yLjYgMi4yMzQtMS42MDZoLTIuNzUyek00My40MjkgNDkuMzQ1bDIuMiAxLjYwNi0uODM2LTIuNiAyLjIzNC0xLjYwNmgtMi43NTNsLS44NDMtMi42MzEtLjg0MyAyLjYzNy0yLjc1NS0uMDA2IDIuMjM1IDEuNjA2LS44MzcgMi42ek00Ny4zMzIgNTguMTU2bC0uODQzLTIuNjMxLS44NDMgMi42MzRoLTIuNzUzbDIuMjM0IDEuNjA2LS44MzcgMi42IDIuMi0xLjYwOSAyLjIgMS42MDktLjgzNy0yLjYgMi4yMzQtMS42MDZ6TTU1LjY3NyA2Ni41MDRsLS44NDMtMi42MjgtLjg0MiAyLjYzMWgtMi43NTVsMi4yMzQgMS42MDYtLjgzNiAyLjYgMi4yLTEuNjA2IDIuMiAxLjYwNi0uODM2LTIuNiAyLjIzNC0xLjYwNnpNNjcuMDUgNjkuNTI4bC0uODQzLTIuNjMxLS44NDIgMi42MzRINjIuNjFsMi4yMzQgMS42MDYtLjgzNiAyLjYgMi4yLTEuNjA2IDIuMiAxLjYwNi0uODM3LTIuNiAyLjIzNS0xLjYwNnpNNzguNDIyIDY2LjUwNGwtLjg0Mi0yLjYyOC0uODQ1IDIuNjMxaC0yLjc1MmwyLjIzMiAxLjYwNi0uODM2IDIuNiAyLjItMS42MDYgMi4yIDEuNjA2LS44MzktMi42IDIuMjM1LTEuNjA2ek04Ni43NzQgNTguMTU2bC0uODQ1LTIuNjMxLS44NDUgMi42MzRoLTIuNzUybDIuMjM1IDEuNjA2LS44MzkgMi42IDIuMi0xLjYwOSAyLjIgMS42MDktLjgzOS0yLjYgMi4yMzUtMS42MDZ6TTkyLjU1MSA0Ni43MTZoLTIuNzU1bC0uODQ1LTIuNjMxLS44NDIgMi42MzRoLTIuNzU1bDIuMjM1IDEuNjA2LS44MzYgMi42IDIuMi0xLjYwOSAyLjIgMS42MDktLjgzNi0yLjZ6TTgzLjcyOCAzOS41NDRsMi4yLTEuNjA2IDIuMiAxLjYwNi0uODM5LTIuNiAyLjIzNS0xLjZoLTIuNzUybC0uODQ1LTIuNjMxLS44NDUgMi42MzRIODIuMzNsMi4yMzUgMS42ek03Ny42MTMgMjQuMzk1bC0uODQyIDIuNjM0LTIuNzU1LS4wMDYgMi4yMzIgMS42MDktLjgzNiAyLjYgMi4yLTEuNjA5IDIuMiAxLjYwOS0uODM2LTIuNiAyLjIzNS0xLjYwOWgtMi43NTh6XCIvPjwvZz48L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9vdGVyPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1IcmVmIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8YSBjbGFzcz1cImMtbGluayBmb250LXNlbWlib2xkXCIgW2hyZWZdPVwiaXRlbS5ocmVmIHwgZXh0ZXJuYWxIcmVmXCJcbiAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGUgPyBpdGVtLnJvbGUgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbCA/IGl0ZW0uYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnkgPyBpdGVtLmFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeSA/IGl0ZW0uYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuID8gaXRlbS5hcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWQgPyBpdGVtLmFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzID8gaXRlbS5hcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uYXJpYUN1cnJlbnQgPyBpdGVtLmFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlID8gaXRlbS5hcmlhTGl2ZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkID8gaXRlbS5hcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlID8gaXRlbS5hcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXAgPyBpdGVtLmFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLnRhYmluZGV4ID8gaXRlbS50YWJpbmRleCA6IG51bGxcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVJvdXRlckxpbmsgbGV0LWl0ZW09XCJpdGVtXCI+XG4gIDxhIGNsYXNzPVwiYy1saW5rIGZvbnQtc2VtaWJvbGRcIiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIiBbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXG4gICAgIFthdHRyLnJvbGVdPVwiaXRlbS5yb2xlID8gaXRlbS5yb2xlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hcmlhTGFiZWwgPyBpdGVtLmFyaWFMYWJlbCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5ID8gaXRlbS5hcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnkgPyBpdGVtLmFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlbiA/IGl0ZW0uYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uYXJpYURpc2FibGVkID8gaXRlbS5hcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpdGVtLmFyaWFDb250cm9scyA/IGl0ZW0uYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50ID8gaXRlbS5hcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZSA/IGl0ZW0uYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZCA/IGl0ZW0uYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwID8gaXRlbS5hcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleCA/IGl0ZW0udGFiaW5kZXggOiBudWxsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2E+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -3,12 +3,12 @@ import { ContentBaseComponent } from '../../../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class HeaderNavigationItemComponent extends ContentBaseComponent {
5
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderNavigationItemComponent, selector: "desy-header-navigation-item", inputs: { href: "href", routerLink: "routerLink", fragment: "fragment", id: "id", active: "active", disabled: "disabled" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderNavigationItemComponent, selector: "desy-header-navigation-item, desy-header-advanced-navigation-item", inputs: { href: "href", routerLink: "routerLink", fragment: "fragment", id: "id", active: "active", disabled: "disabled" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationItemComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
- selector: 'desy-header-navigation-item',
11
+ selector: 'desy-header-navigation-item, desy-header-advanced-navigation-item',
12
12
  template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
13
13
  }]
14
14
  }], propDecorators: { href: [{
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
24
24
  }], disabled: [{
25
25
  type: Input
26
26
  }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItbmF2aWdhdGlvbi9oZWFkZXItbmF2aWdhdGlvbi1pdGVtL2hlYWRlci1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOztBQU10RSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsb0JBQW9COytHQUExRCw2QkFBNkI7bUdBQTdCLDZCQUE2QixzTkFGOUIsdUVBQXVFOzs0RkFFdEUsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRSx1RUFBdUU7aUJBQ2xGOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SGVhZGVyTmF2aWdhdGlvbkl0ZW1EYXRhfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2hlYWRlci1uYXZpZ2F0aW9uLWl0ZW0tZGF0YSc7XG5pbXBvcnQge0NvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLW5hdmlnYXRpb24taXRlbScsXG4gIHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+J1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgSGVhZGVyTmF2aWdhdGlvbkl0ZW1EYXRhIHtcbiAgQElucHV0KCkgaHJlZjogc3RyaW5nO1xuICBASW5wdXQoKSByb3V0ZXJMaW5rOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZyYWdtZW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG59XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItbmF2aWdhdGlvbi9oZWFkZXItbmF2aWdhdGlvbi1pdGVtL2hlYWRlci1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQU94RSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsb0JBQW9COytHQUExRCw2QkFBNkI7bUdBQTdCLDZCQUE2Qiw0UEFGOUIsdUVBQXVFOzs0RkFFdEUsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtRUFBbUU7b0JBQzdFLFFBQVEsRUFBRSx1RUFBdUU7aUJBQ2xGOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2hlYWRlci1uYXZpZ2F0aW9uLWl0ZW0tZGF0YSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLW5hdmlnYXRpb24taXRlbSwgZGVzeS1oZWFkZXItYWR2YW5jZWQtbmF2aWdhdGlvbi1pdGVtJyxcbiAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4nXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlck5hdmlnYXRpb25JdGVtQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGEge1xuICBASW5wdXQoKSBocmVmOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IHN0cmluZztcbiAgQElucHV0KCkgZnJhZ21lbnQ6IHN0cmluZztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -11,18 +11,17 @@ export class HeaderNavigationComponent extends AccessibilityComponent {
11
11
  }
12
12
  getItemId(item, index) {
13
13
  const prefix = this.idPrefix ? this.idPrefix : 'header-nav-item';
14
- const suffix = index > 0 ? '-' + index : '';
15
- return item.id ? item.id : prefix + suffix;
14
+ return item.id ? item.id : prefix + '-' + ++index;
16
15
  }
17
16
  getItems() {
18
17
  return this.itemComponents && this.itemComponents.length > 0 ? this.itemComponents.toArray() : this.items;
19
18
  }
20
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderNavigationComponent, selector: "desy-header-navigation", inputs: { idPrefix: "idPrefix", classes: "classes", items: "items" }, queries: [{ propertyName: "itemComponents", predicate: HeaderNavigationItemComponent }], usesInheritance: true, ngImport: i0, template: "<nav [class]=\"classes ? classes : 'hidden lg:block'\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul class=\"ml-sm flex flex-wrap items-baseline\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item\">\n\n <!-- Active + routerlink -->\n <a *ngIf=\"item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Active + href -->\n <a *ngIf=\"item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Not active + routerlink -->\n <a *ngIf=\"!item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n\n <!-- Not active + href -->\n <a *ngIf=\"!item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }] }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderNavigationComponent, selector: "desy-header-navigation, desy-header-advanced-navigation", inputs: { idPrefix: "idPrefix", classes: "classes", items: "items" }, queries: [{ propertyName: "itemComponents", predicate: HeaderNavigationItemComponent }], usesInheritance: true, ngImport: i0, template: "<nav [class]=\"classes ? classes : 'hidden lg:block'\"\n [id]=\"idPrefix\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul class=\"ml-sm flex flex-wrap items-baseline\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage: null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <!-- Active + routerlink -->\n <a *ngIf=\"item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Active + href -->\n <a *ngIf=\"item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Not active + routerlink -->\n <a *ngIf=\"!item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n\n <!-- Not active + href -->\n <a *ngIf=\"!item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }] }); }
22
21
  }
23
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationComponent, decorators: [{
24
23
  type: Component,
25
- args: [{ selector: 'desy-header-navigation', template: "<nav [class]=\"classes ? classes : 'hidden lg:block'\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul class=\"ml-sm flex flex-wrap items-baseline\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item\">\n\n <!-- Active + routerlink -->\n <a *ngIf=\"item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Active + href -->\n <a *ngIf=\"item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Not active + routerlink -->\n <a *ngIf=\"!item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n\n <!-- Not active + href -->\n <a *ngIf=\"!item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</nav>\n" }]
24
+ args: [{ selector: 'desy-header-navigation, desy-header-advanced-navigation', template: "<nav [class]=\"classes ? classes : 'hidden lg:block'\"\n [id]=\"idPrefix\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul class=\"ml-sm flex flex-wrap items-baseline\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage: null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\n <!-- Active + routerlink -->\n <a *ngIf=\"item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Active + href -->\n <a *ngIf=\"item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\" \n aria-current=\"page\"\n [target]=\"item.target\">\n <strong class=\"font-bold\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n </a>\n\n <!-- Not active + routerlink -->\n <a *ngIf=\"!item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n\n <!-- Not active + href -->\n <a *ngIf=\"!item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-black hover:underline truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-black focus:bg-warning-base\"\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\n [target]=\"item.target\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</nav>\n" }]
26
25
  }], propDecorators: { idPrefix: [{
27
26
  type: Input
28
27
  }], classes: [{
@@ -33,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33
32
  type: ContentChildren,
34
33
  args: [HeaderNavigationItemComponent]
35
34
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW5hdmlnYXRpb24vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW5hdmlnYXRpb24vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMkRBQTJELENBQUM7Ozs7O0FBTXhHLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBc0I7SUFRbkUsa0JBQWtCO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQThCLEVBQUUsS0FBYTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUM1RyxDQUFDOytHQXBCVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixtS0FNbkIsNkJBQTZCLG9EQ2ZoRCx3MkhBMkRBOzs0RkRsRGEseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLHdCQUF3Qjs4QkFLekIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUUwQyxjQUFjO3NCQUE3RCxlQUFlO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0LCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGVhZGVyTmF2aWdhdGlvbkl0ZW1EYXRhIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9oZWFkZXItbmF2aWdhdGlvbi1pdGVtLWRhdGEnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7SGVhZGVyTmF2aWdhdGlvbkl0ZW1Db21wb25lbnR9IGZyb20gJy4vaGVhZGVyLW5hdmlnYXRpb24taXRlbS9oZWFkZXItbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlck5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBpdGVtczogSGVhZGVyTmF2aWdhdGlvbkl0ZW1EYXRhW107XG5cbiAgQENvbnRlbnRDaGlsZHJlbihIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudD47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICB9XG5cbiAgZ2V0SXRlbUlkKGl0ZW06IEhlYWRlck5hdmlnYXRpb25JdGVtRGF0YSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiAnaGVhZGVyLW5hdi1pdGVtJztcbiAgICBjb25zdCBzdWZmaXggPSBpbmRleCA+IDAgPyAnLScgKyBpbmRleCA6ICcnO1xuICAgIHJldHVybiBpdGVtLmlkID8gaXRlbS5pZCA6IHByZWZpeCArIHN1ZmZpeDtcbiAgfVxuXG4gIGdldEl0ZW1zKCk6IEhlYWRlck5hdmlnYXRpb25JdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtQ29tcG9uZW50cyAmJiB0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb25lbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG4gIH1cbn1cbiIsIjxuYXYgW2NsYXNzXT1cImNsYXNzZXMgPyBjbGFzc2VzIDogJ2hpZGRlbiBsZzpibG9jaydcIlxuICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzID8gYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiYXJpYUV4cGFuZGVkID8gYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gIDx1bCBjbGFzcz1cIm1sLXNtIGZsZXggZmxleC13cmFwIGl0ZW1zLWJhc2VsaW5lXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpOyBpbmRleCBhcyBpXCI+XG4gICAgICA8bGkgKm5nSWY9XCJpdGVtXCI+XG5cbiAgICAgICAgPCEtLSBBY3RpdmUgKyByb3V0ZXJsaW5rIC0tPlxuICAgICAgICA8YSAqbmdJZj1cIml0ZW0uYWN0aXZlICYmIChpdGVtLnJvdXRlckxpbmsgfHwgIWl0ZW0uaHJlZilcIiBbaWRdPVwiZ2V0SXRlbUlkKGl0ZW0sIGkpXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCIgW2ZyYWdtZW50XT1cIml0ZW0uZnJhZ21lbnRcIlxuICAgICAgICAgICBjbGFzcz1cIm1heC13LTQwIGxnOm1heC13LXhzIHB4LTMgcHktNCBmb250LWJvbGQgdGV4dC1zbSB0ZXh0LWJsYWNrIGhvdmVyOnVuZGVybGluZSB0cnVuY2F0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctaW5zZXQgZm9jdXM6cmluZy1ibGFjayBmb2N1czpiZy13YXJuaW5nLWJhc2VcIiBcbiAgICAgICAgICAgYXJpYS1jdXJyZW50PVwicGFnZVwiXG4gICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIj5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZm9udC1ib2xkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDwhLS0gQWN0aXZlICsgaHJlZiAtLT5cbiAgICAgICAgPGEgKm5nSWY9XCJpdGVtLmFjdGl2ZSAmJiAhaXRlbS5yb3V0ZXJMaW5rICYmIGl0ZW0uaHJlZlwiIFtpZF09XCJnZXRJdGVtSWQoaXRlbSwgaSlcIiBbaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAgICBjbGFzcz1cIm1heC13LTQwIGxnOm1heC13LXhzIHB4LTMgcHktNCBmb250LWJvbGQgdGV4dC1zbSB0ZXh0LWJsYWNrIGhvdmVyOnVuZGVybGluZSB0cnVuY2F0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctaW5zZXQgZm9jdXM6cmluZy1ibGFjayBmb2N1czpiZy13YXJuaW5nLWJhc2VcIiBcbiAgICAgICAgICAgYXJpYS1jdXJyZW50PVwicGFnZVwiXG4gICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIj5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZm9udC1ib2xkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDwhLS0gTm90IGFjdGl2ZSArIHJvdXRlcmxpbmsgLS0+XG4gICAgICAgIDxhICpuZ0lmPVwiIWl0ZW0uYWN0aXZlICYmIChpdGVtLnJvdXRlckxpbmsgfHwgIWl0ZW0uaHJlZilcIiBbaWRdPVwiZ2V0SXRlbUlkKGl0ZW0sIGkpXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCIgW2ZyYWdtZW50XT1cIml0ZW0uZnJhZ21lbnRcIlxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J29wYWNpdHktNTAgcG9pbnRlci1ldmVudHMtbm9uZSc6IGl0ZW0uZGlzYWJsZWR9XCJcbiAgICAgICAgICAgY2xhc3M9XCJtYXgtdy00MCBsZzptYXgtdy14cyBweC0zIHB5LTQgdGV4dC1zbSB0ZXh0LWJsYWNrIGhvdmVyOnVuZGVybGluZSB0cnVuY2F0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctaW5zZXQgZm9jdXM6cmluZy1ibGFjayBmb2N1czpiZy13YXJuaW5nLWJhc2VcIlxuICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID8gaXRlbS5kaXNhYmxlZCA6IG51bGxcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyBpdGVtLmRpc2FibGVkIDogbnVsbFwiIFthdHRyLnRhYmluZGV4XT1cIml0ZW0uZGlzYWJsZWQgPyAtMSA6IG51bGxcIlxuICAgICAgICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cblxuICAgICAgICA8IS0tIE5vdCBhY3RpdmUgKyBocmVmIC0tPlxuICAgICAgICA8YSAqbmdJZj1cIiFpdGVtLmFjdGl2ZSAmJiAhaXRlbS5yb3V0ZXJMaW5rICYmIGl0ZW0uaHJlZlwiIFtpZF09XCJnZXRJdGVtSWQoaXRlbSwgaSlcIiBbaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J29wYWNpdHktNTAgcG9pbnRlci1ldmVudHMtbm9uZSc6IGl0ZW0uZGlzYWJsZWR9XCJcbiAgICAgICAgICAgY2xhc3M9XCJtYXgtdy00MCBsZzptYXgtdy14cyBweC0zIHB5LTQgdGV4dC1zbSB0ZXh0LWJsYWNrIGhvdmVyOnVuZGVybGluZSB0cnVuY2F0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctaW5zZXQgZm9jdXM6cmluZy1ibGFjayBmb2N1czpiZy13YXJuaW5nLWJhc2VcIlxuICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID8gaXRlbS5kaXNhYmxlZCA6IG51bGxcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyBpdGVtLmRpc2FibGVkIDogbnVsbFwiIFthdHRyLnRhYmluZGV4XT1cIml0ZW0uZGlzYWJsZWQgPyAtMSA6IG51bGxcIlxuICAgICAgICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdWw+XG48L25hdj5cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW5hdmlnYXRpb24vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW5hdmlnYXRpb24vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7Ozs7O0FBTTFHLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBc0I7SUFRbkUsa0JBQWtCO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQThCLEVBQUUsS0FBYTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBSSxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzVHLENBQUM7K0dBbkJVLHlCQUF5QjttR0FBekIseUJBQXlCLG9NQU1uQiw2QkFBNkIsb0RDZmhELDB5SkF3RUE7OzRGRC9EYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0UseURBQXlEOzhCQUsxRCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRTBDLGNBQWM7c0JBQTdELGVBQWU7dUJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGEgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2hlYWRlci1uYXZpZ2F0aW9uLWl0ZW0tZGF0YSc7XG5pbXBvcnQgeyBIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLW5hdmlnYXRpb24taXRlbS9oZWFkZXItbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLW5hdmlnYXRpb24sIGRlc3ktaGVhZGVyLWFkdmFuY2VkLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlck5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBpdGVtczogSGVhZGVyTmF2aWdhdGlvbkl0ZW1EYXRhW107XG5cbiAgQENvbnRlbnRDaGlsZHJlbihIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudD47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICB9XG5cbiAgZ2V0SXRlbUlkKGl0ZW06IEhlYWRlck5hdmlnYXRpb25JdGVtRGF0YSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiAnaGVhZGVyLW5hdi1pdGVtJztcbiAgICByZXR1cm4gaXRlbS5pZCA/IGl0ZW0uaWQgOiBwcmVmaXggKyAgJy0nICsgKytpbmRleDtcbiAgfVxuXG4gIGdldEl0ZW1zKCk6IEhlYWRlck5hdmlnYXRpb25JdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtQ29tcG9uZW50cyAmJiB0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb25lbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG4gIH1cbn1cbiIsIjxuYXYgW2NsYXNzXT1cImNsYXNzZXMgPyBjbGFzc2VzIDogJ2hpZGRlbiBsZzpibG9jaydcIlxuICAgICBbaWRdPVwiaWRQcmVmaXhcIlxuICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzID8gYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiYXJpYUV4cGFuZGVkID8gYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gIDx1bCBjbGFzcz1cIm1sLXNtIGZsZXggZmxleC13cmFwIGl0ZW1zLWJhc2VsaW5lXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpOyBpbmRleCBhcyBpXCI+XG4gICAgICA8bGkgKm5nSWY9XCJpdGVtXCJcbiAgICAgIFthdHRyLnJvbGVdPVwiaXRlbS5yb2xlID8gaXRlbS5yb2xlIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsID8gaXRlbS5hcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnkgPyBpdGVtLmFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnkgPyBpdGVtLmFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW4gPyBpdGVtLmFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWQgPyBpdGVtLmFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpdGVtLmFyaWFDb250cm9scyA/IGl0ZW0uYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hcmlhQ3VycmVudCA/IGl0ZW0uYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlID8gaXRlbS5hcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZCA/IGl0ZW0uYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2UgPyBpdGVtLmFyaWFFcnJvck1lc3NhZ2U6ICBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXAgPyBpdGVtLmFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleCA/IGl0ZW0udGFiaW5kZXggOiBudWxsXCI+XG4gICAgICAgIDwhLS0gQWN0aXZlICsgcm91dGVybGluayAtLT5cbiAgICAgICAgPGEgKm5nSWY9XCJpdGVtLmFjdGl2ZSAmJiAoaXRlbS5yb3V0ZXJMaW5rIHx8ICFpdGVtLmhyZWYpXCIgW2lkXT1cImdldEl0ZW1JZChpdGVtLCBpKVwiIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgY2xhc3M9XCJtYXgtdy00MCBsZzptYXgtdy14cyBweC0zIHB5LTQgdGV4dC1zbSB0ZXh0LWJsYWNrIGhvdmVyOnVuZGVybGluZSB0cnVuY2F0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctaW5zZXQgZm9jdXM6cmluZy1ibGFjayBmb2N1czpiZy13YXJuaW5nLWJhc2VcIiBcbiAgICAgICAgICAgYXJpYS1jdXJyZW50PVwicGFnZVwiXG4gICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIj5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZm9udC1ib2xkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDwhLS0gQWN0aXZlICsgaHJlZiAtLT5cbiAgICAgICAgPGEgKm5nSWY9XCJpdGVtLmFjdGl2ZSAmJiAhaXRlbS5yb3V0ZXJMaW5rICYmIGl0ZW0uaHJlZlwiIFtpZF09XCJnZXRJdGVtSWQoaXRlbSwgaSlcIiBbaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAgICBjbGFzcz1cIm1heC13LTQwIGxnOm1heC13LXhzIHB4LTMgcHktNCB0ZXh0LXNtIHRleHQtYmxhY2sgaG92ZXI6dW5kZXJsaW5lIHRydW5jYXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy1pbnNldCBmb2N1czpyaW5nLWJsYWNrIGZvY3VzOmJnLXdhcm5pbmctYmFzZVwiIFxuICAgICAgICAgICBhcmlhLWN1cnJlbnQ9XCJwYWdlXCJcbiAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldFwiPlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJmb250LWJvbGRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICA8L2E+XG5cbiAgICAgICAgPCEtLSBOb3QgYWN0aXZlICsgcm91dGVybGluayAtLT5cbiAgICAgICAgPGEgKm5nSWY9XCIhaXRlbS5hY3RpdmUgJiYgKGl0ZW0ucm91dGVyTGluayB8fCAhaXRlbS5ocmVmKVwiIFtpZF09XCJnZXRJdGVtSWQoaXRlbSwgaSlcIiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIiBbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS01MCBwb2ludGVyLWV2ZW50cy1ub25lJzogaXRlbS5kaXNhYmxlZH1cIlxuICAgICAgICAgICBjbGFzcz1cIm1heC13LTQwIGxnOm1heC13LXhzIHB4LTMgcHktNCB0ZXh0LXNtIHRleHQtYmxhY2sgaG92ZXI6dW5kZXJsaW5lIHRydW5jYXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy1pbnNldCBmb2N1czpyaW5nLWJsYWNrIGZvY3VzOmJnLXdhcm5pbmctYmFzZVwiXG4gICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyBpdGVtLmRpc2FibGVkIDogbnVsbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCA/IGl0ZW0uZGlzYWJsZWQgOiBudWxsXCIgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS5kaXNhYmxlZCA/IC0xIDogbnVsbFwiXG4gICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDwhLS0gTm90IGFjdGl2ZSArIGhyZWYgLS0+XG4gICAgICAgIDxhICpuZ0lmPVwiIWl0ZW0uYWN0aXZlICYmICFpdGVtLnJvdXRlckxpbmsgJiYgaXRlbS5ocmVmXCIgW2lkXT1cImdldEl0ZW1JZChpdGVtLCBpKVwiIFtocmVmXT1cIml0ZW0uaHJlZlwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS01MCBwb2ludGVyLWV2ZW50cy1ub25lJzogaXRlbS5kaXNhYmxlZH1cIlxuICAgICAgICAgICBjbGFzcz1cIm1heC13LTQwIGxnOm1heC13LXhzIHB4LTMgcHktNCB0ZXh0LXNtIHRleHQtYmxhY2sgaG92ZXI6dW5kZXJsaW5lIHRydW5jYXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy1pbnNldCBmb2N1czpyaW5nLWJsYWNrIGZvY3VzOmJnLXdhcm5pbmctYmFzZVwiXG4gICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyBpdGVtLmRpc2FibGVkIDogbnVsbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCA/IGl0ZW0uZGlzYWJsZWQgOiBudWxsXCIgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS5kaXNhYmxlZCA/IC0xIDogbnVsbFwiXG4gICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbjwvbmF2PlxuIl19