@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
@@ -11,8 +11,7 @@ import * as i6 from "../../../../_services/navigation-helper.service";
11
11
  import * as i7 from "@angular/common";
12
12
  import * as i8 from "@naniteninja/ionic-lib";
13
13
  import * as i9 from "../../../../shared/cutom-card/cutom-card.component";
14
- import * as i10 from "../../../../shared/icon-button/icon-button.component";
15
- import * as i11 from "../../../../shared/action-card/action-card.component";
14
+ import * as i10 from "../../../../shared/action-card/action-card.component";
16
15
  export class BuilderComponent {
17
16
  itineraryService;
18
17
  cd;
@@ -89,10 +88,10 @@ export class BuilderComponent {
89
88
  this.sharePopupDataService.setPopupData(item);
90
89
  }
91
90
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BuilderComponent, deps: [{ token: i1.ItineraryService }, { token: i0.ChangeDetectorRef }, { token: i2.CustomDropdownMenuService }, { token: i3.TranslateService }, { token: i4.SharePopupDataService }, { token: i5.ActivatedRoute }, { token: i6.NavigationHelperService }], target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BuilderComponent, selector: "app-builder", ngImport: i0, template: "<div class=\"flex items-center justify-center flex-col mt-4\">\r\n <div class=\"w-full font-[Calistoga]\"><lib-icon-button (click)=\"handleAddButton()\" buttonText=\"Create new Itinerary\"></lib-icon-button></div>\r\n <div class=\"w-full flex justify-between text-[11.5px] mt-[18.5px] mb-[18.5px]\">\r\n <div>{{ \"ITINERARY.MY_CREATIONS\" | translate }}</div>\r\n <a (click)=\"navigateArchives()\" class=\"flex gap-[4px] archives-link cursor-pointer\"><img [src]=\"ICONS['archives']\" alt=\"map\" loading=\"lazy\" /> {{\"MAIN_ARCHIVES.ARCHIVES\" | translate }}</a>\r\n </div>\r\n <ng-container *ngIf=\"!loading && ((libMenuItems?.length ?? 0) > 0)\">\r\n <div class=\"pb-10 w-full\">\r\n <div\r\n class=\"grid-columns sm:mt-3 md:mt-10 grid grid-cols-1 md:grid-cols-3 sm:gap-y-5 md:gap-y-10 gap-x-10\"\r\n >\r\n <ng-container *ngFor=\"let item of libMenuItems; let i = index\">\r\n <app-cutom-card\r\n [libMenuItem]=\"libMenuItem\"\r\n [cardData]=\"item\"\r\n [isDraft]=\"false\"\r\n [itineraryStarted]=\"true\"\r\n [displayPublishStatus]=\"true\"\r\n (menuClicked)=\"menuClicked($event)\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && libMenuItems?.length === 0\">\r\n <img [src]=\"ICONS['map']\" alt=\"map\" loading=\"lazy\" />\r\n <h3\r\n class=\"mt-2 font-Calistoga font-normal text-[23px] leading-[160%] tracking-[0px]\"\r\n >\r\n {{ \"ITINERARY.ITENARY_NOT_FOUND\" | translate }}\r\n </h3>\r\n <p class=\"mt-2 mb-2\">{{ \"ITINERARY.CREATE_ITENARY_MESSAGE\" | translate }}</p>\r\n </ng-container>\r\n\r\n <div *ngIf=\"openActionMenu\" class=\"fixed inset-0 bg-black/50 z-40 flex flex-col justify-end\">\r\n <div class=\"pl-4 pr-4 mb-2\">\r\n <ng-container *ngFor=\"let singleActionItem of createActionMenuItems;\">\r\n <lib-action-card\r\n (actionCardClicked)=\"actionCardClicked()\"\r\n [actionName]=\"singleActionItem.actionItem\"\r\n [icon]=\"singleActionItem.icon\"\r\n [title]=\"singleActionItem.title\"\r\n [description]=\"singleActionItem.description\"\r\n ></lib-action-card>\r\n </ng-container>\r\n <lib-primary-btn (click)=\"hideActionMenu()\">{{\"ITINERARY.BACK\" | translate }}</lib-primary-btn>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["a.archives-link{color:var(--cyrano-pink-shade-1)}.lib-bottom-modal-actions{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.PrimaryBtnComponent, selector: "lib-primary-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "component", type: i9.CutomCardComponent, selector: "app-cutom-card", inputs: ["libMenuItem", "isDraft", "cardData", "displayPublishStatus", "images", "itineraryStarted"], outputs: ["StartItineraryClick", "TitleClicked", "forkClicked", "messageClicked", "userProfileClicked", "itineraryWatchingUsersClicked", "imageClicked", "eyeClicked", "menuClicked"] }, { kind: "component", type: i10.IconButtonComponent, selector: "lib-icon-button", inputs: ["buttonText"] }, { kind: "component", type: i11.ActionCardComponent, selector: "lib-action-card", inputs: ["icon", "title", "description", "actionName"], outputs: ["actionCardClicked"] }, { kind: "directive", type: i8.LazyImageDirective, selector: "img" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BuilderComponent, selector: "app-builder", ngImport: i0, template: "<div class=\"flex items-center justify-center flex-col mt-4\">\r\n <div class=\"w-full font-[Calistoga]\"><lib-primary-btn (click)=\"handleAddButton()\">Create new Itinerary</lib-primary-btn></div>\r\n <div class=\"w-full flex justify-between text-[11.5px] mt-[18.5px] mb-[18.5px]\">\r\n <div>{{ \"ITINERARY.MY_CREATIONS\" | translate }}</div>\r\n <a (click)=\"navigateArchives()\" class=\"flex gap-[4px] archives-link cursor-pointer\"><img [src]=\"ICONS['archives']\" alt=\"map\" loading=\"lazy\" /> {{\"MAIN_ARCHIVES.ARCHIVES\" | translate }}</a>\r\n </div>\r\n <ng-container *ngIf=\"!loading && ((libMenuItems?.length ?? 0) > 0)\">\r\n <div class=\"pb-10 w-full\">\r\n <div\r\n class=\"grid-columns sm:mt-3 md:mt-10 grid grid-cols-1 md:grid-cols-3 sm:gap-y-5 md:gap-y-10 gap-x-10\"\r\n >\r\n <ng-container *ngFor=\"let item of libMenuItems; let i = index\">\r\n <app-cutom-card\r\n [libMenuItem]=\"libMenuItem\"\r\n [cardData]=\"item\"\r\n [isDraft]=\"false\"\r\n [itineraryStarted]=\"true\"\r\n [displayPublishStatus]=\"true\"\r\n (menuClicked)=\"menuClicked($event)\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && libMenuItems?.length === 0\">\r\n <img [src]=\"ICONS['map']\" alt=\"map\" loading=\"lazy\" />\r\n <h3\r\n class=\"mt-2 font-Calistoga font-normal text-[23px] leading-[160%] tracking-[0px]\"\r\n >\r\n {{ \"ITINERARY.ITENARY_NOT_FOUND\" | translate }}\r\n </h3>\r\n <p class=\"mt-2 mb-2\">{{ \"ITINERARY.CREATE_ITENARY_MESSAGE\" | translate }}</p>\r\n </ng-container>\r\n\r\n <div *ngIf=\"openActionMenu\" class=\"fixed inset-0 bg-black/50 z-40 flex flex-col justify-end\">\r\n <div class=\"pl-4 pr-4 mb-2\">\r\n <ng-container *ngFor=\"let singleActionItem of createActionMenuItems;\">\r\n <lib-action-card\r\n (actionCardClicked)=\"actionCardClicked()\"\r\n [actionName]=\"singleActionItem.actionItem\"\r\n [icon]=\"singleActionItem.icon\"\r\n [title]=\"singleActionItem.title\"\r\n [description]=\"singleActionItem.description\"\r\n ></lib-action-card>\r\n </ng-container>\r\n <lib-primary-btn (click)=\"hideActionMenu()\">{{\"ITINERARY.BACK\" | translate }}</lib-primary-btn>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["a.archives-link{color:var(--cyrano-pink-shade-1)}.app-bottom-modal-actions{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.PrimaryBtnComponent, selector: "lib-primary-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "component", type: i9.CutomCardComponent, selector: "app-cutom-card", inputs: ["libMenuItem", "isDraft", "cardData", "displayPublishStatus", "images", "itineraryStarted"], outputs: ["StartItineraryClick", "TitleClicked", "forkClicked", "messageClicked", "userProfileClicked", "itineraryWatchingUsersClicked", "imageClicked", "eyeClicked", "menuClicked"] }, { kind: "component", type: i10.ActionCardComponent, selector: "lib-action-card", inputs: ["icon", "title", "description", "actionName"], outputs: ["actionCardClicked"] }, { kind: "directive", type: i8.LazyImageDirective, selector: "img" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
92
  }
94
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BuilderComponent, decorators: [{
95
94
  type: Component,
96
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-builder', standalone: false, template: "<div class=\"flex items-center justify-center flex-col mt-4\">\r\n <div class=\"w-full font-[Calistoga]\"><lib-icon-button (click)=\"handleAddButton()\" buttonText=\"Create new Itinerary\"></lib-icon-button></div>\r\n <div class=\"w-full flex justify-between text-[11.5px] mt-[18.5px] mb-[18.5px]\">\r\n <div>{{ \"ITINERARY.MY_CREATIONS\" | translate }}</div>\r\n <a (click)=\"navigateArchives()\" class=\"flex gap-[4px] archives-link cursor-pointer\"><img [src]=\"ICONS['archives']\" alt=\"map\" loading=\"lazy\" /> {{\"MAIN_ARCHIVES.ARCHIVES\" | translate }}</a>\r\n </div>\r\n <ng-container *ngIf=\"!loading && ((libMenuItems?.length ?? 0) > 0)\">\r\n <div class=\"pb-10 w-full\">\r\n <div\r\n class=\"grid-columns sm:mt-3 md:mt-10 grid grid-cols-1 md:grid-cols-3 sm:gap-y-5 md:gap-y-10 gap-x-10\"\r\n >\r\n <ng-container *ngFor=\"let item of libMenuItems; let i = index\">\r\n <app-cutom-card\r\n [libMenuItem]=\"libMenuItem\"\r\n [cardData]=\"item\"\r\n [isDraft]=\"false\"\r\n [itineraryStarted]=\"true\"\r\n [displayPublishStatus]=\"true\"\r\n (menuClicked)=\"menuClicked($event)\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && libMenuItems?.length === 0\">\r\n <img [src]=\"ICONS['map']\" alt=\"map\" loading=\"lazy\" />\r\n <h3\r\n class=\"mt-2 font-Calistoga font-normal text-[23px] leading-[160%] tracking-[0px]\"\r\n >\r\n {{ \"ITINERARY.ITENARY_NOT_FOUND\" | translate }}\r\n </h3>\r\n <p class=\"mt-2 mb-2\">{{ \"ITINERARY.CREATE_ITENARY_MESSAGE\" | translate }}</p>\r\n </ng-container>\r\n\r\n <div *ngIf=\"openActionMenu\" class=\"fixed inset-0 bg-black/50 z-40 flex flex-col justify-end\">\r\n <div class=\"pl-4 pr-4 mb-2\">\r\n <ng-container *ngFor=\"let singleActionItem of createActionMenuItems;\">\r\n <lib-action-card\r\n (actionCardClicked)=\"actionCardClicked()\"\r\n [actionName]=\"singleActionItem.actionItem\"\r\n [icon]=\"singleActionItem.icon\"\r\n [title]=\"singleActionItem.title\"\r\n [description]=\"singleActionItem.description\"\r\n ></lib-action-card>\r\n </ng-container>\r\n <lib-primary-btn (click)=\"hideActionMenu()\">{{\"ITINERARY.BACK\" | translate }}</lib-primary-btn>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["a.archives-link{color:var(--cyrano-pink-shade-1)}.lib-bottom-modal-actions{background-color:transparent}\n"] }]
95
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-builder', standalone: false, template: "<div class=\"flex items-center justify-center flex-col mt-4\">\r\n <div class=\"w-full font-[Calistoga]\"><lib-primary-btn (click)=\"handleAddButton()\">Create new Itinerary</lib-primary-btn></div>\r\n <div class=\"w-full flex justify-between text-[11.5px] mt-[18.5px] mb-[18.5px]\">\r\n <div>{{ \"ITINERARY.MY_CREATIONS\" | translate }}</div>\r\n <a (click)=\"navigateArchives()\" class=\"flex gap-[4px] archives-link cursor-pointer\"><img [src]=\"ICONS['archives']\" alt=\"map\" loading=\"lazy\" /> {{\"MAIN_ARCHIVES.ARCHIVES\" | translate }}</a>\r\n </div>\r\n <ng-container *ngIf=\"!loading && ((libMenuItems?.length ?? 0) > 0)\">\r\n <div class=\"pb-10 w-full\">\r\n <div\r\n class=\"grid-columns sm:mt-3 md:mt-10 grid grid-cols-1 md:grid-cols-3 sm:gap-y-5 md:gap-y-10 gap-x-10\"\r\n >\r\n <ng-container *ngFor=\"let item of libMenuItems; let i = index\">\r\n <app-cutom-card\r\n [libMenuItem]=\"libMenuItem\"\r\n [cardData]=\"item\"\r\n [isDraft]=\"false\"\r\n [itineraryStarted]=\"true\"\r\n [displayPublishStatus]=\"true\"\r\n (menuClicked)=\"menuClicked($event)\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && libMenuItems?.length === 0\">\r\n <img [src]=\"ICONS['map']\" alt=\"map\" loading=\"lazy\" />\r\n <h3\r\n class=\"mt-2 font-Calistoga font-normal text-[23px] leading-[160%] tracking-[0px]\"\r\n >\r\n {{ \"ITINERARY.ITENARY_NOT_FOUND\" | translate }}\r\n </h3>\r\n <p class=\"mt-2 mb-2\">{{ \"ITINERARY.CREATE_ITENARY_MESSAGE\" | translate }}</p>\r\n </ng-container>\r\n\r\n <div *ngIf=\"openActionMenu\" class=\"fixed inset-0 bg-black/50 z-40 flex flex-col justify-end\">\r\n <div class=\"pl-4 pr-4 mb-2\">\r\n <ng-container *ngFor=\"let singleActionItem of createActionMenuItems;\">\r\n <lib-action-card\r\n (actionCardClicked)=\"actionCardClicked()\"\r\n [actionName]=\"singleActionItem.actionItem\"\r\n [icon]=\"singleActionItem.icon\"\r\n [title]=\"singleActionItem.title\"\r\n [description]=\"singleActionItem.description\"\r\n ></lib-action-card>\r\n </ng-container>\r\n <lib-primary-btn (click)=\"hideActionMenu()\">{{\"ITINERARY.BACK\" | translate }}</lib-primary-btn>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["a.archives-link{color:var(--cyrano-pink-shade-1)}.app-bottom-modal-actions{background-color:transparent}\n"] }]
97
96
  }], ctorParameters: () => [{ type: i1.ItineraryService }, { type: i0.ChangeDetectorRef }, { type: i2.CustomDropdownMenuService }, { type: i3.TranslateService }, { type: i4.SharePopupDataService }, { type: i5.ActivatedRoute }, { type: i6.NavigationHelperService }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2J1aWxkZXIvYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2J1aWxkZXIvYnVpbGRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFlekQsTUFBTSxPQUFPLGdCQUFnQjtJQWlCakI7SUFDQTtJQUNEO0lBQ0M7SUFDRDtJQUNDO0lBQ0E7SUF0QlYsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUNyQixjQUFjLEdBQWdCLEVBQUUsQ0FBQztJQUNqQyxZQUFZLEdBQWdCLEVBQUUsQ0FBQztJQUMvQixXQUFXLEdBQXVCLEVBQUUsQ0FBQztJQUNyQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ2YsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixxQkFBcUIsR0FLaEIsRUFBRSxDQUFDO0lBQ1IsZ0JBQWdCLEdBQTBCLFNBQVMsQ0FBQztJQUVwRCxhQUFhO0lBQ2IsWUFDVSxnQkFBa0MsRUFDbEMsRUFBcUIsRUFDdEIsY0FBeUMsRUFDeEMsU0FBMkIsRUFDNUIscUJBQTRDLEVBQzNDLEtBQXFCLEVBQ3JCLFNBQWtDO1FBTmxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzVCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDM0MsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBeUI7SUFFNUMsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQTJCO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDO2dCQUM1QixVQUFVLEVBQUUsZUFBZTtnQkFDM0IsSUFBSSxFQUFFLG1DQUFtQztnQkFDekMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUM7Z0JBQzdELFdBQVcsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLCtDQUErQyxDQUFDO2FBQ2hGLEVBQUU7Z0JBQ0QsVUFBVSxFQUFFLGNBQWM7Z0JBQzFCLElBQUksRUFBRSxrQ0FBa0M7Z0JBQ3hDLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxDQUFDO2dCQUM1RCxXQUFXLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQzthQUMvRSxFQUFFO2dCQUNELFVBQVUsRUFBRSxjQUFjO2dCQUMxQixJQUFJLEVBQUUsa0NBQWtDO2dCQUN4QyxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztnQkFDbkQsV0FBVyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMscUNBQXFDLENBQUM7YUFDdEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQzdFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixtR0FBbUc7UUFDbkcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBQ0QsVUFBVTtJQUVWLGFBQWE7SUFDYixvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWU7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7d0dBbEZVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLG1EQ3BCN0IsNDhFQWlEQTs7NEZEN0JhLGdCQUFnQjtrQkFQNUIsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGFBQWEsY0FHWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnOyBcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJdGluZXJhcmllc1JvdXRlc0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9fZW51bXMvSXRlbmFyaWVzUm91dGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IEl0aW5lcmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uL19tb2RlbHMvSXRpbmVyYXJ5JzsgXHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJdGluZXJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2l0aW5lcmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tRHJvcGRvd25NZW51U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9jdXN0b20tZHJvcGRvd24tbWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGliTWVudUl0ZW0gfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJztcclxuaW1wb3J0IHsgU2hhcmVQb3B1cERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL3NoYXJlLXBvcHVwLWRhdGEnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL25hdmlnYXRpb24taGVscGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHNlbGVjdG9yOiAnYXBwLWJ1aWxkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2J1aWxkZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1aWxkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIGRyYWZ0SXRpbmVyYXJ5OiBJdGluZXJhcnlbXSA9IFtdO1xyXG4gIGxpYk1lbnVJdGVtczogSXRpbmVyYXJ5W10gPSBbXTtcclxuICBsaWJNZW51SXRlbTogQXJyYXk8TGliTWVudUl0ZW0+ID0gW107XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgb3BlbkFjdGlvbk1lbnUgPSBmYWxzZTtcclxuICBjcmVhdGVBY3Rpb25NZW51SXRlbXM6IEFycmF5PHtcclxuICAgIGFjdGlvbkl0ZW06IHN0cmluZztcclxuICAgIGljb246IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIH0+ID0gW107XHJcbiAgY3VycmVudEl0aW5lcmFyeTogSXRpbmVyYXJ5IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIFxyXG4gIC8vTElGRSBDWUNMRVNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaXRpbmVyYXJ5U2VydmljZTogSXRpbmVyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGN1c3RvbU1lbnVMaXN0OiBDdXN0b21Ecm9wZG93bk1lbnVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2hhcmVQb3B1cERhdGFTZXJ2aWNlOiBTaGFyZVBvcHVwRGF0YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgbmF2SGVscGVyOiBOYXZpZ2F0aW9uSGVscGVyU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZUFjdGlvbnModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUFjdGlvbk1lbnVJdGVtcyA9IFt7XHJcbiAgICAgIGFjdGlvbkl0ZW06ICdjcmVhdGVfY3VzdG9tJyxcclxuICAgICAgaWNvbjogXCJhc3NldHMvaWNvbnMvY3VzdG9tX2l0aW5lcmFyeS5zdmdcIixcclxuICAgICAgdGl0bGU6IHRyYW5zbGF0ZS5pbnN0YW50KFwiSVRJTkVSQVJZLkNSRUFURV9DVVNUT01fSVRJTkVSQVJZXCIpLFxyXG4gICAgICBkZXNjcmlwdGlvbjogdHJhbnNsYXRlLmluc3RhbnQoXCJJVElORVJBUlkuQ1JFQVRFX0NVU1RPTV9JVElORVJBUllfREVTQ1JJUFRJT05cIilcclxuICAgIH0sIHtcclxuICAgICAgYWN0aW9uSXRlbTogJ2NyZWF0ZV9xdWljaycsXHJcbiAgICAgIGljb246IFwiYXNzZXRzL2ljb25zL3F1aWNrX2l0aW5lcmFyeS5zdmdcIixcclxuICAgICAgdGl0bGU6IHRyYW5zbGF0ZS5pbnN0YW50KFwiSVRJTkVSQVJZLkNSRUFURV9RVUlDS19JVElORVJBUllcIiksXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB0cmFuc2xhdGUuaW5zdGFudChcIklUSU5FUkFSWS5DUkVBVEVfUVVJQ0tfSVRJTkVSQVJZX0RFU0NSSVBUSU9OXCIpXHJcbiAgICB9LCB7XHJcbiAgICAgIGFjdGlvbkl0ZW06ICdjcmVhdGVfbHVja3knLFxyXG4gICAgICBpY29uOiBcImFzc2V0cy9pY29ucy9sdWNreV9pdGluZXJhcnkuc3ZnXCIsXHJcbiAgICAgIHRpdGxlOiB0cmFuc2xhdGUuaW5zdGFudChcIklUSU5FUkFSWS5GRUVMSU5HX0xVQ0tZXCIpLFxyXG4gICAgICBkZXNjcmlwdGlvbjogdHJhbnNsYXRlLmluc3RhbnQoXCJJVElORVJBUlkuRkVFTElOR19MVUNLWV9ERVNDUklQVElPTlwiKVxyXG4gICAgfV07XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZUFyY2hpdmVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5uYXZIZWxwZXIubmF2aWdhdGUoW0l0aW5lcmFyaWVzUm91dGVzRW51bS5BUkNISVZFU10sIHRoaXMucm91dGUpO1xyXG4gIH1cclxuXHJcbiAgYWN0aW9uQ2FyZENsaWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm5hdkhlbHBlci5uYXZpZ2F0ZShbSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUlldLCB0aGlzLnJvdXRlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGluZXJhcnlTZXJ2aWNlLmdldEl0aW5lcmFyaWVzQnlVc2VySWQoKS5zdWJzY3JpYmUoKGRhdGE6IEl0aW5lcmFyeVtdKSA9PiB7XHJcbiAgICAgIHRoaXMubGliTWVudUl0ZW1zID0gZGF0YTtcclxuICAgICAgdGhpcy5saWJNZW51SXRlbSA9IHRoaXMuY3VzdG9tTWVudUxpc3QuZ2V0TWVudUxpc3QoJ2J1aWxkZXInKTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUFjdGlvbnModGhpcy50cmFuc2xhdGUpO1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWRkQnV0dG9uKCkge1xyXG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0l0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUlksIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZXSk7XHJcbiAgICB0aGlzLm9wZW5BY3Rpb25NZW51ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhpZGVBY3Rpb25NZW51KCkge1xyXG4gICAgdGhpcy5vcGVuQWN0aW9uTWVudSA9IGZhbHNlO1xyXG4gIH1cclxuICAvL1VJIExPR0lDXHJcblxyXG4gIC8vTkFWSUdBVElPTlNcclxuICBuYXZUb0NyZWF0ZUl0aW5lcmFyeSgpOiB2b2lkIHtcclxuICAgIHRoaXMubmF2SGVscGVyLm5hdmlnYXRlKFtJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV0sIHRoaXMucm91dGUpO1xyXG4gIH1cclxuXHJcbiAgbWVudUNsaWNrZWQoaXRlbTogSXRpbmVyYXJ5KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRJdGluZXJhcnkgPSBpdGVtO1xyXG4gICAgdGhpcy5zaGFyZVBvcHVwRGF0YVNlcnZpY2Uuc2V0UG9wdXBEYXRhKGl0ZW0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1jb2wgbXQtNFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZm9udC1bQ2FsaXN0b2dhXVwiPjxsaWItaWNvbi1idXR0b24gKGNsaWNrKT1cImhhbmRsZUFkZEJ1dHRvbigpXCIgYnV0dG9uVGV4dD1cIkNyZWF0ZSBuZXcgSXRpbmVyYXJ5XCI+PC9saWItaWNvbi1idXR0b24+PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LVsxMS41cHhdIG10LVsxOC41cHhdIG1iLVsxOC41cHhdXCI+XHJcbiAgICAgIDxkaXY+e3sgXCJJVElORVJBUlkuTVlfQ1JFQVRJT05TXCIgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgICAgPGEgKGNsaWNrKT1cIm5hdmlnYXRlQXJjaGl2ZXMoKVwiIGNsYXNzPVwiZmxleCBnYXAtWzRweF0gYXJjaGl2ZXMtbGluayBjdXJzb3ItcG9pbnRlclwiPjxpbWcgW3NyY109XCJJQ09OU1snYXJjaGl2ZXMnXVwiIGFsdD1cIm1hcFwiIGxvYWRpbmc9XCJsYXp5XCIgLz4ge3tcIk1BSU5fQVJDSElWRVMuQVJDSElWRVNcIiB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmcgJiYgKChsaWJNZW51SXRlbXM/Lmxlbmd0aCA/PyAwKSA+IDApXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYi0xMCB3LWZ1bGxcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImdyaWQtY29sdW1ucyBzbTptdC0zIG1kOm10LTEwIGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgc206Z2FwLXktNSBtZDpnYXAteS0xMCBnYXAteC0xMFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaWJNZW51SXRlbXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPGFwcC1jdXRvbS1jYXJkXHJcbiAgICAgICAgICAgICAgW2xpYk1lbnVJdGVtXT1cImxpYk1lbnVJdGVtXCJcclxuICAgICAgICAgICAgICBbY2FyZERhdGFdPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAgW2lzRHJhZnRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtpdGluZXJhcnlTdGFydGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtkaXNwbGF5UHVibGlzaFN0YXR1c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAobWVudUNsaWNrZWQpPVwibWVudUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2FwcC1jdXRvbS1jYXJkPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiBsaWJNZW51SXRlbXM/Lmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgPGltZyBbc3JjXT1cIklDT05TWydtYXAnXVwiIGFsdD1cIm1hcFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cclxuICAgIDxoM1xyXG4gICAgICBjbGFzcz1cIm10LTIgZm9udC1DYWxpc3RvZ2EgZm9udC1ub3JtYWwgdGV4dC1bMjNweF0gbGVhZGluZy1bMTYwJV0gdHJhY2tpbmctWzBweF1cIlxyXG4gICAgPlxyXG4gICAgICB7eyBcIklUSU5FUkFSWS5JVEVOQVJZX05PVF9GT1VORFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2gzPlxyXG4gICAgPHAgY2xhc3M9XCJtdC0yIG1iLTJcIj57eyBcIklUSU5FUkFSWS5DUkVBVEVfSVRFTkFSWV9NRVNTQUdFXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJvcGVuQWN0aW9uTWVudVwiIGNsYXNzPVwiZml4ZWQgaW5zZXQtMCBiZy1ibGFjay81MCB6LTQwIGZsZXggZmxleC1jb2wganVzdGlmeS1lbmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwbC00IHByLTQgbWItMlwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzaW5nbGVBY3Rpb25JdGVtIG9mIGNyZWF0ZUFjdGlvbk1lbnVJdGVtcztcIj5cclxuICAgICAgICA8bGliLWFjdGlvbi1jYXJkXHJcbiAgICAgICAgICAoYWN0aW9uQ2FyZENsaWNrZWQpPVwiYWN0aW9uQ2FyZENsaWNrZWQoKVwiXHJcbiAgICAgICAgICBbYWN0aW9uTmFtZV09XCJzaW5nbGVBY3Rpb25JdGVtLmFjdGlvbkl0ZW1cIlxyXG4gICAgICAgICAgW2ljb25dPVwic2luZ2xlQWN0aW9uSXRlbS5pY29uXCJcclxuICAgICAgICAgIFt0aXRsZV09XCJzaW5nbGVBY3Rpb25JdGVtLnRpdGxlXCJcclxuICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJzaW5nbGVBY3Rpb25JdGVtLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICA+PC9saWItYWN0aW9uLWNhcmQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bGliLXByaW1hcnktYnRuIChjbGljayk9XCJoaWRlQWN0aW9uTWVudSgpXCI+e3tcIklUSU5FUkFSWS5CQUNLXCIgfCB0cmFuc2xhdGUgfX08L2xpYi1wcmltYXJ5LWJ0bj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2J1aWxkZXIvYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2J1aWxkZXIvYnVpbGRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7OztBQWV6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUJqQjtJQUNBO0lBQ0Q7SUFDQztJQUNEO0lBQ0M7SUFDQTtJQXRCVixLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLGNBQWMsR0FBZ0IsRUFBRSxDQUFDO0lBQ2pDLFlBQVksR0FBZ0IsRUFBRSxDQUFDO0lBQy9CLFdBQVcsR0FBdUIsRUFBRSxDQUFDO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLHFCQUFxQixHQUtoQixFQUFFLENBQUM7SUFDUixnQkFBZ0IsR0FBMEIsU0FBUyxDQUFDO0lBRXBELGFBQWE7SUFDYixZQUNVLGdCQUFrQyxFQUNsQyxFQUFxQixFQUN0QixjQUF5QyxFQUN4QyxTQUEyQixFQUM1QixxQkFBNEMsRUFDM0MsS0FBcUIsRUFDckIsU0FBa0M7UUFObEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBMkI7UUFDeEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUMzQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUF5QjtJQUU1QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBMkI7UUFDM0MsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUM7Z0JBQzVCLFVBQVUsRUFBRSxlQUFlO2dCQUMzQixJQUFJLEVBQUUsbUNBQW1DO2dCQUN6QyxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQztnQkFDN0QsV0FBVyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsK0NBQStDLENBQUM7YUFDaEYsRUFBRTtnQkFDRCxVQUFVLEVBQUUsY0FBYztnQkFDMUIsSUFBSSxFQUFFLGtDQUFrQztnQkFDeEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUM7Z0JBQzVELFdBQVcsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLDhDQUE4QyxDQUFDO2FBQy9FLEVBQUU7Z0JBQ0QsVUFBVSxFQUFFLGNBQWM7Z0JBQzFCLElBQUksRUFBRSxrQ0FBa0M7Z0JBQ3hDLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDO2dCQUNuRCxXQUFXLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQzthQUN0RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFpQixFQUFFLEVBQUU7WUFDN0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLG1HQUFtRztRQUNuRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxVQUFVO0lBRVYsYUFBYTtJQUNiLG9CQUFvQjtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZTtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQzt3R0FsRlUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsbURDcEI3Qiw0N0VBaURBOzs0RkQ3QmEsZ0JBQWdCO2tCQVA1QixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsYUFBYSxjQUdYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7IFxyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vX21vZGVscy9JdGluZXJhcnknOyBcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEl0aW5lcmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9fc2VydmljZXMvaXRpbmVyYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ecm9wZG93bk1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2N1c3RvbS1kcm9wZG93bi1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMaWJNZW51SXRlbSB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBTaGFyZVBvcHVwRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9fc2VydmljZXMvc2hhcmUtcG9wdXAtZGF0YSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9fc2VydmljZXMvbmF2aWdhdGlvbi1oZWxwZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc2VsZWN0b3I6ICdhcHAtYnVpbGRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vYnVpbGRlci5jb21wb25lbnQuc2NzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnVpbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgZHJhZnRJdGluZXJhcnk6IEl0aW5lcmFyeVtdID0gW107XHJcbiAgbGliTWVudUl0ZW1zOiBJdGluZXJhcnlbXSA9IFtdO1xyXG4gIGxpYk1lbnVJdGVtOiBBcnJheTxMaWJNZW51SXRlbT4gPSBbXTtcclxuICBsb2FkaW5nID0gdHJ1ZTtcclxuICBvcGVuQWN0aW9uTWVudSA9IGZhbHNlO1xyXG4gIGNyZWF0ZUFjdGlvbk1lbnVJdGVtczogQXJyYXk8e1xyXG4gICAgYWN0aW9uSXRlbTogc3RyaW5nO1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgfT4gPSBbXTtcclxuICBjdXJyZW50SXRpbmVyYXJ5OiBJdGluZXJhcnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgXHJcbiAgLy9MSUZFIENZQ0xFU1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpdGluZXJhcnlTZXJ2aWNlOiBJdGluZXJhcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY3VzdG9tTWVudUxpc3Q6IEN1c3RvbURyb3Bkb3duTWVudVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBzaGFyZVBvcHVwRGF0YVNlcnZpY2U6IFNoYXJlUG9wdXBEYXRhU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBuYXZIZWxwZXI6IE5hdmlnYXRpb25IZWxwZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQWN0aW9ucyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuY3JlYXRlQWN0aW9uTWVudUl0ZW1zID0gW3tcclxuICAgICAgYWN0aW9uSXRlbTogJ2NyZWF0ZV9jdXN0b20nLFxyXG4gICAgICBpY29uOiBcImFzc2V0cy9pY29ucy9jdXN0b21faXRpbmVyYXJ5LnN2Z1wiLFxyXG4gICAgICB0aXRsZTogdHJhbnNsYXRlLmluc3RhbnQoXCJJVElORVJBUlkuQ1JFQVRFX0NVU1RPTV9JVElORVJBUllcIiksXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB0cmFuc2xhdGUuaW5zdGFudChcIklUSU5FUkFSWS5DUkVBVEVfQ1VTVE9NX0lUSU5FUkFSWV9ERVNDUklQVElPTlwiKVxyXG4gICAgfSwge1xyXG4gICAgICBhY3Rpb25JdGVtOiAnY3JlYXRlX3F1aWNrJyxcclxuICAgICAgaWNvbjogXCJhc3NldHMvaWNvbnMvcXVpY2tfaXRpbmVyYXJ5LnN2Z1wiLFxyXG4gICAgICB0aXRsZTogdHJhbnNsYXRlLmluc3RhbnQoXCJJVElORVJBUlkuQ1JFQVRFX1FVSUNLX0lUSU5FUkFSWVwiKSxcclxuICAgICAgZGVzY3JpcHRpb246IHRyYW5zbGF0ZS5pbnN0YW50KFwiSVRJTkVSQVJZLkNSRUFURV9RVUlDS19JVElORVJBUllfREVTQ1JJUFRJT05cIilcclxuICAgIH0sIHtcclxuICAgICAgYWN0aW9uSXRlbTogJ2NyZWF0ZV9sdWNreScsXHJcbiAgICAgIGljb246IFwiYXNzZXRzL2ljb25zL2x1Y2t5X2l0aW5lcmFyeS5zdmdcIixcclxuICAgICAgdGl0bGU6IHRyYW5zbGF0ZS5pbnN0YW50KFwiSVRJTkVSQVJZLkZFRUxJTkdfTFVDS1lcIiksXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB0cmFuc2xhdGUuaW5zdGFudChcIklUSU5FUkFSWS5GRUVMSU5HX0xVQ0tZX0RFU0NSSVBUSU9OXCIpXHJcbiAgICB9XTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlQXJjaGl2ZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLm5hdkhlbHBlci5uYXZpZ2F0ZShbSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkFSQ0hJVkVTXSwgdGhpcy5yb3V0ZSk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb25DYXJkQ2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmF2SGVscGVyLm5hdmlnYXRlKFtJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV0sIHRoaXMucm91dGUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLml0aW5lcmFyeVNlcnZpY2UuZ2V0SXRpbmVyYXJpZXNCeVVzZXJJZCgpLnN1YnNjcmliZSgoZGF0YTogSXRpbmVyYXJ5W10pID0+IHtcclxuICAgICAgdGhpcy5saWJNZW51SXRlbXMgPSBkYXRhO1xyXG4gICAgICB0aGlzLmxpYk1lbnVJdGVtID0gdGhpcy5jdXN0b21NZW51TGlzdC5nZXRNZW51TGlzdCgnYnVpbGRlcicpO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pbml0aWFsaXplQWN0aW9ucyh0aGlzLnRyYW5zbGF0ZSk7XHJcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBZGRCdXR0b24oKSB7XHJcbiAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWSwgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUlldKTtcclxuICAgIHRoaXMub3BlbkFjdGlvbk1lbnUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaGlkZUFjdGlvbk1lbnUoKSB7XHJcbiAgICB0aGlzLm9wZW5BY3Rpb25NZW51ID0gZmFsc2U7XHJcbiAgfVxyXG4gIC8vVUkgTE9HSUNcclxuXHJcbiAgLy9OQVZJR0FUSU9OU1xyXG4gIG5hdlRvQ3JlYXRlSXRpbmVyYXJ5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uYXZIZWxwZXIubmF2aWdhdGUoW0l0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZXSwgdGhpcy5yb3V0ZSk7XHJcbiAgfVxyXG5cclxuICBtZW51Q2xpY2tlZChpdGVtOiBJdGluZXJhcnkpIHtcclxuICAgIHRoaXMuY3VycmVudEl0aW5lcmFyeSA9IGl0ZW07XHJcbiAgICB0aGlzLnNoYXJlUG9wdXBEYXRhU2VydmljZS5zZXRQb3B1cERhdGEoaXRlbSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmbGV4LWNvbCBtdC00XCI+XHJcbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmb250LVtDYWxpc3RvZ2FdXCI+PGxpYi1wcmltYXJ5LWJ0biAoY2xpY2spPVwiaGFuZGxlQWRkQnV0dG9uKClcIj5DcmVhdGUgbmV3IEl0aW5lcmFyeTwvbGliLXByaW1hcnktYnRuPjwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1bMTEuNXB4XSBtdC1bMTguNXB4XSBtYi1bMTguNXB4XVwiPlxyXG4gICAgICA8ZGl2Pnt7IFwiSVRJTkVSQVJZLk1ZX0NSRUFUSU9OU1wiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgIDxhIChjbGljayk9XCJuYXZpZ2F0ZUFyY2hpdmVzKClcIiBjbGFzcz1cImZsZXggZ2FwLVs0cHhdIGFyY2hpdmVzLWxpbmsgY3Vyc29yLXBvaW50ZXJcIj48aW1nIFtzcmNdPVwiSUNPTlNbJ2FyY2hpdmVzJ11cIiBhbHQ9XCJtYXBcIiBsb2FkaW5nPVwibGF6eVwiIC8+IHt7XCJNQUlOX0FSQ0hJVkVTLkFSQ0hJVkVTXCIgfCB0cmFuc2xhdGUgfX08L2E+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmICgobGliTWVudUl0ZW1zPy5sZW5ndGggPz8gMCkgPiAwKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGItMTAgdy1mdWxsXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJncmlkLWNvbHVtbnMgc206bXQtMyBtZDptdC0xMCBncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIHNtOmdhcC15LTUgbWQ6Z2FwLXktMTAgZ2FwLXgtMTBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGliTWVudUl0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxhcHAtY3V0b20tY2FyZFxyXG4gICAgICAgICAgICAgIFtsaWJNZW51SXRlbV09XCJsaWJNZW51SXRlbVwiXHJcbiAgICAgICAgICAgICAgW2NhcmREYXRhXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICAgIFtpc0RyYWZ0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbaXRpbmVyYXJ5U3RhcnRlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbZGlzcGxheVB1Ymxpc2hTdGF0dXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKG1lbnVDbGlja2VkKT1cIm1lbnVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtY3V0b20tY2FyZD5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmcgJiYgbGliTWVudUl0ZW1zPy5sZW5ndGggPT09IDBcIj5cclxuICAgIDxpbWcgW3NyY109XCJJQ09OU1snbWFwJ11cIiBhbHQ9XCJtYXBcIiBsb2FkaW5nPVwibGF6eVwiIC8+XHJcbiAgICA8aDNcclxuICAgICAgY2xhc3M9XCJtdC0yIGZvbnQtQ2FsaXN0b2dhIGZvbnQtbm9ybWFsIHRleHQtWzIzcHhdIGxlYWRpbmctWzE2MCVdIHRyYWNraW5nLVswcHhdXCJcclxuICAgID5cclxuICAgICAge3sgXCJJVElORVJBUlkuSVRFTkFSWV9OT1RfRk9VTkRcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9oMz5cclxuICAgIDxwIGNsYXNzPVwibXQtMiBtYi0yXCI+e3sgXCJJVElORVJBUlkuQ1JFQVRFX0lURU5BUllfTUVTU0FHRVwiIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwib3BlbkFjdGlvbk1lbnVcIiBjbGFzcz1cImZpeGVkIGluc2V0LTAgYmctYmxhY2svNTAgei00MCBmbGV4IGZsZXgtY29sIGp1c3RpZnktZW5kXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGwtNCBwci00IG1iLTJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2luZ2xlQWN0aW9uSXRlbSBvZiBjcmVhdGVBY3Rpb25NZW51SXRlbXM7XCI+XHJcbiAgICAgICAgPGxpYi1hY3Rpb24tY2FyZFxyXG4gICAgICAgICAgKGFjdGlvbkNhcmRDbGlja2VkKT1cImFjdGlvbkNhcmRDbGlja2VkKClcIlxyXG4gICAgICAgICAgW2FjdGlvbk5hbWVdPVwic2luZ2xlQWN0aW9uSXRlbS5hY3Rpb25JdGVtXCJcclxuICAgICAgICAgIFtpY29uXT1cInNpbmdsZUFjdGlvbkl0ZW0uaWNvblwiXHJcbiAgICAgICAgICBbdGl0bGVdPVwic2luZ2xlQWN0aW9uSXRlbS50aXRsZVwiXHJcbiAgICAgICAgICBbZGVzY3JpcHRpb25dPVwic2luZ2xlQWN0aW9uSXRlbS5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgPjwvbGliLWFjdGlvbi1jYXJkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPGxpYi1wcmltYXJ5LWJ0biAoY2xpY2spPVwiaGlkZUFjdGlvbk1lbnUoKVwiPnt7XCJJVElORVJBUlkuQkFDS1wiIHwgdHJhbnNsYXRlIH19PC9saWItcHJpbWFyeS1idG4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -6,7 +6,8 @@ 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 "@naniteninja/ionic-lib";
9
- import * as i5 from "../create-itinerary-header/create-itinerary-header.component";
9
+ import * as i5 from "../../../../../../shared/bottom-modal/bottom-modal.component";
10
+ import * as i6 from "../create-itinerary-header/create-itinerary-header.component";
10
11
  export class CreateItineraryDestinationComponent {
11
12
  location;
12
13
  router;
@@ -44,10 +45,10 @@ export class CreateItineraryDestinationComponent {
44
45
  this.location.back();
45
46
  }
46
47
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryDestinationComponent, deps: [{ token: i1.Location }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.ItineraryService }], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryDestinationComponent, selector: "app-create-itinerary-destination", ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"15\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n (submitModal)=\"navToPickStartLocation()\"\r\n submitButtonTitle=\"Continue\"\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 <div class=\"flex items-center\">\r\n <lib-icon-btn class=\"checkmark-icon-button\">\r\n <img\r\n [src]=\"ICONS['startMarkerImage']\"\r\n alt=\"icon\"\r\n height=\"16\"\r\n width=\"16\"\r\n />\r\n </lib-icon-btn>\r\n <div class=\"ml-4\">\r\n <span>Shan-ul-haq haqee road</span>\r\n <p>Starting location</p>\r\n </div>\r\n </div>\r\n <img [src]=\"ICONS['editPink']\" alt=\"edit\" height=\"13\" width=\"13\" />\r\n </div>\r\n\r\n <h1 class=\"font-Calistoga text-lg mt-5\">Destination</h1>\r\n <p class=\"mt-3\">Select final destination for itinenary route.</p>\r\n\r\n <div class=\"mt-3\"> \r\n <lib-text-box (click)=\"navToPickStartLocation()\" class=\"textbox-1\" label=\"Where To?\"></lib-text-box>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n\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: [""], dependencies: [{ kind: "component", type: i4.IconBtnComponent, selector: "lib-icon-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "notificationCount", "loading$", "illuminateIcon"] }, { kind: "component", type: i4.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: i4.LazyImageDirective, selector: "img" }, { kind: "component", type: i4.TextBoxComponent, selector: "lib-text-box", inputs: ["label", "maxLength", "includeEmojiPicker", "emojiPickerConfig", "includeImageAttachment", "maxImageAttachmentLength"] }, { kind: "component", type: i4.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i5.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }] });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryDestinationComponent, selector: "app-create-itinerary-destination", ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"15\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<app-bottom-modal\r\n (submitModal)=\"navToPickStartLocation()\"\r\n submitButtonTitle=\"Continue\"\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 <div class=\"flex items-center\">\r\n <lib-icon-btn class=\"checkmark-icon-button\">\r\n <img\r\n [src]=\"ICONS['startMarkerImage']\"\r\n alt=\"icon\"\r\n height=\"16\"\r\n width=\"16\"\r\n />\r\n </lib-icon-btn>\r\n <div class=\"ml-4\">\r\n <span>Shan-ul-haq haqee road</span>\r\n <p>Starting location</p>\r\n </div>\r\n </div>\r\n <img [src]=\"ICONS['editPink']\" alt=\"edit\" height=\"13\" width=\"13\" />\r\n </div>\r\n\r\n <h1 class=\"font-Calistoga text-lg mt-5\">Destination</h1>\r\n <p class=\"mt-3\">Select final destination for itinenary route.</p>\r\n\r\n <div class=\"mt-3\"> \r\n <lib-text-box (click)=\"navToPickStartLocation()\" class=\"textbox-1\" label=\"Where To?\"></lib-text-box>\r\n </div>\r\n </div>\r\n</app-bottom-modal>\r\n\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: [""], dependencies: [{ kind: "component", type: i4.IconBtnComponent, selector: "lib-icon-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "notificationCount", "loading$", "illuminateIcon"] }, { kind: "component", type: i5.BottomModalComponent, selector: "app-bottom-modal", inputs: ["isOpen", "submitButtonTitle", "showArrow", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "submitModal"] }, { kind: "directive", type: i4.LazyImageDirective, selector: "img" }, { kind: "component", type: i4.TextBoxComponent, selector: "lib-text-box", inputs: ["label", "maxLength", "includeEmojiPicker", "emojiPickerConfig", "includeImageAttachment", "maxImageAttachmentLength"] }, { kind: "component", type: i4.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"] }] });
48
49
  }
49
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryDestinationComponent, decorators: [{
50
51
  type: Component,
51
- args: [{ selector: 'app-create-itinerary-destination', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"15\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n (submitModal)=\"navToPickStartLocation()\"\r\n submitButtonTitle=\"Continue\"\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 <div class=\"flex items-center\">\r\n <lib-icon-btn class=\"checkmark-icon-button\">\r\n <img\r\n [src]=\"ICONS['startMarkerImage']\"\r\n alt=\"icon\"\r\n height=\"16\"\r\n width=\"16\"\r\n />\r\n </lib-icon-btn>\r\n <div class=\"ml-4\">\r\n <span>Shan-ul-haq haqee road</span>\r\n <p>Starting location</p>\r\n </div>\r\n </div>\r\n <img [src]=\"ICONS['editPink']\" alt=\"edit\" height=\"13\" width=\"13\" />\r\n </div>\r\n\r\n <h1 class=\"font-Calistoga text-lg mt-5\">Destination</h1>\r\n <p class=\"mt-3\">Select final destination for itinenary route.</p>\r\n\r\n <div class=\"mt-3\"> \r\n <lib-text-box (click)=\"navToPickStartLocation()\" class=\"textbox-1\" label=\"Where To?\"></lib-text-box>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n\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" }]
52
+ args: [{ selector: 'app-create-itinerary-destination', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"15\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<app-bottom-modal\r\n (submitModal)=\"navToPickStartLocation()\"\r\n submitButtonTitle=\"Continue\"\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 <div class=\"flex items-center\">\r\n <lib-icon-btn class=\"checkmark-icon-button\">\r\n <img\r\n [src]=\"ICONS['startMarkerImage']\"\r\n alt=\"icon\"\r\n height=\"16\"\r\n width=\"16\"\r\n />\r\n </lib-icon-btn>\r\n <div class=\"ml-4\">\r\n <span>Shan-ul-haq haqee road</span>\r\n <p>Starting location</p>\r\n </div>\r\n </div>\r\n <img [src]=\"ICONS['editPink']\" alt=\"edit\" height=\"13\" width=\"13\" />\r\n </div>\r\n\r\n <h1 class=\"font-Calistoga text-lg mt-5\">Destination</h1>\r\n <p class=\"mt-3\">Select final destination for itinenary route.</p>\r\n\r\n <div class=\"mt-3\"> \r\n <lib-text-box (click)=\"navToPickStartLocation()\" class=\"textbox-1\" label=\"Where To?\"></lib-text-box>\r\n </div>\r\n </div>\r\n</app-bottom-modal>\r\n\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" }]
52
53
  }], ctorParameters: () => [{ type: i1.Location }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.ItineraryService }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1kZXN0aW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2J1aWxkZXIvcGFnZXMvY3JlYXRlLWl0aW5lcmFyeS1kZXN0aW5hdGlvbi9jcmVhdGUtaXRpbmVyYXJ5LWRlc3RpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWRlc3RpbmF0aW9uL2NyZWF0ZS1pdGluZXJhcnktZGVzdGluYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUl0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7QUFRL0QsTUFBTSxPQUFPLG1DQUFtQztJQU9wQztJQUNBO0lBQ0E7SUFDQTtJQVRWLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsTUFBTSxHQUFZLElBQUksQ0FBQztJQUN2QixTQUFTLENBQXdCO0lBRWpDLFlBQVk7SUFDWixZQUNVLFFBQWtCLEVBQ2xCLE1BQWMsRUFDZCxLQUFxQixFQUNyQixnQkFBa0M7UUFIbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFRCxVQUFVO0lBQ1YsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxhQUFhO0lBQ2Isc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUNsQjtZQUNFLHFCQUFxQixDQUFDLFNBQVM7WUFDL0IscUJBQXFCLENBQUMsZUFBZTtZQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7U0FDbkIsRUFDRCxFQUFFLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBdkNVLG1DQUFtQzs0RkFBbkMsbUNBQW1DLHdFQ2ZoRCwwbkRBcURBOzs0RkR0Q2EsbUNBQW1DO2tCQU4vQyxTQUFTOytCQUNJLGtDQUFrQyxjQUdoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJzsgIFxyXG5pbXBvcnQgeyBJdGluZXJhcmllc1JvdXRlc0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fZW51bXMvSXRlbmFyaWVzUm91dGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IEl0aW5lcmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19tb2RlbHMvSXRpbmVyYXJ5JztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jcmVhdGUtaXRpbmVyYXJ5LWRlc3RpbmF0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LWRlc3RpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LWRlc3RpbmF0aW9uLmNvbXBvbmVudC5jc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZUl0aW5lcmFyeURlc3RpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBpc09wZW46IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGl0aW5lcmFyeTogSXRpbmVyYXJ5IHwgdW5kZWZpbmVkO1xyXG5cclxuICAvL0xJRkUgQ1lDTEVcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBpdGluZXJhcnlTZXJ2aWNlOiBJdGluZXJhcnlTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIHRoaXMuaXRpbmVyYXJ5ID0gdGhpcy5pdGluZXJhcnlTZXJ2aWNlLmdldEJ5SWQoaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9VSSBMT0dJQ1xyXG4gIHNob3dCb3R0b21Nb2RhbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vTkFWSUdBVElPTlNcclxuICBuYXZUb1BpY2tTdGFydExvY2F0aW9uKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXHJcbiAgICAgIFtcclxuICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5MT0NBVElPTl9QSUNLRVIsXHJcbiAgICAgICAgdGhpcy5pdGluZXJhcnk/LmlkLFxyXG4gICAgICBdLFxyXG4gICAgICB7IHF1ZXJ5UGFyYW1zOiB7IG1vZGU6ICdlbmQnIH0gfSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXJcclxuICBbcHJvZ3Jlc3NCYXJWYWx1ZV09XCIxNVwiXHJcbiAgaGVhZGluZz1cIkNyZWF0ZSBJdGluZXJhcnlcIlxyXG4+PC9hcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXI+XHJcbjxsaWItbWFwIGNsYXNzPVwibWFwcy0xMDB2aFwiPjwvbGliLW1hcD5cclxuPGxpYi1ib3R0b20tbW9kYWxcclxuICAoc3VibWl0TW9kYWwpPVwibmF2VG9QaWNrU3RhcnRMb2NhdGlvbigpXCJcclxuICBzdWJtaXRCdXR0b25UaXRsZT1cIkNvbnRpbnVlXCJcclxuICBbc2hvd0Fycm93XT1cInRydWVcIlxyXG4gIFsoaXNPcGVuKV09XCJpc09wZW5cIlxyXG4gIFthZGFwdFRvQ29udGVudEhlaWdodF09XCJ0cnVlXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJwbC00IHByLTRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGxpYi1pY29uLWJ0biBjbGFzcz1cImNoZWNrbWFyay1pY29uLWJ1dHRvblwiPlxyXG4gICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBbc3JjXT1cIklDT05TWydzdGFydE1hcmtlckltYWdlJ11cIlxyXG4gICAgICAgICAgICBhbHQ9XCJpY29uXCJcclxuICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9saWItaWNvbi1idG4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgIDxzcGFuPlNoYW4tdWwtaGFxIGhhcWVlIHJvYWQ8L3NwYW4+XHJcbiAgICAgICAgICA8cD5TdGFydGluZyBsb2NhdGlvbjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZWRpdFBpbmsnXVwiIGFsdD1cImVkaXRcIiBoZWlnaHQ9XCIxM1wiIHdpZHRoPVwiMTNcIiAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGgxIGNsYXNzPVwiZm9udC1DYWxpc3RvZ2EgdGV4dC1sZyBtdC01XCI+RGVzdGluYXRpb248L2gxPlxyXG4gICAgPHAgY2xhc3M9XCJtdC0zXCI+U2VsZWN0IGZpbmFsIGRlc3RpbmF0aW9uIGZvciBpdGluZW5hcnkgcm91dGUuPC9wPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+IFxyXG4gICAgICA8bGliLXRleHQtYm94IChjbGljayk9XCJuYXZUb1BpY2tTdGFydExvY2F0aW9uKClcIiBjbGFzcz1cInRleHRib3gtMVwiIGxhYmVsPVwiV2hlcmUgVG8/XCI+PC9saWItdGV4dC1ib3g+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9saWItYm90dG9tLW1vZGFsPlxyXG5cclxuPGRpdlxyXG4gIChjbGljayk9XCJzaG93Qm90dG9tTW9kYWwoKVwiXHJcbiAgY2xhc3M9XCJhYnNvbHV0ZSBib3R0b20tMCBjdXJzb3ItcG9pbnRlciB6LTEwXCJcclxuICBzdHlsZT1cImxlZnQ6IDUwJVwiXHJcbj5cclxuICA8aW1nXHJcbiAgICBzdHlsZT1cInRyYW5zZm9ybTogcm90YXRlKDI3MGRlZylcIlxyXG4gICAgW3NyY109XCJJQ09OU1sncmlnaHRBcnJvdyddXCJcclxuICAgIGFsdD1cImljb25cIlxyXG4gICAgaGVpZ2h0PVwiMTVcIlxyXG4gICAgd2lkdGg9XCIxNVwiXHJcbiAgLz5cclxuPC9kaXY+XHJcbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1kZXN0aW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2J1aWxkZXIvcGFnZXMvY3JlYXRlLWl0aW5lcmFyeS1kZXN0aW5hdGlvbi9jcmVhdGUtaXRpbmVyYXJ5LWRlc3RpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWRlc3RpbmF0aW9uL2NyZWF0ZS1pdGluZXJhcnktZGVzdGluYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUl0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7O0FBUS9ELE1BQU0sT0FBTyxtQ0FBbUM7SUFPcEM7SUFDQTtJQUNBO0lBQ0E7SUFUVixLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDdkIsU0FBUyxDQUF3QjtJQUVqQyxZQUFZO0lBQ1osWUFDVSxRQUFrQixFQUNsQixNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZ0JBQWtDO1FBSGxDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDekMsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxFQUFFLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRUQsVUFBVTtJQUNWLGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYTtJQUNiLHNCQUFzQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbEI7WUFDRSxxQkFBcUIsQ0FBQyxTQUFTO1lBQy9CLHFCQUFxQixDQUFDLGVBQWU7WUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO1NBQ25CLEVBQ0QsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDakMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3dHQXZDVSxtQ0FBbUM7NEZBQW5DLG1DQUFtQyx3RUNmaEQsMG5EQXFEQTs7NEZEdENhLG1DQUFtQztrQkFOL0MsU0FBUzsrQkFDSSxrQ0FBa0MsY0FHaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7ICBcclxuaW1wb3J0IHsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2VudW1zL0l0ZW5hcmllc1JvdXRlcy5lbnVtJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBJdGluZXJhcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fbW9kZWxzL0l0aW5lcmFyeSc7XHJcbmltcG9ydCB7IEl0aW5lcmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fc2VydmljZXMvaXRpbmVyYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWl0aW5lcmFyeS1kZXN0aW5hdGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1kZXN0aW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1kZXN0aW5hdGlvbi5jb21wb25lbnQuY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVJdGluZXJhcnlEZXN0aW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgaXNPcGVuOiBib29sZWFuID0gdHJ1ZTtcclxuICBpdGluZXJhcnk6IEl0aW5lcmFyeSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy9MSUZFIENZQ0xFXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgaXRpbmVyYXJ5U2VydmljZTogSXRpbmVyYXJ5U2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB0aGlzLml0aW5lcmFyeSA9IHRoaXMuaXRpbmVyYXJ5U2VydmljZS5nZXRCeUlkKGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVUkgTE9HSUNcclxuICBzaG93Qm90dG9tTW9kYWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvL05BVklHQVRJT05TXHJcbiAgbmF2VG9QaWNrU3RhcnRMb2NhdGlvbigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxyXG4gICAgICBbXHJcbiAgICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWSxcclxuICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uTE9DQVRJT05fUElDS0VSLFxyXG4gICAgICAgIHRoaXMuaXRpbmVyYXJ5Py5pZCxcclxuICAgICAgXSxcclxuICAgICAgeyBxdWVyeVBhcmFtczogeyBtb2RlOiAnZW5kJyB9IH0sXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWNyZWF0ZS1pdGluZXJhcnktaGVhZGVyXHJcbiAgW3Byb2dyZXNzQmFyVmFsdWVdPVwiMTVcIlxyXG4gIGhlYWRpbmc9XCJDcmVhdGUgSXRpbmVyYXJ5XCJcclxuPjwvYXBwLWNyZWF0ZS1pdGluZXJhcnktaGVhZGVyPlxyXG48bGliLW1hcCBjbGFzcz1cIm1hcHMtMTAwdmhcIj48L2xpYi1tYXA+XHJcbjxhcHAtYm90dG9tLW1vZGFsXHJcbiAgKHN1Ym1pdE1vZGFsKT1cIm5hdlRvUGlja1N0YXJ0TG9jYXRpb24oKVwiXHJcbiAgc3VibWl0QnV0dG9uVGl0bGU9XCJDb250aW51ZVwiXHJcbiAgW3Nob3dBcnJvd109XCJ0cnVlXCJcclxuICBbKGlzT3BlbildPVwiaXNPcGVuXCJcclxuICBbYWRhcHRUb0NvbnRlbnRIZWlnaHRdPVwidHJ1ZVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwicGwtNCBwci00XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxsaWItaWNvbi1idG4gY2xhc3M9XCJjaGVja21hcmstaWNvbi1idXR0b25cIj5cclxuICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgW3NyY109XCJJQ09OU1snc3RhcnRNYXJrZXJJbWFnZSddXCJcclxuICAgICAgICAgICAgYWx0PVwiaWNvblwiXHJcbiAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvbGliLWljb24tYnRuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC00XCI+XHJcbiAgICAgICAgICA8c3Bhbj5TaGFuLXVsLWhhcSBoYXFlZSByb2FkPC9zcGFuPlxyXG4gICAgICAgICAgPHA+U3RhcnRpbmcgbG9jYXRpb248L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ2VkaXRQaW5rJ11cIiBhbHQ9XCJlZGl0XCIgaGVpZ2h0PVwiMTNcIiB3aWR0aD1cIjEzXCIgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxoMSBjbGFzcz1cImZvbnQtQ2FsaXN0b2dhIHRleHQtbGcgbXQtNVwiPkRlc3RpbmF0aW9uPC9oMT5cclxuICAgIDxwIGNsYXNzPVwibXQtM1wiPlNlbGVjdCBmaW5hbCBkZXN0aW5hdGlvbiBmb3IgaXRpbmVuYXJ5IHJvdXRlLjwvcD5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPiBcclxuICAgICAgPGxpYi10ZXh0LWJveCAoY2xpY2spPVwibmF2VG9QaWNrU3RhcnRMb2NhdGlvbigpXCIgY2xhc3M9XCJ0ZXh0Ym94LTFcIiBsYWJlbD1cIldoZXJlIFRvP1wiPjwvbGliLXRleHQtYm94PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWJvdHRvbS1tb2RhbD5cclxuXHJcbjxkaXZcclxuICAoY2xpY2spPVwic2hvd0JvdHRvbU1vZGFsKClcIlxyXG4gIGNsYXNzPVwiYWJzb2x1dGUgYm90dG9tLTAgY3Vyc29yLXBvaW50ZXIgei0xMFwiXHJcbiAgc3R5bGU9XCJsZWZ0OiA1MCVcIlxyXG4+XHJcbiAgPGltZ1xyXG4gICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpXCJcclxuICAgIFtzcmNdPVwiSUNPTlNbJ3JpZ2h0QXJyb3cnXVwiXHJcbiAgICBhbHQ9XCJpY29uXCJcclxuICAgIGhlaWdodD1cIjE1XCJcclxuICAgIHdpZHRoPVwiMTVcIlxyXG4gIC8+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -8,9 +8,10 @@ import * as i3 from "../../../../../../_services/itinerary.service";
8
8
  import * as i4 from "../../../../../../_services/location.service";
9
9
  import * as i5 from "../../../../../../_services/itinerary.drawmode.transfer";
10
10
  import * as i6 from "../../../../../../_services/navigation-helper.service";
11
- import * as i7 from "@naniteninja/ionic-lib";
12
- import * as i8 from "../create-itinerary-header/create-itinerary-header.component";
13
- import * as i9 from "@ngx-translate/core";
11
+ import * as i7 from "../../../../../../shared/bottom-modal/bottom-modal.component";
12
+ import * as i8 from "@naniteninja/ionic-lib";
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 CreateItineraryDrawModeComponent {
@@ -263,13 +264,13 @@ export class CreateItineraryDrawModeComponent {
263
264
  return closestPoint;
264
265
  }
265
266
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryDrawModeComponent, deps: [{ token: i1.Location }, { token: i0.ChangeDetectorRef }, { token: i2.ActivatedRoute }, { token: i3.ItineraryService }, { token: i4.LocationService }, { token: i5.ItineraryDrawModeTransferService }, { token: i6.NavigationHelperService }], target: i0.ɵɵFactoryTarget.Component });
266
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryDrawModeComponent, selector: "lib-create-itinerary-draw-mode", 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<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=\"\">\r\n <ng-container *ngIf=\"!mapDrawn\">\r\n <div class=\"flex items-center justify-between pl-4 pr-4\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"ITINERARY.DRAW\" | 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 px-4 mb-4\">{{ \"ITINERARY.DRAW_DESCRIPTION\" | translate }}</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"mapDrawn\">\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>&nbsp;{{ \"ITINERARY.SELECT_MIN_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>&nbsp;0 minutes</span>\r\n <span class=\"text-secondary font-thin\">(0.0 km)</span>\r\n </div>\r\n </div>\r\n <div class=\"select-places-description mt-5 text-center mb-4\">\r\n {{ \"ITINERARY.SELECT_PLACES_INSTRUCTION\" | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n (secondaryButtonClick)=\"clearMap()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n [secondaryButtonText]=\"'COMMON.CLEAR' | translate\"\r\n ></lib-footer-shared>\r\n </div>\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: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.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: 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.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
267
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryDrawModeComponent, selector: "lib-create-itinerary-draw-mode", 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<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=\"\">\r\n <ng-container *ngIf=\"!mapDrawn\">\r\n <div class=\"flex items-center justify-between pl-4 pr-4\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"ITINERARY.DRAW\" | 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 px-4 mb-4\">{{ \"ITINERARY.DRAW_DESCRIPTION\" | translate }}</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"mapDrawn\">\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>&nbsp;{{ \"ITINERARY.SELECT_MIN_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>&nbsp;0 minutes</span>\r\n <span class=\"text-secondary font-thin\">(0.0 km)</span>\r\n </div>\r\n </div>\r\n <div class=\"select-places-description mt-5 text-center mb-4\">\r\n {{ \"ITINERARY.SELECT_PLACES_INSTRUCTION\" | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n (secondaryButtonClick)=\"clearMap()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n [secondaryButtonText]=\"'COMMON.CLEAR' | translate\"\r\n ></lib-footer-shared>\r\n </div>\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: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.BottomModalComponent, selector: "app-bottom-modal", inputs: ["isOpen", "submitButtonTitle", "showArrow", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "submitModal"] }, { kind: "directive", type: i8.LazyImageDirective, selector: "img" }, { kind: "component", type: i8.FooterSharedComponent, selector: "lib-footer-shared", inputs: ["loading$", "canContinue", "continueButtonText", "secondaryButtonText", "showBackButton", "continueButtonParameter$"], outputs: ["secondaryButtonClick", "continueButtonClick"] }, { kind: "component", type: i8.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i9.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
267
268
  }
268
269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryDrawModeComponent, decorators: [{
269
270
  type: Component,
270
- args: [{ selector: 'lib-create-itinerary-draw-mode', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\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=\"\">\r\n <ng-container *ngIf=\"!mapDrawn\">\r\n <div class=\"flex items-center justify-between pl-4 pr-4\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"ITINERARY.DRAW\" | 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 px-4 mb-4\">{{ \"ITINERARY.DRAW_DESCRIPTION\" | translate }}</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"mapDrawn\">\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>&nbsp;{{ \"ITINERARY.SELECT_MIN_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>&nbsp;0 minutes</span>\r\n <span class=\"text-secondary font-thin\">(0.0 km)</span>\r\n </div>\r\n </div>\r\n <div class=\"select-places-description mt-5 text-center mb-4\">\r\n {{ \"ITINERARY.SELECT_PLACES_INSTRUCTION\" | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n (secondaryButtonClick)=\"clearMap()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n [secondaryButtonText]=\"'COMMON.CLEAR' | translate\"\r\n ></lib-footer-shared>\r\n </div>\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"] }]
271
+ args: [{ selector: 'lib-create-itinerary-draw-mode', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\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=\"\">\r\n <ng-container *ngIf=\"!mapDrawn\">\r\n <div class=\"flex items-center justify-between pl-4 pr-4\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"ITINERARY.DRAW\" | 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 px-4 mb-4\">{{ \"ITINERARY.DRAW_DESCRIPTION\" | translate }}</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"mapDrawn\">\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>&nbsp;{{ \"ITINERARY.SELECT_MIN_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>&nbsp;0 minutes</span>\r\n <span class=\"text-secondary font-thin\">(0.0 km)</span>\r\n </div>\r\n </div>\r\n <div class=\"select-places-description mt-5 text-center mb-4\">\r\n {{ \"ITINERARY.SELECT_PLACES_INSTRUCTION\" | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n (secondaryButtonClick)=\"clearMap()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n [secondaryButtonText]=\"'COMMON.CLEAR' | translate\"\r\n ></lib-footer-shared>\r\n </div>\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"] }]
271
272
  }], ctorParameters: () => [{ type: i1.Location }, { type: i0.ChangeDetectorRef }, { type: i2.ActivatedRoute }, { type: i3.ItineraryService }, { type: i4.LocationService }, { type: i5.ItineraryDrawModeTransferService }, { type: i6.NavigationHelperService }], propDecorators: { libMap: [{
272
273
  type: ViewChild,
273
274
  args: ['libMap']
274
275
  }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1kcmF3LW1vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9wYWdlcy9idWlsZGVyL3BhZ2VzL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1tb2RlL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1tb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctbW9kZS9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctbW9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7OztBQUt0RixNQUFNLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztBQUMxRCxNQUFNLFlBQVksR0FBRyxtQ0FBbUMsQ0FBQztBQVF6RCxNQUFNLE9BQU8sZ0NBQWdDO0lBcUJqQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTFCVixLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLE9BQU8sR0FBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsUUFB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R0F0U1UsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0Msd0tDckI3QyxxbUZBdUVBOzs0RkRsRGEsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNJLGdDQUFnQyxjQUc5QixLQUFLOzRSQVFFLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IEl0aW5lcmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19tb2RlbHMvSXRpbmVyYXJ5JztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJdGluZXJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2l0aW5lcmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX2VudW1zL0l0ZW5hcmllc1JvdXRlcy5lbnVtJztcclxuaW1wb3J0IHsgTGliTWFwc0NvbXBvbmVudCB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBMb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fc2VydmljZXMvbG9jYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEl0aW5lcmFyeURyYXdNb2RlVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2l0aW5lcmFyeS5kcmF3bW9kZS50cmFuc2Zlcic7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX3NlcnZpY2VzL25hdmlnYXRpb24taGVscGVyLnNlcnZpY2UnO1xyXG5jb25zdCBkZWZhdWx0SWNvbiA9ICdhc3NldHMvaWNvbnMvbWFwLW1hcmtlcnMteWVsbG93LnN2Zyc7XHJcbmNvbnN0IHNlbGVjdGVkSWNvbiA9ICdhc3NldHMvaWNvbnMvcmVzdHUtaWNvbi1sYXJnZS5zdmcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1jcmVhdGUtaXRpbmVyYXJ5LWRyYXctbW9kZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1kcmF3LW1vZGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1tb2RlLmNvbXBvbmVudC5jc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZUl0aW5lcmFyeURyYXdNb2RlQ29tcG9uZW50IHtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBhY3Rpb25zOiBzdHJpbmdbXSA9IFtJQ09OU1snbG9jYXRpb24nXSwgSUNPTlNbJ3BlbmNpbCddLCBJQ09OU1snYmFuJ11dO1xyXG4gIHNlbGVjdGVkOiBzdHJpbmcgPSB0aGlzLmFjdGlvbnNbMV07XHJcbiAgaXNPcGVuOiBib29sZWFuID0gdHJ1ZTtcclxuICBpdGluZXJhcnkhOiBJdGluZXJhcnkgfCB1bmRlZmluZWQ7XHJcbiAgQFZpZXdDaGlsZCgnbGliTWFwJykgbGliTWFwITogTGliTWFwc0NvbXBvbmVudDtcclxuICBtYXBEcmF3bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwb2x5Z29uITogZ29vZ2xlLm1hcHMuUG9seWdvbjsvL1RoZSBwb2x5Z29uIHJlbmRlcmVkIG9uIG1hcFxyXG4gIGluaXRpYWxMb2NhdGlvbiA9IHsgbGF0OiAyNC44NjA3LCBsbmc6IDY3LjAwMTEgfTsvL0xvY2F0aW9uIG9mIHRoZSB1c2VyXHJcbiAgcGxvdHRlZE1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdID0gW107Ly9QbG90dGVkIG1hcmtlcnMgb24gdGhlIG1hcFxyXG4gIHNlbGVjdGVkTWFya2VyczogZ29vZ2xlLm1hcHMuTWFya2VyW10gPSBbXTsvL1NlbGVjdGVkIG1hcmtlcnMgb24gdGhlIG1hcFxyXG4gIHBsYWNlc1Jlc3VsdCE6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdFtdOy8vUGxhY2VzIHJlc3VsdCByZXF1aXJlZCBmb3IgcHJldmlld1xyXG4gIHBsYWNlTWFya2Vyczoge1xyXG4gICAgbWFya2VyOiBnb29nbGUubWFwcy5NYXJrZXIsXHJcbiAgICBwbGFjZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0XHJcbiAgfVtdID0gW107XHJcblxyXG4gIC8vTElGRSBDWUNMRVNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGl0aW5lcmFyeVNlcnZpY2U6IEl0aW5lcmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uU2VydmljZTogTG9jYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2ZlclNlcnZpY2U6IEl0aW5lcmFyeURyYXdNb2RlVHJhbnNmZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXZIZWxwZXI6IE5hdmlnYXRpb25IZWxwZXJTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXNbJ2lkJ107XHJcbiAgICBpZiAoaWQpIHtcclxuICAgICAgdGhpcy5pdGluZXJhcnkgPSB0aGlzLml0aW5lcmFyeVNlcnZpY2UuZ2V0QnlJZChpZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1VJIExPR0lDXHJcbiAgdXBkYXRlQWN0aW9uKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gYWN0aW9uO1xyXG4gICAgaWYoYWN0aW9uID09PSB0aGlzLmFjdGlvbnNbMF0pIHtcclxuICAgICAgdGhpcy5uYXZIZWxwZXIubmF2aWdhdGUoW1xyXG4gICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX09SSUdJTixcclxuICAgICAgICB0aGlzLml0aW5lcmFyeSEuaWRcclxuICAgICAgXSwgdGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgICB9XHJcbiAgICBpZihhY3Rpb24gPT09IHRoaXMuYWN0aW9uc1syXSkge1xyXG4gICAgICB0aGlzLm5hdkhlbHBlci5uYXZpZ2F0ZShbXHJcbiAgICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUllfTk9fVklTVUFMX0ZJTFRFUl9NT0RFLFxyXG4gICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX05PX1ZJU1VBTF9GSUxURVJfTU9ERV9DUkVBVEUsXHJcbiAgICAgICAgdGhpcy5pdGluZXJhcnkhLmlkXHJcbiAgICAgIF0sIHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd0JvdHRvbU1vZGFsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoUmVzdGF1cmFudHNJblBvbHlnb24oXHJcbiAgICBwb2x5Z29uQ29vcmRzOlxyXG4gICAgICB8IEFycmF5PHtcclxuICAgICAgICAgIGxhdDogbnVtYmVyO1xyXG4gICAgICAgICAgbG5nOiBudW1iZXI7XHJcbiAgICAgICAgfT5cclxuICAgICAgfCB1bmRlZmluZWQsXHJcbiAgKSB7XHJcbiAgICBpZiAocG9seWdvbkNvb3Jkcykge1xyXG4gICAgICB0aGlzLm1hcERyYXduID0gdHJ1ZTtcclxuICAgICAgY29uc3QgYm91bmRzID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZ0JvdW5kcygpO1xyXG4gICAgICBwb2x5Z29uQ29vcmRzLmZvckVhY2goKGNvb3JkKSA9PiBib3VuZHMuZXh0ZW5kKGNvb3JkKSk7XHJcblxyXG4gICAgICBjb25zdCBzZXJ2aWNlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlKFxyXG4gICAgICAgIHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhLFxyXG4gICAgICApO1xyXG5cclxuICAgICAgc2VydmljZS5uZWFyYnlTZWFyY2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYm91bmRzOiBib3VuZHMsXHJcbiAgICAgICAgICB0eXBlOiAncmVzdGF1cmFudCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoXHJcbiAgICAgICAgICByZXN1bHRzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRbXSB8IG51bGwsXHJcbiAgICAgICAgICBzdGF0dXM6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzLFxyXG4gICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2VTdGF0dXMuT0sgJiYgcmVzdWx0cykge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcigocGxhY2UpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbiA9IHBsYWNlLmdlb21ldHJ5Py5sb2NhdGlvbjtcclxuICAgICAgICAgICAgICBpZiAoIWxvY2F0aW9uKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGdvb2dsZS5tYXBzLmdlb21ldHJ5LnBvbHkuY29udGFpbnNMb2NhdGlvbihsb2NhdGlvbiwgdGhpcy5wb2x5Z29uKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnBsYWNlc1Jlc3VsdCA9IGZpbHRlcmVkUmVzdWx0cztcclxuICAgICAgICAgICAgZmlsdGVyZWRSZXN1bHRzLmZvckVhY2goKHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmFkZEN1c3RvbU1hcmtlcihwbGFjZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm1hcERyYXduID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkQ3VzdG9tTWFya2VyKHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQpIHtcclxuICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAsXHJcbiAgICAgIHBvc2l0aW9uOiBwbGFjZS5nZW9tZXRyeT8ubG9jYXRpb24sXHJcbiAgICAgIHRpdGxlOiBwbGFjZS5uYW1lLFxyXG4gICAgICBpY29uOiB7XHJcbiAgICAgICAgdXJsOiAnYXNzZXRzL2ljb25zL21hcC1tYXJrZXJzLXllbGxvdy5zdmcnLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBsb3R0ZWRNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgIHRoaXMucGxhY2VNYXJrZXJzLnB1c2goe1xyXG4gICAgICBwbGFjZTogcGxhY2UsXHJcbiAgICAgIG1hcmtlcjogbWFya2VyXHJcbiAgICB9KTtcclxuICAgIG1hcmtlci5hZGRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIC8vIFRvZ2dsZSBzZWxlY3Rpb25cclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkTWFya2Vycy5pbmRleE9mKG1hcmtlcik7XHJcblxyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIC8vIE1hcmtlciB3YXMgYWxyZWFkeSBzZWxlY3RlZCDihpIgZGVzZWxlY3RcclxuICAgICAgICBtYXJrZXIuc2V0SWNvbihkZWZhdWx0SWNvbik7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBTZWxlY3QgbWFya2VyXHJcbiAgICAgICAgbWFya2VyLnNldEljb24oc2VsZWN0ZWRJY29uKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2Vycy5wdXNoKG1hcmtlcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJNYXAoKSB7XHJcbiAgICB0aGlzLm1hcERyYXduID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLnBvbHlnb24pIHtcclxuICAgICAgdGhpcy5wb2x5Z29uLnNldE1hcChudWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2xlYXJNYXJrZXJzKCk7XHJcbiAgfVxyXG5cclxuICBjb250aW51ZSgpIHtcclxuICAgIGNvbnN0IGNvb3JkaW5hdGVzOiBBcnJheTx7IGxhdDogbnVtYmVyOyBsbmc6IG51bWJlciB9PiA9IFtdO1xyXG4gICAgdGhpcy5wb2x5Z29uLmdldFBhdGgoKS5mb3JFYWNoKGNvb3JkID0+IHtcclxuICAgICAgY29vcmRpbmF0ZXMucHVzaCh7IGxhdDogY29vcmQubGF0KCksIGxuZzogY29vcmQubG5nKCkgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldFBvbHlnb24oY29vcmRpbmF0ZXMpO1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkUGxhY2VzID0gdGhpcy5zZWxlY3RlZE1hcmtlcnMubWFwKChzZWxlY3RlZE1hcmtlcikgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZU1hcmtlciA9IHRoaXMucGxhY2VNYXJrZXJzLmZpbmQocGxhY2VNYXJrZXIgPT4gcGxhY2VNYXJrZXIubWFya2VyID09PSBzZWxlY3RlZE1hcmtlcik7XHJcbiAgICAgIHJldHVybiBwbGFjZU1hcmtlciEucGxhY2U7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBhbGxQbGFjZXMgPSB0aGlzLnBsYWNlTWFya2Vycy5tYXAocGxhY2VNYXJrZXIgPT4gcGxhY2VNYXJrZXIucGxhY2UpO1xyXG5cclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldFBsYWNlcyhhbGxQbGFjZXMpO1xyXG4gICAgdGhpcy50cmFuc2ZlclNlcnZpY2Uuc2V0U2VsZWN0ZWRQbGFjZXMoc2VsZWN0ZWRQbGFjZXMpO1xyXG4gICAgdGhpcy50cmFuc2ZlclNlcnZpY2Uuc2V0Q3VycmVudExvY2F0aW9uKHRoaXMuaW5pdGlhbExvY2F0aW9uKTtcclxuXHJcbiAgICB0aGlzLm5hdkhlbHBlci5uYXZpZ2F0ZShbXHJcbiAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX0RSQVdfTU9ERSxcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUllfRFJBV19NT0RFX1BSRVZJRVcsXHJcbiAgICAgIHRoaXMuaXRpbmVyYXJ5IS5pZFxyXG4gICAgXSwgdGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgfVxyXG5cclxuICBjbGVhclBvbHlnb25JZkV4aXN0KCkge1xyXG4gICAgaWYodGhpcy5wb2x5Z29uKSB7XHJcbiAgICAgIHRoaXMucG9seWdvbi5zZXRNYXAobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhck1hcmtlcnMoKSB7XHJcbiAgICBpZih0aGlzLnBsb3R0ZWRNYXJrZXJzPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wbG90dGVkTWFya2Vycz8uZm9yRWFjaCgocGxvdHRlZE1hcmtlcikgPT4gcGxvdHRlZE1hcmtlci5zZXRNYXAobnVsbCkpO1xyXG4gICAgfSBcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgdGhpcy5sb2NhdGlvblNlcnZpY2UuZ2V0Q3VycmVudExvY2F0aW9uKClcclxuICAgICAgLnN1YnNjcmliZSgobG9jYXRpb24pID0+IHtcclxuICAgICAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwPy5zZXRDZW50ZXIoe1xyXG4gICAgICAgICAgbGF0OiBsb2NhdGlvbi5sYXQsXHJcbiAgICAgICAgICBsbmc6IGxvY2F0aW9uLmxvbmdcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy9TZXQgdGhlIGluaXRpYWwgbG9jYXRpb24gb2YgdGhlIHVzZXJcclxuICAgICAgICB0aGlzLmluaXRpYWxMb2NhdGlvbiA9IHtcclxuICAgICAgICAgIGxhdDogbG9jYXRpb24ubGF0LFxyXG4gICAgICAgICAgbG5nOiBsb2NhdGlvbi5sb25nXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXA/LnNldFpvb20oMTUpO1xyXG5cclxuICAgICAgICAvL0FkZCBtYXJrZXIgZm9yIHVzZXIgcG9zaXRpb25cclxuICAgICAgICBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCxcclxuICAgICAgICAgIHBvc2l0aW9uOiB7XHJcbiAgICAgICAgICAgIGxhdDogbG9jYXRpb24ubGF0LFxyXG4gICAgICAgICAgICBsbmc6IGxvY2F0aW9uLmxvbmdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB0aXRsZTogJ1lvdSBhcmUgaGVyZScsXHJcbiAgICAgICAgICBpY29uOiB7XHJcbiAgICAgICAgICAgIHVybDogJ2Fzc2V0cy9jdXJyZW50X2xvY2F0aW9uLnN2ZycsXHJcbiAgICAgICAgICAgIHNjYWxlZFNpemU6IG5ldyBnb29nbGUubWFwcy5TaXplKDQwLCA0MCksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBFbmFibGUgcG9seWdvbiBkcmF3aW5nXHJcbiAgICAgICAgY29uc3QgZHJhd2luZ01hbmFnZXIgPSBuZXcgZ29vZ2xlLm1hcHMuZHJhd2luZy5EcmF3aW5nTWFuYWdlcih7XHJcbiAgICAgICAgICBkcmF3aW5nTW9kZTogZ29vZ2xlLm1hcHMuZHJhd2luZy5PdmVybGF5VHlwZS5QT0xZR09OLFxyXG4gICAgICAgICAgZHJhd2luZ0NvbnRyb2w6IHRydWUsXHJcbiAgICAgICAgICBkcmF3aW5nQ29udHJvbE9wdGlvbnM6IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGdvb2dsZS5tYXBzLkNvbnRyb2xQb3NpdGlvbi5SSUdIVF9DRU5URVIsXHJcbiAgICAgICAgICAgIGRyYXdpbmdNb2RlczogW2dvb2dsZS5tYXBzLmRyYXdpbmcuT3ZlcmxheVR5cGUuUE9MWUdPTl0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcG9seWdvbk9wdGlvbnM6IHtcclxuICAgICAgICAgICAgc3Ryb2tlQ29sb3I6ICcjRTE3NTc1JyxcclxuICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMCxcclxuICAgICAgICAgICAgc3Ryb2tlV2VpZ2h0OiAwLFxyXG4gICAgICAgICAgICBmaWxsQ29sb3I6ICcjRTE3NTc1JyxcclxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDAuMyxcclxuICAgICAgICAgICAgY2xpY2thYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBlZGl0YWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgekluZGV4OiAxLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBkcmF3aW5nTWFuYWdlci5zZXRNYXAodGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEpO1xyXG5cclxuICAgICAgICBnb29nbGUubWFwcy5ldmVudC5hZGRMaXN0ZW5lcihkcmF3aW5nTWFuYWdlciwgJ2RyYXdpbmdtb2RlX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBtb2RlID0gZHJhd2luZ01hbmFnZXIuZ2V0RHJhd2luZ01vZGUoKTtcclxuICAgICAgICAgIGlmIChtb2RlID09PSBnb29nbGUubWFwcy5kcmF3aW5nLk92ZXJsYXlUeXBlLlBPTFlHT04pIHtcclxuICAgICAgICAgICAgdGhpcy5jbGVhclBvbHlnb25JZkV4aXN0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIExpc3RlbiBmb3IgcG9seWdvbiBjb21wbGV0aW9uXHJcbiAgICAgICAgZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIoZHJhd2luZ01hbmFnZXIsICdvdmVybGF5Y29tcGxldGUnLCAoZXZlbnQ6IGdvb2dsZS5tYXBzLmRyYXdpbmcuT3ZlcmxheUNvbXBsZXRlRXZlbnQpID0+IHtcclxuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBnb29nbGUubWFwcy5kcmF3aW5nLk92ZXJsYXlUeXBlLlBPTFlHT04pIHtcclxuICAgICAgICAgICAgY29uc3QgcG9seWdvbiA9IGV2ZW50Lm92ZXJsYXkgYXMgZ29vZ2xlLm1hcHMuUG9seWdvbjtcclxuICAgICAgICAgICAgdGhpcy5wb2x5Z29uID0gcG9seWdvbjtcclxuICAgICAgICAgICAgLy8gRGlzYWJsZSBkcmF3aW5nIGFmdGVyIG9uZSBwb2x5Z29uXHJcbiAgICAgICAgICAgIGRyYXdpbmdNYW5hZ2VyLnNldERyYXdpbmdNb2RlKG51bGwpO1xyXG5cclxuICAgICAgICAgICAgLy8gQWNjZXNzIHRoZSBwb2x5Z29uIGNvb3JkaW5hdGVzXHJcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBwb2x5Z29uLmdldFBhdGgoKTtcclxuICAgICAgICAgICAgY29uc3QgY29vcmRpbmF0ZXM6IEFycmF5PHsgbGF0OiBudW1iZXI7IGxuZzogbnVtYmVyIH0+ID0gW107XHJcbiAgICAgICAgICAgIHBhdGguZm9yRWFjaCgoY29vcmQ6IGdvb2dsZS5tYXBzLkxhdExuZykgPT4ge1xyXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGVzLnB1c2goeyBsYXQ6IGNvb3JkLmxhdCgpLCBsbmc6IGNvb3JkLmxuZygpIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVzdGF1cmFudHNJblBvbHlnb24oY29vcmRpbmF0ZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL05BVklHQVRJT05TXHJcbiAgYmFjaygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gIH1cclxuXHJcbiAgbmF2VG9QaWNrU3RhcnRMb2NhdGlvbigpIHtcclxuICAgIHRoaXMubmF2SGVscGVyLm5hdmlnYXRlKFxyXG4gICAgICBbXHJcbiAgICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkxPQ0FUSU9OX1BJQ0tFUixcclxuICAgICAgICB0aGlzLml0aW5lcmFyeSEuaWQsXHJcbiAgICAgIF0sXHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUsXHJcbiAgICAgIHsgcXVlcnlQYXJhbXM6IHsgbW9kZTogJ3N0YXJ0JyB9IH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDbG9zZXN0UG9pbnRPblBvbHlnb24ocG9seWdvbjogZ29vZ2xlLm1hcHMuUG9seWdvbiwgcG9pbnQ6IGdvb2dsZS5tYXBzLkxhdExuZyk6IGdvb2dsZS5tYXBzLkxhdExuZyB7XHJcbiAgICBjb25zdCBwYXRoID0gcG9seWdvbi5nZXRQYXRoKCk7XHJcbiAgICBsZXQgY2xvc2VzdFBvaW50ID0gbnVsbDtcclxuICAgIGxldCBtaW5EaXN0YW5jZSA9IEluZmluaXR5O1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5nZXRMZW5ndGgoKTsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHN0YXJ0ID0gcGF0aC5nZXRBdChpKTtcclxuICAgICAgY29uc3QgZW5kID0gcGF0aC5nZXRBdCgoaSArIDEpICUgcGF0aC5nZXRMZW5ndGgoKSk7XHJcblxyXG4gICAgICAvLyBJbnRlcnBvbGF0ZSBwb2ludHMgYWxvbmcgdGhlIHNlZ21lbnRcclxuICAgICAgZm9yIChsZXQgdCA9IDA7IHQgPD0gMTsgdCArPSAwLjA1KSB7XHJcbiAgICAgICAgY29uc3QgaW50ZXJwID0gZ29vZ2xlLm1hcHMuZ2VvbWV0cnkuc3BoZXJpY2FsLmludGVycG9sYXRlKHN0YXJ0LCBlbmQsIHQpO1xyXG4gICAgICAgIGNvbnN0IGRpc3QgPSBnb29nbGUubWFwcy5nZW9tZXRyeS5zcGhlcmljYWwuY29tcHV0ZURpc3RhbmNlQmV0d2Vlbihwb2ludCwgaW50ZXJwKTtcclxuICAgICAgICBpZiAoZGlzdCA8IG1pbkRpc3RhbmNlKSB7XHJcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3Q7XHJcbiAgICAgICAgICBjbG9zZXN0UG9pbnQgPSBpbnRlcnA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNsb3Nlc3RQb2ludCE7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXJcclxuICBbcHJvZ3Jlc3NCYXJWYWx1ZV09XCI1MFwiXHJcbiAgaGVhZGluZz1cIkNyZWF0ZSBJdGluZXJhcnlcIlxyXG4+PC9hcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXI+XHJcbjxsaWItbWFwICNsaWJNYXAgY2xhc3M9XCJtYXBzLTEwMHZoXCI+PC9saWItbWFwPlxyXG48bGliLWJvdHRvbS1tb2RhbFxyXG4gIFtzaG93QXJyb3ddPVwidHJ1ZVwiXHJcbiAgWyhpc09wZW4pXT1cImlzT3BlblwiXHJcbiAgW2FkYXB0VG9Db250ZW50SGVpZ2h0XT1cInRydWVcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtYXBEcmF3blwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHBsLTQgcHItNFwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImZvbnQtQ2FsaXN0b2dhIHRleHQtbGdcIj57eyBcIklUSU5FUkFSWS5EUkFXXCIgfCB0cmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RhYmxlcyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlQWN0aW9uKGEpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBhY3Rpb25zXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGEgb2YgYWN0aW9uc1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGEgPT09IHNlbGVjdGVkIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiYVwiIGFsdD1cImljb25cIiBsb2FkaW5nPVwibGF6eVwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxwIGNsYXNzPVwibXQtMyBweC00IG1iLTRcIj57eyBcIklUSU5FUkFSWS5EUkFXX0RFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYXBEcmF3blwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0byBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAteC0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14c1wiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgW3NyY109XCJJQ09OU1snbG9jYXRpb25XaGl0ZSddXCJcclxuICAgICAgICAgICAgYWx0PVwibG9jYXRpb25cIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8c3Bhbj4mbmJzcDt7eyBcIklUSU5FUkFSWS5TRUxFQ1RfTUlOX1BMQUNFU1wiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoLTQgYm9yZGVyIHctMCBib3JkZXItc2Vjb25kYXJ5XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC14LTIgdGV4dC14c1wiPlxyXG4gICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJJQ09OU1snY2xvY2snXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzcGFuPiZuYnNwOzAgbWludXRlczwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeSBmb250LXRoaW5cIj4oMC4wIGttKTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtcGxhY2VzLWRlc2NyaXB0aW9uIG10LTUgdGV4dC1jZW50ZXIgbWItNFwiPlxyXG4gICAgICAgIHt7IFwiSVRJTkVSQVJZLlNFTEVDVF9QTEFDRVNfSU5TVFJVQ1RJT05cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxsaWItZm9vdGVyLXNoYXJlZFxyXG4gICAgKGNvbnRpbnVlQnV0dG9uQ2xpY2spPVwiY29udGludWUoKVwiXHJcbiAgICAoc2Vjb25kYXJ5QnV0dG9uQ2xpY2spPVwiY2xlYXJNYXAoKVwiXHJcbiAgICBbY2FuQ29udGludWVdPVwidHJ1ZVwiXHJcbiAgICBbY29udGludWVCdXR0b25UZXh0XT1cIidDT01NT04uQ09OVElOVUUnIHwgdHJhbnNsYXRlXCJcclxuICAgIFtzZWNvbmRhcnlCdXR0b25UZXh0XT1cIidDT01NT04uQ0xFQVInIHwgdHJhbnNsYXRlXCJcclxuICAgID48L2xpYi1mb290ZXItc2hhcmVkPlxyXG4gIDwvZGl2PlxyXG48L2xpYi1ib3R0b20tbW9kYWw+XHJcbjxkaXZcclxuICAoY2xpY2spPVwic2hvd0JvdHRvbU1vZGFsKClcIlxyXG4gIGNsYXNzPVwiYWJzb2x1dGUgYm90dG9tLTAgY3Vyc29yLXBvaW50ZXIgei0xMFwiXHJcbiAgc3R5bGU9XCJsZWZ0OiA1MCVcIlxyXG4+XHJcbiAgPGltZ1xyXG4gICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpXCJcclxuICAgIFtzcmNdPVwiSUNPTlNbJ3JpZ2h0QXJyb3cnXVwiXHJcbiAgICBhbHQ9XCJpY29uXCJcclxuICAgIGhlaWdodD1cIjE1XCJcclxuICAgIHdpZHRoPVwiMTVcIlxyXG4gIC8+XHJcbjwvZGl2PlxyXG4iXX0=
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1kcmF3LW1vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9wYWdlcy9idWlsZGVyL3BhZ2VzL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1tb2RlL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1tb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctbW9kZS9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctbW9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFLdEYsTUFBTSxXQUFXLEdBQUcscUNBQXFDLENBQUM7QUFDMUQsTUFBTSxZQUFZLEdBQUcsbUNBQW1DLENBQUM7QUFRekQsTUFBTSxPQUFPLGdDQUFnQztJQXFCakM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUExQlYsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUNyQixPQUFPLEdBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLFFB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d0dBdFNVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDLHdLQ3JCN0MscW1GQXVFQTs7NEZEbERhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDSSxnQ0FBZ0MsY0FHOUIsS0FBSzs0UkFRRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBJdGluZXJhcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fbW9kZWxzL0l0aW5lcmFyeSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IExpYk1hcHNDb21wb25lbnQgfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJztcclxuaW1wb3J0IHsgTG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2xvY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJdGluZXJhcnlEcmF3TW9kZVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuZHJhd21vZGUudHJhbnNmZXInO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9uYXZpZ2F0aW9uLWhlbHBlci5zZXJ2aWNlJztcclxuY29uc3QgZGVmYXVsdEljb24gPSAnYXNzZXRzL2ljb25zL21hcC1tYXJrZXJzLXllbGxvdy5zdmcnO1xyXG5jb25zdCBzZWxlY3RlZEljb24gPSAnYXNzZXRzL2ljb25zL3Jlc3R1LWljb24tbGFyZ2Uuc3ZnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLWl0aW5lcmFyeS1kcmF3LW1vZGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1pdGluZXJhcnktZHJhdy1tb2RlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LWRyYXctbW9kZS5jb21wb25lbnQuY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVJdGluZXJhcnlEcmF3TW9kZUNvbXBvbmVudCB7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgYWN0aW9uczogc3RyaW5nW10gPSBbSUNPTlNbJ2xvY2F0aW9uJ10sIElDT05TWydwZW5jaWwnXSwgSUNPTlNbJ2JhbiddXTtcclxuICBzZWxlY3RlZDogc3RyaW5nID0gdGhpcy5hY3Rpb25zWzFdO1xyXG4gIGlzT3BlbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgaXRpbmVyYXJ5ITogSXRpbmVyYXJ5IHwgdW5kZWZpbmVkO1xyXG4gIEBWaWV3Q2hpbGQoJ2xpYk1hcCcpIGxpYk1hcCE6IExpYk1hcHNDb21wb25lbnQ7XHJcbiAgbWFwRHJhd246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcG9seWdvbiE6IGdvb2dsZS5tYXBzLlBvbHlnb247Ly9UaGUgcG9seWdvbiByZW5kZXJlZCBvbiBtYXBcclxuICBpbml0aWFsTG9jYXRpb24gPSB7IGxhdDogMjQuODYwNywgbG5nOiA2Ny4wMDExIH07Ly9Mb2NhdGlvbiBvZiB0aGUgdXNlclxyXG4gIHBsb3R0ZWRNYXJrZXJzOiBnb29nbGUubWFwcy5NYXJrZXJbXSA9IFtdOy8vUGxvdHRlZCBtYXJrZXJzIG9uIHRoZSBtYXBcclxuICBzZWxlY3RlZE1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdID0gW107Ly9TZWxlY3RlZCBtYXJrZXJzIG9uIHRoZSBtYXBcclxuICBwbGFjZXNSZXN1bHQhOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRbXTsvL1BsYWNlcyByZXN1bHQgcmVxdWlyZWQgZm9yIHByZXZpZXdcclxuICBwbGFjZU1hcmtlcnM6IHtcclxuICAgIG1hcmtlcjogZ29vZ2xlLm1hcHMuTWFya2VyLFxyXG4gICAgcGxhY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdFxyXG4gIH1bXSA9IFtdO1xyXG5cclxuICAvL0xJRkUgQ1lDTEVTXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBpdGluZXJhcnlTZXJ2aWNlOiBJdGluZXJhcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBJdGluZXJhcnlEcmF3TW9kZVRyYW5zZmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgbmF2SGVscGVyOiBOYXZpZ2F0aW9uSGVscGVyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIHRoaXMuaXRpbmVyYXJ5ID0gdGhpcy5pdGluZXJhcnlTZXJ2aWNlLmdldEJ5SWQoaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9VSSBMT0dJQ1xyXG4gIHVwZGF0ZUFjdGlvbihhY3Rpb246IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IGFjdGlvbjtcclxuICAgIGlmKGFjdGlvbiA9PT0gdGhpcy5hY3Rpb25zWzBdKSB7XHJcbiAgICAgIHRoaXMubmF2SGVscGVyLm5hdmlnYXRlKFtcclxuICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9PUklHSU4sXHJcbiAgICAgICAgdGhpcy5pdGluZXJhcnkhLmlkXHJcbiAgICAgIF0sIHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG4gICAgfVxyXG4gICAgaWYoYWN0aW9uID09PSB0aGlzLmFjdGlvbnNbMl0pIHtcclxuICAgICAgdGhpcy5uYXZIZWxwZXIubmF2aWdhdGUoW1xyXG4gICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX05PX1ZJU1VBTF9GSUxURVJfTU9ERSxcclxuICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9OT19WSVNVQUxfRklMVEVSX01PREVfQ1JFQVRFLFxyXG4gICAgICAgIHRoaXMuaXRpbmVyYXJ5IS5pZFxyXG4gICAgICBdLCB0aGlzLmFjdGl2YXRlZFJvdXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dCb3R0b21Nb2RhbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaFJlc3RhdXJhbnRzSW5Qb2x5Z29uKFxyXG4gICAgcG9seWdvbkNvb3JkczpcclxuICAgICAgfCBBcnJheTx7XHJcbiAgICAgICAgICBsYXQ6IG51bWJlcjtcclxuICAgICAgICAgIGxuZzogbnVtYmVyO1xyXG4gICAgICAgIH0+XHJcbiAgICAgIHwgdW5kZWZpbmVkLFxyXG4gICkge1xyXG4gICAgaWYgKHBvbHlnb25Db29yZHMpIHtcclxuICAgICAgdGhpcy5tYXBEcmF3biA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGJvdW5kcyA9IG5ldyBnb29nbGUubWFwcy5MYXRMbmdCb3VuZHMoKTtcclxuICAgICAgcG9seWdvbkNvb3Jkcy5mb3JFYWNoKChjb29yZCkgPT4gYm91bmRzLmV4dGVuZChjb29yZCkpO1xyXG5cclxuICAgICAgY29uc3Qgc2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZShcclxuICAgICAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwISxcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHNlcnZpY2UubmVhcmJ5U2VhcmNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJvdW5kczogYm91bmRzLFxyXG4gICAgICAgICAgdHlwZTogJ3Jlc3RhdXJhbnQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKFxyXG4gICAgICAgICAgcmVzdWx0czogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0W10gfCBudWxsLFxyXG4gICAgICAgICAgc3RhdHVzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZVN0YXR1cyxcclxuICAgICAgICApID0+IHtcclxuICAgICAgICAgIGlmIChzdGF0dXMgPT09IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzLk9LICYmIHJlc3VsdHMpIHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoKHBsYWNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb24gPSBwbGFjZS5nZW9tZXRyeT8ubG9jYXRpb247XHJcbiAgICAgICAgICAgICAgaWYgKCFsb2NhdGlvbikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgIHJldHVybiBnb29nbGUubWFwcy5nZW9tZXRyeS5wb2x5LmNvbnRhaW5zTG9jYXRpb24obG9jYXRpb24sIHRoaXMucG9seWdvbik7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5wbGFjZXNSZXN1bHQgPSBmaWx0ZXJlZFJlc3VsdHM7XHJcbiAgICAgICAgICAgIGZpbHRlcmVkUmVzdWx0cy5mb3JFYWNoKChwbGFjZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hZGRDdXN0b21NYXJrZXIocGxhY2UpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5tYXBEcmF3biA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZEN1c3RvbU1hcmtlcihwbGFjZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0KSB7XHJcbiAgICBjb25zdCBtYXJrZXIgPSBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgbWFwOiB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwLFxyXG4gICAgICBwb3NpdGlvbjogcGxhY2UuZ2VvbWV0cnk/LmxvY2F0aW9uLFxyXG4gICAgICB0aXRsZTogcGxhY2UubmFtZSxcclxuICAgICAgaWNvbjoge1xyXG4gICAgICAgIHVybDogJ2Fzc2V0cy9pY29ucy9tYXAtbWFya2Vycy15ZWxsb3cuc3ZnJyxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5wbG90dGVkTWFya2Vycy5wdXNoKG1hcmtlcik7XHJcbiAgICB0aGlzLnBsYWNlTWFya2Vycy5wdXNoKHtcclxuICAgICAgcGxhY2U6IHBsYWNlLFxyXG4gICAgICBtYXJrZXI6IG1hcmtlclxyXG4gICAgfSk7XHJcbiAgICBtYXJrZXIuYWRkTGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAvLyBUb2dnbGUgc2VsZWN0aW9uXHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZE1hcmtlcnMuaW5kZXhPZihtYXJrZXIpO1xyXG5cclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAvLyBNYXJrZXIgd2FzIGFscmVhZHkgc2VsZWN0ZWQg4oaSIGRlc2VsZWN0XHJcbiAgICAgICAgbWFya2VyLnNldEljb24oZGVmYXVsdEljb24pO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gU2VsZWN0IG1hcmtlclxyXG4gICAgICAgIG1hcmtlci5zZXRJY29uKHNlbGVjdGVkSWNvbik7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFyTWFwKCkge1xyXG4gICAgdGhpcy5tYXBEcmF3biA9IGZhbHNlO1xyXG4gICAgaWYodGhpcy5wb2x5Z29uKSB7XHJcbiAgICAgIHRoaXMucG9seWdvbi5zZXRNYXAobnVsbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsZWFyTWFya2VycygpO1xyXG4gIH1cclxuXHJcbiAgY29udGludWUoKSB7XHJcbiAgICBjb25zdCBjb29yZGluYXRlczogQXJyYXk8eyBsYXQ6IG51bWJlcjsgbG5nOiBudW1iZXIgfT4gPSBbXTtcclxuICAgIHRoaXMucG9seWdvbi5nZXRQYXRoKCkuZm9yRWFjaChjb29yZCA9PiB7XHJcbiAgICAgIGNvb3JkaW5hdGVzLnB1c2goeyBsYXQ6IGNvb3JkLmxhdCgpLCBsbmc6IGNvb3JkLmxuZygpIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRyYW5zZmVyU2VydmljZS5zZXRQb2x5Z29uKGNvb3JkaW5hdGVzKTtcclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZFBsYWNlcyA9IHRoaXMuc2VsZWN0ZWRNYXJrZXJzLm1hcCgoc2VsZWN0ZWRNYXJrZXIpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2VNYXJrZXIgPSB0aGlzLnBsYWNlTWFya2Vycy5maW5kKHBsYWNlTWFya2VyID0+IHBsYWNlTWFya2VyLm1hcmtlciA9PT0gc2VsZWN0ZWRNYXJrZXIpO1xyXG4gICAgICByZXR1cm4gcGxhY2VNYXJrZXIhLnBsYWNlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgYWxsUGxhY2VzID0gdGhpcy5wbGFjZU1hcmtlcnMubWFwKHBsYWNlTWFya2VyID0+IHBsYWNlTWFya2VyLnBsYWNlKTtcclxuXHJcbiAgICB0aGlzLnRyYW5zZmVyU2VydmljZS5zZXRQbGFjZXMoYWxsUGxhY2VzKTtcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldFNlbGVjdGVkUGxhY2VzKHNlbGVjdGVkUGxhY2VzKTtcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldEN1cnJlbnRMb2NhdGlvbih0aGlzLmluaXRpYWxMb2NhdGlvbik7XHJcblxyXG4gICAgdGhpcy5uYXZIZWxwZXIubmF2aWdhdGUoW1xyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9EUkFXX01PREUsXHJcbiAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX0RSQVdfTU9ERV9QUkVWSUVXLFxyXG4gICAgICB0aGlzLml0aW5lcmFyeSEuaWRcclxuICAgIF0sIHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJQb2x5Z29uSWZFeGlzdCgpIHtcclxuICAgIGlmKHRoaXMucG9seWdvbikge1xyXG4gICAgICB0aGlzLnBvbHlnb24uc2V0TWFwKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJNYXJrZXJzKCkge1xyXG4gICAgaWYodGhpcy5wbG90dGVkTWFya2Vycz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMucGxvdHRlZE1hcmtlcnM/LmZvckVhY2goKHBsb3R0ZWRNYXJrZXIpID0+IHBsb3R0ZWRNYXJrZXIuc2V0TWFwKG51bGwpKTtcclxuICAgIH0gXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRMb2NhdGlvbigpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2F0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcD8uc2V0Q2VudGVyKHtcclxuICAgICAgICAgIGxhdDogbG9jYXRpb24ubGF0LFxyXG4gICAgICAgICAgbG5nOiBsb2NhdGlvbi5sb25nXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vU2V0IHRoZSBpbml0aWFsIGxvY2F0aW9uIG9mIHRoZSB1c2VyXHJcbiAgICAgICAgdGhpcy5pbml0aWFsTG9jYXRpb24gPSB7XHJcbiAgICAgICAgICBsYXQ6IGxvY2F0aW9uLmxhdCxcclxuICAgICAgICAgIGxuZzogbG9jYXRpb24ubG9uZ1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwPy5zZXRab29tKDE1KTtcclxuXHJcbiAgICAgICAgLy9BZGQgbWFya2VyIGZvciB1c2VyIHBvc2l0aW9uXHJcbiAgICAgICAgbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAsXHJcbiAgICAgICAgICBwb3NpdGlvbjoge1xyXG4gICAgICAgICAgICBsYXQ6IGxvY2F0aW9uLmxhdCxcclxuICAgICAgICAgICAgbG5nOiBsb2NhdGlvbi5sb25nXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdGl0bGU6ICdZb3UgYXJlIGhlcmUnLFxyXG4gICAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgICB1cmw6ICdhc3NldHMvY3VycmVudF9sb2NhdGlvbi5zdmcnLFxyXG4gICAgICAgICAgICBzY2FsZWRTaXplOiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSg0MCwgNDApLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gRW5hYmxlIHBvbHlnb24gZHJhd2luZ1xyXG4gICAgICAgIGNvbnN0IGRyYXdpbmdNYW5hZ2VyID0gbmV3IGdvb2dsZS5tYXBzLmRyYXdpbmcuRHJhd2luZ01hbmFnZXIoe1xyXG4gICAgICAgICAgZHJhd2luZ01vZGU6IGdvb2dsZS5tYXBzLmRyYXdpbmcuT3ZlcmxheVR5cGUuUE9MWUdPTixcclxuICAgICAgICAgIGRyYXdpbmdDb250cm9sOiB0cnVlLFxyXG4gICAgICAgICAgZHJhd2luZ0NvbnRyb2xPcHRpb25zOiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBnb29nbGUubWFwcy5Db250cm9sUG9zaXRpb24uUklHSFRfQ0VOVEVSLFxyXG4gICAgICAgICAgICBkcmF3aW5nTW9kZXM6IFtnb29nbGUubWFwcy5kcmF3aW5nLk92ZXJsYXlUeXBlLlBPTFlHT05dLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHBvbHlnb25PcHRpb25zOiB7XHJcbiAgICAgICAgICAgIHN0cm9rZUNvbG9yOiAnI0UxNzU3NScsXHJcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAsXHJcbiAgICAgICAgICAgIHN0cm9rZVdlaWdodDogMCxcclxuICAgICAgICAgICAgZmlsbENvbG9yOiAnI0UxNzU3NScsXHJcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAwLjMsXHJcbiAgICAgICAgICAgIGNsaWNrYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgZWRpdGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIHpJbmRleDogMSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZHJhd2luZ01hbmFnZXIuc2V0TWFwKHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhKTtcclxuXHJcbiAgICAgICAgZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIoZHJhd2luZ01hbmFnZXIsICdkcmF3aW5nbW9kZV9jaGFuZ2VkJywgKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbW9kZSA9IGRyYXdpbmdNYW5hZ2VyLmdldERyYXdpbmdNb2RlKCk7XHJcbiAgICAgICAgICBpZiAobW9kZSA9PT0gZ29vZ2xlLm1hcHMuZHJhd2luZy5PdmVybGF5VHlwZS5QT0xZR09OKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXJQb2x5Z29uSWZFeGlzdCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBMaXN0ZW4gZm9yIHBvbHlnb24gY29tcGxldGlvblxyXG4gICAgICAgIGdvb2dsZS5tYXBzLmV2ZW50LmFkZExpc3RlbmVyKGRyYXdpbmdNYW5hZ2VyLCAnb3ZlcmxheWNvbXBsZXRlJywgKGV2ZW50OiBnb29nbGUubWFwcy5kcmF3aW5nLk92ZXJsYXlDb21wbGV0ZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gZ29vZ2xlLm1hcHMuZHJhd2luZy5PdmVybGF5VHlwZS5QT0xZR09OKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBvbHlnb24gPSBldmVudC5vdmVybGF5IGFzIGdvb2dsZS5tYXBzLlBvbHlnb247XHJcbiAgICAgICAgICAgIHRoaXMucG9seWdvbiA9IHBvbHlnb247XHJcbiAgICAgICAgICAgIC8vIERpc2FibGUgZHJhd2luZyBhZnRlciBvbmUgcG9seWdvblxyXG4gICAgICAgICAgICBkcmF3aW5nTWFuYWdlci5zZXREcmF3aW5nTW9kZShudWxsKTtcclxuXHJcbiAgICAgICAgICAgIC8vIEFjY2VzcyB0aGUgcG9seWdvbiBjb29yZGluYXRlc1xyXG4gICAgICAgICAgICBjb25zdCBwYXRoID0gcG9seWdvbi5nZXRQYXRoKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzOiBBcnJheTx7IGxhdDogbnVtYmVyOyBsbmc6IG51bWJlciB9PiA9IFtdO1xyXG4gICAgICAgICAgICBwYXRoLmZvckVhY2goKGNvb3JkOiBnb29nbGUubWFwcy5MYXRMbmcpID0+IHtcclxuICAgICAgICAgICAgICBjb29yZGluYXRlcy5wdXNoKHsgbGF0OiBjb29yZC5sYXQoKSwgbG5nOiBjb29yZC5sbmcoKSB9KTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFJlc3RhdXJhbnRzSW5Qb2x5Z29uKGNvb3JkaW5hdGVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9OQVZJR0FUSU9OU1xyXG4gIGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICB9XHJcblxyXG4gIG5hdlRvUGlja1N0YXJ0TG9jYXRpb24oKSB7XHJcbiAgICB0aGlzLm5hdkhlbHBlci5uYXZpZ2F0ZShcclxuICAgICAgW1xyXG4gICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5MT0NBVElPTl9QSUNLRVIsXHJcbiAgICAgICAgdGhpcy5pdGluZXJhcnkhLmlkLFxyXG4gICAgICBdLFxyXG4gICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICB7IHF1ZXJ5UGFyYW1zOiB7IG1vZGU6ICdzdGFydCcgfSB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xvc2VzdFBvaW50T25Qb2x5Z29uKHBvbHlnb246IGdvb2dsZS5tYXBzLlBvbHlnb24sIHBvaW50OiBnb29nbGUubWFwcy5MYXRMbmcpOiBnb29nbGUubWFwcy5MYXRMbmcge1xyXG4gICAgY29uc3QgcGF0aCA9IHBvbHlnb24uZ2V0UGF0aCgpO1xyXG4gICAgbGV0IGNsb3Nlc3RQb2ludCA9IG51bGw7XHJcbiAgICBsZXQgbWluRGlzdGFuY2UgPSBJbmZpbml0eTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGguZ2V0TGVuZ3RoKCk7IGkrKykge1xyXG4gICAgICBjb25zdCBzdGFydCA9IHBhdGguZ2V0QXQoaSk7XHJcbiAgICAgIGNvbnN0IGVuZCA9IHBhdGguZ2V0QXQoKGkgKyAxKSAlIHBhdGguZ2V0TGVuZ3RoKCkpO1xyXG5cclxuICAgICAgLy8gSW50ZXJwb2xhdGUgcG9pbnRzIGFsb25nIHRoZSBzZWdtZW50XHJcbiAgICAgIGZvciAobGV0IHQgPSAwOyB0IDw9IDE7IHQgKz0gMC4wNSkge1xyXG4gICAgICAgIGNvbnN0IGludGVycCA9IGdvb2dsZS5tYXBzLmdlb21ldHJ5LnNwaGVyaWNhbC5pbnRlcnBvbGF0ZShzdGFydCwgZW5kLCB0KTtcclxuICAgICAgICBjb25zdCBkaXN0ID0gZ29vZ2xlLm1hcHMuZ2VvbWV0cnkuc3BoZXJpY2FsLmNvbXB1dGVEaXN0YW5jZUJldHdlZW4ocG9pbnQsIGludGVycCk7XHJcbiAgICAgICAgaWYgKGRpc3QgPCBtaW5EaXN0YW5jZSkge1xyXG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0O1xyXG4gICAgICAgICAgY2xvc2VzdFBvaW50ID0gaW50ZXJwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjbG9zZXN0UG9pbnQhO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWNyZWF0ZS1pdGluZXJhcnktaGVhZGVyXHJcbiAgW3Byb2dyZXNzQmFyVmFsdWVdPVwiNTBcIlxyXG4gIGhlYWRpbmc9XCJDcmVhdGUgSXRpbmVyYXJ5XCJcclxuPjwvYXBwLWNyZWF0ZS1pdGluZXJhcnktaGVhZGVyPlxyXG48bGliLW1hcCAjbGliTWFwIGNsYXNzPVwibWFwcy0xMDB2aFwiPjwvbGliLW1hcD5cclxuPGFwcC1ib3R0b20tbW9kYWxcclxuICBbc2hvd0Fycm93XT1cInRydWVcIlxyXG4gIFsoaXNPcGVuKV09XCJpc09wZW5cIlxyXG4gIFthZGFwdFRvQ29udGVudEhlaWdodF09XCJ0cnVlXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWFwRHJhd25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwbC00IHByLTRcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJmb250LUNhbGlzdG9nYSB0ZXh0LWxnXCI+e3sgXCJJVElORVJBUlkuRFJBV1wiIHwgdHJhbnNsYXRlIH19PC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0YWJsZXMgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZUFjdGlvbihhKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYWN0aW9uc1wiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhIG9mIGFjdGlvbnNcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBhID09PSBzZWxlY3RlZCB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImFcIiBhbHQ9XCJpY29uXCIgbG9hZGluZz1cImxhenlcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8cCBjbGFzcz1cIm10LTMgcHgtNCBtYi00XCI+e3sgXCJJVElORVJBUlkuRFJBV19ERVNDUklQVElPTlwiIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFwRHJhd25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG8gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLXgtMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0xIHRleHQteHNcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ2xvY2F0aW9uV2hpdGUnXVwiXHJcbiAgICAgICAgICAgIGFsdD1cImxvY2F0aW9uXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHNwYW4+Jm5ic3A7e3sgXCJJVElORVJBUlkuU0VMRUNUX01JTl9QTEFDRVNcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC00IGJvcmRlciB3LTAgYm9yZGVyLXNlY29uZGFyeVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAteC0yIHRleHQteHNcIj5cclxuICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwiSUNPTlNbJ2Nsb2NrJ11cIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8c3Bhbj4mbmJzcDswIG1pbnV0ZXM8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgZm9udC10aGluXCI+KDAuMCBrbSk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXBsYWNlcy1kZXNjcmlwdGlvbiBtdC01IHRleHQtY2VudGVyIG1iLTRcIj5cclxuICAgICAgICB7eyBcIklUSU5FUkFSWS5TRUxFQ1RfUExBQ0VTX0lOU1RSVUNUSU9OXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bGliLWZvb3Rlci1zaGFyZWRcclxuICAgIChjb250aW51ZUJ1dHRvbkNsaWNrKT1cImNvbnRpbnVlKClcIlxyXG4gICAgKHNlY29uZGFyeUJ1dHRvbkNsaWNrKT1cImNsZWFyTWFwKClcIlxyXG4gICAgW2NhbkNvbnRpbnVlXT1cInRydWVcIlxyXG4gICAgW2NvbnRpbnVlQnV0dG9uVGV4dF09XCInQ09NTU9OLkNPTlRJTlVFJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbc2Vjb25kYXJ5QnV0dG9uVGV4dF09XCInQ09NTU9OLkNMRUFSJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICA+PC9saWItZm9vdGVyLXNoYXJlZD5cclxuICA8L2Rpdj5cclxuPC9hcHAtYm90dG9tLW1vZGFsPlxyXG48ZGl2XHJcbiAgKGNsaWNrKT1cInNob3dCb3R0b21Nb2RhbCgpXCJcclxuICBjbGFzcz1cImFic29sdXRlIGJvdHRvbS0wIGN1cnNvci1wb2ludGVyIHotMTBcIlxyXG4gIHN0eWxlPVwibGVmdDogNTAlXCJcclxuPlxyXG4gIDxpbWdcclxuICAgIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKVwiXHJcbiAgICBbc3JjXT1cIklDT05TWydyaWdodEFycm93J11cIlxyXG4gICAgYWx0PVwiaWNvblwiXHJcbiAgICBoZWlnaHQ9XCIxNVwiXHJcbiAgICB3aWR0aD1cIjE1XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19