@flower-city-online/itinerary-lib 0.0.52 → 0.0.54

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 (69) hide show
  1. package/esm2022/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.mjs +5 -4
  2. package/esm2022/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.mjs +6 -5
  3. package/esm2022/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.mjs +6 -5
  4. package/esm2022/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.mjs +5 -4
  5. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.mjs +4 -5
  6. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.mjs +5 -4
  7. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.mjs +7 -6
  8. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.mjs +7 -6
  9. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.mjs +3 -3
  10. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.mjs +8 -7
  11. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.mjs +7 -6
  12. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.mjs +6 -5
  13. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.mjs +4 -3
  14. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.mjs +7 -6
  15. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.mjs +6 -5
  16. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.mjs +5 -4
  17. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.mjs +7 -6
  18. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.mjs +6 -5
  19. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.mjs +5 -4
  20. package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.mjs +5 -4
  21. package/esm2022/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.mjs +8 -7
  22. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.mjs +4 -3
  23. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.mjs +4 -3
  24. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.mjs +5 -4
  25. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.mjs +5 -4
  26. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.mjs +5 -4
  27. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.mjs +4 -3
  28. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.mjs +5 -4
  29. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.mjs +4 -3
  30. package/esm2022/lib/itinerary-app/modules/search/pages/main-search/main-search.component.mjs +4 -4
  31. package/esm2022/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.mjs +65 -0
  32. package/esm2022/lib/itinerary-app/shared/card-component/card-component.component.mjs +5 -4
  33. package/esm2022/lib/itinerary-app/shared/comment/comment.component.mjs +5 -4
  34. package/esm2022/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.mjs +4 -4
  35. package/esm2022/lib/itinerary-app/shared/cutom-card/cutom-card.component.mjs +6 -5
  36. package/esm2022/lib/itinerary-app/shared/footer/footer.component.mjs +6 -6
  37. package/esm2022/lib/itinerary-app/shared/header/header.component.mjs +2 -2
  38. package/esm2022/lib/itinerary-app/shared/icon-button/icon-button.component.mjs +37 -10
  39. package/esm2022/lib/itinerary-app/shared/input-field-select/input-field-select.component.mjs +109 -0
  40. package/esm2022/lib/itinerary-app/shared/notification-tile/notification-tile.component.mjs +4 -4
  41. package/esm2022/lib/itinerary-app/shared/popup-modal/popup-modal.component.mjs +85 -0
  42. package/esm2022/lib/itinerary-app/shared/search-bar/search-bar.component.mjs +30 -0
  43. package/esm2022/lib/itinerary-app/shared/search-popup/search-popup.component.mjs +4 -4
  44. package/esm2022/lib/itinerary-app/shared/shared.module.mjs +29 -6
  45. package/fesm2022/flower-city-online-itinerary-lib.mjs +459 -141
  46. package/fesm2022/flower-city-online-itinerary-lib.mjs.map +1 -1
  47. package/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.d.ts +20 -0
  48. package/lib/itinerary-app/shared/icon-button/icon-button.component.d.ts +13 -4
  49. package/lib/itinerary-app/shared/input-field-select/input-field-select.component.d.ts +35 -0
  50. package/lib/itinerary-app/shared/popup-modal/popup-modal.component.d.ts +30 -0
  51. package/lib/itinerary-app/shared/search-bar/search-bar.component.d.ts +12 -0
  52. package/lib/itinerary-app/shared/shared.module.d.ts +11 -7
  53. package/package.json +1 -1
  54. package/src/lib/itinerary-app/_styles/modal.scss +2 -2
  55. package/src/lib/itinerary-app/_styles/styles.scss +327 -327
  56. package/src/lib/itinerary-app/styles.scss +237 -289
  57. package/styles.css +1 -1
  58. package/src/lib/itinerary-app/_styles/component-global-styles/bottom-navigation.scss +0 -19
  59. package/src/lib/itinerary-app/_styles/component-global-styles/create-itinerary.scss +0 -16
  60. package/src/lib/itinerary-app/_styles/component-global-styles/custom-button.scss +0 -32
  61. package/src/lib/itinerary-app/_styles/component-global-styles/custom-menu.scss +0 -38
  62. package/src/lib/itinerary-app/_styles/component-global-styles/dashboard.scss +0 -5
  63. package/src/lib/itinerary-app/_styles/component-global-styles/delete-itineraries.scss +0 -7
  64. package/src/lib/itinerary-app/_styles/component-global-styles/filter-menu.scss +0 -36
  65. package/src/lib/itinerary-app/_styles/component-global-styles/header.scss +0 -22
  66. package/src/lib/itinerary-app/_styles/component-global-styles/navbar.scss +0 -47
  67. package/src/lib/itinerary-app/_styles/component-global-styles/search-bar.scss +0 -17
  68. package/src/lib/itinerary-app/_styles/component-global-styles/side-bar.scss +0 -28
  69. package/src/lib/itinerary-app/_styles/component-global-styles/tab-bar.scss +0 -21
@@ -6,9 +6,10 @@ import * as i1 from "@angular/common";
6
6
  import * as i2 from "@angular/router";
7
7
  import * as i3 from "../../../../../../_services/itinerary.service";
8
8
  import * as i4 from "../../../../../../_services/itinerary.drawmode.transfer";
9
- import * as i5 from "@naniteninja/ionic-lib";
10
- import * as i6 from "../create-itinerary-header/create-itinerary-header.component";
11
- import * as i7 from "@ngx-translate/core";
9
+ import * as i5 from "../../../../../../shared/bottom-modal/bottom-modal.component";
10
+ import * as i6 from "@naniteninja/ionic-lib";
11
+ import * as i7 from "../create-itinerary-header/create-itinerary-header.component";
12
+ import * as i8 from "@ngx-translate/core";
12
13
  const defaultIcon = 'assets/icons/map-markers-yellow.svg';
13
14
  const selectedIcon = 'assets/icons/restu-icon-large.svg';
14
15
  export class CreateItineraryDrawPreviewComponent {
@@ -231,13 +232,13 @@ export class CreateItineraryDrawPreviewComponent {
231
232
  });
232
233
  }
233
234
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryDrawPreviewComponent, deps: [{ token: i1.Location }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.ItineraryService }, { token: i4.ItineraryDrawModeTransferService }], target: i0.ɵɵFactoryTarget.Component });
234
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryDrawPreviewComponent, selector: "lib-create-itinerary-draw-preview", viewQueries: [{ propertyName: "libMap", first: true, predicate: ["libMap"], descendants: true }], ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--lib-popup-modal-radius: 16px;--border-radius: var(--lib-popup-modal-radius);--lib-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--lib-popup-modal-color: #a8a8a8;--color: var(--lib-popup-modal-color, #a8a8a8);--max-width: var(--lib-bottom-modal-max-width, 500px);--lib-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --lib-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.select-places-text,.select-places-description{font-size:var(--font-size-small)}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}\n"], dependencies: [{ kind: "component", type: i5.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "directive", type: i5.LazyImageDirective, selector: "img" }, { kind: "component", type: i5.FooterSharedComponent, selector: "lib-footer-shared", inputs: ["loading$", "canContinue", "continueButtonText", "secondaryButtonText", "showBackButton", "continueButtonParameter$"], outputs: ["secondaryButtonClick", "continueButtonClick"] }, { kind: "component", type: i5.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i6.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryDrawPreviewComponent, selector: "lib-create-itinerary-draw-preview", viewQueries: [{ propertyName: "libMap", first: true, predicate: ["libMap"], descendants: true }], ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<app-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</app-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--app-popup-modal-radius: 16px;--border-radius: var(--app-popup-modal-radius);--app-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--app-popup-modal-color: #a8a8a8;--color: var(--app-popup-modal-color, #a8a8a8);--max-width: var(--app-bottom-modal-max-width, 500px);--app-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --app-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.select-places-text,.select-places-description{font-size:var(--font-size-small)}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}\n"], dependencies: [{ kind: "component", type: i5.BottomModalComponent, selector: "app-bottom-modal", inputs: ["isOpen", "submitButtonTitle", "showArrow", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "submitModal"] }, { kind: "directive", type: i6.LazyImageDirective, selector: "img" }, { kind: "component", type: i6.FooterSharedComponent, selector: "lib-footer-shared", inputs: ["loading$", "canContinue", "continueButtonText", "secondaryButtonText", "showBackButton", "continueButtonParameter$"], outputs: ["secondaryButtonClick", "continueButtonClick"] }, { kind: "component", type: i6.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i7.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
235
236
  }
236
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryDrawPreviewComponent, decorators: [{
237
238
  type: Component,
238
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'lib-create-itinerary-draw-preview', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--lib-popup-modal-radius: 16px;--border-radius: var(--lib-popup-modal-radius);--lib-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--lib-popup-modal-color: #a8a8a8;--color: var(--lib-popup-modal-color, #a8a8a8);--max-width: var(--lib-bottom-modal-max-width, 500px);--lib-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --lib-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.select-places-text,.select-places-description{font-size:var(--font-size-small)}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}\n"] }]
239
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'lib-create-itinerary-draw-preview', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<app-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</app-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--app-popup-modal-radius: 16px;--border-radius: var(--app-popup-modal-radius);--app-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--app-popup-modal-color: #a8a8a8;--color: var(--app-popup-modal-color, #a8a8a8);--max-width: var(--app-bottom-modal-max-width, 500px);--app-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --app-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.select-places-text,.select-places-description{font-size:var(--font-size-small)}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}\n"] }]
239
240
  }], ctorParameters: () => [{ type: i1.Location }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.ItineraryService }, { type: i4.ItineraryDrawModeTransferService }], propDecorators: { libMap: [{
240
241
  type: ViewChild,
241
242
  args: ['libMap']
242
243
  }] } });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1kcmF3LXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9wYWdlcy9idWlsZGVyL3BhZ2VzL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1wcmV2aWV3L2NyZWF0ZS1pdGluZXJhcnktZHJhdy1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctcHJldmlldy9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFxQixTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUsvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7O0FBR3RGLE1BQU0sV0FBVyxHQUFHLHFDQUFxQyxDQUFDO0FBQzFELE1BQU0sWUFBWSxHQUFHLG1DQUFtQyxDQUFDO0FBU3pELE1BQU0sT0FBTyxtQ0FBbUM7SUFzQnBDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDRDtJQTFCVCxLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLE9BQU8sR0FBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FB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Q3JCLFFBQVEsRUFBRSxNQUFNO29CQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBVTtvQkFDL0IsSUFBSSxFQUFFO3dCQUNKLEdBQUcsRUFBRSxtQ0FBbUM7d0JBQ3hDLFVBQVUsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7cUJBQ3pDO29CQUNELEtBQUssRUFBRSxhQUFhO2lCQUNyQixDQUFDLENBQUM7Z0JBRUgsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFDckIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFVO29CQUMvQixJQUFJLEVBQUU7d0JBQ0osR0FBRyxFQUFFLDhCQUE4Qjt3QkFDbkMsVUFBVSxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztxQkFDekM7b0JBQ0QsS0FBSyxFQUFFLFdBQVc7aUJBQ25CLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO3dHQTdQVSxtQ0FBbUM7NEZBQW5DLG1DQUFtQywyS0NwQmhELDZnTkEyTEE7OzRGRHZLYSxtQ0FBbUM7a0JBUC9DLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxtQ0FBbUMsY0FHakMsS0FBSzs2T0FRRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBJdGluZXJhcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fbW9kZWxzL0l0aW5lcmFyeSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJdGluZXJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2l0aW5lcmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2VudW1zL0l0ZW5hcmllc1JvdXRlcy5lbnVtJztcclxuaW1wb3J0IHsgTGliTWFwc0NvbXBvbmVudCB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBJdGluZXJhcnlEcmF3TW9kZVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuZHJhd21vZGUudHJhbnNmZXInO1xyXG5jb25zdCBkZWZhdWx0SWNvbiA9ICdhc3NldHMvaWNvbnMvbWFwLW1hcmtlcnMteWVsbG93LnN2Zyc7XHJcbmNvbnN0IHNlbGVjdGVkSWNvbiA9ICdhc3NldHMvaWNvbnMvcmVzdHUtaWNvbi1sYXJnZS5zdmcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHNlbGVjdG9yOiAnbGliLWNyZWF0ZS1pdGluZXJhcnktZHJhdy1wcmV2aWV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctcHJldmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1kcmF3LXByZXZpZXcuY29tcG9uZW50LmNzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlSXRpbmVyYXJ5RHJhd1ByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIGFjdGlvbnM6IHN0cmluZ1tdID0gW0lDT05TWydsb2NhdGlvbiddLCBJQ09OU1sncGVuY2lsJ10sIElDT05TWydiYW4nXV07XHJcbiAgc2VsZWN0ZWQ6IHN0cmluZyA9IHRoaXMuYWN0aW9uc1sxXTtcclxuICBpc09wZW46IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGl0aW5lcmFyeSE6IEl0aW5lcmFyeSB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCdsaWJNYXAnKSBsaWJNYXAhOiBMaWJNYXBzQ29tcG9uZW50O1xyXG4gIG1hcERyYXduOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHBvbHlnb24hOiBnb29nbGUubWFwcy5Qb2x5Z29uOy8vVGhlIHBvbHlnb24gcmVuZGVyZWQgb24gbWFwXHJcbiAgaW5pdGlhbExvY2F0aW9uID0geyBsYXQ6IDI0Ljg2MDcsIGxuZzogNjcuMDAxMSB9Oy8vTG9jYXRpb24gb2YgdGhlIHVzZXJcclxuICBwbG90dGVkTWFya2VyczogZ29vZ2xlLm1hcHMuTWFya2VyW10gPSBbXTsvL1Bsb3R0ZWQgbWFya2VycyBvbiB0aGUgbWFwXHJcbiAgc2VsZWN0ZWRNYXJrZXJzOiBnb29nbGUubWFwcy5NYXJrZXJbXSA9IFtdOy8vU2VsZWN0ZWQgbWFya2VycyBvbiB0aGUgbWFwXHJcbiAgcGxhY2VzUmVzdWx0ITogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0W107Ly9QbGFjZXMgcmVzdWx0IHJlcXVpcmVkIGZvciBwcmV2aWV3XHJcbiAgcGxhY2VNYXJrZXJzIToge1xyXG4gICAgbWFya2VyOiBnb29nbGUubWFwcy5NYXJrZXIsXHJcbiAgICBwbGFjZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0XHJcbiAgfVtdXHJcbiAgYWxsTWFya2VyczogZ29vZ2xlLm1hcHMuTWFya2VyW10gPSBbXTtcclxuXHJcbiAgLy9MSUZFIENZQ0xFU1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGl0aW5lcmFyeVNlcnZpY2U6IEl0aW5lcmFyeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNmZXJTZXJ2aWNlOiBJdGluZXJhcnlEcmF3TW9kZVRyYW5zZmVyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIHRoaXMuaXRpbmVyYXJ5ID0gdGhpcy5pdGluZXJhcnlTZXJ2aWNlLmdldEJ5SWQoaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGRyYXdQb2x5Z29uKCkge1xyXG4gICAgdGhpcy5wb2x5Z29uID0gbmV3IGdvb2dsZS5tYXBzLlBvbHlnb24oe1xyXG4gICAgICBwYXRoczogdGhpcy50cmFuc2ZlclNlcnZpY2UucG9seWdvbkNvb3JkcyxcclxuICAgICAgc3Ryb2tlQ29sb3I6ICcjRTE3NTc1JyxcclxuICAgICAgc3Ryb2tlT3BhY2l0eTogMCxcclxuICAgICAgc3Ryb2tlV2VpZ2h0OiAwLFxyXG4gICAgICBmaWxsQ29sb3I6ICcjRTE3NTc1JyxcclxuICAgICAgZmlsbE9wYWNpdHk6IDAuMyxcclxuICAgICAgY2xpY2thYmxlOiB0cnVlLFxyXG4gICAgICBlZGl0YWJsZTogdHJ1ZSxcclxuICAgICAgekluZGV4OiAxLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5wb2x5Z29uLnNldE1hcCh0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwISk7IC8vIEFkZCB0byBtYXBcclxuICB9XHJcblxyXG5cclxuICBhZGRNYXJrZXJzVG9NYXAobWFwOiBnb29nbGUubWFwcy5NYXApIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkUGxhY2VJZHMgPSBuZXcgU2V0KHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNlbGVjdGVkUGxhY2VzLm1hcChwID0+IHAucGxhY2VfaWQpKTtcclxuXHJcbiAgICAvLyBDbGVhciBleGlzdGluZyBtYXJrZXJzXHJcbiAgICB0aGlzLmFsbE1hcmtlcnMuZm9yRWFjaChtYXJrZXIgPT4gbWFya2VyLnNldE1hcChudWxsKSk7XHJcbiAgICB0aGlzLmFsbE1hcmtlcnMgPSBbXTtcclxuXHJcbiAgICAvLyBQbG90IHNlbGVjdGVkIHBsYWNlcyBpbiBSRURcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNlbGVjdGVkUGxhY2VzLmZvckVhY2gocGxhY2UgPT4ge1xyXG4gICAgICBpZiAocGxhY2UuZ2VvbWV0cnk/LmxvY2F0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgbWFya2VyID0gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgICBtYXAsXHJcbiAgICAgICAgICBwb3NpdGlvbjogcGxhY2UuZ2VvbWV0cnkubG9jYXRpb24sXHJcbiAgICAgICAgICB0aXRsZTogcGxhY2UubmFtZSxcclxuICAgICAgICAgIGljb246IHtcclxuICAgICAgICAgICAgdXJsOiBzZWxlY3RlZEljb25cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2Vycy5wdXNoKG1hcmtlcik7XHJcbiAgICAgICAgdGhpcy5hbGxNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gUGxvdCBub24tc2VsZWN0ZWQgcGxhY2VzIChhdm9pZCBkdXBsaWNhdGVzKSBpbiBERUZBVUxUXHJcbiAgICB0aGlzLnRyYW5zZmVyU2VydmljZS5wbGFjZXMuZm9yRWFjaChwbGFjZSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBwbGFjZS5nZW9tZXRyeT8ubG9jYXRpb24gJiZcclxuICAgICAgICAhc2VsZWN0ZWRQbGFjZUlkcy5oYXMocGxhY2UucGxhY2VfaWQpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICAgICAgbWFwLFxyXG4gICAgICAgICAgcG9zaXRpb246IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLFxyXG4gICAgICAgICAgdGl0bGU6IHBsYWNlLm5hbWUsXHJcbiAgICAgICAgICBpY29uOiB7XHJcbiAgICAgICAgICAgIHVybDogZGVmYXVsdEljb25cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFsbE1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vVUkgTE9HSUNcclxuICB1cGRhdGVBY3Rpb24oYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBhY3Rpb247XHJcbiAgfVxyXG5cclxuICBzaG93Qm90dG9tTW9kYWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBhZGRDdXN0b21NYXJrZXIocGxhY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdCkge1xyXG4gICAgY29uc3QgbWFya2VyID0gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCxcclxuICAgICAgcG9zaXRpb246IHBsYWNlLmdlb21ldHJ5Py5sb2NhdGlvbixcclxuICAgICAgdGl0bGU6IHBsYWNlLm5hbWUsXHJcbiAgICAgIGljb246IHtcclxuICAgICAgICB1cmw6ICdhc3NldHMvaWNvbnMvbWFwLW1hcmtlcnMteWVsbG93LnN2ZycsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMucGxvdHRlZE1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgdGhpcy5wbGFjZU1hcmtlcnMucHVzaCh7XHJcbiAgICAgIHBsYWNlOiBwbGFjZSxcclxuICAgICAgbWFya2VyOiBtYXJrZXJcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwPy5zZXRDZW50ZXIodGhpcy50cmFuc2ZlclNlcnZpY2UubG9jYXRpb24pO1xyXG4gICAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwPy5zZXRab29tKDE1KTtcclxuXHJcbiAgICAgIC8vQWRkIG1hcmtlciBmb3IgdXNlciBwb3NpdGlvblxyXG4gICAgICBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAsXHJcbiAgICAgICAgcG9zaXRpb246IHRoaXMudHJhbnNmZXJTZXJ2aWNlLmxvY2F0aW9uLFxyXG4gICAgICAgIHRpdGxlOiAnWW91IGFyZSBoZXJlJyxcclxuICAgICAgICBpY29uOiB7XHJcbiAgICAgICAgICB1cmw6ICdhc3NldHMvY3VycmVudF9sb2NhdGlvbi5zdmcnLFxyXG4gICAgICAgICAgc2NhbGVkU2l6ZTogbmV3IGdvb2dsZS5tYXBzLlNpemUoNDAsIDQwKSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hZGRNYXJrZXJzVG9NYXAodGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEpO1xyXG4gICAgICB0aGlzLmRyYXdQb2x5Z29uKCk7XHJcbiAgICAgIHRoaXMub3B0aW1pemVBbmRSZW5kZXIoKTtcclxuICB9XHJcblxyXG4gIC8vTkFWSUdBVElPTlNcclxuICBiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG5cclxuICBuYXZUb1BpY2tTdGFydExvY2F0aW9uKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXHJcbiAgICAgIFtcclxuICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5MT0NBVElPTl9QSUNLRVIsXHJcbiAgICAgICAgdGhpcy5pdGluZXJhcnk/LmlkLFxyXG4gICAgICBdLFxyXG4gICAgICB7IHF1ZXJ5UGFyYW1zOiB7IG1vZGU6ICdzdGFydCcgfSB9LFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldENsb3Nlc3RQb2ludE9uUG9seWdvbihwb2x5Z29uOiBnb29nbGUubWFwcy5Qb2x5Z29uLCBwb2ludDogZ29vZ2xlLm1hcHMuTGF0TG5nKTogZ29vZ2xlLm1hcHMuTGF0TG5nIHtcclxuICAgIGNvbnN0IHBhdGggPSBwb2x5Z29uLmdldFBhdGgoKTtcclxuICAgIGxldCBjbG9zZXN0UG9pbnQgPSBudWxsO1xyXG4gICAgbGV0IG1pbkRpc3RhbmNlID0gSW5maW5pdHk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRoLmdldExlbmd0aCgpOyBpKyspIHtcclxuICAgICAgY29uc3Qgc3RhcnQgPSBwYXRoLmdldEF0KGkpO1xyXG4gICAgICBjb25zdCBlbmQgPSBwYXRoLmdldEF0KChpICsgMSkgJSBwYXRoLmdldExlbmd0aCgpKTtcclxuXHJcbiAgICAgIC8vIEludGVycG9sYXRlIHBvaW50cyBhbG9uZyB0aGUgc2VnbWVudFxyXG4gICAgICBmb3IgKGxldCB0ID0gMDsgdCA8PSAxOyB0ICs9IDAuMDUpIHtcclxuICAgICAgICBjb25zdCBpbnRlcnAgPSBnb29nbGUubWFwcy5nZW9tZXRyeS5zcGhlcmljYWwuaW50ZXJwb2xhdGUoc3RhcnQsIGVuZCwgdCk7XHJcbiAgICAgICAgY29uc3QgZGlzdCA9IGdvb2dsZS5tYXBzLmdlb21ldHJ5LnNwaGVyaWNhbC5jb21wdXRlRGlzdGFuY2VCZXR3ZWVuKHBvaW50LCBpbnRlcnApO1xyXG4gICAgICAgIGlmIChkaXN0IDwgbWluRGlzdGFuY2UpIHtcclxuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdDtcclxuICAgICAgICAgIGNsb3Nlc3RQb2ludCA9IGludGVycDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2xvc2VzdFBvaW50ITtcclxuICB9XHJcblxyXG4gIGNvbnRpbnVlKCkge1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBvcHRpbWl6ZUFuZFJlbmRlcigpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgY29uc3QgcG9zQSA9IGEuZ2V0UG9zaXRpb24oKTtcclxuICAgICAgY29uc3QgcG9zQiA9IGIuZ2V0UG9zaXRpb24oKTtcclxuICAgICAgaWYgKCFwb3NBKSByZXR1cm4gMTtcclxuICAgICAgaWYgKCFwb3NCKSByZXR1cm4gLTE7XHJcbiAgICAgIHJldHVybiBwb3NBLmxhdCgpIC0gcG9zQi5sYXQoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG1hcmtlclBvc2l0aW9ucyA9IHRoaXMuc2VsZWN0ZWRNYXJrZXJzXHJcbiAgICAgIC5tYXAobSA9PiBtLmdldFBvc2l0aW9uKCkpXHJcbiAgICAgIC5maWx0ZXIoKHApOiBwIGlzIGdvb2dsZS5tYXBzLkxhdExuZyA9PiAhIXApO1xyXG5cclxuICAgIGlmIChtYXJrZXJQb3NpdGlvbnMubGVuZ3RoIDwgMiB8fCAhdGhpcy5wb2x5Z29uKSByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgb3JpZ2luID0gdGhpcy5nZXRDbG9zZXN0UG9pbnRPblBvbHlnb24odGhpcy5wb2x5Z29uLCBtYXJrZXJQb3NpdGlvbnNbbWFya2VyUG9zaXRpb25zLmxlbmd0aCAtIDFdKTtcclxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gdGhpcy5nZXRDbG9zZXN0UG9pbnRPblBvbHlnb24odGhpcy5wb2x5Z29uLCBtYXJrZXJQb3NpdGlvbnNbMF0pO1xyXG5cclxuICAgIGNvbnN0IHdheXBvaW50czogZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1dheXBvaW50W10gPSBtYXJrZXJQb3NpdGlvbnMubWFwKHBvcyA9PiAoe1xyXG4gICAgICBsb2NhdGlvbjogcG9zLFxyXG4gICAgICBzdG9wb3ZlcjogdHJ1ZVxyXG4gICAgfSkpO1xyXG5cclxuICAgIGNvbnN0IGRpcmVjdGlvbnNTZXJ2aWNlID0gbmV3IGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlKCk7XHJcbiAgICBjb25zdCBkaXJlY3Rpb25zUmVuZGVyZXIgPSBuZXcgZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlbmRlcmVyKHtcclxuICAgICAgbWFwOiB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwISxcclxuICAgICAgc3VwcHJlc3NNYXJrZXJzOiB0cnVlLFxyXG4gICAgICBwb2x5bGluZU9wdGlvbnM6IHtcclxuICAgICAgICBzdHJva2VDb2xvcjogJyNGRkZGRkYnLFxyXG4gICAgICAgIHN0cm9rZU9wYWNpdHk6IDEuMCxcclxuICAgICAgICBzdHJva2VXZWlnaHQ6IDRcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlyZWN0aW9uc1NlcnZpY2Uucm91dGUoXHJcbiAgICAgIHtcclxuICAgICAgICBvcmlnaW4sXHJcbiAgICAgICAgZGVzdGluYXRpb24sXHJcbiAgICAgICAgd2F5cG9pbnRzLFxyXG4gICAgICAgIHRyYXZlbE1vZGU6IGdvb2dsZS5tYXBzLlRyYXZlbE1vZGUuRFJJVklORyxcclxuICAgICAgICBvcHRpbWl6ZVdheXBvaW50czogZmFsc2VcclxuICAgICAgfSxcclxuICAgICAgKHJlc3BvbnNlLCBzdGF0dXMpID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSBnb29nbGUubWFwcy5EaXJlY3Rpb25zU3RhdHVzLk9LICYmIHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBkaXJlY3Rpb25zUmVuZGVyZXIuc2V0RGlyZWN0aW9ucyhyZXNwb25zZSk7XHJcblxyXG4gICAgICAgICAgbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBvcmlnaW4sXHJcbiAgICAgICAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEsXHJcbiAgICAgICAgICAgIGljb246IHtcclxuICAgICAgICAgICAgICB1cmw6ICdhc3NldHMvaWNvbnMvc3RhcnQtbG9jLW1hcmtlci5zdmcnLFxyXG4gICAgICAgICAgICAgIHNjYWxlZFNpemU6IG5ldyBnb29nbGUubWFwcy5TaXplKDMwLCAzMCksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRpdGxlOiAnU3RhcnQgUG9pbnQnLFxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBkZXN0aW5hdGlvbixcclxuICAgICAgICAgICAgbWFwOiB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwISxcclxuICAgICAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgICAgIHVybDogJ2Fzc2V0cy9pY29ucy9lbi1sb2NhdGlvbi5zdmcnLFxyXG4gICAgICAgICAgICAgIHNjYWxlZFNpemU6IG5ldyBnb29nbGUubWFwcy5TaXplKDMwLCAzMCksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRpdGxlOiAnRW5kIFBvaW50JyxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlclxyXG4gIFtwcm9ncmVzc0JhclZhbHVlXT1cIjEwMFwiXHJcbiAgaGVhZGluZz1cIkNyZWF0ZSBJdGluZXJhcnlcIlxyXG4+PC9hcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXI+XHJcbjxsaWItbWFwICNsaWJNYXAgY2xhc3M9XCJtYXBzLTEwMHZoXCI+PC9saWItbWFwPlxyXG48bGliLWJvdHRvbS1tb2RhbFxyXG4gIFtzaG93QXJyb3ddPVwidHJ1ZVwiXHJcbiAgWyhpc09wZW4pXT1cImlzT3BlblwiXHJcbiAgW2FkYXB0VG9Db250ZW50SGVpZ2h0XT1cInRydWVcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cInBsLTQgcHItNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1sLWF1dG8gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLXgtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14c1wiPlxyXG4gICAgICAgIDxpbWdcclxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgW3NyY109XCJJQ09OU1snbG9jYXRpb25XaGl0ZSddXCJcclxuICAgICAgICBhbHQ9XCJsb2NhdGlvblwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8c3Bhbj57e3RyYW5zZmVyU2VydmljZS5zZWxlY3RlZFBsYWNlcz8ubGVuZ3RofX0ge3sgXCJJVElORVJBUllfU1VNTUFSWS5QTEFDRVNcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImgtNCBib3JkZXIgdy0wIGJvcmRlci1zZWNvbmRhcnlcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAteC0yIHRleHQteHNcIj5cclxuICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJJQ09OU1snY2xvY2snXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPHNwYW4+NDUge3sgXCJEQVRFX1RJTUUuTUlOVVRFU1wiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgZm9udC10aGluXCI+KDYuNiBLbSk8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWRhc2hlZCBvcGFjaXR5LTU1IHJvdGF0ZS05MCBhYnNvbHV0ZSAtbGVmdC02IHRvcC0zNlwiXHJcbiAgICA+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9udC1HaWxyb3kgbXQtNSBtYi0zIGZsZXggZmxleC1jb2wgZ2FwLXktNVwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIGdhcC14LTQgbWItMVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydCBnYXAteC02XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiei01MCBpY29uIHctOCBoLTggb3V0c2V0LXNoYWRvdyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcmVsYXRpdmVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyMlwiXHJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ3N0YXJ0TG9jYXRpb24nXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG90dGVkLWxpbmVcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ltYWdlcy9kb3R0ZWQtbGluZS5zdmdcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aDJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZi1zbSBmLXhzIGZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14cyBtYi0xXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFNoYW4tdWwtaGFxIGhhcWVlIHJvYWRcclxuICAgICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImYteHMgdGV4dC1zZWNvbmRhcnkgdGV4dC14cyBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICBTdGFydGluZyBsb2NhdGlvblxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0zXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1bMTVweF0gaC1bMTVweF0gY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1snZWRpdFBpbmsnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgZ2FwLXgtNCBtYi0xXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IGdhcC14LTZcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ6LTUwIGljb24gdy04IGgtOCBvdXRzZXQtc2hhZG93IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCByZWxhdGl2ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjIyXCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1sncmVzdHUnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG90dGVkLWxpbmVcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ltYWdlcy9kb3R0ZWQtbGluZS5zdmdcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aDJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZi1zbSBmLXhzIGZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14cyBtYi0xXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEthYnVsIHRpa2thXHJcbiAgICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmLXhzIHRleHQtc2Vjb25kYXJ5IHRleHQteHMgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAgQWZnaGFuIGN1aXNpbmVcclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtM1wiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydoYW1idXJnZXInXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVsxNXB4XSBoLVsxNXB4XSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ2RlbGV0ZVBpbmsnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVsxNXB4XSBoLVsxNXB4XSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHctZnVsbCBnYXAteC00IG1iLTFcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgZ2FwLXgtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInotNTAgaWNvbiB3LTggaC04IG91dHNldC1zaGFkb3cgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjJcIlxyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydyZXN0dSddXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkb3R0ZWQtbGluZVwiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJhc3NldHMvaW1hZ2VzL2RvdHRlZC1saW5lLnN2Z1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5cclxuICAgICAgICAgICAgICAgIDxoMlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmLXNtIGYteHMgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtMSB0ZXh0LXhzIG1iLTFcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgUXVldHRhIFROVFxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZi14cyB0ZXh0LXNlY29uZGFyeSB0ZXh0LXhzIG1iLTFcIj5UZWEgQ29mZmVlPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0zXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ2hhbWJ1cmdlciddXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzE1cHhdIGgtWzE1cHhdIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1snZGVsZXRlUGluayddXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzE1cHhdIGgtWzE1cHhdIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgICAgIDxsaWItZm9vdGVyLXNoYXJlZFxyXG4gICAgICAgIChjb250aW51ZUJ1dHRvbkNsaWNrKT1cImNvbnRpbnVlKClcIlxyXG4gICAgICAgIFtjYW5Db250aW51ZV09XCJ0cnVlXCJcclxuICAgICAgICBbY29udGludWVCdXR0b25UZXh0XT1cIidJVElORVJBUlkuUFJFVklFVycgfCB0cmFuc2xhdGVcIlxyXG4gICAgPjwvbGliLWZvb3Rlci1zaGFyZWQ+XHJcbjwvbGliLWJvdHRvbS1tb2RhbD5cclxuPGRpdlxyXG4gIChjbGljayk9XCJzaG93Qm90dG9tTW9kYWwoKVwiXHJcbiAgY2xhc3M9XCJhYnNvbHV0ZSBib3R0b20tMCBjdXJzb3ItcG9pbnRlciB6LTEwXCJcclxuICBzdHlsZT1cImxlZnQ6IDUwJVwiXHJcbj5cclxuICA8aW1nXHJcbiAgICBzdHlsZT1cInRyYW5zZm9ybTogcm90YXRlKDI3MGRlZylcIlxyXG4gICAgW3NyY109XCJJQ09OU1sncmlnaHRBcnJvdyddXCJcclxuICAgIGFsdD1cImljb25cIlxyXG4gICAgaGVpZ2h0PVwiMTVcIlxyXG4gICAgd2lkdGg9XCIxNVwiXHJcbiAgLz5cclxuPC9kaXY+XHJcbiJdfQ==
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1kcmF3LXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9wYWdlcy9idWlsZGVyL3BhZ2VzL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1wcmV2aWV3L2NyZWF0ZS1pdGluZXJhcnktZHJhdy1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctcHJldmlldy9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFxQixTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUsvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7OztBQUd0RixNQUFNLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztBQUMxRCxNQUFNLFlBQVksR0FBRyxtQ0FBbUMsQ0FBQztBQVN6RCxNQUFNLE9BQU8sbUNBQW1DO0lBc0JwQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUExQlQsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUNyQixPQUFPLEdBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLFFBQVEsR0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDdkIsU0FBUyxDQUF5QjtJQUNiLE1BQU0sQ0FBb0I7SUFDL0MsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUUxQixPQUFPLENBQXVCLENBQUEsNkJBQTZCO0lBQzNELGVBQWUsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUEsc0JBQXNCO0lBQ3ZFLGNBQWMsR0FBeUIsRUFBRSxDQUFDLENBQUEsNEJBQTRCO0lBQ3RFLGVBQWUsR0FBeUIsRUFBRSxDQUFDLENBQUEsNkJBQTZCO0lBQ3hFLFlBQVksQ0FBb0MsQ0FBQSxvQ0FBb0M7SUFDcEYsWUFBWSxDQUdUO0lBQ0gsVUFBVSxHQUF5QixFQUFFLENBQUM7SUFFdEMsYUFBYTtJQUNiLFlBQ1UsUUFBa0IsRUFDbEIsR0FBc0IsRUFDdEIsTUFBYyxFQUNkLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNuQyxlQUFpRDtRQUxoRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7SUFDdkQsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxFQUFFLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBR0QsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhO1lBQ3pDLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxDQUFDO1lBQ2YsU0FBUyxFQUFFLFNBQVM7WUFDcEIsV0FBVyxFQUFFLEdBQUc7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBVSxDQUFDLENBQUMsQ0FBQyxhQUFhO0lBQ2hFLENBQUM7SUFHRCxlQUFlLENBQUMsR0FBb0I7UUFDbEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUUzRix5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFckIsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFO2dCQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNwQyxHQUFHO29CQUNILFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVE7b0JBQ2pDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDakIsSUFBSSxFQUFFO3dCQUNKLEdBQUcsRUFBRSxZQUFZO3FCQUNsQjtpQkFDRixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCx5REFBeUQ7UUFDekQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLElBQ0UsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRO2dCQUN4QixDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQ3JDO2dCQUNBLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQ3BDLEdBQUc7b0JBQ0gsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUTtvQkFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJO29CQUNqQixJQUFJLEVBQUU7d0JBQ0osR0FBRyxFQUFFLFdBQVc7cUJBQ2pCO2lCQUNGLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7SUFDVixZQUFZLENBQUMsTUFBYztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFxQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3BDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTO1lBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVE7WUFDbEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2pCLElBQUksRUFBRTtnQkFDSixHQUFHLEVBQUUscUNBQXFDO2FBQzNDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkMsOEJBQThCO1FBQzlCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDckIsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVM7WUFDOUIsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUTtZQUN2QyxLQUFLLEVBQUUsY0FBYztZQUNyQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxFQUFFLDZCQUE2QjtnQkFDbEMsVUFBVSxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUN6QztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBVSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhO0lBQ2IsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbEI7WUFDRSxxQkFBcUIsQ0FBQyxTQUFTO1lBQy9CLHFCQUFxQixDQUFDLGVBQWU7WUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO1NBQ25CLEVBQ0QsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxPQUE0QixFQUFFLEtBQXlCO1FBQzlFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBRTNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBRW5ELHVDQUF1QztZQUN2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDekUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxJQUFJLEdBQUcsV0FBVyxFQUFFO29CQUN0QixXQUFXLEdBQUcsSUFBSSxDQUFDO29CQUNuQixZQUFZLEdBQUcsTUFBTSxDQUFDO2lCQUN2QjthQUNGO1NBQ0Y7UUFFRCxPQUFPLFlBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWU7YUFDekMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvQyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXhELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEYsTUFBTSxTQUFTLEdBQXFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLFFBQVEsRUFBRSxHQUFHO1lBQ2IsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDOUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVU7WUFDL0IsZUFBZSxFQUFFLElBQUk7WUFDckIsZUFBZSxFQUFFO2dCQUNmLFdBQVcsRUFBRSxTQUFTO2dCQUN0QixhQUFhLEVBQUUsR0FBRztnQkFDbEIsWUFBWSxFQUFFLENBQUM7YUFDaEI7U0FDRixDQUFDLENBQUM7UUFFSCxpQkFBaUIsQ0FBQyxLQUFLLENBQ3JCO1lBQ0UsTUFBTTtZQUNOLFdBQVc7WUFDWCxTQUFTO1lBQ1QsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87WUFDMUMsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixFQUNELENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25CLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLFFBQVEsRUFBRTtnQkFDMUQsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUUzQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNyQixRQUFRLEVBQUUsTUFBTTtvQkFDaEIsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVU7b0JBQy9CLElBQUksRUFBRTt3QkFDSixHQUFHLEVBQUUsbUNBQW1DO3dCQUN4QyxVQUFVLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO3FCQUN6QztvQkFDRCxLQUFLLEVBQUUsYUFBYTtpQkFDckIsQ0FBQyxDQUFDO2dCQUVILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQ3JCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBVTtvQkFDL0IsSUFBSSxFQUFFO3dCQUNKLEdBQUcsRUFBRSw4QkFBOEI7d0JBQ25DLFVBQVUsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7cUJBQ3pDO29CQUNELEtBQUssRUFBRSxXQUFXO2lCQUNuQixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0E3UFUsbUNBQW1DOzRGQUFuQyxtQ0FBbUMsMktDcEJoRCw2Z05BMkxBOzs0RkR2S2EsbUNBQW1DO2tCQVAvQyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsbUNBQW1DLGNBR2pDLEtBQUs7Nk9BUUUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX21vZGVscy9JdGluZXJhcnknO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IExpYk1hcHNDb21wb25lbnQgfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5RHJhd01vZGVUcmFuc2ZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fc2VydmljZXMvaXRpbmVyYXJ5LmRyYXdtb2RlLnRyYW5zZmVyJztcclxuY29uc3QgZGVmYXVsdEljb24gPSAnYXNzZXRzL2ljb25zL21hcC1tYXJrZXJzLXllbGxvdy5zdmcnO1xyXG5jb25zdCBzZWxlY3RlZEljb24gPSAnYXNzZXRzL2ljb25zL3Jlc3R1LWljb24tbGFyZ2Uuc3ZnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzZWxlY3RvcjogJ2xpYi1jcmVhdGUtaXRpbmVyYXJ5LWRyYXctcHJldmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1kcmF3LXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1wcmV2aWV3LmNvbXBvbmVudC5jc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZUl0aW5lcmFyeURyYXdQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBhY3Rpb25zOiBzdHJpbmdbXSA9IFtJQ09OU1snbG9jYXRpb24nXSwgSUNPTlNbJ3BlbmNpbCddLCBJQ09OU1snYmFuJ11dO1xyXG4gIHNlbGVjdGVkOiBzdHJpbmcgPSB0aGlzLmFjdGlvbnNbMV07XHJcbiAgaXNPcGVuOiBib29sZWFuID0gdHJ1ZTtcclxuICBpdGluZXJhcnkhOiBJdGluZXJhcnkgfCB1bmRlZmluZWQ7XHJcbiAgQFZpZXdDaGlsZCgnbGliTWFwJykgbGliTWFwITogTGliTWFwc0NvbXBvbmVudDtcclxuICBtYXBEcmF3bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwb2x5Z29uITogZ29vZ2xlLm1hcHMuUG9seWdvbjsvL1RoZSBwb2x5Z29uIHJlbmRlcmVkIG9uIG1hcFxyXG4gIGluaXRpYWxMb2NhdGlvbiA9IHsgbGF0OiAyNC44NjA3LCBsbmc6IDY3LjAwMTEgfTsvL0xvY2F0aW9uIG9mIHRoZSB1c2VyXHJcbiAgcGxvdHRlZE1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdID0gW107Ly9QbG90dGVkIG1hcmtlcnMgb24gdGhlIG1hcFxyXG4gIHNlbGVjdGVkTWFya2VyczogZ29vZ2xlLm1hcHMuTWFya2VyW10gPSBbXTsvL1NlbGVjdGVkIG1hcmtlcnMgb24gdGhlIG1hcFxyXG4gIHBsYWNlc1Jlc3VsdCE6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdFtdOy8vUGxhY2VzIHJlc3VsdCByZXF1aXJlZCBmb3IgcHJldmlld1xyXG4gIHBsYWNlTWFya2VycyE6IHtcclxuICAgIG1hcmtlcjogZ29vZ2xlLm1hcHMuTWFya2VyLFxyXG4gICAgcGxhY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdFxyXG4gIH1bXVxyXG4gIGFsbE1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdID0gW107XHJcblxyXG4gIC8vTElGRSBDWUNMRVNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBpdGluZXJhcnlTZXJ2aWNlOiBJdGluZXJhcnlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zZmVyU2VydmljZTogSXRpbmVyYXJ5RHJhd01vZGVUcmFuc2ZlclNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB0aGlzLml0aW5lcmFyeSA9IHRoaXMuaXRpbmVyYXJ5U2VydmljZS5nZXRCeUlkKGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBkcmF3UG9seWdvbigpIHtcclxuICAgIHRoaXMucG9seWdvbiA9IG5ldyBnb29nbGUubWFwcy5Qb2x5Z29uKHtcclxuICAgICAgcGF0aHM6IHRoaXMudHJhbnNmZXJTZXJ2aWNlLnBvbHlnb25Db29yZHMsXHJcbiAgICAgIHN0cm9rZUNvbG9yOiAnI0UxNzU3NScsXHJcbiAgICAgIHN0cm9rZU9wYWNpdHk6IDAsXHJcbiAgICAgIHN0cm9rZVdlaWdodDogMCxcclxuICAgICAgZmlsbENvbG9yOiAnI0UxNzU3NScsXHJcbiAgICAgIGZpbGxPcGFjaXR5OiAwLjMsXHJcbiAgICAgIGNsaWNrYWJsZTogdHJ1ZSxcclxuICAgICAgZWRpdGFibGU6IHRydWUsXHJcbiAgICAgIHpJbmRleDogMSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucG9seWdvbi5zZXRNYXAodGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEpOyAvLyBBZGQgdG8gbWFwXHJcbiAgfVxyXG5cclxuXHJcbiAgYWRkTWFya2Vyc1RvTWFwKG1hcDogZ29vZ2xlLm1hcHMuTWFwKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZFBsYWNlSWRzID0gbmV3IFNldCh0aGlzLnRyYW5zZmVyU2VydmljZS5zZWxlY3RlZFBsYWNlcy5tYXAocCA9PiBwLnBsYWNlX2lkKSk7XHJcblxyXG4gICAgLy8gQ2xlYXIgZXhpc3RpbmcgbWFya2Vyc1xyXG4gICAgdGhpcy5hbGxNYXJrZXJzLmZvckVhY2gobWFya2VyID0+IG1hcmtlci5zZXRNYXAobnVsbCkpO1xyXG4gICAgdGhpcy5hbGxNYXJrZXJzID0gW107XHJcblxyXG4gICAgLy8gUGxvdCBzZWxlY3RlZCBwbGFjZXMgaW4gUkVEXHJcbiAgICB0aGlzLnRyYW5zZmVyU2VydmljZS5zZWxlY3RlZFBsYWNlcy5mb3JFYWNoKHBsYWNlID0+IHtcclxuICAgICAgaWYgKHBsYWNlLmdlb21ldHJ5Py5sb2NhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICAgICAgbWFwLFxyXG4gICAgICAgICAgcG9zaXRpb246IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLFxyXG4gICAgICAgICAgdGl0bGU6IHBsYWNlLm5hbWUsXHJcbiAgICAgICAgICBpY29uOiB7XHJcbiAgICAgICAgICAgIHVybDogc2VsZWN0ZWRJY29uXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgICAgIHRoaXMuYWxsTWFya2Vycy5wdXNoKG1hcmtlcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFBsb3Qgbm9uLXNlbGVjdGVkIHBsYWNlcyAoYXZvaWQgZHVwbGljYXRlcykgaW4gREVGQVVMVFxyXG4gICAgdGhpcy50cmFuc2ZlclNlcnZpY2UucGxhY2VzLmZvckVhY2gocGxhY2UgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgcGxhY2UuZ2VvbWV0cnk/LmxvY2F0aW9uICYmXHJcbiAgICAgICAgIXNlbGVjdGVkUGxhY2VJZHMuaGFzKHBsYWNlLnBsYWNlX2lkKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCBtYXJrZXIgPSBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgICAgIG1hcCxcclxuICAgICAgICAgIHBvc2l0aW9uOiBwbGFjZS5nZW9tZXRyeS5sb2NhdGlvbixcclxuICAgICAgICAgIHRpdGxlOiBwbGFjZS5uYW1lLFxyXG4gICAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgICB1cmw6IGRlZmF1bHRJY29uXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hbGxNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL1VJIExPR0lDXHJcbiAgdXBkYXRlQWN0aW9uKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gYWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2hvd0JvdHRvbU1vZGFsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ3VzdG9tTWFya2VyKHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQpIHtcclxuICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAsXHJcbiAgICAgIHBvc2l0aW9uOiBwbGFjZS5nZW9tZXRyeT8ubG9jYXRpb24sXHJcbiAgICAgIHRpdGxlOiBwbGFjZS5uYW1lLFxyXG4gICAgICBpY29uOiB7XHJcbiAgICAgICAgdXJsOiAnYXNzZXRzL2ljb25zL21hcC1tYXJrZXJzLXllbGxvdy5zdmcnLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBsb3R0ZWRNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgIHRoaXMucGxhY2VNYXJrZXJzLnB1c2goe1xyXG4gICAgICBwbGFjZTogcGxhY2UsXHJcbiAgICAgIG1hcmtlcjogbWFya2VyXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcD8uc2V0Q2VudGVyKHRoaXMudHJhbnNmZXJTZXJ2aWNlLmxvY2F0aW9uKTtcclxuICAgICAgdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcD8uc2V0Wm9vbSgxNSk7XHJcblxyXG4gICAgICAvL0FkZCBtYXJrZXIgZm9yIHVzZXIgcG9zaXRpb25cclxuICAgICAgbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgbWFwOiB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwLFxyXG4gICAgICAgIHBvc2l0aW9uOiB0aGlzLnRyYW5zZmVyU2VydmljZS5sb2NhdGlvbixcclxuICAgICAgICB0aXRsZTogJ1lvdSBhcmUgaGVyZScsXHJcbiAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgdXJsOiAnYXNzZXRzL2N1cnJlbnRfbG9jYXRpb24uc3ZnJyxcclxuICAgICAgICAgIHNjYWxlZFNpemU6IG5ldyBnb29nbGUubWFwcy5TaXplKDQwLCA0MCksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuYWRkTWFya2Vyc1RvTWFwKHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhKTtcclxuICAgICAgdGhpcy5kcmF3UG9seWdvbigpO1xyXG4gICAgICB0aGlzLm9wdGltaXplQW5kUmVuZGVyKCk7XHJcbiAgfVxyXG5cclxuICAvL05BVklHQVRJT05TXHJcbiAgYmFjaygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gIH1cclxuXHJcbiAgbmF2VG9QaWNrU3RhcnRMb2NhdGlvbigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxyXG4gICAgICBbXHJcbiAgICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWSxcclxuICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uTE9DQVRJT05fUElDS0VSLFxyXG4gICAgICAgIHRoaXMuaXRpbmVyYXJ5Py5pZCxcclxuICAgICAgXSxcclxuICAgICAgeyBxdWVyeVBhcmFtczogeyBtb2RlOiAnc3RhcnQnIH0gfSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDbG9zZXN0UG9pbnRPblBvbHlnb24ocG9seWdvbjogZ29vZ2xlLm1hcHMuUG9seWdvbiwgcG9pbnQ6IGdvb2dsZS5tYXBzLkxhdExuZyk6IGdvb2dsZS5tYXBzLkxhdExuZyB7XHJcbiAgICBjb25zdCBwYXRoID0gcG9seWdvbi5nZXRQYXRoKCk7XHJcbiAgICBsZXQgY2xvc2VzdFBvaW50ID0gbnVsbDtcclxuICAgIGxldCBtaW5EaXN0YW5jZSA9IEluZmluaXR5O1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5nZXRMZW5ndGgoKTsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHN0YXJ0ID0gcGF0aC5nZXRBdChpKTtcclxuICAgICAgY29uc3QgZW5kID0gcGF0aC5nZXRBdCgoaSArIDEpICUgcGF0aC5nZXRMZW5ndGgoKSk7XHJcblxyXG4gICAgICAvLyBJbnRlcnBvbGF0ZSBwb2ludHMgYWxvbmcgdGhlIHNlZ21lbnRcclxuICAgICAgZm9yIChsZXQgdCA9IDA7IHQgPD0gMTsgdCArPSAwLjA1KSB7XHJcbiAgICAgICAgY29uc3QgaW50ZXJwID0gZ29vZ2xlLm1hcHMuZ2VvbWV0cnkuc3BoZXJpY2FsLmludGVycG9sYXRlKHN0YXJ0LCBlbmQsIHQpO1xyXG4gICAgICAgIGNvbnN0IGRpc3QgPSBnb29nbGUubWFwcy5nZW9tZXRyeS5zcGhlcmljYWwuY29tcHV0ZURpc3RhbmNlQmV0d2Vlbihwb2ludCwgaW50ZXJwKTtcclxuICAgICAgICBpZiAoZGlzdCA8IG1pbkRpc3RhbmNlKSB7XHJcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3Q7XHJcbiAgICAgICAgICBjbG9zZXN0UG9pbnQgPSBpbnRlcnA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNsb3Nlc3RQb2ludCE7XHJcbiAgfVxyXG5cclxuICBjb250aW51ZSgpIHtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgb3B0aW1pemVBbmRSZW5kZXIoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWFya2Vycy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBvc0EgPSBhLmdldFBvc2l0aW9uKCk7XHJcbiAgICAgIGNvbnN0IHBvc0IgPSBiLmdldFBvc2l0aW9uKCk7XHJcbiAgICAgIGlmICghcG9zQSkgcmV0dXJuIDE7XHJcbiAgICAgIGlmICghcG9zQikgcmV0dXJuIC0xO1xyXG4gICAgICByZXR1cm4gcG9zQS5sYXQoKSAtIHBvc0IubGF0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBtYXJrZXJQb3NpdGlvbnMgPSB0aGlzLnNlbGVjdGVkTWFya2Vyc1xyXG4gICAgICAubWFwKG0gPT4gbS5nZXRQb3NpdGlvbigpKVxyXG4gICAgICAuZmlsdGVyKChwKTogcCBpcyBnb29nbGUubWFwcy5MYXRMbmcgPT4gISFwKTtcclxuXHJcbiAgICBpZiAobWFya2VyUG9zaXRpb25zLmxlbmd0aCA8IDIgfHwgIXRoaXMucG9seWdvbikgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuZ2V0Q2xvc2VzdFBvaW50T25Qb2x5Z29uKHRoaXMucG9seWdvbiwgbWFya2VyUG9zaXRpb25zW21hcmtlclBvc2l0aW9ucy5sZW5ndGggLSAxXSk7XHJcbiAgICBjb25zdCBkZXN0aW5hdGlvbiA9IHRoaXMuZ2V0Q2xvc2VzdFBvaW50T25Qb2x5Z29uKHRoaXMucG9seWdvbiwgbWFya2VyUG9zaXRpb25zWzBdKTtcclxuXHJcbiAgICBjb25zdCB3YXlwb2ludHM6IGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNXYXlwb2ludFtdID0gbWFya2VyUG9zaXRpb25zLm1hcChwb3MgPT4gKHtcclxuICAgICAgbG9jYXRpb246IHBvcyxcclxuICAgICAgc3RvcG92ZXI6IHRydWVcclxuICAgIH0pKTtcclxuXHJcbiAgICBjb25zdCBkaXJlY3Rpb25zU2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5EaXJlY3Rpb25zU2VydmljZSgpO1xyXG4gICAgY29uc3QgZGlyZWN0aW9uc1JlbmRlcmVyID0gbmV3IGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNSZW5kZXJlcih7XHJcbiAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEsXHJcbiAgICAgIHN1cHByZXNzTWFya2VyczogdHJ1ZSxcclxuICAgICAgcG9seWxpbmVPcHRpb25zOiB7XHJcbiAgICAgICAgc3Ryb2tlQ29sb3I6ICcjRkZGRkZGJyxcclxuICAgICAgICBzdHJva2VPcGFjaXR5OiAxLjAsXHJcbiAgICAgICAgc3Ryb2tlV2VpZ2h0OiA0XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGRpcmVjdGlvbnNTZXJ2aWNlLnJvdXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgb3JpZ2luLFxyXG4gICAgICAgIGRlc3RpbmF0aW9uLFxyXG4gICAgICAgIHdheXBvaW50cyxcclxuICAgICAgICB0cmF2ZWxNb2RlOiBnb29nbGUubWFwcy5UcmF2ZWxNb2RlLkRSSVZJTkcsXHJcbiAgICAgICAgb3B0aW1pemVXYXlwb2ludHM6IGZhbHNlXHJcbiAgICAgIH0sXHJcbiAgICAgIChyZXNwb25zZSwgc3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1N0YXR1cy5PSyAmJiByZXNwb25zZSkge1xyXG4gICAgICAgICAgZGlyZWN0aW9uc1JlbmRlcmVyLnNldERpcmVjdGlvbnMocmVzcG9uc2UpO1xyXG5cclxuICAgICAgICAgIG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogb3JpZ2luLFxyXG4gICAgICAgICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhLFxyXG4gICAgICAgICAgICBpY29uOiB7XHJcbiAgICAgICAgICAgICAgdXJsOiAnYXNzZXRzL2ljb25zL3N0YXJ0LWxvYy1tYXJrZXIuc3ZnJyxcclxuICAgICAgICAgICAgICBzY2FsZWRTaXplOiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSgzMCwgMzApLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aXRsZTogJ1N0YXJ0IFBvaW50JyxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZGVzdGluYXRpb24sXHJcbiAgICAgICAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEsXHJcbiAgICAgICAgICAgIGljb246IHtcclxuICAgICAgICAgICAgICB1cmw6ICdhc3NldHMvaWNvbnMvZW4tbG9jYXRpb24uc3ZnJyxcclxuICAgICAgICAgICAgICBzY2FsZWRTaXplOiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSgzMCwgMzApLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aXRsZTogJ0VuZCBQb2ludCcsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXJcclxuICBbcHJvZ3Jlc3NCYXJWYWx1ZV09XCIxMDBcIlxyXG4gIGhlYWRpbmc9XCJDcmVhdGUgSXRpbmVyYXJ5XCJcclxuPjwvYXBwLWNyZWF0ZS1pdGluZXJhcnktaGVhZGVyPlxyXG48bGliLW1hcCAjbGliTWFwIGNsYXNzPVwibWFwcy0xMDB2aFwiPjwvbGliLW1hcD5cclxuPGFwcC1ib3R0b20tbW9kYWxcclxuICBbc2hvd0Fycm93XT1cInRydWVcIlxyXG4gIFsoaXNPcGVuKV09XCJpc09wZW5cIlxyXG4gIFthZGFwdFRvQ29udGVudEhlaWdodF09XCJ0cnVlXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJwbC00IHByLTRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC14LTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0xIHRleHQteHNcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgIFtzcmNdPVwiSUNPTlNbJ2xvY2F0aW9uV2hpdGUnXVwiXHJcbiAgICAgICAgYWx0PVwibG9jYXRpb25cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPHNwYW4+e3t0cmFuc2ZlclNlcnZpY2Uuc2VsZWN0ZWRQbGFjZXM/Lmxlbmd0aH19IHt7IFwiSVRJTkVSQVJZX1NVTU1BUlkuUExBQ0VTXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJoLTQgYm9yZGVyIHctMCBib3JkZXItc2Vjb25kYXJ5XCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLXgtMiB0ZXh0LXhzXCI+XHJcbiAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwiSUNPTlNbJ2Nsb2NrJ11cIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxzcGFuPjQ1IHt7IFwiREFURV9USU1FLk1JTlVURVNcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5IGZvbnQtdGhpblwiPig2LjYgS20pPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgIGNsYXNzPVwiYm9yZGVyIGJvcmRlci1kYXNoZWQgb3BhY2l0eS01NSByb3RhdGUtOTAgYWJzb2x1dGUgLWxlZnQtNiB0b3AtMzZcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvbnQtR2lscm95IG10LTUgbWItMyBmbGV4IGZsZXgtY29sIGdhcC15LTVcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHctZnVsbCBnYXAteC00IG1iLTFcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgZ2FwLXgtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInotNTAgaWNvbiB3LTggaC04IG91dHNldC1zaGFkb3cgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjJcIlxyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydzdGFydExvY2F0aW9uJ11cIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRvdHRlZC1saW5lXCJcclxuICAgICAgICAgICAgICAgIHNyYz1cImFzc2V0cy9pbWFnZXMvZG90dGVkLWxpbmUuc3ZnXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgPGgyXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImYtc20gZi14cyBmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0xIHRleHQteHMgbWItMVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBTaGFuLXVsLWhhcSBoYXFlZSByb2FkXHJcbiAgICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmLXhzIHRleHQtc2Vjb25kYXJ5IHRleHQteHMgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAgU3RhcnRpbmcgbG9jYXRpb25cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtM1wiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzE1cHhdIGgtWzE1cHhdIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ2VkaXRQaW5rJ11cIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIGdhcC14LTQgbWItMVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydCBnYXAteC02XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiei01MCBpY29uIHctOCBoLTggb3V0c2V0LXNoYWRvdyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcmVsYXRpdmVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyMlwiXHJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ3Jlc3R1J11cIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRvdHRlZC1saW5lXCJcclxuICAgICAgICAgICAgICAgIHNyYz1cImFzc2V0cy9pbWFnZXMvZG90dGVkLWxpbmUuc3ZnXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgPGgyXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImYtc20gZi14cyBmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0xIHRleHQteHMgbWItMVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBLYWJ1bCB0aWtrYVxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZi14cyB0ZXh0LXNlY29uZGFyeSB0ZXh0LXhzIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgIEFmZ2hhbiBjdWlzaW5lXHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LTNcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1snaGFtYnVyZ2VyJ11cIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1bMTVweF0gaC1bMTVweF0gY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydkZWxldGVQaW5rJ11cIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1bMTVweF0gaC1bMTVweF0gY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgZ2FwLXgtNCBtYi0xXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IGdhcC14LTZcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ6LTUwIGljb24gdy04IGgtOCBvdXRzZXQtc2hhZG93IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCByZWxhdGl2ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjIyXCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1sncmVzdHUnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG90dGVkLWxpbmVcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ltYWdlcy9kb3R0ZWQtbGluZS5zdmdcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aDJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZi1zbSBmLXhzIGZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14cyBtYi0xXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFF1ZXR0YSBUTlRcclxuICAgICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImYteHMgdGV4dC1zZWNvbmRhcnkgdGV4dC14cyBtYi0xXCI+VGVhIENvZmZlZTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtM1wiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydoYW1idXJnZXInXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVsxNXB4XSBoLVsxNXB4XSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ2RlbGV0ZVBpbmsnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVsxNXB4XSBoLVsxNXB4XSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gICAgICA8bGliLWZvb3Rlci1zaGFyZWRcclxuICAgICAgICAoY29udGludWVCdXR0b25DbGljayk9XCJjb250aW51ZSgpXCJcclxuICAgICAgICBbY2FuQ29udGludWVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbnRpbnVlQnV0dG9uVGV4dF09XCInSVRJTkVSQVJZLlBSRVZJRVcnIHwgdHJhbnNsYXRlXCJcclxuICAgID48L2xpYi1mb290ZXItc2hhcmVkPlxyXG48L2FwcC1ib3R0b20tbW9kYWw+XHJcbjxkaXZcclxuICAoY2xpY2spPVwic2hvd0JvdHRvbU1vZGFsKClcIlxyXG4gIGNsYXNzPVwiYWJzb2x1dGUgYm90dG9tLTAgY3Vyc29yLXBvaW50ZXIgei0xMFwiXHJcbiAgc3R5bGU9XCJsZWZ0OiA1MCVcIlxyXG4+XHJcbiAgPGltZ1xyXG4gICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpXCJcclxuICAgIFtzcmNdPVwiSUNPTlNbJ3JpZ2h0QXJyb3cnXVwiXHJcbiAgICBhbHQ9XCJpY29uXCJcclxuICAgIGhlaWdodD1cIjE1XCJcclxuICAgIHdpZHRoPVwiMTVcIlxyXG4gIC8+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -44,11 +44,11 @@ export class CreateItineraryHeaderComponent {
44
44
  ]);
45
45
  }
46
46
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryHeaderComponent, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: { heading: "heading", progressBarValue: "progressBarValue", discardItineraryId: "discardItineraryId", class: "class" }, ngImport: i0, template: "<div [class]=\"'bottom-rounded-container fixed top-0 z-10 ' + class\">\r\n <lib-percentage-bar\r\n class=\"primary-percentage-bar\"\r\n [value]=\"progressBarValue\"\r\n ></lib-percentage-bar>\r\n <ng-template #suffix>\r\n <span class=\"discard\" (click)=\"showPopup()\">Discard?</span>\r\n </ng-template>\r\n <lib-popup\r\n [isOpen]=\"isOpen\"\r\n [icon]=\"ICONS['infoBig']\"\r\n cancelButton=\"Cancel\"\r\n confirmButton=\"Yes\"\r\n message=\"Are you sure you want to discard the itinerary creating progress?\"\r\n (modalConfirm)=\"hidePopupAndNavigate()\"\r\n (modalDismiss)=\"hidePopup()\"\r\n >\r\n </lib-popup>\r\n\r\n <app-header\r\n cssClass=\"!pt-2 pl-3 pr-3\"\r\n (firstButton)=\"back()\"\r\n [heading]=\"heading\"\r\n [headerSuffixTemplate]=\"suffix\"\r\n ></app-header>\r\n</div>\r\n", styles: [".discard{width:46px;height:18px;font-family:Calistoga;font-weight:400;font-size:12px;letter-spacing:0%}\n"], dependencies: [{ kind: "component", type: i3.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "component", type: i4.LibModalComponent, selector: "lib-popup", inputs: ["isOpen", "icon", "title", "message", "extendedMessage", "cancelButton", "confirmButton", "checkboxText", "progBarCurrentStep", "progBarTotalSteps", "customClass", "backdropDismiss", "modalComponent", "modalComponentData"], outputs: ["modalConfirm", "modalDismiss", "afterCloseEvent"] }, { kind: "component", type: i4.LibPercentageBarComponent, selector: "lib-percentage-bar", inputs: ["value"] }] });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: { heading: "heading", progressBarValue: "progressBarValue", discardItineraryId: "discardItineraryId", class: "class" }, ngImport: i0, template: "<div [class]=\"'bottom-rounded-container fixed top-0 z-10 ' + class\">\r\n <lib-percentage-bar\r\n class=\"primary-percentage-bar\"\r\n [value]=\"progressBarValue\"\r\n ></lib-percentage-bar>\r\n <ng-template #suffix>\r\n <span class=\"discard\" (click)=\"showPopup()\">Discard?</span>\r\n </ng-template>\r\n <lib-popup\r\n [isOpen]=\"isOpen\"\r\n [icon]=\"ICONS['infoBig']\"\r\n cancelButton=\"Cancel\"\r\n confirmButton=\"Yes\"\r\n message=\"Are you sure you want to discard the itinerary creating progress?\"\r\n (modalConfirm)=\"hidePopupAndNavigate()\"\r\n (modalDismiss)=\"hidePopup()\"\r\n >\r\n </lib-popup>\r\n\r\n <app-header\r\n cssClass=\"!pt-2 pl-3 pr-3 margin-top-5\"\r\n (firstButton)=\"back()\"\r\n [heading]=\"heading\"\r\n [headerSuffixTemplate]=\"suffix\"\r\n ></app-header>\r\n</div>\r\n", styles: [".discard{width:46px;height:18px;font-family:Calistoga;font-weight:400;font-size:12px;letter-spacing:0%}::ng-deep app-header .header-main-bar{margin-top:5px!important}\n"], dependencies: [{ kind: "component", type: i3.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "component", type: i4.LibModalComponent, selector: "lib-popup", inputs: ["isOpen", "icon", "title", "message", "extendedMessage", "cancelButton", "confirmButton", "checkboxText", "progBarCurrentStep", "progBarTotalSteps", "customClass", "backdropDismiss", "modalComponent", "modalComponentData"], outputs: ["modalConfirm", "modalDismiss", "afterCloseEvent"] }, { kind: "component", type: i4.LibPercentageBarComponent, selector: "lib-percentage-bar", inputs: ["value"] }] });
48
48
  }
49
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryHeaderComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 'app-create-itinerary-header', standalone: false, template: "<div [class]=\"'bottom-rounded-container fixed top-0 z-10 ' + class\">\r\n <lib-percentage-bar\r\n class=\"primary-percentage-bar\"\r\n [value]=\"progressBarValue\"\r\n ></lib-percentage-bar>\r\n <ng-template #suffix>\r\n <span class=\"discard\" (click)=\"showPopup()\">Discard?</span>\r\n </ng-template>\r\n <lib-popup\r\n [isOpen]=\"isOpen\"\r\n [icon]=\"ICONS['infoBig']\"\r\n cancelButton=\"Cancel\"\r\n confirmButton=\"Yes\"\r\n message=\"Are you sure you want to discard the itinerary creating progress?\"\r\n (modalConfirm)=\"hidePopupAndNavigate()\"\r\n (modalDismiss)=\"hidePopup()\"\r\n >\r\n </lib-popup>\r\n\r\n <app-header\r\n cssClass=\"!pt-2 pl-3 pr-3\"\r\n (firstButton)=\"back()\"\r\n [heading]=\"heading\"\r\n [headerSuffixTemplate]=\"suffix\"\r\n ></app-header>\r\n</div>\r\n", styles: [".discard{width:46px;height:18px;font-family:Calistoga;font-weight:400;font-size:12px;letter-spacing:0%}\n"] }]
51
+ args: [{ selector: 'app-create-itinerary-header', standalone: false, template: "<div [class]=\"'bottom-rounded-container fixed top-0 z-10 ' + class\">\r\n <lib-percentage-bar\r\n class=\"primary-percentage-bar\"\r\n [value]=\"progressBarValue\"\r\n ></lib-percentage-bar>\r\n <ng-template #suffix>\r\n <span class=\"discard\" (click)=\"showPopup()\">Discard?</span>\r\n </ng-template>\r\n <lib-popup\r\n [isOpen]=\"isOpen\"\r\n [icon]=\"ICONS['infoBig']\"\r\n cancelButton=\"Cancel\"\r\n confirmButton=\"Yes\"\r\n message=\"Are you sure you want to discard the itinerary creating progress?\"\r\n (modalConfirm)=\"hidePopupAndNavigate()\"\r\n (modalDismiss)=\"hidePopup()\"\r\n >\r\n </lib-popup>\r\n\r\n <app-header\r\n cssClass=\"!pt-2 pl-3 pr-3 margin-top-5\"\r\n (firstButton)=\"back()\"\r\n [heading]=\"heading\"\r\n [headerSuffixTemplate]=\"suffix\"\r\n ></app-header>\r\n</div>\r\n", styles: [".discard{width:46px;height:18px;font-family:Calistoga;font-weight:400;font-size:12px;letter-spacing:0%}::ng-deep app-header .header-main-bar{margin-top:5px!important}\n"] }]
52
52
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.Location }], propDecorators: { heading: [{
53
53
  type: Input
54
54
  }], progressBarValue: [{
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
58
58
  }], class: [{
59
59
  type: Input
60
60
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9wYWdlcy9idWlsZGVyL3BhZ2VzL2NyZWF0ZS1pdGluZXJhcnktaGVhZGVyL2NyZWF0ZS1pdGluZXJhcnktaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlci9jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7OztBQU8vRCxNQUFNLE9BQU8sOEJBQThCO0lBVS9CO0lBQ0E7SUFWRCxPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLGdCQUFnQixHQUFXLENBQUMsQ0FBQztJQUM3QixrQkFBa0IsR0FBVyxFQUFFLENBQUM7SUFDaEMsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNsQixLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFFbEMsWUFBWTtJQUNaLFlBQ1UsTUFBYyxFQUNkLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixVQUFVO0lBQ1YsU0FBUztRQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELGFBQWE7SUFDYixJQUFJO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ25CLHFCQUFxQixDQUFDLFNBQVM7WUFDL0IscUJBQXFCLENBQUMsT0FBTztTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXhDVSw4QkFBOEI7NEZBQTlCLDhCQUE4QixtTUNaM0MsKzBCQTBCQTs7NEZEZGEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDZCQUE2QixjQUczQixLQUFLO2tHQUdWLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInOyAgXHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1pdGluZXJhcnktaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlci5jb21wb25lbnQuY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVJdGluZXJhcnlIZWFkZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGhlYWRpbmc6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHByb2dyZXNzQmFyVmFsdWU6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgZGlzY2FyZEl0aW5lcmFyeUlkOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XHJcbiAgcHJvdGVjdGVkIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIHByb3RlY3RlZCBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy9MSUZFIENZQ0xFXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgKSB7fVxyXG5cclxuICAvL1VJIExPR0lDXHJcbiAgc2hvd1BvcHVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaGlkZVBvcHVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGhpZGVQb3B1cEFuZE5hdmlnYXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm5hdlRvSXRpbmVyYXJ5RXhwbG9yZSgpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICAvL05BVklHQVRJT05TXHJcbiAgYmFjaygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gIH1cclxuXHJcbiAgbmF2VG9JdGluZXJhcnlFeHBsb3JlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uRVhQTE9SRSxcclxuICAgIF0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzc109XCInYm90dG9tLXJvdW5kZWQtY29udGFpbmVyIGZpeGVkIHRvcC0wIHotMTAgJyArIGNsYXNzXCI+XHJcbiAgPGxpYi1wZXJjZW50YWdlLWJhclxyXG4gICAgY2xhc3M9XCJwcmltYXJ5LXBlcmNlbnRhZ2UtYmFyXCJcclxuICAgIFt2YWx1ZV09XCJwcm9ncmVzc0JhclZhbHVlXCJcclxuICA+PC9saWItcGVyY2VudGFnZS1iYXI+XHJcbiAgPG5nLXRlbXBsYXRlICNzdWZmaXg+XHJcbiAgICA8c3BhbiBjbGFzcz1cImRpc2NhcmRcIiAoY2xpY2spPVwic2hvd1BvcHVwKClcIj5EaXNjYXJkPzwvc3Bhbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxsaWItcG9wdXBcclxuICAgIFtpc09wZW5dPVwiaXNPcGVuXCJcclxuICAgIFtpY29uXT1cIklDT05TWydpbmZvQmlnJ11cIlxyXG4gICAgY2FuY2VsQnV0dG9uPVwiQ2FuY2VsXCJcclxuICAgIGNvbmZpcm1CdXR0b249XCJZZXNcIlxyXG4gICAgbWVzc2FnZT1cIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkaXNjYXJkIHRoZSBpdGluZXJhcnkgY3JlYXRpbmcgcHJvZ3Jlc3M/XCJcclxuICAgIChtb2RhbENvbmZpcm0pPVwiaGlkZVBvcHVwQW5kTmF2aWdhdGUoKVwiXHJcbiAgICAobW9kYWxEaXNtaXNzKT1cImhpZGVQb3B1cCgpXCJcclxuICA+XHJcbiAgPC9saWItcG9wdXA+XHJcblxyXG4gIDxhcHAtaGVhZGVyXHJcbiAgICBjc3NDbGFzcz1cIiFwdC0yIHBsLTMgcHItM1wiXHJcbiAgICAoZmlyc3RCdXR0b24pPVwiYmFjaygpXCJcclxuICAgIFtoZWFkaW5nXT1cImhlYWRpbmdcIlxyXG4gICAgW2hlYWRlclN1ZmZpeFRlbXBsYXRlXT1cInN1ZmZpeFwiXHJcbiAgPjwvYXBwLWhlYWRlcj5cclxuPC9kaXY+XHJcbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9wYWdlcy9idWlsZGVyL3BhZ2VzL2NyZWF0ZS1pdGluZXJhcnktaGVhZGVyL2NyZWF0ZS1pdGluZXJhcnktaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlci9jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7OztBQU8vRCxNQUFNLE9BQU8sOEJBQThCO0lBVS9CO0lBQ0E7SUFWRCxPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLGdCQUFnQixHQUFXLENBQUMsQ0FBQztJQUM3QixrQkFBa0IsR0FBVyxFQUFFLENBQUM7SUFDaEMsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNsQixLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFFbEMsWUFBWTtJQUNaLFlBQ1UsTUFBYyxFQUNkLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixVQUFVO0lBQ1YsU0FBUztRQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELGFBQWE7SUFDYixJQUFJO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ25CLHFCQUFxQixDQUFDLFNBQVM7WUFDL0IscUJBQXFCLENBQUMsT0FBTztTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXhDVSw4QkFBOEI7NEZBQTlCLDhCQUE4QixtTUNaM0MsNDFCQTBCQTs7NEZEZGEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDZCQUE2QixjQUczQixLQUFLO2tHQUdWLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInOyAgXHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1pdGluZXJhcnktaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlci5jb21wb25lbnQuc2NzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlSXRpbmVyYXJ5SGVhZGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBoZWFkaW5nOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBwcm9ncmVzc0JhclZhbHVlOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIGRpc2NhcmRJdGluZXJhcnlJZDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIHByb3RlY3RlZCBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBwcm90ZWN0ZWQgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vTElGRSBDWUNMRVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICkge31cclxuXHJcbiAgLy9VSSBMT0dJQ1xyXG4gIHNob3dQb3B1cCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhpZGVQb3B1cCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBoaWRlUG9wdXBBbmROYXZpZ2F0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5uYXZUb0l0aW5lcmFyeUV4cGxvcmUoKTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgLy9OQVZJR0FUSU9OU1xyXG4gIGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICB9XHJcblxyXG4gIG5hdlRvSXRpbmVyYXJ5RXhwbG9yZSgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWSxcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkVYUExPUkUsXHJcbiAgICBdKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbY2xhc3NdPVwiJ2JvdHRvbS1yb3VuZGVkLWNvbnRhaW5lciBmaXhlZCB0b3AtMCB6LTEwICcgKyBjbGFzc1wiPlxyXG4gIDxsaWItcGVyY2VudGFnZS1iYXJcclxuICAgIGNsYXNzPVwicHJpbWFyeS1wZXJjZW50YWdlLWJhclwiXHJcbiAgICBbdmFsdWVdPVwicHJvZ3Jlc3NCYXJWYWx1ZVwiXHJcbiAgPjwvbGliLXBlcmNlbnRhZ2UtYmFyPlxyXG4gIDxuZy10ZW1wbGF0ZSAjc3VmZml4PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXNjYXJkXCIgKGNsaWNrKT1cInNob3dQb3B1cCgpXCI+RGlzY2FyZD88L3NwYW4+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bGliLXBvcHVwXHJcbiAgICBbaXNPcGVuXT1cImlzT3BlblwiXHJcbiAgICBbaWNvbl09XCJJQ09OU1snaW5mb0JpZyddXCJcclxuICAgIGNhbmNlbEJ1dHRvbj1cIkNhbmNlbFwiXHJcbiAgICBjb25maXJtQnV0dG9uPVwiWWVzXCJcclxuICAgIG1lc3NhZ2U9XCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGlzY2FyZCB0aGUgaXRpbmVyYXJ5IGNyZWF0aW5nIHByb2dyZXNzP1wiXHJcbiAgICAobW9kYWxDb25maXJtKT1cImhpZGVQb3B1cEFuZE5hdmlnYXRlKClcIlxyXG4gICAgKG1vZGFsRGlzbWlzcyk9XCJoaWRlUG9wdXAoKVwiXHJcbiAgPlxyXG4gIDwvbGliLXBvcHVwPlxyXG5cclxuICA8YXBwLWhlYWRlclxyXG4gICAgY3NzQ2xhc3M9XCIhcHQtMiBwbC0zIHByLTMgbWFyZ2luLXRvcC01XCJcclxuICAgIChmaXJzdEJ1dHRvbik9XCJiYWNrKClcIlxyXG4gICAgW2hlYWRpbmddPVwiaGVhZGluZ1wiXHJcbiAgICBbaGVhZGVyU3VmZml4VGVtcGxhdGVdPVwic3VmZml4XCJcclxuICA+PC9hcHAtaGVhZGVyPlxyXG48L2Rpdj5cclxuIl19
@@ -7,10 +7,11 @@ import * as i2 from "../../../../../../_services/itinerary.service";
7
7
  import * as i3 from "../../../../../../_services/location.service";
8
8
  import * as i4 from "../../../../../../_services/itinerary.drawmode.transfer";
9
9
  import * as i5 from "@angular/common";
10
- import * as i6 from "@naniteninja/ionic-lib";
11
- import * as i7 from "../../../../components/no-visual-map-filters/no-visual-map-filters.component";
12
- import * as i8 from "../create-itinerary-header/create-itinerary-header.component";
13
- import * as i9 from "@ngx-translate/core";
10
+ import * as i6 from "../../../../../../shared/bottom-modal/bottom-modal.component";
11
+ import * as i7 from "@naniteninja/ionic-lib";
12
+ import * as i8 from "../../../../components/no-visual-map-filters/no-visual-map-filters.component";
13
+ import * as i9 from "../create-itinerary-header/create-itinerary-header.component";
14
+ import * as i10 from "@ngx-translate/core";
14
15
  const defaultIcon = 'assets/icons/map-markers-yellow.svg';
15
16
  const selectedIcon = 'assets/icons/restu-icon-large.svg';
16
17
  export class CreateItineraryNoVisualFilterComponent {
@@ -220,13 +221,13 @@ export class CreateItineraryNoVisualFilterComponent {
220
221
  }
221
222
  }
222
223
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryNoVisualFilterComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ItineraryService }, { token: i3.LocationService }, { token: i0.ChangeDetectorRef }, { token: i4.ItineraryDrawModeTransferService }], target: i0.ɵɵFactoryTarget.Component });
223
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryNoVisualFilterComponent, selector: "lib-create-itinerary-no-visual-filter", viewQueries: [{ propertyName: "libMap", first: true, predicate: ["libMap"], descendants: true }], ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<img\r\n (click)=\"toggleFilter()\"\r\n class=\"cursor-pointer\"\r\n style=\"position: absolute; right: 10px; top: 20%; z-index: 99;\"\r\n [src]=\"ICONS['dotsIcon']\"\r\n alt=\"icon\"\r\n height=\"40\"\r\n width=\"40\"\r\n />\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<div class=\"filter-page\" *ngIf=\"openFilters\">\r\n <lib-no-visual-map-filters\r\n (presetsChanged)=\"onPresetsChanged($event)\"\r\n (backButtonClicked)=\"onbackButtonClicked()\"\r\n ></lib-no-visual-map-filters>\r\n</div>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"NO_VISUAL_FILTERS\"| translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 mb-4\">{{ \"NO_VISUAL_FILTERS\"| translate }}</p>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continueBuilding()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--lib-popup-modal-radius: 16px;--border-radius: var(--lib-popup-modal-radius);--lib-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--lib-popup-modal-color: #a8a8a8;--color: var(--lib-popup-modal-color, #a8a8a8);--max-width: var(--lib-bottom-modal-max-width, 500px);--lib-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --lib-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}.filter-page{position:fixed;height:100vh;width:100vw;z-index:99999;top:0;background-color:#27242c}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "directive", type: i6.LazyImageDirective, selector: "img" }, { kind: "component", type: i6.FooterSharedComponent, selector: "lib-footer-shared", inputs: ["loading$", "canContinue", "continueButtonText", "secondaryButtonText", "showBackButton", "continueButtonParameter$"], outputs: ["secondaryButtonClick", "continueButtonClick"] }, { kind: "component", type: i6.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i7.NoVisualMapFiltersComponent, selector: "lib-no-visual-map-filters", outputs: ["presetsChanged", "backButtonClicked"] }, { kind: "component", type: i8.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
224
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryNoVisualFilterComponent, selector: "lib-create-itinerary-no-visual-filter", viewQueries: [{ propertyName: "libMap", first: true, predicate: ["libMap"], descendants: true }], ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<img\r\n (click)=\"toggleFilter()\"\r\n class=\"cursor-pointer\"\r\n style=\"position: absolute; right: 10px; top: 20%; z-index: 99;\"\r\n [src]=\"ICONS['dotsIcon']\"\r\n alt=\"icon\"\r\n height=\"40\"\r\n width=\"40\"\r\n />\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<div class=\"filter-page\" *ngIf=\"openFilters\">\r\n <lib-no-visual-map-filters\r\n (presetsChanged)=\"onPresetsChanged($event)\"\r\n (backButtonClicked)=\"onbackButtonClicked()\"\r\n ></lib-no-visual-map-filters>\r\n</div>\r\n<app-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"NO_VISUAL_FILTERS\"| translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 mb-4\">{{ \"NO_VISUAL_FILTERS\"| translate }}</p>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continueBuilding()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n ></lib-footer-shared>\r\n</app-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--app-popup-modal-radius: 16px;--border-radius: var(--app-popup-modal-radius);--app-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--app-popup-modal-color: #a8a8a8;--color: var(--app-popup-modal-color, #a8a8a8);--max-width: var(--app-bottom-modal-max-width, 500px);--app-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --app-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}.filter-page{position:fixed;height:100vh;width:100vw;z-index:99999;top:0;background-color:#27242c}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.BottomModalComponent, selector: "app-bottom-modal", inputs: ["isOpen", "submitButtonTitle", "showArrow", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "submitModal"] }, { kind: "directive", type: i7.LazyImageDirective, selector: "img" }, { kind: "component", type: i7.FooterSharedComponent, selector: "lib-footer-shared", inputs: ["loading$", "canContinue", "continueButtonText", "secondaryButtonText", "showBackButton", "continueButtonParameter$"], outputs: ["secondaryButtonClick", "continueButtonClick"] }, { kind: "component", type: i7.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i8.NoVisualMapFiltersComponent, selector: "lib-no-visual-map-filters", outputs: ["presetsChanged", "backButtonClicked"] }, { kind: "component", type: i9.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
224
225
  }
225
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryNoVisualFilterComponent, decorators: [{
226
227
  type: Component,
227
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'lib-create-itinerary-no-visual-filter', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<img\r\n (click)=\"toggleFilter()\"\r\n class=\"cursor-pointer\"\r\n style=\"position: absolute; right: 10px; top: 20%; z-index: 99;\"\r\n [src]=\"ICONS['dotsIcon']\"\r\n alt=\"icon\"\r\n height=\"40\"\r\n width=\"40\"\r\n />\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<div class=\"filter-page\" *ngIf=\"openFilters\">\r\n <lib-no-visual-map-filters\r\n (presetsChanged)=\"onPresetsChanged($event)\"\r\n (backButtonClicked)=\"onbackButtonClicked()\"\r\n ></lib-no-visual-map-filters>\r\n</div>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"NO_VISUAL_FILTERS\"| translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 mb-4\">{{ \"NO_VISUAL_FILTERS\"| translate }}</p>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continueBuilding()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--lib-popup-modal-radius: 16px;--border-radius: var(--lib-popup-modal-radius);--lib-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--lib-popup-modal-color: #a8a8a8;--color: var(--lib-popup-modal-color, #a8a8a8);--max-width: var(--lib-bottom-modal-max-width, 500px);--lib-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --lib-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}.filter-page{position:fixed;height:100vh;width:100vw;z-index:99999;top:0;background-color:#27242c}\n"] }]
228
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'lib-create-itinerary-no-visual-filter', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<img\r\n (click)=\"toggleFilter()\"\r\n class=\"cursor-pointer\"\r\n style=\"position: absolute; right: 10px; top: 20%; z-index: 99;\"\r\n [src]=\"ICONS['dotsIcon']\"\r\n alt=\"icon\"\r\n height=\"40\"\r\n width=\"40\"\r\n />\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<div class=\"filter-page\" *ngIf=\"openFilters\">\r\n <lib-no-visual-map-filters\r\n (presetsChanged)=\"onPresetsChanged($event)\"\r\n (backButtonClicked)=\"onbackButtonClicked()\"\r\n ></lib-no-visual-map-filters>\r\n</div>\r\n<app-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"NO_VISUAL_FILTERS\"| translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 mb-4\">{{ \"NO_VISUAL_FILTERS\"| translate }}</p>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continueBuilding()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n ></lib-footer-shared>\r\n</app-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--app-popup-modal-radius: 16px;--border-radius: var(--app-popup-modal-radius);--app-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--app-popup-modal-color: #a8a8a8;--color: var(--app-popup-modal-color, #a8a8a8);--max-width: var(--app-bottom-modal-max-width, 500px);--app-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --app-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}.filter-page{position:fixed;height:100vh;width:100vw;z-index:99999;top:0;background-color:#27242c}\n"] }]
228
229
  }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ItineraryService }, { type: i3.LocationService }, { type: i0.ChangeDetectorRef }, { type: i4.ItineraryDrawModeTransferService }], propDecorators: { libMap: [{
229
230
  type: ViewChild,
230
231
  args: ['libMap']
231
232
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIvY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIvY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQXFCLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7OztBQU90RixNQUFNLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztBQUMxRCxNQUFNLFlBQVksR0FBRyxtQ0FBbUMsQ0FBQztBQVV6RCxNQUFNLE9BQU8sc0NBQXNDO0lBaUJ2QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFyQlYsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2QsT0FBTyxHQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxF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LEVBQ2hELE1BQThDLEVBQzlDLEVBQUU7Z0JBQ0YsSUFBSSxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLE9BQU8sRUFBRTtvQkFDbkUsTUFBTSxRQUFRLEdBQUcsWUFBWTt3QkFDM0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7NEJBQ3JCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDOzRCQUNqQyxPQUFPLE1BQU0sSUFBSSxZQUFhLENBQUM7d0JBQ2pDLENBQUMsQ0FBQzt3QkFDSixDQUFDLENBQUMsT0FBTyxDQUFDO29CQUNaLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7d0JBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7NEJBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3RCLENBQUMsQ0FBQyxDQUFDO3FCQUNKO29CQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO29CQUMxQixRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM5QixDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO3dHQTFPVSxzQ0FBc0M7NEZBQXRDLHNDQUFzQywrS0N0Qm5ELDQ2REE0REE7OzRGRHRDYSxzQ0FBc0M7a0JBUGxELFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyx1Q0FBdUMsY0FHckMsS0FBSztvUEFRRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IEl0aW5lcmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19tb2RlbHMvSXRpbmVyYXJ5JztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9sb2NhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGliTWFwc0NvbXBvbmVudCB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBJdGluZXJhcnlEcmF3TW9kZVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuZHJhd21vZGUudHJhbnNmZXInO1xyXG5pbXBvcnQgeyBJQ29uZGl0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvY29uZGl0aW9ucyc7XHJcbmNvbnN0IGRlZmF1bHRJY29uID0gJ2Fzc2V0cy9pY29ucy9tYXAtbWFya2Vycy15ZWxsb3cuc3ZnJztcclxuY29uc3Qgc2VsZWN0ZWRJY29uID0gJ2Fzc2V0cy9pY29ucy9yZXN0dS1pY29uLWxhcmdlLnN2Zyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHNlbGVjdG9yOiAnbGliLWNyZWF0ZS1pdGluZXJhcnktbm8tdmlzdWFsLWZpbHRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIuY29tcG9uZW50LmNzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlSXRpbmVyYXJ5Tm9WaXN1YWxGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIGlzT3BlbiA9IHRydWU7XHJcbiAgYWN0aW9uczogc3RyaW5nW10gPSBbSUNPTlNbJ2xvY2F0aW9uJ10sIElDT05TWydwZW5jaWwnXSwgSUNPTlNbJ2JhbiddXTtcclxuICBzZWxlY3RlZDogc3RyaW5nID0gdGhpcy5hY3Rpb25zWzJdO1xyXG4gIGl0aW5lcmFyeSE6IEl0aW5lcmFyeSB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCdsaWJNYXAnKSBsaWJNYXAhOiBMaWJNYXBzQ29tcG9uZW50O1xyXG4gIGluaXRpYWxMb2NhdGlvbiA9IHsgbGF0OiAyNC44NjA3LCBsbmc6IDY3LjAwMTEgfTtcclxuICBzZWxlY3RlZE1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdID0gW107XHJcbiAgcGxhY2VNYXJrZXJzOiB7XHJcbiAgICBtYXJrZXI6IGdvb2dsZS5tYXBzLk1hcmtlcixcclxuICAgIHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRcclxuICB9W10gPSBbXTtcclxuICBvcGVuRmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHBsb3R0ZWRNYXJrZXJzOiBnb29nbGUubWFwcy5NYXJrZXJbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgaXRpbmVyYXJ5U2VydmljZTogSXRpbmVyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYXRpb25TZXJ2aWNlOiBMb2NhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHRyYW5zZmVyU2VydmljZTogSXRpbmVyYXJ5RHJhd01vZGVUcmFuc2ZlclNlcnZpY2VcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBzZWFyY2hSZXN0YXVyYW50c0luVmlldygpIHtcclxuICAgIGNvbnN0IG1hcCA9IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhO1xyXG4gICAgaWYgKG1hcCkge1xyXG4gICAgICBjb25zdCBib3VuZHMgPSBtYXAuZ2V0Qm91bmRzKCk7IC8vIEdldCBjdXJyZW50IHZpc2libGUgYXJlYVxyXG4gICAgICBpZiAoIWJvdW5kcykgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3Qgc2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZShtYXApO1xyXG5cclxuICAgICAgc2VydmljZS5uZWFyYnlTZWFyY2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYm91bmRzOiBib3VuZHMsXHJcbiAgICAgICAgICB0eXBlOiAncmVzdGF1cmFudCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoXHJcbiAgICAgICAgICByZXN1bHRzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRbXSB8IG51bGwsXHJcbiAgICAgICAgICBzdGF0dXM6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzLFxyXG4gICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2VTdGF0dXMuT0sgJiYgcmVzdWx0cykge1xyXG4gICAgICAgICAgICByZXN1bHRzLmZvckVhY2goKHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmFkZEN1c3RvbU1hcmtlcihwbGFjZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRDdXN0b21NYXJrZXIocGxhY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdCkge1xyXG4gICAgY29uc3QgbWFya2VyID0gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCxcclxuICAgICAgcG9zaXRpb246IHBsYWNlLmdlb21ldHJ5Py5sb2NhdGlvbixcclxuICAgICAgdGl0bGU6IHBsYWNlLm5hbWUsXHJcbiAgICAgIGljb246IHtcclxuICAgICAgICB1cmw6ICdhc3NldHMvaWNvbnMvbWFwLW1hcmtlcnMteWVsbG93LnN2ZycsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMucGxvdHRlZE1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgdGhpcy5wbGFjZU1hcmtlcnMucHVzaCh7XHJcbiAgICAgIHBsYWNlOiBwbGFjZSxcclxuICAgICAgbWFya2VyOiBtYXJrZXJcclxuICAgIH0pO1xyXG4gICAgbWFya2VyLmFkZExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgLy8gVG9nZ2xlIHNlbGVjdGlvblxyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRNYXJrZXJzLmluZGV4T2YobWFya2VyKTtcclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgLy8gTWFya2VyIHdhcyBhbHJlYWR5IHNlbGVjdGVkIOKGkiBkZXNlbGVjdFxyXG4gICAgICAgIG1hcmtlci5zZXRJY29uKGRlZmF1bHRJY29uKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2Vycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIFNlbGVjdCBtYXJrZXJcclxuICAgICAgICBtYXJrZXIuc2V0SWNvbihzZWxlY3RlZEljb24pO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb250aW51ZUJ1aWxkaW5nKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRQbGFjZXMgPSB0aGlzLnNlbGVjdGVkTWFya2Vycy5tYXAoKHNlbGVjdGVkTWFya2VyKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBsYWNlTWFya2VyID0gdGhpcy5wbGFjZU1hcmtlcnMuZmluZChwbGFjZU1hcmtlciA9PiBwbGFjZU1hcmtlci5tYXJrZXIgPT09IHNlbGVjdGVkTWFya2VyKTtcclxuICAgICAgcmV0dXJuIHBsYWNlTWFya2VyIS5wbGFjZTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgYWxsUGxhY2VzID0gdGhpcy5wbGFjZU1hcmtlcnMubWFwKHBsYWNlTWFya2VyID0+IHBsYWNlTWFya2VyLnBsYWNlKTtcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldFBsYWNlcyhhbGxQbGFjZXMpO1xyXG4gICAgdGhpcy50cmFuc2ZlclNlcnZpY2Uuc2V0U2VsZWN0ZWRQbGFjZXMoc2VsZWN0ZWRQbGFjZXMpO1xyXG4gICAgdGhpcy50cmFuc2ZlclNlcnZpY2Uuc2V0Q3VycmVudExvY2F0aW9uKHRoaXMuaW5pdGlhbExvY2F0aW9uKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXHJcbiAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUlksXHJcbiAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX05PX1ZJU1VBTF9GSUxURVJfTU9ERSxcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUllfTk9fVklTVUFMX0ZJTFRFUl9NT0RFX1BSRVZJRVcsXHJcbiAgICAgIHRoaXMuaXRpbmVyYXJ5Py5pZFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRMb2NhdGlvbigpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2F0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcD8uc2V0Q2VudGVyKHtcclxuICAgICAgICAgIGxhdDogbG9jYXRpb24ubGF0LFxyXG4gICAgICAgICAgbG5nOiBsb2NhdGlvbi5sb25nXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vU2V0IHRoZSBpbml0aWFsIGxvY2F0aW9uIG9mIHRoZSB1c2VyXHJcbiAgICAgICAgdGhpcy5pbml0aWFsTG9jYXRpb24gPSB7XHJcbiAgICAgICAgICBsYXQ6IGxvY2F0aW9uLmxhdCxcclxuICAgICAgICAgIGxuZzogbG9jYXRpb24ubG9uZ1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwPy5zZXRab29tKDE1KTtcclxuXHJcbiAgICAgICAgLy9BZGQgbWFya2VyIGZvciB1c2VyIHBvc2l0aW9uXHJcbiAgICAgICAgbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAsXHJcbiAgICAgICAgICBwb3NpdGlvbjoge1xyXG4gICAgICAgICAgICBsYXQ6IGxvY2F0aW9uLmxhdCxcclxuICAgICAgICAgICAgbG5nOiBsb2NhdGlvbi5sb25nXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdGl0bGU6ICdZb3UgYXJlIGhlcmUnLFxyXG4gICAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgICB1cmw6ICdhc3NldHMvY3VycmVudF9sb2NhdGlvbi5zdmcnLFxyXG4gICAgICAgICAgICBzY2FsZWRTaXplOiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSg0MCwgNDApLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN0YXVyYW50c0luVmlldygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dCb3R0b21Nb2RhbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB0aGlzLml0aW5lcmFyeSA9IHRoaXMuaXRpbmVyYXJ5U2VydmljZS5nZXRCeUlkKGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpIHtcclxuICAgIHRoaXMub3BlbkZpbHRlcnMgPSAhdGhpcy5vcGVuRmlsdGVycztcclxuICB9XHJcblxyXG4gIG9uUHJlc2V0c0NoYW5nZWQoY29uZGl0aW9uczogSUNvbmRpdGlvbnNbXSkge1xyXG4gICAgdGhpcy5maWx0ZXJQbGFjZXNJblZpZXcoY29uZGl0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBvbmJhY2tCdXR0b25DbGlja2VkKCkge1xyXG4gICAgdGhpcy50b2dnbGVGaWx0ZXIoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUFjdGlvbihhY3Rpb246IHN0cmluZykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gYWN0aW9uO1xyXG4gICAgICBpZihhY3Rpb24gPT09IHRoaXMuYWN0aW9uc1swXSkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUlksXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9PUklHSU4sXHJcbiAgICAgICAgICB0aGlzLml0aW5lcmFyeT8uaWRcclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgICBpZihhY3Rpb24gPT09IHRoaXMuYWN0aW9uc1sxXSkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUlksXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9EUkFXX01PREUsXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9EUkFXX01PREVfQ1JFQVRFLFxyXG4gICAgICAgICAgdGhpcy5pdGluZXJhcnk/LmlkLFxyXG4gICAgICAgIF0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIGZpbHRlclBsYWNlc0luVmlldyhmaWx0ZXJzOiBJQ29uZGl0aW9uc1tdKSB7XHJcbiAgY29uc3QgbWFwID0gdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCE7XHJcbiAgICBpZiAobWFwKSB7XHJcbiAgICAgIGNvbnN0IGJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTsgLy8gR2V0IGN1cnJlbnQgdmlzaWJsZSBhcmVhXHJcbiAgICAgIGlmICghYm91bmRzKSByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCBzZXJ2aWNlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlKG1hcCk7XHJcblxyXG4gICAgICAvLyBFeHRyYWN0IHZhbHVlcyBmcm9tIGZpbHRlcnNcclxuICAgICAgbGV0IHR5cGVGaWx0ZXI6IHN0cmluZyB8IGJvb2xlYW47XHJcbiAgICAgIGxldCBvcGVuTm93RmlsdGVyOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gICAgICBsZXQgcmF0aW5nRmlsdGVyOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlcjogSUNvbmRpdGlvbnMpID0+IHtcclxuICAgICAgICBpZiAoZmlsdGVyLmZpZWxkID09PSAndHlwZScpIHtcclxuICAgICAgICAgIHR5cGVGaWx0ZXIgPSBmaWx0ZXIuY29uZGl0aW9uO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLmZpZWxkID09PSAnb3Blbl9ub3cnKSB7XHJcbiAgICAgICAgICBvcGVuTm93RmlsdGVyID0gZmlsdGVyLmNvbmRpdGlvbiA9PT0gJ3RydWUnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLmZpZWxkID09PSAncmF0aW5nJykge1xyXG4gICAgICAgICAgY29uc3QgbWF0Y2ggPSAoZmlsdGVyLmNvbmRpdGlvbiBhcyBzdHJpbmcpLm1hdGNoKC8+PVxccyooXFxkKyg/OlxcLlxcZCspPykvKTtcclxuICAgICAgICAgIGlmIChtYXRjaCkge1xyXG4gICAgICAgICAgICByYXRpbmdGaWx0ZXIgPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgc2VydmljZS5uZWFyYnlTZWFyY2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYm91bmRzOiBib3VuZHMsXHJcbiAgICAgICAgICB0eXBlOiB0eXBlRmlsdGVyISBhcyBzdHJpbmcsIC8vIGUuZy4gJ3Jlc3RhdXJhbnQnXHJcbiAgICAgICAgICBvcGVuTm93OiBvcGVuTm93RmlsdGVyLCAvLyB0cnVlIG9yIGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoXHJcbiAgICAgICAgICByZXN1bHRzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRbXSB8IG51bGwsXHJcbiAgICAgICAgICBzdGF0dXM6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzXHJcbiAgICAgICAgKSA9PiB7XHJcbiAgICAgICAgICBpZiAoc3RhdHVzID09PSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZVN0YXR1cy5PSyAmJiByZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkID0gcmF0aW5nRmlsdGVyXHJcbiAgICAgICAgICAgICAgPyByZXN1bHRzLmZpbHRlcihwbGFjZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJhdGluZyA9IHBsYWNlLnJhdGluZyA/PyAwO1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmF0aW5nID49IHJhdGluZ0ZpbHRlciE7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIDogcmVzdWx0cztcclxuICAgICAgICAgICAgaWYodGhpcy5wbG90dGVkTWFya2Vycy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLnBsb3R0ZWRNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgbWFya2VyLnNldE1hcChudWxsKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VycyA9IFtdO1xyXG4gICAgICAgICAgICBmaWx0ZXJlZC5mb3JFYWNoKHBsYWNlID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmFkZEN1c3RvbU1hcmtlcihwbGFjZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFwcC1jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlclxyXG4gIFtwcm9ncmVzc0JhclZhbHVlXT1cIjUwXCJcclxuICBoZWFkaW5nPVwiQ3JlYXRlIEl0aW5lcmFyeVwiXHJcbj48L2FwcC1jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlcj5cclxuPGltZ1xyXG4gICAgKGNsaWNrKT1cInRvZ2dsZUZpbHRlcigpXCJcclxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxMHB4OyB0b3A6IDIwJTsgei1pbmRleDogOTk7XCJcclxuICAgIFtzcmNdPVwiSUNPTlNbJ2RvdHNJY29uJ11cIlxyXG4gICAgYWx0PVwiaWNvblwiXHJcbiAgICBoZWlnaHQ9XCI0MFwiXHJcbiAgICB3aWR0aD1cIjQwXCJcclxuICAvPlxyXG48bGliLW1hcCAjbGliTWFwIGNsYXNzPVwibWFwcy0xMDB2aFwiPjwvbGliLW1hcD5cclxuPGRpdiBjbGFzcz1cImZpbHRlci1wYWdlXCIgKm5nSWY9XCJvcGVuRmlsdGVyc1wiPlxyXG4gIDxsaWItbm8tdmlzdWFsLW1hcC1maWx0ZXJzXHJcbiAgICAocHJlc2V0c0NoYW5nZWQpPVwib25QcmVzZXRzQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgIChiYWNrQnV0dG9uQ2xpY2tlZCk9XCJvbmJhY2tCdXR0b25DbGlja2VkKClcIlxyXG4gID48L2xpYi1uby12aXN1YWwtbWFwLWZpbHRlcnM+XHJcbjwvZGl2PlxyXG48bGliLWJvdHRvbS1tb2RhbFxyXG4gIFtzaG93QXJyb3ddPVwidHJ1ZVwiXHJcbiAgWyhpc09wZW4pXT1cImlzT3BlblwiXHJcbiAgW2FkYXB0VG9Db250ZW50SGVpZ2h0XT1cInRydWVcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cInBsLTQgcHItNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJmb250LUNhbGlzdG9nYSB0ZXh0LWxnXCI+e3sgXCJOT19WSVNVQUxfRklMVEVSU1wifCB0cmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0YWJsZXMgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAoY2xpY2spPVwidXBkYXRlQWN0aW9uKGEpXCJcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYWN0aW9uc1wiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYSBvZiBhY3Rpb25zXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGEgPT09IHNlbGVjdGVkIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJhXCIgYWx0PVwiaWNvblwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxwIGNsYXNzPVwibXQtMyBtYi00XCI+e3sgXCJOT19WSVNVQUxfRklMVEVSU1wifCB0cmFuc2xhdGUgfX08L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGxpYi1mb290ZXItc2hhcmVkXHJcbiAgICAoY29udGludWVCdXR0b25DbGljayk9XCJjb250aW51ZUJ1aWxkaW5nKClcIlxyXG4gICAgW2NhbkNvbnRpbnVlXT1cInRydWVcIlxyXG4gICAgW2NvbnRpbnVlQnV0dG9uVGV4dF09XCInQ09NTU9OLkNPTlRJTlVFJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICA+PC9saWItZm9vdGVyLXNoYXJlZD5cclxuPC9saWItYm90dG9tLW1vZGFsPlxyXG48ZGl2XHJcbiAgKGNsaWNrKT1cInNob3dCb3R0b21Nb2RhbCgpXCJcclxuICBjbGFzcz1cImFic29sdXRlIGJvdHRvbS0wIGN1cnNvci1wb2ludGVyIHotMTBcIlxyXG4gIHN0eWxlPVwibGVmdDogNTAlXCJcclxuPlxyXG4gIDxpbWdcclxuICAgIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKVwiXHJcbiAgICBbc3JjXT1cIklDT05TWydyaWdodEFycm93J11cIlxyXG4gICAgYWx0PVwiaWNvblwiXHJcbiAgICBoZWlnaHQ9XCIxNVwiXHJcbiAgICB3aWR0aD1cIjE1XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIvY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIvY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQXFCLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPdEYsTUFBTSxXQUFXLEdBQUcscUNBQXFDLENBQUM7QUFDMUQsTUFBTSxZQUFZLEdBQUcsbUNBQW1DLENBQUM7QUFVekQsTUFBTSxPQUFPLHNDQUFzQztJQWlCdkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBckJWLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNkLE9BQU8sR0FBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMs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RCxFQUNoRCxNQUE4QyxFQUM5QyxFQUFFO2dCQUNGLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxPQUFPLEVBQUU7b0JBQ25FLE1BQU0sUUFBUSxHQUFHLFlBQVk7d0JBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUNyQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQzs0QkFDakMsT0FBTyxNQUFNLElBQUksWUFBYSxDQUFDO3dCQUNqQyxDQUFDLENBQUM7d0JBQ0osQ0FBQyxDQUFDLE9BQU8sQ0FBQztvQkFDWixJQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO3dCQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFOzRCQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN0QixDQUFDLENBQUMsQ0FBQztxQkFDSjtvQkFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztvQkFDMUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDOUIsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQzt3R0ExT1Usc0NBQXNDOzRGQUF0QyxzQ0FBc0MsK0tDdEJuRCw0NkRBNERBOzs0RkR0Q2Esc0NBQXNDO2tCQVBsRCxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsdUNBQXVDLGNBR3JDLEtBQUs7b1BBUUUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJdGluZXJhcmllc1JvdXRlc0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fZW51bXMvSXRlbmFyaWVzUm91dGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJdGluZXJhcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fbW9kZWxzL0l0aW5lcmFyeSc7XHJcbmltcG9ydCB7IEl0aW5lcmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fc2VydmljZXMvaXRpbmVyYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fc2VydmljZXMvbG9jYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IExpYk1hcHNDb21wb25lbnQgfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5RHJhd01vZGVUcmFuc2ZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fc2VydmljZXMvaXRpbmVyYXJ5LmRyYXdtb2RlLnRyYW5zZmVyJztcclxuaW1wb3J0IHsgSUNvbmRpdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9faW50ZXJmYWNlL2NvbmRpdGlvbnMnO1xyXG5jb25zdCBkZWZhdWx0SWNvbiA9ICdhc3NldHMvaWNvbnMvbWFwLW1hcmtlcnMteWVsbG93LnN2Zyc7XHJcbmNvbnN0IHNlbGVjdGVkSWNvbiA9ICdhc3NldHMvaWNvbnMvcmVzdHUtaWNvbi1sYXJnZS5zdmcnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzZWxlY3RvcjogJ2xpYi1jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1pdGluZXJhcnktbm8tdmlzdWFsLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5jc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZUl0aW5lcmFyeU5vVmlzdWFsRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBpc09wZW4gPSB0cnVlO1xyXG4gIGFjdGlvbnM6IHN0cmluZ1tdID0gW0lDT05TWydsb2NhdGlvbiddLCBJQ09OU1sncGVuY2lsJ10sIElDT05TWydiYW4nXV07XHJcbiAgc2VsZWN0ZWQ6IHN0cmluZyA9IHRoaXMuYWN0aW9uc1syXTtcclxuICBpdGluZXJhcnkhOiBJdGluZXJhcnkgfCB1bmRlZmluZWQ7XHJcbiAgQFZpZXdDaGlsZCgnbGliTWFwJykgbGliTWFwITogTGliTWFwc0NvbXBvbmVudDtcclxuICBpbml0aWFsTG9jYXRpb24gPSB7IGxhdDogMjQuODYwNywgbG5nOiA2Ny4wMDExIH07XHJcbiAgc2VsZWN0ZWRNYXJrZXJzOiBnb29nbGUubWFwcy5NYXJrZXJbXSA9IFtdO1xyXG4gIHBsYWNlTWFya2Vyczoge1xyXG4gICAgbWFya2VyOiBnb29nbGUubWFwcy5NYXJrZXIsXHJcbiAgICBwbGFjZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0XHJcbiAgfVtdID0gW107XHJcbiAgb3BlbkZpbHRlcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwbG90dGVkTWFya2VyczogZ29vZ2xlLm1hcHMuTWFya2VyW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGl0aW5lcmFyeVNlcnZpY2U6IEl0aW5lcmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uU2VydmljZTogTG9jYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2ZlclNlcnZpY2U6IEl0aW5lcmFyeURyYXdNb2RlVHJhbnNmZXJTZXJ2aWNlXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgc2VhcmNoUmVzdGF1cmFudHNJblZpZXcoKSB7XHJcbiAgICBjb25zdCBtYXAgPSB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwITtcclxuICAgIGlmIChtYXApIHtcclxuICAgICAgY29uc3QgYm91bmRzID0gbWFwLmdldEJvdW5kcygpOyAvLyBHZXQgY3VycmVudCB2aXNpYmxlIGFyZWFcclxuICAgICAgaWYgKCFib3VuZHMpIHJldHVybjtcclxuXHJcbiAgICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2UobWFwKTtcclxuXHJcbiAgICAgIHNlcnZpY2UubmVhcmJ5U2VhcmNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJvdW5kczogYm91bmRzLFxyXG4gICAgICAgICAgdHlwZTogJ3Jlc3RhdXJhbnQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKFxyXG4gICAgICAgICAgcmVzdWx0czogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0W10gfCBudWxsLFxyXG4gICAgICAgICAgc3RhdHVzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZVN0YXR1cyxcclxuICAgICAgICApID0+IHtcclxuICAgICAgICAgIGlmIChzdGF0dXMgPT09IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzLk9LICYmIHJlc3VsdHMpIHtcclxuICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChwbGFjZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hZGRDdXN0b21NYXJrZXIocGxhY2UpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkQ3VzdG9tTWFya2VyKHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQpIHtcclxuICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAsXHJcbiAgICAgIHBvc2l0aW9uOiBwbGFjZS5nZW9tZXRyeT8ubG9jYXRpb24sXHJcbiAgICAgIHRpdGxlOiBwbGFjZS5uYW1lLFxyXG4gICAgICBpY29uOiB7XHJcbiAgICAgICAgdXJsOiAnYXNzZXRzL2ljb25zL21hcC1tYXJrZXJzLXllbGxvdy5zdmcnLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBsb3R0ZWRNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgIHRoaXMucGxhY2VNYXJrZXJzLnB1c2goe1xyXG4gICAgICBwbGFjZTogcGxhY2UsXHJcbiAgICAgIG1hcmtlcjogbWFya2VyXHJcbiAgICB9KTtcclxuICAgIG1hcmtlci5hZGRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIC8vIFRvZ2dsZSBzZWxlY3Rpb25cclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkTWFya2Vycy5pbmRleE9mKG1hcmtlcik7XHJcblxyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIC8vIE1hcmtlciB3YXMgYWxyZWFkeSBzZWxlY3RlZCDihpIgZGVzZWxlY3RcclxuICAgICAgICBtYXJrZXIuc2V0SWNvbihkZWZhdWx0SWNvbik7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBTZWxlY3QgbWFya2VyXHJcbiAgICAgICAgbWFya2VyLnNldEljb24oc2VsZWN0ZWRJY29uKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2Vycy5wdXNoKG1hcmtlcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udGludWVCdWlsZGluZygpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkUGxhY2VzID0gdGhpcy5zZWxlY3RlZE1hcmtlcnMubWFwKChzZWxlY3RlZE1hcmtlcikgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZU1hcmtlciA9IHRoaXMucGxhY2VNYXJrZXJzLmZpbmQocGxhY2VNYXJrZXIgPT4gcGxhY2VNYXJrZXIubWFya2VyID09PSBzZWxlY3RlZE1hcmtlcik7XHJcbiAgICAgIHJldHVybiBwbGFjZU1hcmtlciEucGxhY2U7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGFsbFBsYWNlcyA9IHRoaXMucGxhY2VNYXJrZXJzLm1hcChwbGFjZU1hcmtlciA9PiBwbGFjZU1hcmtlci5wbGFjZSk7XHJcbiAgICB0aGlzLnRyYW5zZmVyU2VydmljZS5zZXRQbGFjZXMoYWxsUGxhY2VzKTtcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldFNlbGVjdGVkUGxhY2VzKHNlbGVjdGVkUGxhY2VzKTtcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldEN1cnJlbnRMb2NhdGlvbih0aGlzLmluaXRpYWxMb2NhdGlvbik7XHJcblxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9OT19WSVNVQUxfRklMVEVSX01PREUsXHJcbiAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX05PX1ZJU1VBTF9GSUxURVJfTU9ERV9QUkVWSUVXLFxyXG4gICAgICB0aGlzLml0aW5lcmFyeT8uaWRcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICB0aGlzLmxvY2F0aW9uU2VydmljZS5nZXRDdXJyZW50TG9jYXRpb24oKVxyXG4gICAgICAuc3Vic2NyaWJlKChsb2NhdGlvbikgPT4ge1xyXG4gICAgICAgIHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXA/LnNldENlbnRlcih7XHJcbiAgICAgICAgICBsYXQ6IGxvY2F0aW9uLmxhdCxcclxuICAgICAgICAgIGxuZzogbG9jYXRpb24ubG9uZ1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvL1NldCB0aGUgaW5pdGlhbCBsb2NhdGlvbiBvZiB0aGUgdXNlclxyXG4gICAgICAgIHRoaXMuaW5pdGlhbExvY2F0aW9uID0ge1xyXG4gICAgICAgICAgbGF0OiBsb2NhdGlvbi5sYXQsXHJcbiAgICAgICAgICBsbmc6IGxvY2F0aW9uLmxvbmdcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcD8uc2V0Wm9vbSgxNSk7XHJcblxyXG4gICAgICAgIC8vQWRkIG1hcmtlciBmb3IgdXNlciBwb3NpdGlvblxyXG4gICAgICAgIG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICAgICAgbWFwOiB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwLFxyXG4gICAgICAgICAgcG9zaXRpb246IHtcclxuICAgICAgICAgICAgbGF0OiBsb2NhdGlvbi5sYXQsXHJcbiAgICAgICAgICAgIGxuZzogbG9jYXRpb24ubG9uZ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRpdGxlOiAnWW91IGFyZSBoZXJlJyxcclxuICAgICAgICAgIGljb246IHtcclxuICAgICAgICAgICAgdXJsOiAnYXNzZXRzL2N1cnJlbnRfbG9jYXRpb24uc3ZnJyxcclxuICAgICAgICAgICAgc2NhbGVkU2l6ZTogbmV3IGdvb2dsZS5tYXBzLlNpemUoNDAsIDQwKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VhcmNoUmVzdGF1cmFudHNJblZpZXcoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93Qm90dG9tTW9kYWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXNbJ2lkJ107XHJcbiAgICBpZiAoaWQpIHtcclxuICAgICAgdGhpcy5pdGluZXJhcnkgPSB0aGlzLml0aW5lcmFyeVNlcnZpY2UuZ2V0QnlJZChpZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVGaWx0ZXIoKSB7XHJcbiAgICB0aGlzLm9wZW5GaWx0ZXJzID0gIXRoaXMub3BlbkZpbHRlcnM7XHJcbiAgfVxyXG5cclxuICBvblByZXNldHNDaGFuZ2VkKGNvbmRpdGlvbnM6IElDb25kaXRpb25zW10pIHtcclxuICAgIHRoaXMuZmlsdGVyUGxhY2VzSW5WaWV3KGNvbmRpdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgb25iYWNrQnV0dG9uQ2xpY2tlZCgpIHtcclxuICAgIHRoaXMudG9nZ2xlRmlsdGVyKCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVBY3Rpb24oYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGFjdGlvbjtcclxuICAgICAgaWYoYWN0aW9uID09PSB0aGlzLmFjdGlvbnNbMF0pIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUllfT1JJR0lOLFxyXG4gICAgICAgICAgdGhpcy5pdGluZXJhcnk/LmlkXHJcbiAgICAgICAgXSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYoYWN0aW9uID09PSB0aGlzLmFjdGlvbnNbMV0pIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUllfRFJBV19NT0RFLFxyXG4gICAgICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUllfRFJBV19NT0RFX0NSRUFURSxcclxuICAgICAgICAgIHRoaXMuaXRpbmVyYXJ5Py5pZCxcclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICBmaWx0ZXJQbGFjZXNJblZpZXcoZmlsdGVyczogSUNvbmRpdGlvbnNbXSkge1xyXG4gIGNvbnN0IG1hcCA9IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhO1xyXG4gICAgaWYgKG1hcCkge1xyXG4gICAgICBjb25zdCBib3VuZHMgPSBtYXAuZ2V0Qm91bmRzKCk7IC8vIEdldCBjdXJyZW50IHZpc2libGUgYXJlYVxyXG4gICAgICBpZiAoIWJvdW5kcykgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3Qgc2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZShtYXApO1xyXG5cclxuICAgICAgLy8gRXh0cmFjdCB2YWx1ZXMgZnJvbSBmaWx0ZXJzXHJcbiAgICAgIGxldCB0eXBlRmlsdGVyOiBzdHJpbmcgfCBib29sZWFuO1xyXG4gICAgICBsZXQgb3Blbk5vd0ZpbHRlcjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICAgICAgbGV0IHJhdGluZ0ZpbHRlcjogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgICAgZmlsdGVycy5mb3JFYWNoKChmaWx0ZXI6IElDb25kaXRpb25zKSA9PiB7XHJcbiAgICAgICAgaWYgKGZpbHRlci5maWVsZCA9PT0gJ3R5cGUnKSB7XHJcbiAgICAgICAgICB0eXBlRmlsdGVyID0gZmlsdGVyLmNvbmRpdGlvbjtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlci5maWVsZCA9PT0gJ29wZW5fbm93Jykge1xyXG4gICAgICAgICAgb3Blbk5vd0ZpbHRlciA9IGZpbHRlci5jb25kaXRpb24gPT09ICd0cnVlJztcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlci5maWVsZCA9PT0gJ3JhdGluZycpIHtcclxuICAgICAgICAgIGNvbnN0IG1hdGNoID0gKGZpbHRlci5jb25kaXRpb24gYXMgc3RyaW5nKS5tYXRjaCgvPj1cXHMqKFxcZCsoPzpcXC5cXGQrKT8pLyk7XHJcbiAgICAgICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICAgICAgcmF0aW5nRmlsdGVyID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHNlcnZpY2UubmVhcmJ5U2VhcmNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJvdW5kczogYm91bmRzLFxyXG4gICAgICAgICAgdHlwZTogdHlwZUZpbHRlciEgYXMgc3RyaW5nLCAvLyBlLmcuICdyZXN0YXVyYW50J1xyXG4gICAgICAgICAgb3Blbk5vdzogb3Blbk5vd0ZpbHRlciwgLy8gdHJ1ZSBvciBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKFxyXG4gICAgICAgICAgcmVzdWx0czogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0W10gfCBudWxsLFxyXG4gICAgICAgICAgc3RhdHVzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZVN0YXR1c1xyXG4gICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2VTdGF0dXMuT0sgJiYgcmVzdWx0cykge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IHJhdGluZ0ZpbHRlclxyXG4gICAgICAgICAgICAgID8gcmVzdWx0cy5maWx0ZXIocGxhY2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCByYXRpbmcgPSBwbGFjZS5yYXRpbmcgPz8gMDtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHJhdGluZyA+PSByYXRpbmdGaWx0ZXIhO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICA6IHJlc3VsdHM7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGxvdHRlZE1hcmtlcnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wbG90dGVkTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIG1hcmtlci5zZXRNYXAobnVsbCk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlcnMgPSBbXTtcclxuICAgICAgICAgICAgZmlsdGVyZWQuZm9yRWFjaChwbGFjZSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hZGRDdXN0b21NYXJrZXIocGxhY2UpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXJcclxuICBbcHJvZ3Jlc3NCYXJWYWx1ZV09XCI1MFwiXHJcbiAgaGVhZGluZz1cIkNyZWF0ZSBJdGluZXJhcnlcIlxyXG4+PC9hcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXI+XHJcbjxpbWdcclxuICAgIChjbGljayk9XCJ0b2dnbGVGaWx0ZXIoKVwiXHJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcclxuICAgIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyByaWdodDogMTBweDsgdG9wOiAyMCU7IHotaW5kZXg6IDk5O1wiXHJcbiAgICBbc3JjXT1cIklDT05TWydkb3RzSWNvbiddXCJcclxuICAgIGFsdD1cImljb25cIlxyXG4gICAgaGVpZ2h0PVwiNDBcIlxyXG4gICAgd2lkdGg9XCI0MFwiXHJcbiAgLz5cclxuPGxpYi1tYXAgI2xpYk1hcCBjbGFzcz1cIm1hcHMtMTAwdmhcIj48L2xpYi1tYXA+XHJcbjxkaXYgY2xhc3M9XCJmaWx0ZXItcGFnZVwiICpuZ0lmPVwib3BlbkZpbHRlcnNcIj5cclxuICA8bGliLW5vLXZpc3VhbC1tYXAtZmlsdGVyc1xyXG4gICAgKHByZXNldHNDaGFuZ2VkKT1cIm9uUHJlc2V0c0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAoYmFja0J1dHRvbkNsaWNrZWQpPVwib25iYWNrQnV0dG9uQ2xpY2tlZCgpXCJcclxuICA+PC9saWItbm8tdmlzdWFsLW1hcC1maWx0ZXJzPlxyXG48L2Rpdj5cclxuPGFwcC1ib3R0b20tbW9kYWxcclxuICBbc2hvd0Fycm93XT1cInRydWVcIlxyXG4gIFsoaXNPcGVuKV09XCJpc09wZW5cIlxyXG4gIFthZGFwdFRvQ29udGVudEhlaWdodF09XCJ0cnVlXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJwbC00IHByLTRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgPGgzIGNsYXNzPVwiZm9udC1DYWxpc3RvZ2EgdGV4dC1sZ1wiPnt7IFwiTk9fVklTVUFMX0ZJTFRFUlNcInwgdHJhbnNsYXRlIH19PC9oMz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGFibGVzIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZUFjdGlvbihhKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGFjdGlvbnNcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGEgb2YgYWN0aW9uc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBhID09PSBzZWxlY3RlZCB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiYVwiIGFsdD1cImljb25cIiBsb2FkaW5nPVwibGF6eVwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8cCBjbGFzcz1cIm10LTMgbWItNFwiPnt7IFwiTk9fVklTVUFMX0ZJTFRFUlNcInwgdHJhbnNsYXRlIH19PC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxsaWItZm9vdGVyLXNoYXJlZFxyXG4gICAgKGNvbnRpbnVlQnV0dG9uQ2xpY2spPVwiY29udGludWVCdWlsZGluZygpXCJcclxuICAgIFtjYW5Db250aW51ZV09XCJ0cnVlXCJcclxuICAgIFtjb250aW51ZUJ1dHRvblRleHRdPVwiJ0NPTU1PTi5DT05USU5VRScgfCB0cmFuc2xhdGVcIlxyXG4gICAgPjwvbGliLWZvb3Rlci1zaGFyZWQ+XHJcbjwvYXBwLWJvdHRvbS1tb2RhbD5cclxuPGRpdlxyXG4gIChjbGljayk9XCJzaG93Qm90dG9tTW9kYWwoKVwiXHJcbiAgY2xhc3M9XCJhYnNvbHV0ZSBib3R0b20tMCBjdXJzb3ItcG9pbnRlciB6LTEwXCJcclxuICBzdHlsZT1cImxlZnQ6IDUwJVwiXHJcbj5cclxuICA8aW1nXHJcbiAgICBzdHlsZT1cInRyYW5zZm9ybTogcm90YXRlKDI3MGRlZylcIlxyXG4gICAgW3NyY109XCJJQ09OU1sncmlnaHRBcnJvdyddXCJcclxuICAgIGFsdD1cImljb25cIlxyXG4gICAgaGVpZ2h0PVwiMTVcIlxyXG4gICAgd2lkdGg9XCIxNVwiXHJcbiAgLz5cclxuPC9kaXY+XHJcbiJdfQ==