simpo-component-library 3.0.33 → 3.0.35

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 (26) hide show
  1. package/esm2022/lib/elements/payment-confirmation/payment-confirmation.component.mjs +14 -6
  2. package/esm2022/lib/elements/portfolio/portfolio.component.mjs +8 -3
  3. package/esm2022/lib/elements/properties/properties.component.mjs +4 -3
  4. package/esm2022/lib/elements/property-view/property-view.component.mjs +3 -3
  5. package/esm2022/lib/pipes/amount.pipe.mjs +2 -2
  6. package/esm2022/lib/sections/kyc-details/kyc-details.component.mjs +2 -2
  7. package/esm2022/lib/sections/profile-section/profile-section.component.mjs +10 -4
  8. package/esm2022/lib/sections/property-detail/property-detail.component.mjs +30 -12
  9. package/esm2022/lib/sections/signup-signin/signup-signin.component.mjs +10 -9
  10. package/fesm2022/simpo-component-library.mjs +102 -67
  11. package/fesm2022/simpo-component-library.mjs.map +1 -1
  12. package/lib/directive/background-directive.d.ts +1 -1
  13. package/lib/directive/button-directive.directive.d.ts +1 -1
  14. package/lib/directive/color.directive.d.ts +1 -1
  15. package/lib/elements/payment-confirmation/payment-confirmation.component.d.ts +1 -0
  16. package/lib/elements/portfolio/portfolio.component.d.ts +2 -0
  17. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
  18. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  19. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  20. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
  21. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  22. package/lib/sections/profile-section/profile-section.component.d.ts +2 -0
  23. package/lib/sections/property-detail/property-detail.component.d.ts +2 -0
  24. package/package.json +1 -1
  25. package/simpo-component-library-3.0.35.tgz +0 -0
  26. package/simpo-component-library-3.0.33.tgz +0 -0
@@ -3,6 +3,7 @@ import { Component, HostListener } from '@angular/core';
3
3
  import { MatIcon } from '@angular/material/icon';
4
4
  import { PropertyViewComponent } from '../property-view/property-view.component';
5
5
  import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
6
+ import { FormateAmount } from '../../pipes/amount.pipe';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "./../../services/rest.service";
8
9
  import * as i2 from "@angular/common";
@@ -28,13 +29,13 @@ export class PropertiesComponent {
28
29
  this.screenWidth = window.innerWidth;
29
30
  }
30
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertiesComponent, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertiesComponent, isStandalone: true, selector: "simpo-properties", host: { listeners: { "window: resize": "getScreenSize($event)" } }, ngImport: i0, template: "<section class=\"main-container\" *ngIf=\"!viewTab && !pageLoader\">\r\n <!-- <div class=\"card-section d-flex gap-2\">\r\n <div class=\"cards\" *ngFor=\"let ele of investments\">\r\n <div class=\"head\">{{ele.name}}</div>\r\n <div class=\"mini-cards\">\r\n <div class=\"mini-card\" *ngFor=\"let ele of ele.details\">\r\n <div class=\"text\">{{ele.name}}</div>\r\n <div class=\"number d-flex\">{{ele.value}}&nbsp;&nbsp;<span *ngIf=\"ele?.spanValue\"\r\n class=\"span-text d-flex\"><mat-icon>arrow_drop_up</mat-icon>\r\n {{ele.spanValue}}</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-tabs d-flex gap-10 mt-3\">\r\n <div class=\"tab\" *ngFor=\"let ele of tabs\" (click)=\"activeTab = ele.value\"\r\n [class.tabActive]=\"activeTab == ele.value\">{{ele.viewValue}}</div>\r\n </div> -->\r\n <div class=\"property-cards\">\r\n <ng-container *ngFor=\"let ele of propertyDetails\">\r\n <div class=\"property-card w-100 d-flex gap-10\" (click)=\"viewTab = true;selectedId = ele.propertyId\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35 h-34\" data-bs-ride=\"carousel\" *ngIf=\"ele?.propertyImage\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of ele?.propertyImage;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center p-15\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of ele.propertyImage;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\"\r\n aria-current=\"true\" aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-card w-35 d-flex gap-10\" *ngIf=\"!ele?.propertyImage\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/1/14/No_Image_Available.jpg\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"right-top d-flex justify-content-between\">\r\n <div class=\"head-left\">\r\n <div class=\"propertyname\">{{ele?.name ?? \"N/A\"}}</div>\r\n <div class=\"property-location\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\">{{ele?.propertyLocation ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n <!-- <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/637983c1739855715188Vector%2012%20%281%29.png\" class=\"curve-img\"> -->\r\n <div class=\"right-bottom d-flex gap-10 width\">\r\n <div class=\"row w-100\">\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">{{ele?.investedAmount ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Invested Amount</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\" [class.lst-div]=\"screenWidth < 475\">\r\n <div class=\"top-detail text-center\">{{ele?.totalSqFeetOwned ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Sq.ft</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">{{ele?.indicativeMarketValue ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Current Value</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details lst-div\">\r\n <div class=\"top-detail text-center\">{{ele?.currentAmount ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Profit/Loss</div>\r\n </div>\r\n <!-- lst-div -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</section>\r\n<section class=\"view-container\" *ngIf=\"viewTab\">\r\n <div class=\"back\">\r\n <div class=\"back-text d-flex align-items-center\">\r\n <p class=\"my-text mb-0 common-style\" (click)=\"viewTab = false\">My Properties</p><mat-icon\r\n class=\"my-text\">keyboard_arrow_right</mat-icon>\r\n <p class=\"prty-text mb-0 common-style\">Property Details</p>\r\n </div>\r\n </div>\r\n <simpo-property-view [id]=\"selectedId\"></simpo-property-view>\r\n</section>\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"property-cards\">\r\n <div *ngFor=\"let skel of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '30vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n</section>", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.gap-2{gap:2%!important}.cards{background:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.03);width:49%;padding:10px}.head{font-size:18px;font-weight:600;line-height:24px;color:#000;margin-bottom:10px}.mini-cards{display:grid;grid-template-columns:48% 48%;gap:3%}.mini-card{background:#fafafa;border-radius:7px;padding:10px 15px;margin-bottom:10px}.text{font-size:14px;line-height:24px;font-weight:500;color:#01161ecc;margin-bottom:10px}.number{font-size:24px;line-height:24px;font-weight:700;color:#01161e}.span-text{font-size:13px;line-height:24px;font-weight:700;color:#36b37e}.property-tab{display:flex;gap:10px;margin-top:15px}.gap-10{gap:10px}.tab{padding:10px;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:8px;font-size:16px;line-height:24px;font-weight:500;color:#01161e;cursor:pointer}.tabActive{color:#f8a938!important;border:1px solid rgba(248,169,56,1)!important}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.height-30{height:35vh}.w-35{width:35%!important}.property-cards{overflow-y:scroll;height:81vh}.property-card{border-radius:10px!important;background:#fff;border:1px solid rgba(0,0,0,.04);margin-bottom:15px;position:relative;overflow:hidden;cursor:pointer}.br-10{border-radius:10px 0 0 10px}.right-section{width:65%}.property-name{font-size:16px;font-weight:600;line-height:21px;color:#000}.property-location{font-size:14px;font-weight:500;line-height:44px;color:#0000004d}.type{font-size:14px;font-weight:600;line-height:24px;color:#f8a938;background:#ffebcb;border-radius:8px 0 0 9px;padding:6px}.right-bottom{background:#219ebc}.details{border-right:1px solid rgba(255,255,255,.2);padding:8px;margin:8px 0}.top-detail{font-size:20px;font-weight:700;line-height:24px;color:#fff}.bottom-detail{font-size:13px;font-weight:500;line-height:24px;color:#ffffffb3}.head-left{padding:10px}.head-right{padding:10px 0}.lst-div{border:unset!important}.width{width:90%!important}.curve-img{position:absolute;width:33px;top:33%;left:31%}.p-15{padding:15px}.my-text{color:#00000080;cursor:pointer}.prty-text{color:#000}.common-style{font-size:14px;line-height:24px;font-weight:500}.grey-icon{filter:grayscale(100%) brightness(50%)}@media only screen and (max-width: 475px){.property-card{width:100%;display:flex;flex-direction:column;gap:10px}.carousel{position:unset;width:100%!important;padding:10px}.right-section{width:100%}.head-right{display:none}.propertyName{position:relative;bottom:50px}.h-34{height:32vh}.right-bottom{border-radius:10px}.propertyname{font-size:19px;font-weight:600}.property-location{font-size:20px}.property-cards{height:100%}.width{width:95%!important}.br-10{border-radius:10px}.height-30{height:32vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PropertyViewComponent, selector: "simpo-property-view", inputs: ["id"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }] }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertiesComponent, isStandalone: true, selector: "simpo-properties", host: { listeners: { "window: resize": "getScreenSize($event)" } }, ngImport: i0, template: "<section class=\"main-container\" *ngIf=\"!viewTab && !pageLoader\">\r\n <!-- <div class=\"card-section d-flex gap-2\">\r\n <div class=\"cards\" *ngFor=\"let ele of investments\">\r\n <div class=\"head\">{{ele.name}}</div>\r\n <div class=\"mini-cards\">\r\n <div class=\"mini-card\" *ngFor=\"let ele of ele.details\">\r\n <div class=\"text\">{{ele.name}}</div>\r\n <div class=\"number d-flex\">{{ele.value}}&nbsp;&nbsp;<span *ngIf=\"ele?.spanValue\"\r\n class=\"span-text d-flex\"><mat-icon>arrow_drop_up</mat-icon>\r\n {{ele.spanValue}}</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-tabs d-flex gap-10 mt-3\">\r\n <div class=\"tab\" *ngFor=\"let ele of tabs\" (click)=\"activeTab = ele.value\"\r\n [class.tabActive]=\"activeTab == ele.value\">{{ele.viewValue}}</div>\r\n </div> -->\r\n <div class=\"property-cards\">\r\n <ng-container *ngFor=\"let ele of propertyDetails\">\r\n <div class=\"property-card w-100 d-flex gap-10\" (click)=\"viewTab = true;selectedId = ele.propertyId\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35 h-34\" data-bs-ride=\"carousel\" *ngIf=\"ele?.propertyImage\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of ele?.propertyImage;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center p-15\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of ele.propertyImage;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\"\r\n aria-current=\"true\" aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-card w-35 d-flex gap-10\" *ngIf=\"!ele?.propertyImage\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/1/14/No_Image_Available.jpg\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"right-top d-flex justify-content-between\">\r\n <div class=\"head-left\">\r\n <div class=\"propertyname\">{{ele?.name ?? \"N/A\"}}</div>\r\n <div class=\"property-location\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\">{{ele?.location ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n <!-- <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/637983c1739855715188Vector%2012%20%281%29.png\" class=\"curve-img\"> -->\r\n <div class=\"row right-bottom width\">\r\n <!-- <div class=\"row w-100\"> -->\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">\u20B9 {{ele?.investedAmount ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Invested Amount</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\" [class.lst-div]=\"screenWidth < 475\">\r\n <div class=\"top-detail text-center\">{{ele?.totalSqFeetOwned ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Sq.ft</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">\u20B9 {{ele?.indicativeMarketValue ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Current Value</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details lst-div\">\r\n <div class=\"top-detail text-center\" [ngClass]=\"{'text-profit': (ele?.currentAmount - ele?.investedAmount) > 0,\r\n 'text-loss': (ele?.currentAmount - ele?.investedAmount) < 0}\">\r\n \u20B9 {{ (ele?.currentAmount ?? 0) - (ele?.investedAmount ?? 0) | formateAmount:'IND' }}</div>\r\n <div class=\"bottom-detail text-center\" [ngClass]=\"{'text-profit': (ele?.currentAmount - ele?.investedAmount) > 0,\r\n 'text-loss': (ele?.currentAmount - ele?.investedAmount) < 0}\">Profit/Loss</div>\r\n </div>\r\n <!-- lst-div -->\r\n <!-- </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</section>\r\n<section class=\"view-container\" *ngIf=\"viewTab\">\r\n <div class=\"back\">\r\n <div class=\"back-text d-flex align-items-center\">\r\n <p class=\"my-text mb-0 common-style\" (click)=\"viewTab = false\">My Properties</p><mat-icon\r\n class=\"my-text\">keyboard_arrow_right</mat-icon>\r\n <p class=\"prty-text mb-0 common-style\">Property Details</p>\r\n </div>\r\n </div>\r\n <simpo-property-view [id]=\"selectedId\"></simpo-property-view>\r\n</section>\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"property-cards\">\r\n <div *ngFor=\"let skel of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '30vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n</section>", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.gap-2{gap:2%!important}.cards{background:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.03);width:49%;padding:10px}.head{font-size:18px;font-weight:600;line-height:24px;color:#000;margin-bottom:10px}.mini-cards{display:grid;grid-template-columns:48% 48%;gap:3%}.mini-card{background:#fafafa;border-radius:7px;padding:10px 15px;margin-bottom:10px}.text{font-size:14px;line-height:24px;font-weight:500;color:#01161ecc;margin-bottom:10px}.number{font-size:24px;line-height:24px;font-weight:700;color:#01161e}.span-text{font-size:13px;line-height:24px;font-weight:700;color:#36b37e}.property-tab{display:flex;gap:10px;margin-top:15px}.gap-10{gap:10px}.tab{padding:10px;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:8px;font-size:16px;line-height:24px;font-weight:500;color:#01161e;cursor:pointer}.tabActive{color:#f8a938!important;border:1px solid rgba(248,169,56,1)!important}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.height-30{height:35vh}.w-35{width:35%!important}.property-cards{overflow-y:scroll;height:81vh}.property-card{border-radius:10px!important;background:#fff;border:1px solid rgba(0,0,0,.04);margin-bottom:15px;position:relative;overflow:hidden;cursor:pointer}.br-10{border-radius:10px 0 0 10px}.right-section{width:65%}.property-name{font-size:16px;font-weight:600;line-height:21px;color:#000}.property-location{font-size:14px;font-weight:500;line-height:44px;color:#0000004d}.type{font-size:14px;font-weight:600;line-height:24px;color:#f8a938;background:#ffebcb;border-radius:8px 0 0 9px;padding:6px}.right-bottom{background:#219ebc;margin-left:5px}.details{border-right:1px solid rgba(255,255,255,.2);padding:8px;margin:8px 0}.top-detail{font-size:20px;font-weight:700;line-height:24px;color:#fff}.bottom-detail{font-size:13px;font-weight:500;line-height:24px;color:#ffffffb3}.head-left{padding:10px}.head-right{padding:10px 0}.lst-div{border:unset!important}.width{width:90%!important}.curve-img{position:absolute;width:33px;top:33%;left:31%}.p-15{padding:15px}.my-text{color:#00000080;cursor:pointer}.prty-text{color:#000}.common-style{font-size:14px;line-height:24px;font-weight:500}.grey-icon{filter:grayscale(100%) brightness(50%)}.text-profit{color:#4eeeaa}.text-loss{color:#f36f56}@media only screen and (max-width: 475px){.property-card{width:100%;display:flex;flex-direction:column;gap:10px}.carousel{position:unset;width:100%!important;padding:10px}.right-section{width:100%}.head-right{display:none}.propertyName{position:relative;bottom:50px}.h-34{height:32vh}.right-bottom{border-radius:10px}.propertyname{font-size:19px;font-weight:600}.property-location{font-size:20px}.property-cards{height:100%}.width{width:95%!important}.br-10{border-radius:10px}.height-30{height:32vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PropertyViewComponent, selector: "simpo-property-view", inputs: ["id"] }, { kind: "pipe", type: FormateAmount, name: "formateAmount" }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }] }); }
32
33
  }
33
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertiesComponent, decorators: [{
34
35
  type: Component,
35
- args: [{ selector: 'simpo-properties', standalone: true, imports: [CommonModule, MatIcon, PropertyViewComponent, NgxSkeletonLoaderModule], template: "<section class=\"main-container\" *ngIf=\"!viewTab && !pageLoader\">\r\n <!-- <div class=\"card-section d-flex gap-2\">\r\n <div class=\"cards\" *ngFor=\"let ele of investments\">\r\n <div class=\"head\">{{ele.name}}</div>\r\n <div class=\"mini-cards\">\r\n <div class=\"mini-card\" *ngFor=\"let ele of ele.details\">\r\n <div class=\"text\">{{ele.name}}</div>\r\n <div class=\"number d-flex\">{{ele.value}}&nbsp;&nbsp;<span *ngIf=\"ele?.spanValue\"\r\n class=\"span-text d-flex\"><mat-icon>arrow_drop_up</mat-icon>\r\n {{ele.spanValue}}</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-tabs d-flex gap-10 mt-3\">\r\n <div class=\"tab\" *ngFor=\"let ele of tabs\" (click)=\"activeTab = ele.value\"\r\n [class.tabActive]=\"activeTab == ele.value\">{{ele.viewValue}}</div>\r\n </div> -->\r\n <div class=\"property-cards\">\r\n <ng-container *ngFor=\"let ele of propertyDetails\">\r\n <div class=\"property-card w-100 d-flex gap-10\" (click)=\"viewTab = true;selectedId = ele.propertyId\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35 h-34\" data-bs-ride=\"carousel\" *ngIf=\"ele?.propertyImage\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of ele?.propertyImage;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center p-15\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of ele.propertyImage;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\"\r\n aria-current=\"true\" aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-card w-35 d-flex gap-10\" *ngIf=\"!ele?.propertyImage\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/1/14/No_Image_Available.jpg\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"right-top d-flex justify-content-between\">\r\n <div class=\"head-left\">\r\n <div class=\"propertyname\">{{ele?.name ?? \"N/A\"}}</div>\r\n <div class=\"property-location\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\">{{ele?.propertyLocation ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n <!-- <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/637983c1739855715188Vector%2012%20%281%29.png\" class=\"curve-img\"> -->\r\n <div class=\"right-bottom d-flex gap-10 width\">\r\n <div class=\"row w-100\">\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">{{ele?.investedAmount ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Invested Amount</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\" [class.lst-div]=\"screenWidth < 475\">\r\n <div class=\"top-detail text-center\">{{ele?.totalSqFeetOwned ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Sq.ft</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">{{ele?.indicativeMarketValue ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Current Value</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details lst-div\">\r\n <div class=\"top-detail text-center\">{{ele?.currentAmount ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Profit/Loss</div>\r\n </div>\r\n <!-- lst-div -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</section>\r\n<section class=\"view-container\" *ngIf=\"viewTab\">\r\n <div class=\"back\">\r\n <div class=\"back-text d-flex align-items-center\">\r\n <p class=\"my-text mb-0 common-style\" (click)=\"viewTab = false\">My Properties</p><mat-icon\r\n class=\"my-text\">keyboard_arrow_right</mat-icon>\r\n <p class=\"prty-text mb-0 common-style\">Property Details</p>\r\n </div>\r\n </div>\r\n <simpo-property-view [id]=\"selectedId\"></simpo-property-view>\r\n</section>\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"property-cards\">\r\n <div *ngFor=\"let skel of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '30vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n</section>", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.gap-2{gap:2%!important}.cards{background:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.03);width:49%;padding:10px}.head{font-size:18px;font-weight:600;line-height:24px;color:#000;margin-bottom:10px}.mini-cards{display:grid;grid-template-columns:48% 48%;gap:3%}.mini-card{background:#fafafa;border-radius:7px;padding:10px 15px;margin-bottom:10px}.text{font-size:14px;line-height:24px;font-weight:500;color:#01161ecc;margin-bottom:10px}.number{font-size:24px;line-height:24px;font-weight:700;color:#01161e}.span-text{font-size:13px;line-height:24px;font-weight:700;color:#36b37e}.property-tab{display:flex;gap:10px;margin-top:15px}.gap-10{gap:10px}.tab{padding:10px;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:8px;font-size:16px;line-height:24px;font-weight:500;color:#01161e;cursor:pointer}.tabActive{color:#f8a938!important;border:1px solid rgba(248,169,56,1)!important}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.height-30{height:35vh}.w-35{width:35%!important}.property-cards{overflow-y:scroll;height:81vh}.property-card{border-radius:10px!important;background:#fff;border:1px solid rgba(0,0,0,.04);margin-bottom:15px;position:relative;overflow:hidden;cursor:pointer}.br-10{border-radius:10px 0 0 10px}.right-section{width:65%}.property-name{font-size:16px;font-weight:600;line-height:21px;color:#000}.property-location{font-size:14px;font-weight:500;line-height:44px;color:#0000004d}.type{font-size:14px;font-weight:600;line-height:24px;color:#f8a938;background:#ffebcb;border-radius:8px 0 0 9px;padding:6px}.right-bottom{background:#219ebc}.details{border-right:1px solid rgba(255,255,255,.2);padding:8px;margin:8px 0}.top-detail{font-size:20px;font-weight:700;line-height:24px;color:#fff}.bottom-detail{font-size:13px;font-weight:500;line-height:24px;color:#ffffffb3}.head-left{padding:10px}.head-right{padding:10px 0}.lst-div{border:unset!important}.width{width:90%!important}.curve-img{position:absolute;width:33px;top:33%;left:31%}.p-15{padding:15px}.my-text{color:#00000080;cursor:pointer}.prty-text{color:#000}.common-style{font-size:14px;line-height:24px;font-weight:500}.grey-icon{filter:grayscale(100%) brightness(50%)}@media only screen and (max-width: 475px){.property-card{width:100%;display:flex;flex-direction:column;gap:10px}.carousel{position:unset;width:100%!important;padding:10px}.right-section{width:100%}.head-right{display:none}.propertyName{position:relative;bottom:50px}.h-34{height:32vh}.right-bottom{border-radius:10px}.propertyname{font-size:19px;font-weight:600}.property-location{font-size:20px}.property-cards{height:100%}.width{width:95%!important}.br-10{border-radius:10px}.height-30{height:32vh}}\n"] }]
36
+ args: [{ selector: 'simpo-properties', standalone: true, imports: [CommonModule, MatIcon, PropertyViewComponent, FormateAmount, NgxSkeletonLoaderModule], template: "<section class=\"main-container\" *ngIf=\"!viewTab && !pageLoader\">\r\n <!-- <div class=\"card-section d-flex gap-2\">\r\n <div class=\"cards\" *ngFor=\"let ele of investments\">\r\n <div class=\"head\">{{ele.name}}</div>\r\n <div class=\"mini-cards\">\r\n <div class=\"mini-card\" *ngFor=\"let ele of ele.details\">\r\n <div class=\"text\">{{ele.name}}</div>\r\n <div class=\"number d-flex\">{{ele.value}}&nbsp;&nbsp;<span *ngIf=\"ele?.spanValue\"\r\n class=\"span-text d-flex\"><mat-icon>arrow_drop_up</mat-icon>\r\n {{ele.spanValue}}</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-tabs d-flex gap-10 mt-3\">\r\n <div class=\"tab\" *ngFor=\"let ele of tabs\" (click)=\"activeTab = ele.value\"\r\n [class.tabActive]=\"activeTab == ele.value\">{{ele.viewValue}}</div>\r\n </div> -->\r\n <div class=\"property-cards\">\r\n <ng-container *ngFor=\"let ele of propertyDetails\">\r\n <div class=\"property-card w-100 d-flex gap-10\" (click)=\"viewTab = true;selectedId = ele.propertyId\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35 h-34\" data-bs-ride=\"carousel\" *ngIf=\"ele?.propertyImage\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of ele?.propertyImage;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center p-15\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of ele.propertyImage;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\"\r\n aria-current=\"true\" aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-card w-35 d-flex gap-10\" *ngIf=\"!ele?.propertyImage\">\r\n <img src=\"https://upload.wikimedia.org/wikipedia/commons/1/14/No_Image_Available.jpg\" class=\"d-block w-100 height-30 br-10\" alt=\"property-image\">\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"right-top d-flex justify-content-between\">\r\n <div class=\"head-left\">\r\n <div class=\"propertyname\">{{ele?.name ?? \"N/A\"}}</div>\r\n <div class=\"property-location\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\">{{ele?.location ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n <!-- <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/637983c1739855715188Vector%2012%20%281%29.png\" class=\"curve-img\"> -->\r\n <div class=\"row right-bottom width\">\r\n <!-- <div class=\"row w-100\"> -->\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">\u20B9 {{ele?.investedAmount ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Invested Amount</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\" [class.lst-div]=\"screenWidth < 475\">\r\n <div class=\"top-detail text-center\">{{ele?.totalSqFeetOwned ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Sq.ft</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details\">\r\n <div class=\"top-detail text-center\">\u20B9 {{ele?.indicativeMarketValue ?? 0}}</div>\r\n <div class=\"bottom-detail text-center\">Current Value</div>\r\n </div>\r\n <div class=\"col-md-3 col-6 details lst-div\">\r\n <div class=\"top-detail text-center\" [ngClass]=\"{'text-profit': (ele?.currentAmount - ele?.investedAmount) > 0,\r\n 'text-loss': (ele?.currentAmount - ele?.investedAmount) < 0}\">\r\n \u20B9 {{ (ele?.currentAmount ?? 0) - (ele?.investedAmount ?? 0) | formateAmount:'IND' }}</div>\r\n <div class=\"bottom-detail text-center\" [ngClass]=\"{'text-profit': (ele?.currentAmount - ele?.investedAmount) > 0,\r\n 'text-loss': (ele?.currentAmount - ele?.investedAmount) < 0}\">Profit/Loss</div>\r\n </div>\r\n <!-- lst-div -->\r\n <!-- </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</section>\r\n<section class=\"view-container\" *ngIf=\"viewTab\">\r\n <div class=\"back\">\r\n <div class=\"back-text d-flex align-items-center\">\r\n <p class=\"my-text mb-0 common-style\" (click)=\"viewTab = false\">My Properties</p><mat-icon\r\n class=\"my-text\">keyboard_arrow_right</mat-icon>\r\n <p class=\"prty-text mb-0 common-style\">Property Details</p>\r\n </div>\r\n </div>\r\n <simpo-property-view [id]=\"selectedId\"></simpo-property-view>\r\n</section>\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"property-cards\">\r\n <div *ngFor=\"let skel of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '30vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n</section>", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.gap-2{gap:2%!important}.cards{background:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.03);width:49%;padding:10px}.head{font-size:18px;font-weight:600;line-height:24px;color:#000;margin-bottom:10px}.mini-cards{display:grid;grid-template-columns:48% 48%;gap:3%}.mini-card{background:#fafafa;border-radius:7px;padding:10px 15px;margin-bottom:10px}.text{font-size:14px;line-height:24px;font-weight:500;color:#01161ecc;margin-bottom:10px}.number{font-size:24px;line-height:24px;font-weight:700;color:#01161e}.span-text{font-size:13px;line-height:24px;font-weight:700;color:#36b37e}.property-tab{display:flex;gap:10px;margin-top:15px}.gap-10{gap:10px}.tab{padding:10px;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:8px;font-size:16px;line-height:24px;font-weight:500;color:#01161e;cursor:pointer}.tabActive{color:#f8a938!important;border:1px solid rgba(248,169,56,1)!important}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.height-30{height:35vh}.w-35{width:35%!important}.property-cards{overflow-y:scroll;height:81vh}.property-card{border-radius:10px!important;background:#fff;border:1px solid rgba(0,0,0,.04);margin-bottom:15px;position:relative;overflow:hidden;cursor:pointer}.br-10{border-radius:10px 0 0 10px}.right-section{width:65%}.property-name{font-size:16px;font-weight:600;line-height:21px;color:#000}.property-location{font-size:14px;font-weight:500;line-height:44px;color:#0000004d}.type{font-size:14px;font-weight:600;line-height:24px;color:#f8a938;background:#ffebcb;border-radius:8px 0 0 9px;padding:6px}.right-bottom{background:#219ebc;margin-left:5px}.details{border-right:1px solid rgba(255,255,255,.2);padding:8px;margin:8px 0}.top-detail{font-size:20px;font-weight:700;line-height:24px;color:#fff}.bottom-detail{font-size:13px;font-weight:500;line-height:24px;color:#ffffffb3}.head-left{padding:10px}.head-right{padding:10px 0}.lst-div{border:unset!important}.width{width:90%!important}.curve-img{position:absolute;width:33px;top:33%;left:31%}.p-15{padding:15px}.my-text{color:#00000080;cursor:pointer}.prty-text{color:#000}.common-style{font-size:14px;line-height:24px;font-weight:500}.grey-icon{filter:grayscale(100%) brightness(50%)}.text-profit{color:#4eeeaa}.text-loss{color:#f36f56}@media only screen and (max-width: 475px){.property-card{width:100%;display:flex;flex-direction:column;gap:10px}.carousel{position:unset;width:100%!important;padding:10px}.right-section{width:100%}.head-right{display:none}.propertyName{position:relative;bottom:50px}.h-34{height:32vh}.right-bottom{border-radius:10px}.propertyname{font-size:19px;font-weight:600}.property-location{font-size:20px}.property-cards{height:100%}.width{width:95%!important}.br-10{border-radius:10px}.height-30{height:32vh}}\n"] }]
36
37
  }], ctorParameters: () => [{ type: i1.RestService }], propDecorators: { getScreenSize: [{
37
38
  type: HostListener,
38
39
  args: ["window: resize", ["$event"]]
39
40
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQVc5RCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBeUM1QyxlQUFVLEdBQWEsS0FBSyxDQUFBO1FBaUI1QixZQUFPLEdBQVksS0FBSyxDQUFBO0lBeER4QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBbUNELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLENBQUMsU0FBUyxDQUMvQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUE7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFDekIsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDO0lBR0QsYUFBYTtRQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUN2QyxDQUFDOzhHQXpEVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixnSkNoQmhDLCsyTUFzR1UsdzhGRDFGRSxZQUFZLGdRQUFFLE9BQU8sMklBQUUscUJBQXFCLCtFQUFDLHVCQUF1Qjs7MkZBSW5FLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBQyx1QkFBdUIsQ0FBQztnRkEyRC9FLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgUHJvcGVydHlWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vcHJvcGVydHktdmlldy9wcm9wZXJ0eS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByb3BlcnRpZXMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbiwgUHJvcGVydHlWaWV3Q29tcG9uZW50LE5neFNrZWxldG9uTG9hZGVyTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Byb3BlcnRpZXMuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3BlcnRpZXNDb21wb25lbnQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRQcm9wZXJ0eURldGFpbHMoKVxyXG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKClcclxuICB9XHJcblxyXG4gIC8vIGludmVzdG1lbnRzOiBhbnkgPSBbXHJcbiAgLy8gICB7XHJcbiAgLy8gICAgIG5hbWU6IFwiU1FGVCBJbnZlc3RtZW50XCIsXHJcbiAgLy8gICAgIGRldGFpbHM6IFtcclxuICAvLyAgICAgICB7IG5hbWU6IFwiVG90YWwgU3EuZnQgT3duZWRcIiwgdmFsdWU6IFwiNDNcIiB9LFxyXG4gIC8vICAgICAgIHsgbmFtZTogXCJBbW91bnQgSW52ZXN0ZWRcIiwgdmFsdWU6IFwi4oK5NS43MyBMXCIgfSxcclxuICAvLyAgICAgICB7IG5hbWU6IFwiSW5kaWNhdGl2ZSBNYXJrZXQgVmFsdWVcIiwgdmFsdWU6IFwi4oK5Ni4yMSBMXCIsIHNwYW5WYWx1ZTogXCIrMi4xJVwiIH0sXHJcbiAgLy8gICAgICAgeyBuYW1lOiBcIklSUlwiLCB2YWx1ZTogXCIxNCVcIiB9LFxyXG4gIC8vICAgICBdXHJcbiAgLy8gICB9LFxyXG4gIC8vICAge1xyXG4gIC8vICAgICBuYW1lOiBcIlByaXZhdGUgSW52ZXN0bWVudCBcIixcclxuICAvLyAgICAgZGV0YWlsczogW1xyXG4gIC8vICAgICAgIHsgbmFtZTogXCJQcm9wZXJ0aWVzIE93bmVkXCIsIHZhbHVlOiBcIjJcIiB9LFxyXG4gIC8vICAgICAgIHsgbmFtZTogXCJQcm9wZXJ0aWVzIFNxLmZ0XCIsIHZhbHVlOiBcIjMwOTJcIiB9LFxyXG4gIC8vICAgICAgIHsgbmFtZTogXCJJbnZlc3RlZCBWYWx1ZVwiLCB2YWx1ZTogXCLigrkzMi40MSBMXCIsIHNwYW5WYWx1ZTogXCIrMi4xJVwiIH0sXHJcbiAgLy8gICAgICAgeyBuYW1lOiBcIkluZGljYXRpdmUgTWFya2V0IFZhbHVlXCIsIHZhbHVlOiBcIuKCuTM4LjU5IExcIiB9LFxyXG4gIC8vICAgICBdXHJcbiAgLy8gICB9XHJcbiAgLy8gXVxyXG5cclxuICAvLyBhY3RpdmVUYWI6IGFueSA9IFwiQUxMX1BST1BFUlRJRVNcIlxyXG5cclxuICAvLyB0YWJzOiBhbnkgPSBbXHJcbiAgLy8gICB7IHZpZXdWYWx1ZTogXCJBbGwgUHJvcGVydGllc1wiLCB2YWx1ZTogXCJBTExfUFJPUEVSVElFU1wiIH0sXHJcbiAgLy8gICB7IHZpZXdWYWx1ZTogXCJNeSBTUUZUXCIsIHZhbHVlOiBcIlNRRlRcIiB9LFxyXG4gIC8vICAgeyB2aWV3VmFsdWU6IFwiUHJpdmF0ZSBJbnZlc3RtZW50c1wiLCB2YWx1ZTogXCJQUklWQVRFXCIgfSxcclxuICAvLyBdXHJcblxyXG4gIHByb3BlcnR5RGV0YWlsczogYW55O1xyXG4gIHNlbGVjdGVkSWQgOiBhbnk7XHJcblxyXG4gIHBhZ2VMb2FkZXIgOiBib29sZWFuID0gZmFsc2VcclxuICBnZXRQcm9wZXJ0eURldGFpbHMoKSB7XHJcbiAgICB0aGlzLnBhZ2VMb2FkZXIgPSB0cnVlXHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldE15UHJvcGVydHlEZXRhaWxzKCkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnByb3BlcnR5RGV0YWlscyA9IHJlc1xyXG4gICAgICAgIHRoaXMucGFnZUxvYWRlciA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcbiAgc2NyZWVuV2lkdGggOiBhbnlcclxuICBASG9zdExpc3RlbmVyKFwid2luZG93OiByZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIGdldFNjcmVlblNpemUoKSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG4gIFxyXG5cclxuICB2aWV3VGFiOiBib29sZWFuID0gZmFsc2VcclxuXHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLWNvbnRhaW5lclwiICpuZ0lmPVwiIXZpZXdUYWIgJiYgIXBhZ2VMb2FkZXJcIj5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQtc2VjdGlvbiBkLWZsZXggZ2FwLTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZHNcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIGludmVzdG1lbnRzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkXCI+e3tlbGUubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLWNhcmRzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluaS1jYXJkXCIgKm5nRm9yPVwibGV0IGVsZSBvZiBlbGUuZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+e3tlbGUubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlciBkLWZsZXhcIj57e2VsZS52YWx1ZX19Jm5ic3A7Jm5ic3A7PHNwYW4gKm5nSWY9XCJlbGU/LnNwYW5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwYW4tdGV4dCBkLWZsZXhcIj48bWF0LWljb24+YXJyb3dfZHJvcF91cDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2VsZS5zcGFuVmFsdWV9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LXRhYnMgZC1mbGV4IGdhcC0xMCBtdC0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYlwiICpuZ0Zvcj1cImxldCBlbGUgb2YgdGFic1wiIChjbGljayk9XCJhY3RpdmVUYWIgPSBlbGUudmFsdWVcIlxyXG4gICAgICAgICAgICBbY2xhc3MudGFiQWN0aXZlXT1cImFjdGl2ZVRhYiA9PSBlbGUudmFsdWVcIj57e2VsZS52aWV3VmFsdWV9fTwvZGl2PlxyXG4gICAgPC9kaXY+IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LWNhcmRzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlIG9mIHByb3BlcnR5RGV0YWlsc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktY2FyZCB3LTEwMCBkLWZsZXggZ2FwLTEwXCIgKGNsaWNrKT1cInZpZXdUYWIgPSB0cnVlO3NlbGVjdGVkSWQgPSBlbGUucHJvcGVydHlJZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImNhcm91c2VsRXhhbXBsZUludGVydmFsXCIgY2xhc3M9XCJjYXJvdXNlbCBzbGlkZSBwLXJlbGF0aXZlIHctMzUgaC0zNFwiIGRhdGEtYnMtcmlkZT1cImNhcm91c2VsXCIgKm5nSWY9XCJlbGU/LnByb3BlcnR5SW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlIG9mIGVsZT8ucHJvcGVydHlJbWFnZTtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbSBhY3RpdmVcIiBbY2xhc3MuYWN0aXZlXT1cImlcIiBkYXRhLWJzLWludGVydmFsPVwiMzAwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJlbGVcIiBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwIGJyLTEwXCIgYWx0PVwicHJvcGVydHktaW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHlOYW1lIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnMgYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgZWxlLnByb3BlcnR5SW1hZ2U7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRhcmdldD1cIiNjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWJzLXNsaWRlLXRvXT1cImlcIiBjbGFzcz1cImFjdGl2ZSBhZGRpdGlvbmFsLXByb3BlcnRpZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PVwidHJ1ZVwiIGFyaWEtbGFiZWw9XCJTbGlkZSAxXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1jYXJkIHctMzUgZC1mbGV4IGdhcC0xMFwiICpuZ0lmPVwiIWVsZT8ucHJvcGVydHlJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy8xLzE0L05vX0ltYWdlX0F2YWlsYWJsZS5qcGdcIiBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwIGJyLTEwXCIgYWx0PVwicHJvcGVydHktaW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtdG9wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHluYW1lXCI+e3tlbGU/Lm5hbWUgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktbG9jYXRpb25cIj48aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMzg0Mjc1YzE3Mzc2Mjk3Mjk1NDVsb2NhdGlvbl9vbi5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJsb2NhdGlvbiBpbWFnZVwiIGNsYXNzPVwiZ3JleS1pY29uXCI+e3tlbGU/LnByb3BlcnR5TG9jYXRpb24gPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYzNzk4M2MxNzM5ODU1NzE1MTg4VmVjdG9yJTIwMTIlMjAlMjgxJTI5LnBuZ1wiIGNsYXNzPVwiY3VydmUtaW1nXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1ib3R0b20gZC1mbGV4IGdhcC0xMCB3aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgY29sLTYgZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtZGV0YWlsIHRleHQtY2VudGVyXCI+e3tlbGU/LmludmVzdGVkQW1vdW50ID8/IDB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGV0YWlsIHRleHQtY2VudGVyXCI+SW52ZXN0ZWQgQW1vdW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtNiBkZXRhaWxzXCIgW2NsYXNzLmxzdC1kaXZdPVwic2NyZWVuV2lkdGggPCA0NzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWRldGFpbCB0ZXh0LWNlbnRlclwiPnt7ZWxlPy50b3RhbFNxRmVldE93bmVkID8/IDB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGV0YWlsIHRleHQtY2VudGVyXCI+U3EuZnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIGNvbC02IGRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWRldGFpbCB0ZXh0LWNlbnRlclwiPnt7ZWxlPy5pbmRpY2F0aXZlTWFya2V0VmFsdWUgPz8gMH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbS1kZXRhaWwgdGV4dC1jZW50ZXJcIj5DdXJyZW50IFZhbHVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtNiBkZXRhaWxzIGxzdC1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWRldGFpbCB0ZXh0LWNlbnRlclwiPnt7ZWxlPy5jdXJyZW50QW1vdW50ID8/IDB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGV0YWlsIHRleHQtY2VudGVyXCI+UHJvZml0L0xvc3M8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBsc3QtZGl2IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjxzZWN0aW9uIGNsYXNzPVwidmlldy1jb250YWluZXJcIiAqbmdJZj1cInZpZXdUYWJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJiYWNrXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJhY2stdGV4dCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwibXktdGV4dCBtYi0wIGNvbW1vbi1zdHlsZVwiIChjbGljayk9XCJ2aWV3VGFiID0gZmFsc2VcIj5NeSBQcm9wZXJ0aWVzPC9wPjxtYXQtaWNvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJteS10ZXh0XCI+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInBydHktdGV4dCBtYi0wIGNvbW1vbi1zdHlsZVwiPlByb3BlcnR5IERldGFpbHM8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzaW1wby1wcm9wZXJ0eS12aWV3IFtpZF09XCJzZWxlY3RlZElkXCI+PC9zaW1wby1wcm9wZXJ0eS12aWV3PlxyXG48L3NlY3Rpb24+XHJcbjxzZWN0aW9uIGNsYXNzPVwicGFnZWxvYWRlclwiICpuZ0lmPVwicGFnZUxvYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LWNhcmRzXCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2tlbCBvZiBbMSwyLDNdXCI+XHJcbiAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgd2lkdGggOiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICczMHZoJyxcclxuICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvc2VjdGlvbj4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFVeEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXlDNUMsZUFBVSxHQUFhLEtBQUssQ0FBQTtRQWlCNUIsWUFBTyxHQUFZLEtBQUssQ0FBQTtJQXhEeEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQW1DRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFNBQVMsQ0FDL0MsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFBO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ3pCLENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUdELGFBQWE7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQzs4R0F6RFUsbUJBQW1CO2tHQUFuQixtQkFBbUIsZ0pDakJoQyx5ME5BeUdVLDRnR0Q1RkUsWUFBWSw4VkFBRSxPQUFPLDJJQUFFLHFCQUFxQiwyRUFBQyxhQUFhLHFEQUFFLHVCQUF1Qjs7MkZBSWxGLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBQyxhQUFhLEVBQUUsdUJBQXVCLENBQUM7Z0ZBMkQ5RixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFByb3BlcnR5Vmlld0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb3BlcnR5LXZpZXcvcHJvcGVydHktdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcclxuXHJcbmltcG9ydCB7IEZvcm1hdGVBbW91bnQgfSBmcm9tICcuLi8uLi9waXBlcy9hbW91bnQucGlwZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1wcm9wZXJ0aWVzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEljb24sIFByb3BlcnR5Vmlld0NvbXBvbmVudCxGb3JtYXRlQW1vdW50LCBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0aWVzLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0aWVzQ29tcG9uZW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0UHJvcGVydHlEZXRhaWxzKClcclxuICAgIHRoaXMuZ2V0U2NyZWVuU2l6ZSgpXHJcbiAgfVxyXG5cclxuICAvLyBpbnZlc3RtZW50czogYW55ID0gW1xyXG4gIC8vICAge1xyXG4gIC8vICAgICBuYW1lOiBcIlNRRlQgSW52ZXN0bWVudFwiLFxyXG4gIC8vICAgICBkZXRhaWxzOiBbXHJcbiAgLy8gICAgICAgeyBuYW1lOiBcIlRvdGFsIFNxLmZ0IE93bmVkXCIsIHZhbHVlOiBcIjQzXCIgfSxcclxuICAvLyAgICAgICB7IG5hbWU6IFwiQW1vdW50IEludmVzdGVkXCIsIHZhbHVlOiBcIuKCuTUuNzMgTFwiIH0sXHJcbiAgLy8gICAgICAgeyBuYW1lOiBcIkluZGljYXRpdmUgTWFya2V0IFZhbHVlXCIsIHZhbHVlOiBcIuKCuTYuMjEgTFwiLCBzcGFuVmFsdWU6IFwiKzIuMSVcIiB9LFxyXG4gIC8vICAgICAgIHsgbmFtZTogXCJJUlJcIiwgdmFsdWU6IFwiMTQlXCIgfSxcclxuICAvLyAgICAgXVxyXG4gIC8vICAgfSxcclxuICAvLyAgIHtcclxuICAvLyAgICAgbmFtZTogXCJQcml2YXRlIEludmVzdG1lbnQgXCIsXHJcbiAgLy8gICAgIGRldGFpbHM6IFtcclxuICAvLyAgICAgICB7IG5hbWU6IFwiUHJvcGVydGllcyBPd25lZFwiLCB2YWx1ZTogXCIyXCIgfSxcclxuICAvLyAgICAgICB7IG5hbWU6IFwiUHJvcGVydGllcyBTcS5mdFwiLCB2YWx1ZTogXCIzMDkyXCIgfSxcclxuICAvLyAgICAgICB7IG5hbWU6IFwiSW52ZXN0ZWQgVmFsdWVcIiwgdmFsdWU6IFwi4oK5MzIuNDEgTFwiLCBzcGFuVmFsdWU6IFwiKzIuMSVcIiB9LFxyXG4gIC8vICAgICAgIHsgbmFtZTogXCJJbmRpY2F0aXZlIE1hcmtldCBWYWx1ZVwiLCB2YWx1ZTogXCLigrkzOC41OSBMXCIgfSxcclxuICAvLyAgICAgXVxyXG4gIC8vICAgfVxyXG4gIC8vIF1cclxuXHJcbiAgLy8gYWN0aXZlVGFiOiBhbnkgPSBcIkFMTF9QUk9QRVJUSUVTXCJcclxuXHJcbiAgLy8gdGFiczogYW55ID0gW1xyXG4gIC8vICAgeyB2aWV3VmFsdWU6IFwiQWxsIFByb3BlcnRpZXNcIiwgdmFsdWU6IFwiQUxMX1BST1BFUlRJRVNcIiB9LFxyXG4gIC8vICAgeyB2aWV3VmFsdWU6IFwiTXkgU1FGVFwiLCB2YWx1ZTogXCJTUUZUXCIgfSxcclxuICAvLyAgIHsgdmlld1ZhbHVlOiBcIlByaXZhdGUgSW52ZXN0bWVudHNcIiwgdmFsdWU6IFwiUFJJVkFURVwiIH0sXHJcbiAgLy8gXVxyXG5cclxuICBwcm9wZXJ0eURldGFpbHM6IGFueTtcclxuICBzZWxlY3RlZElkIDogYW55O1xyXG5cclxuICBwYWdlTG9hZGVyIDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgZ2V0UHJvcGVydHlEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5wYWdlTG9hZGVyID0gdHJ1ZVxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRNeVByb3BlcnR5RGV0YWlscygpLnN1YnNjcmliZShcclxuICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9wZXJ0eURldGFpbHMgPSByZXNcclxuICAgICAgICB0aGlzLnBhZ2VMb2FkZXIgPSBmYWxzZVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG4gIHNjcmVlbldpZHRoIDogYW55XHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzogcmVzaXplXCIsIFtcIiRldmVudFwiXSlcclxuICBnZXRTY3JlZW5TaXplKCkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcblxyXG4gIHZpZXdUYWI6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCIgKm5nSWY9XCIhdmlld1RhYiAmJiAhcGFnZUxvYWRlclwiPlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC1zZWN0aW9uIGQtZmxleCBnYXAtMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkc1wiICpuZ0Zvcj1cImxldCBlbGUgb2YgaW52ZXN0bWVudHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRcIj57e2VsZS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbmktY2FyZHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLWNhcmRcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIGVsZS5kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj57e2VsZS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibnVtYmVyIGQtZmxleFwiPnt7ZWxlLnZhbHVlfX0mbmJzcDsmbmJzcDs8c3BhbiAqbmdJZj1cImVsZT8uc3BhblZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3Bhbi10ZXh0IGQtZmxleFwiPjxtYXQtaWNvbj5hcnJvd19kcm9wX3VwPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlLnNwYW5WYWx1ZX19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktdGFicyBkLWZsZXggZ2FwLTEwIG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFiXCIgKm5nRm9yPVwibGV0IGVsZSBvZiB0YWJzXCIgKGNsaWNrKT1cImFjdGl2ZVRhYiA9IGVsZS52YWx1ZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy50YWJBY3RpdmVdPVwiYWN0aXZlVGFiID09IGVsZS52YWx1ZVwiPnt7ZWxlLnZpZXdWYWx1ZX19PC9kaXY+XHJcbiAgICA8L2Rpdj4gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktY2FyZHNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgcHJvcGVydHlEZXRhaWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1jYXJkIHctMTAwIGQtZmxleCBnYXAtMTBcIiAoY2xpY2spPVwidmlld1RhYiA9IHRydWU7c2VsZWN0ZWRJZCA9IGVsZS5wcm9wZXJ0eUlkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiY2Fyb3VzZWxFeGFtcGxlSW50ZXJ2YWxcIiBjbGFzcz1cImNhcm91c2VsIHNsaWRlIHAtcmVsYXRpdmUgdy0zNSBoLTM0XCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIiAqbmdJZj1cImVsZT8ucHJvcGVydHlJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgZWxlPy5wcm9wZXJ0eUltYWdlO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtIGFjdGl2ZVwiIFtjbGFzcy5hY3RpdmVdPVwiaVwiIGRhdGEtYnMtaW50ZXJ2YWw9XCIzMDAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZVwiIGNsYXNzPVwiZC1ibG9jayB3LTEwMCBoZWlnaHQtMzAgYnItMTBcIiBhbHQ9XCJwcm9wZXJ0eS1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eU5hbWUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgcC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9ycyBhZGRpdGlvbmFsLXByb3BlcnRpZXMtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZSBvZiBlbGUucHJvcGVydHlJbWFnZTtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdGFyZ2V0PVwiI2Nhcm91c2VsRXhhbXBsZUludGVydmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYnMtc2xpZGUtdG9dPVwiaVwiIGNsYXNzPVwiYWN0aXZlIGFkZGl0aW9uYWwtcHJvcGVydGllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9XCJ0cnVlXCIgYXJpYS1sYWJlbD1cIlNsaWRlIDFcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LWNhcmQgdy0zNSBkLWZsZXggZ2FwLTEwXCIgKm5nSWY9XCIhZWxlPy5wcm9wZXJ0eUltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zLzEvMTQvTm9fSW1hZ2VfQXZhaWxhYmxlLmpwZ1wiIGNsYXNzPVwiZC1ibG9jayB3LTEwMCBoZWlnaHQtMzAgYnItMTBcIiBhbHQ9XCJwcm9wZXJ0eS1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC10b3AgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eW5hbWVcIj57e2VsZT8ubmFtZSA/PyBcIk4vQVwifX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1sb2NhdGlvblwiPjxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8zODQyNzVjMTczNzYyOTcyOTU0NWxvY2F0aW9uX29uLnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cImxvY2F0aW9uIGltYWdlXCIgY2xhc3M9XCJncmV5LWljb25cIj57e2VsZT8ubG9jYXRpb24gPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYzNzk4M2MxNzM5ODU1NzE1MTg4VmVjdG9yJTIwMTIlMjAlMjgxJTI5LnBuZ1wiIGNsYXNzPVwiY3VydmUtaW1nXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcmlnaHQtYm90dG9tIHdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInJvdyB3LTEwMFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtNiBkZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1kZXRhaWwgdGV4dC1jZW50ZXJcIj7igrkge3tlbGU/LmludmVzdGVkQW1vdW50ID8/IDB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGV0YWlsIHRleHQtY2VudGVyXCI+SW52ZXN0ZWQgQW1vdW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtNiBkZXRhaWxzXCIgW2NsYXNzLmxzdC1kaXZdPVwic2NyZWVuV2lkdGggPCA0NzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWRldGFpbCB0ZXh0LWNlbnRlclwiPnt7ZWxlPy50b3RhbFNxRmVldE93bmVkID8/IDB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGV0YWlsIHRleHQtY2VudGVyXCI+U3EuZnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIGNvbC02IGRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWRldGFpbCB0ZXh0LWNlbnRlclwiPuKCuSB7e2VsZT8uaW5kaWNhdGl2ZU1hcmtldFZhbHVlID8/IDB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGV0YWlsIHRleHQtY2VudGVyXCI+Q3VycmVudCBWYWx1ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgY29sLTYgZGV0YWlscyBsc3QtZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1kZXRhaWwgdGV4dC1jZW50ZXJcIiBbbmdDbGFzc109XCJ7J3RleHQtcHJvZml0JzogKGVsZT8uY3VycmVudEFtb3VudCAtIGVsZT8uaW52ZXN0ZWRBbW91bnQpID4gMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0LWxvc3MnOiAoZWxlPy5jdXJyZW50QW1vdW50IC0gZWxlPy5pbnZlc3RlZEFtb3VudCkgPCAwfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oK5IHt7IChlbGU/LmN1cnJlbnRBbW91bnQgPz8gMCkgLSAoZWxlPy5pbnZlc3RlZEFtb3VudCA/PyAwKSB8IGZvcm1hdGVBbW91bnQ6J0lORCcgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRldGFpbCB0ZXh0LWNlbnRlclwiIFtuZ0NsYXNzXT1cInsndGV4dC1wcm9maXQnOiAoZWxlPy5jdXJyZW50QW1vdW50IC0gZWxlPy5pbnZlc3RlZEFtb3VudCkgPiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGV4dC1sb3NzJzogKGVsZT8uY3VycmVudEFtb3VudCAtIGVsZT8uaW52ZXN0ZWRBbW91bnQpIDwgMH1cIj5Qcm9maXQvTG9zczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGxzdC1kaXYgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPHNlY3Rpb24gY2xhc3M9XCJ2aWV3LWNvbnRhaW5lclwiICpuZ0lmPVwidmlld1RhYlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJhY2tcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmFjay10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJteS10ZXh0IG1iLTAgY29tbW9uLXN0eWxlXCIgKGNsaWNrKT1cInZpZXdUYWIgPSBmYWxzZVwiPk15IFByb3BlcnRpZXM8L3A+PG1hdC1pY29uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm15LXRleHRcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwicHJ0eS10ZXh0IG1iLTAgY29tbW9uLXN0eWxlXCI+UHJvcGVydHkgRGV0YWlsczwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNpbXBvLXByb3BlcnR5LXZpZXcgW2lkXT1cInNlbGVjdGVkSWRcIj48L3NpbXBvLXByb3BlcnR5LXZpZXc+XHJcbjwvc2VjdGlvbj5cclxuPHNlY3Rpb24gY2xhc3M9XCJwYWdlbG9hZGVyXCIgKm5nSWY9XCJwYWdlTG9hZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktY2FyZHNcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBza2VsIG9mIFsxLDIsM11cIj5cclxuICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aCA6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJzMwdmgnLFxyXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMTBweCcsXHJcbiAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9zZWN0aW9uPiJdfQ==
@@ -50,15 +50,15 @@ export class PropertyViewComponent {
50
50
  });
51
51
  }
52
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyViewComponent, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyViewComponent, isStandalone: true, selector: "simpo-property-view", inputs: { id: "id" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, ngImport: i0, template: "<div class=\" row main-container gap-10 \" *ngIf=\"!pageLoader\">\r\n <div class=\" col-md-6 left-container w-60 \">\r\n <div class=\"property-detail common-style1\">\r\n <div class=\" row carousel-01\">\r\n <div id=\"carouselExampleInterval\" class=\" col-12 col-6 carousel slide p-relative \" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of propertyDetails?.property?.imgUrl;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of propertyDetails.property.imgUrl;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\" aria-current=\"true\"\r\n aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\" col-6 bottom-details d-flex gap-10 mt-10\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"details mt-10\">\r\n <div class=\"row top-details\">\r\n <div class=\"col-md-6 col-12 top-left\">\r\n <div class=\"main-text\">{{propertyDetails?.property?.name ?? \"N/A\"}}</div>\r\n <div class=\"span-text\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\" width=\"15px\">{{propertyDetails?.property?.location ?? \"N/A\"}}</div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"col-md-6 top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"bottom-details d-flex gap-10 mt-10 justify-content-center\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"doc-rep common-style1\" *ngIf=\"propertyDetails?.property?.documents.length > 0\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex flex-column gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of propertyDetails?.property?.documents\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\" class=\"w-10\">\r\n <div class=\"doc-text w-75 d-flex align-items-center\"> {{ele.length > 15 ?\r\n ele.substring(0,15)+'...' : ele }}</div>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/195414c1739183779845fi_3502477.png\"\r\n alt=\"download\" class=\"download-img w-10\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"common-style1\">\r\n <div class=\"head-about-property\">About Property</div>\r\n <div class=\"about-property-text\">{{propertyDetails?.property?.description ?? \"N/A\"}}</div>\r\n <!-- <div class=\"head-about-property\">Property Managed by</div>\r\n <div class=\"managed-cards d-flex gap-10 w-100\">\r\n <div class=\"card-container br-10\" *ngFor=\"let ele of propertyDetails.managedBy\">\r\n <div class=\"img-container d-flex justify-content-center\">\r\n <img [src]=\"ele.img\" alt=\"Manager Image\" class=\"manage-img\">\r\n </div>\r\n <div class=\"card-details\">\r\n <p class=\"name-text text-center mt-10\">{{ele.name}}</p>\r\n <p class=\"role-text text-center\">{{ele.role}}</p>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\" col-md-6 right-container w-40 \">\r\n <div class=\"right-content\">\r\n <div class=\"right-head\">Holdings Details</div>\r\n <div class=\"holding-details common-style3\">\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">\u20B9{{propertyDetails?.totalInvestedAmount ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Invested</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.totalSqFeetOwned ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Sq.ft</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.indicativeMarketValue ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Indicative Market Value</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.irr ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Internal Returns Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"income br-0-10\">\r\n <div class=\"left-right-1\">\r\n <div class=\"left-1\">Profit/Loss</div><div class=\"right-1\">\u20B9{{propertyDetails?.property?.financeDetails?.annualReturn ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"right-content\">\r\n <div class=\"right-head\">Financial Projections</div>\r\n <div class=\"financial-details common-style3 br-0-10\">\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Projected Value (Next Year)</div><div class=\"right-2\">{{propertyDetails.projectedValue}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Potential Appreciation</div><div class=\"right-2\">{{propertyDetails.potentialApperciation}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Guaranteed Growth</div><div class=\"right-2\">{{propertyDetails.guaranteedGrowth}}</div>\r\n </div>\r\n <div class=\"note-section\">\r\n Note: Above projection are based on past performance\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\"top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"row gap-10 overflow-y-scroll\" [class.flex-column]=\"srcWidth < 475\">\r\n <div class=\"left-container-1 w-60\">\r\n <div class=\"skel-loader\" *ngFor=\"let skel of [1,2,4]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '25vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n <div class=\"right-container-1 w-40\">\r\n <div class=\"skel-loader\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '35vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.main-container{padding:10px;width:100%}.left-container,.right-container{height:75vh;overflow-y:scroll}.carousel-item{display:unset!important}.w-60{width:63%}.w-40{width:35%}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.br-10{border-radius:10px}.common-style1{padding:10px;border-radius:10px;background:#fff;margin-bottom:10px}.mt-10{margin-top:10px!important}.main-text{font-weight:600;font-size:18px;line-height:24px;color:#000}.span-text{font-size:14px;font-weight:500;line-height:44px;color:#00000080}.gap-10{gap:10px}.common-style2{padding:5px 7px;border-radius:10px;font-size:12px;line-height:24px;font-weight:600;height:6vh;align-content:center}.buy-more{background:#36b37e;color:#fff}.sell{background:#ffcfc6;color:#f36f56}.left{font-size:14px;line-height:18px;font-weight:500;color:#01161ecc}.right{font-size:14px;line-height:20px;font-weight:600;color:#01161e}.head-about-property{font-weight:600;font-size:16px;line-height:26px;margin-bottom:10px}.file{background:#f7f7f7;border-radius:5px;padding:12px}.doc-text{font-size:16px;font-weight:500;line-height:26px;color:#000}.about-property-text{font-weight:400;font-size:16px;line-height:29px;color:#01161eb3}.manage-img{width:70px;height:10vh;border-radius:50%}.card-container{background:#f7f7f7;padding:10px;width:48%}.name-text{font-size:14px;line-height:24px;font-weight:500;color:#000}.role-text{font-size:14px;font-weight:400;line-height:24px;color:#000000b3}.managed-cards{overflow-x:scroll}.right-content{border:1px solid rgba(0,0,0,.03);border-radius:10px;margin-bottom:15px}.right-head{font-weight:600;font-size:16px;line-height:21px;color:#000;padding:10px;background:#f1f6ff}.holding-details{display:grid;grid-template-columns:50% 50%;gap:10px}.top-bottom{padding:10px}.top{font-size:20px;font-weight:700;line-height:24px;color:#000}.bottom{font-size:14px;font-weight:500;line-height:24px;color:#000000b3}.income{background:#fff;padding:10px}.left-right-1{background:linear-gradient(180deg,#0d1b2a,#172b40);display:flex;justify-content:space-between;padding:15px;border-radius:10px}.left-1{font-size:16px;font-weight:700;line-height:24px;color:#fff}.right-1{font-weight:800;font-size:20px;line-height:24px;color:#32f4a2}.left-2{font-size:14px;line-height:20px;font-weight:500;color:#000000b3}.right-2{font-size:20px;line-height:24px;font-weight:700;color:#000}.note-section{font-size:14px;line-height:20px;font-weight:500;color:#01161e66}.common-style3{padding:10px;background:#fff}.br-0-10{border-radius:0 0 10px 10px!important}.grey-icon{filter:grayscale(100%) brightness(50%)}.doc-rep{overflow-y:scroll;height:17vh}@media only screen and (max-width: 475px){.main-container{flex-direction:column;width:auto}.left-container,.right-container{height:auto}.carousel{height:16vh;width:40%}.w-60,.w-40{width:auto}.w-4 .carousel{width:40%}.d-block{height:16vh}.bottom-details{flex-direction:column;width:60%}.left-right{justify-content:space-between}.propertyName{width:88%}.top-right{position:sticky;bottom:0%;background:#fff;justify-content:center;padding:8px 2px}.common-style2{padding:11px 8px;width:40vw;text-align:center;font-size:14px}.right-head{border-radius:10px}.w-10{width:14%}.file{padding:5px 10px;height:8vh}.doc-text{font-size:12px}.left-container-1,.right-container-1{width:100%}.overflow-y-scroll{overflow-y:scroll;height:75vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }] }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyViewComponent, isStandalone: true, selector: "simpo-property-view", inputs: { id: "id" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, ngImport: i0, template: "<div class=\" row main-container gap-10 \" *ngIf=\"!pageLoader\">\r\n <div class=\" col-md-6 left-container w-60 \">\r\n <div class=\"property-detail common-style1\">\r\n <div class=\" row carousel-01\">\r\n <div id=\"carouselExampleInterval\" class=\" col-12 col-6 carousel slide p-relative \" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of propertyDetails?.property?.imgUrl;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of propertyDetails.property.imgUrl;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\" aria-current=\"true\"\r\n aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\" col-6 bottom-details d-flex gap-10 mt-10\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"details mt-10\">\r\n <div class=\"row top-details\">\r\n <div class=\"col-md-6 col-12 top-left\">\r\n <div class=\"main-text\">{{propertyDetails?.property?.name ?? \"N/A\"}}</div>\r\n <div class=\"span-text\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\" width=\"15px\">{{propertyDetails?.property?.location ?? \"N/A\"}}</div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"col-md-6 top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"bottom-details d-flex gap-10 mt-10 justify-content-center\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"doc-rep common-style1\" *ngIf=\"propertyDetails?.property?.documents.length > 0\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex flex-column gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of propertyDetails?.property?.documents\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\" class=\"w-10\">\r\n <div class=\"doc-text w-75 d-flex align-items-center\"> {{ele.length > 15 ?\r\n ele.substring(0,15)+'...' : ele }}</div>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/195414c1739183779845fi_3502477.png\"\r\n alt=\"download\" class=\"download-img w-10\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"common-style1\">\r\n <div class=\"head-about-property\">About Property</div>\r\n <div class=\"about-property-text\">{{propertyDetails?.property?.description ?? \"N/A\"}}</div>\r\n <!-- <div class=\"head-about-property\">Property Managed by</div>\r\n <div class=\"managed-cards d-flex gap-10 w-100\">\r\n <div class=\"card-container br-10\" *ngFor=\"let ele of propertyDetails.managedBy\">\r\n <div class=\"img-container d-flex justify-content-center\">\r\n <img [src]=\"ele.img\" alt=\"Manager Image\" class=\"manage-img\">\r\n </div>\r\n <div class=\"card-details\">\r\n <p class=\"name-text text-center mt-10\">{{ele.name}}</p>\r\n <p class=\"role-text text-center\">{{ele.role}}</p>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\" col-md-6 right-container w-40 \">\r\n <div class=\"right-content\">\r\n <div class=\"right-head\">Holdings Details</div>\r\n <div class=\"holding-details common-style3\">\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">\u20B9{{propertyDetails?.totalInvestedAmount ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Invested</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.totalSqFeetOwned ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Sq.ft</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.indicativeMarketValue ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Indicative Market Value</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.irr ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Internal Returns Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"income br-0-10\">\r\n <div class=\"left-right-1\">\r\n <div class=\"left-1\">Profit/Loss</div><div class=\"right-1\">\u20B9{{propertyDetails?.property?.financeDetails?.annualReturn ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"right-content\">\r\n <div class=\"right-head\">Financial Projections</div>\r\n <div class=\"financial-details common-style3 br-0-10\">\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Projected Value (Next Year)</div><div class=\"right-2\">{{propertyDetails.projectedValue}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Potential Appreciation</div><div class=\"right-2\">{{propertyDetails.potentialApperciation}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Guaranteed Growth</div><div class=\"right-2\">{{propertyDetails.guaranteedGrowth}}</div>\r\n </div>\r\n <div class=\"note-section\">\r\n Note: Above projection are based on past performance\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\"top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"row gap-10 overflow-y-scroll\" [class.flex-column]=\"srcWidth < 475\">\r\n <div class=\"left-container-1 w-60\">\r\n <div class=\"skel-loader\" *ngFor=\"let skel of [1,2,4]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '25vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n <div class=\"right-container-1 w-40\">\r\n <div class=\"skel-loader\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '35vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.main-container{padding:10px;width:100%;gap:5px}.left-container,.right-container{height:90vh;overflow-y:scroll}.row{flex-wrap:unset!important}.carousel-item{display:unset!important}.w-60{width:60%}.w-40{width:35%}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.br-10{border-radius:10px}.common-style1{padding:10px;border-radius:10px;background:#fff;margin-bottom:10px}.mt-10{margin-top:10px!important}.main-text{font-weight:600;font-size:18px;line-height:24px;color:#000}.span-text{font-size:14px;font-weight:500;line-height:44px;color:#00000080}.gap-10{gap:10px}.common-style2{padding:5px 7px;border-radius:10px;font-size:12px;line-height:24px;font-weight:600;height:6vh;align-content:center}.buy-more{background:#36b37e;color:#fff}.sell{background:#ffcfc6;color:#f36f56}.left{font-size:14px;line-height:18px;font-weight:500;color:#01161ecc}.right{font-size:14px;line-height:20px;font-weight:600;color:#01161e}.head-about-property{font-weight:600;font-size:16px;line-height:26px;margin-bottom:10px}.file{background:#f7f7f7;border-radius:5px;padding:12px}.doc-text{font-size:16px;font-weight:500;line-height:26px;color:#000}.about-property-text{font-weight:400;font-size:16px;line-height:29px;color:#01161eb3}.manage-img{width:70px;height:10vh;border-radius:50%}.card-container{background:#f7f7f7;padding:10px;width:48%}.name-text{font-size:14px;line-height:24px;font-weight:500;color:#000}.role-text{font-size:14px;font-weight:400;line-height:24px;color:#000000b3}.managed-cards{overflow-x:scroll}.right-content{border:1px solid rgba(0,0,0,.03);border-radius:10px;margin-bottom:15px}.right-head{font-weight:600;font-size:16px;line-height:21px;color:#000;padding:10px;background:#f1f6ff}.holding-details{display:grid;grid-template-columns:50% 50%;gap:10px}.top-bottom{padding:10px}.top{font-size:20px;font-weight:700;line-height:24px;color:#000}.bottom{font-size:14px;font-weight:500;line-height:24px;color:#000000b3}.income{background:#fff;padding:10px}.left-right-1{background:linear-gradient(180deg,#0d1b2a,#172b40);display:flex;justify-content:space-between;padding:15px;border-radius:10px}.left-1{font-size:16px;font-weight:700;line-height:24px;color:#fff}.right-1{font-weight:800;font-size:20px;line-height:24px;color:#32f4a2}.left-2{font-size:14px;line-height:20px;font-weight:500;color:#000000b3}.right-2{font-size:20px;line-height:24px;font-weight:700;color:#000}.note-section{font-size:14px;line-height:20px;font-weight:500;color:#01161e66}.common-style3{padding:10px;background:#fff}.br-0-10{border-radius:0 0 10px 10px!important}.grey-icon{filter:grayscale(100%) brightness(50%)}.doc-rep{overflow-y:scroll;height:17vh}@media only screen and (max-width: 475px){.main-container{flex-direction:column;width:auto}.left-container,.right-container{height:auto}.carousel{height:16vh;width:40%}.w-60,.w-40{width:auto}.w-4 .carousel{width:40%}.d-block{height:16vh}.bottom-details{flex-direction:column;width:60%}.left-right{justify-content:space-between}.propertyName{width:88%}.top-right{position:sticky;bottom:0%;background:#fff;justify-content:center;padding:8px 2px}.common-style2{padding:11px 8px;width:40vw;text-align:center;font-size:14px}.right-head{border-radius:10px}.w-10{width:14%}.file{padding:5px 10px;height:8vh}.doc-text{font-size:12px}.left-container-1,.right-container-1{width:100%}.overflow-y-scroll{overflow-y:scroll;height:75vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }] }); }
54
54
  }
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyViewComponent, decorators: [{
56
56
  type: Component,
57
- args: [{ selector: 'simpo-property-view', standalone: true, imports: [CommonModule, MatIcon, NgxSkeletonLoaderModule], template: "<div class=\" row main-container gap-10 \" *ngIf=\"!pageLoader\">\r\n <div class=\" col-md-6 left-container w-60 \">\r\n <div class=\"property-detail common-style1\">\r\n <div class=\" row carousel-01\">\r\n <div id=\"carouselExampleInterval\" class=\" col-12 col-6 carousel slide p-relative \" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of propertyDetails?.property?.imgUrl;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of propertyDetails.property.imgUrl;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\" aria-current=\"true\"\r\n aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\" col-6 bottom-details d-flex gap-10 mt-10\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"details mt-10\">\r\n <div class=\"row top-details\">\r\n <div class=\"col-md-6 col-12 top-left\">\r\n <div class=\"main-text\">{{propertyDetails?.property?.name ?? \"N/A\"}}</div>\r\n <div class=\"span-text\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\" width=\"15px\">{{propertyDetails?.property?.location ?? \"N/A\"}}</div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"col-md-6 top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"bottom-details d-flex gap-10 mt-10 justify-content-center\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"doc-rep common-style1\" *ngIf=\"propertyDetails?.property?.documents.length > 0\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex flex-column gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of propertyDetails?.property?.documents\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\" class=\"w-10\">\r\n <div class=\"doc-text w-75 d-flex align-items-center\"> {{ele.length > 15 ?\r\n ele.substring(0,15)+'...' : ele }}</div>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/195414c1739183779845fi_3502477.png\"\r\n alt=\"download\" class=\"download-img w-10\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"common-style1\">\r\n <div class=\"head-about-property\">About Property</div>\r\n <div class=\"about-property-text\">{{propertyDetails?.property?.description ?? \"N/A\"}}</div>\r\n <!-- <div class=\"head-about-property\">Property Managed by</div>\r\n <div class=\"managed-cards d-flex gap-10 w-100\">\r\n <div class=\"card-container br-10\" *ngFor=\"let ele of propertyDetails.managedBy\">\r\n <div class=\"img-container d-flex justify-content-center\">\r\n <img [src]=\"ele.img\" alt=\"Manager Image\" class=\"manage-img\">\r\n </div>\r\n <div class=\"card-details\">\r\n <p class=\"name-text text-center mt-10\">{{ele.name}}</p>\r\n <p class=\"role-text text-center\">{{ele.role}}</p>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\" col-md-6 right-container w-40 \">\r\n <div class=\"right-content\">\r\n <div class=\"right-head\">Holdings Details</div>\r\n <div class=\"holding-details common-style3\">\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">\u20B9{{propertyDetails?.totalInvestedAmount ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Invested</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.totalSqFeetOwned ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Sq.ft</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.indicativeMarketValue ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Indicative Market Value</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.irr ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Internal Returns Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"income br-0-10\">\r\n <div class=\"left-right-1\">\r\n <div class=\"left-1\">Profit/Loss</div><div class=\"right-1\">\u20B9{{propertyDetails?.property?.financeDetails?.annualReturn ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"right-content\">\r\n <div class=\"right-head\">Financial Projections</div>\r\n <div class=\"financial-details common-style3 br-0-10\">\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Projected Value (Next Year)</div><div class=\"right-2\">{{propertyDetails.projectedValue}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Potential Appreciation</div><div class=\"right-2\">{{propertyDetails.potentialApperciation}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Guaranteed Growth</div><div class=\"right-2\">{{propertyDetails.guaranteedGrowth}}</div>\r\n </div>\r\n <div class=\"note-section\">\r\n Note: Above projection are based on past performance\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\"top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"row gap-10 overflow-y-scroll\" [class.flex-column]=\"srcWidth < 475\">\r\n <div class=\"left-container-1 w-60\">\r\n <div class=\"skel-loader\" *ngFor=\"let skel of [1,2,4]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '25vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n <div class=\"right-container-1 w-40\">\r\n <div class=\"skel-loader\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '35vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.main-container{padding:10px;width:100%}.left-container,.right-container{height:75vh;overflow-y:scroll}.carousel-item{display:unset!important}.w-60{width:63%}.w-40{width:35%}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.br-10{border-radius:10px}.common-style1{padding:10px;border-radius:10px;background:#fff;margin-bottom:10px}.mt-10{margin-top:10px!important}.main-text{font-weight:600;font-size:18px;line-height:24px;color:#000}.span-text{font-size:14px;font-weight:500;line-height:44px;color:#00000080}.gap-10{gap:10px}.common-style2{padding:5px 7px;border-radius:10px;font-size:12px;line-height:24px;font-weight:600;height:6vh;align-content:center}.buy-more{background:#36b37e;color:#fff}.sell{background:#ffcfc6;color:#f36f56}.left{font-size:14px;line-height:18px;font-weight:500;color:#01161ecc}.right{font-size:14px;line-height:20px;font-weight:600;color:#01161e}.head-about-property{font-weight:600;font-size:16px;line-height:26px;margin-bottom:10px}.file{background:#f7f7f7;border-radius:5px;padding:12px}.doc-text{font-size:16px;font-weight:500;line-height:26px;color:#000}.about-property-text{font-weight:400;font-size:16px;line-height:29px;color:#01161eb3}.manage-img{width:70px;height:10vh;border-radius:50%}.card-container{background:#f7f7f7;padding:10px;width:48%}.name-text{font-size:14px;line-height:24px;font-weight:500;color:#000}.role-text{font-size:14px;font-weight:400;line-height:24px;color:#000000b3}.managed-cards{overflow-x:scroll}.right-content{border:1px solid rgba(0,0,0,.03);border-radius:10px;margin-bottom:15px}.right-head{font-weight:600;font-size:16px;line-height:21px;color:#000;padding:10px;background:#f1f6ff}.holding-details{display:grid;grid-template-columns:50% 50%;gap:10px}.top-bottom{padding:10px}.top{font-size:20px;font-weight:700;line-height:24px;color:#000}.bottom{font-size:14px;font-weight:500;line-height:24px;color:#000000b3}.income{background:#fff;padding:10px}.left-right-1{background:linear-gradient(180deg,#0d1b2a,#172b40);display:flex;justify-content:space-between;padding:15px;border-radius:10px}.left-1{font-size:16px;font-weight:700;line-height:24px;color:#fff}.right-1{font-weight:800;font-size:20px;line-height:24px;color:#32f4a2}.left-2{font-size:14px;line-height:20px;font-weight:500;color:#000000b3}.right-2{font-size:20px;line-height:24px;font-weight:700;color:#000}.note-section{font-size:14px;line-height:20px;font-weight:500;color:#01161e66}.common-style3{padding:10px;background:#fff}.br-0-10{border-radius:0 0 10px 10px!important}.grey-icon{filter:grayscale(100%) brightness(50%)}.doc-rep{overflow-y:scroll;height:17vh}@media only screen and (max-width: 475px){.main-container{flex-direction:column;width:auto}.left-container,.right-container{height:auto}.carousel{height:16vh;width:40%}.w-60,.w-40{width:auto}.w-4 .carousel{width:40%}.d-block{height:16vh}.bottom-details{flex-direction:column;width:60%}.left-right{justify-content:space-between}.propertyName{width:88%}.top-right{position:sticky;bottom:0%;background:#fff;justify-content:center;padding:8px 2px}.common-style2{padding:11px 8px;width:40vw;text-align:center;font-size:14px}.right-head{border-radius:10px}.w-10{width:14%}.file{padding:5px 10px;height:8vh}.doc-text{font-size:12px}.left-container-1,.right-container-1{width:100%}.overflow-y-scroll{overflow-y:scroll;height:75vh}}\n"] }]
57
+ args: [{ selector: 'simpo-property-view', standalone: true, imports: [CommonModule, MatIcon, NgxSkeletonLoaderModule], template: "<div class=\" row main-container gap-10 \" *ngIf=\"!pageLoader\">\r\n <div class=\" col-md-6 left-container w-60 \">\r\n <div class=\"property-detail common-style1\">\r\n <div class=\" row carousel-01\">\r\n <div id=\"carouselExampleInterval\" class=\" col-12 col-6 carousel slide p-relative \" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of propertyDetails?.property?.imgUrl;let i = index\">\r\n <div class=\"carousel-item active\" [class.active]=\"i\" data-bs-interval=\"3000\">\r\n <img [src]=\"ele\" class=\"d-block w-100 br-10\" alt=\"property-image\">\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-center\">\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <ng-container *ngFor=\"let ele of propertyDetails.property.imgUrl;let i = index\">\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\"\r\n [attr.data-bs-slide-to]=\"i\" class=\"active additional-properties\" aria-current=\"true\"\r\n aria-label=\"Slide 1\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\" col-6 bottom-details d-flex gap-10 mt-10\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"details mt-10\">\r\n <div class=\"row top-details\">\r\n <div class=\"col-md-6 col-12 top-left\">\r\n <div class=\"main-text\">{{propertyDetails?.property?.name ?? \"N/A\"}}</div>\r\n <div class=\"span-text\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\" class=\"grey-icon\" width=\"15px\">{{propertyDetails?.property?.location ?? \"N/A\"}}</div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"col-md-6 top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"srcWidth > 475\" class=\"bottom-details d-flex gap-10 mt-10 justify-content-center\">\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Invested Date</div>\r\n <div class=\"right\">{{(propertyDetails?.earliestPurchaseDate | date) ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Property Type</div>\r\n <div class=\"right\">{{propertyDetails?.property?.propertyType ?? \"N/A\"}}</div>\r\n </div>\r\n <div class=\"left-right d-flex gap-10\">\r\n <div class=\"left\">Ownership Share</div>\r\n <div class=\"right\">{{propertyDetails?.share ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"doc-rep common-style1\" *ngIf=\"propertyDetails?.property?.documents.length > 0\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex flex-column gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of propertyDetails?.property?.documents\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\" class=\"w-10\">\r\n <div class=\"doc-text w-75 d-flex align-items-center\"> {{ele.length > 15 ?\r\n ele.substring(0,15)+'...' : ele }}</div>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/195414c1739183779845fi_3502477.png\"\r\n alt=\"download\" class=\"download-img w-10\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"common-style1\">\r\n <div class=\"head-about-property\">About Property</div>\r\n <div class=\"about-property-text\">{{propertyDetails?.property?.description ?? \"N/A\"}}</div>\r\n <!-- <div class=\"head-about-property\">Property Managed by</div>\r\n <div class=\"managed-cards d-flex gap-10 w-100\">\r\n <div class=\"card-container br-10\" *ngFor=\"let ele of propertyDetails.managedBy\">\r\n <div class=\"img-container d-flex justify-content-center\">\r\n <img [src]=\"ele.img\" alt=\"Manager Image\" class=\"manage-img\">\r\n </div>\r\n <div class=\"card-details\">\r\n <p class=\"name-text text-center mt-10\">{{ele.name}}</p>\r\n <p class=\"role-text text-center\">{{ele.role}}</p>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\" col-md-6 right-container w-40 \">\r\n <div class=\"right-content\">\r\n <div class=\"right-head\">Holdings Details</div>\r\n <div class=\"holding-details common-style3\">\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">\u20B9{{propertyDetails?.totalInvestedAmount ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Invested</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.totalSqFeetOwned ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Sq.ft</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.indicativeMarketValue ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Indicative Market Value</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails?.property?.financeDetails?.irr ?? \"N/A\"}}</div>\r\n <div class=\"bottom\">Internal Returns Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"income br-0-10\">\r\n <div class=\"left-right-1\">\r\n <div class=\"left-1\">Profit/Loss</div><div class=\"right-1\">\u20B9{{propertyDetails?.property?.financeDetails?.annualReturn ?? \"N/A\"}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"right-content\">\r\n <div class=\"right-head\">Financial Projections</div>\r\n <div class=\"financial-details common-style3 br-0-10\">\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Projected Value (Next Year)</div><div class=\"right-2\">{{propertyDetails.projectedValue}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Potential Appreciation</div><div class=\"right-2\">{{propertyDetails.potentialApperciation}}</div>\r\n </div>\r\n <div class=\"right-left-1 d-flex justify-content-between mb-3\">\r\n <div class=\"left-2\">Guaranteed Growth</div><div class=\"right-2\">{{propertyDetails.guaranteedGrowth}}</div>\r\n </div>\r\n <div class=\"note-section\">\r\n Note: Above projection are based on past performance\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"srcWidth < 475\" class=\"top-right d-flex gap-10\">\r\n <div class=\"buy-more common-style2\">\r\n Buy More SQFT\r\n </div>\r\n <div class=\"sell common-style2\">\r\n Sell SQFT\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<section class=\"pageloader\" *ngIf=\"pageLoader\">\r\n <div class=\"row gap-10 overflow-y-scroll\" [class.flex-column]=\"srcWidth < 475\">\r\n <div class=\"left-container-1 w-60\">\r\n <div class=\"skel-loader\" *ngFor=\"let skel of [1,2,4]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '25vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n <div class=\"right-container-1 w-40\">\r\n <div class=\"skel-loader\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width : '100%',\r\n height: '35vh',\r\n 'border-radius': '10px',\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.main-container{padding:10px;width:100%;gap:5px}.left-container,.right-container{height:90vh;overflow-y:scroll}.row{flex-wrap:unset!important}.carousel-item{display:unset!important}.w-60{width:60%}.w-40{width:35%}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%}.br-10{border-radius:10px}.common-style1{padding:10px;border-radius:10px;background:#fff;margin-bottom:10px}.mt-10{margin-top:10px!important}.main-text{font-weight:600;font-size:18px;line-height:24px;color:#000}.span-text{font-size:14px;font-weight:500;line-height:44px;color:#00000080}.gap-10{gap:10px}.common-style2{padding:5px 7px;border-radius:10px;font-size:12px;line-height:24px;font-weight:600;height:6vh;align-content:center}.buy-more{background:#36b37e;color:#fff}.sell{background:#ffcfc6;color:#f36f56}.left{font-size:14px;line-height:18px;font-weight:500;color:#01161ecc}.right{font-size:14px;line-height:20px;font-weight:600;color:#01161e}.head-about-property{font-weight:600;font-size:16px;line-height:26px;margin-bottom:10px}.file{background:#f7f7f7;border-radius:5px;padding:12px}.doc-text{font-size:16px;font-weight:500;line-height:26px;color:#000}.about-property-text{font-weight:400;font-size:16px;line-height:29px;color:#01161eb3}.manage-img{width:70px;height:10vh;border-radius:50%}.card-container{background:#f7f7f7;padding:10px;width:48%}.name-text{font-size:14px;line-height:24px;font-weight:500;color:#000}.role-text{font-size:14px;font-weight:400;line-height:24px;color:#000000b3}.managed-cards{overflow-x:scroll}.right-content{border:1px solid rgba(0,0,0,.03);border-radius:10px;margin-bottom:15px}.right-head{font-weight:600;font-size:16px;line-height:21px;color:#000;padding:10px;background:#f1f6ff}.holding-details{display:grid;grid-template-columns:50% 50%;gap:10px}.top-bottom{padding:10px}.top{font-size:20px;font-weight:700;line-height:24px;color:#000}.bottom{font-size:14px;font-weight:500;line-height:24px;color:#000000b3}.income{background:#fff;padding:10px}.left-right-1{background:linear-gradient(180deg,#0d1b2a,#172b40);display:flex;justify-content:space-between;padding:15px;border-radius:10px}.left-1{font-size:16px;font-weight:700;line-height:24px;color:#fff}.right-1{font-weight:800;font-size:20px;line-height:24px;color:#32f4a2}.left-2{font-size:14px;line-height:20px;font-weight:500;color:#000000b3}.right-2{font-size:20px;line-height:24px;font-weight:700;color:#000}.note-section{font-size:14px;line-height:20px;font-weight:500;color:#01161e66}.common-style3{padding:10px;background:#fff}.br-0-10{border-radius:0 0 10px 10px!important}.grey-icon{filter:grayscale(100%) brightness(50%)}.doc-rep{overflow-y:scroll;height:17vh}@media only screen and (max-width: 475px){.main-container{flex-direction:column;width:auto}.left-container,.right-container{height:auto}.carousel{height:16vh;width:40%}.w-60,.w-40{width:auto}.w-4 .carousel{width:40%}.d-block{height:16vh}.bottom-details{flex-direction:column;width:60%}.left-right{justify-content:space-between}.propertyName{width:88%}.top-right{position:sticky;bottom:0%;background:#fff;justify-content:center;padding:8px 2px}.common-style2{padding:11px 8px;width:40vw;text-align:center;font-size:14px}.right-head{border-radius:10px}.w-10{width:14%}.file{padding:5px 10px;height:8vh}.doc-text{font-size:12px}.left-container-1,.right-container-1{width:100%}.overflow-y-scroll{overflow-y:scroll;height:75vh}}\n"] }]
58
58
  }], ctorParameters: () => [{ type: i1.RestService }], propDecorators: { id: [{
59
59
  type: Input
60
60
  }], getScreenSize: [{
61
61
  type: HostListener,
62
62
  args: ['window:resize', ['$event']]
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnR5LXZpZXcvcHJvcGVydHktdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnR5LXZpZXcvcHJvcGVydHktdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBVzlELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFXNUMsb0JBQWUsR0FBUztZQUN0QixhQUFhLEVBQUssQ0FBQyxvR0FBb0csRUFBQyxvR0FBb0csRUFBQyxvR0FBb0csQ0FBQztZQUNsVSxZQUFZLEVBQUcsd0JBQXdCO1lBQ3ZDLGdCQUFnQixFQUFHLDBCQUEwQjtZQUM3QyxZQUFZLEVBQUcsYUFBYTtZQUM1QixJQUFJLEVBQUcsUUFBUTtZQUNmLEtBQUssRUFBRyxPQUFPO1lBQ2YsU0FBUyxFQUFHLENBQUMsWUFBWSxFQUFDLG1DQUFtQyxDQUFDO1lBQzlELFdBQVcsRUFBRyw2TkFBNk47WUFDM08sU0FBUyxFQUFHLENBQUMsRUFBQyxHQUFHLEVBQUcsc0pBQXNKLEVBQUMsSUFBSSxFQUFHLGVBQWUsRUFBQyxJQUFJLEVBQUcsa0JBQWtCLEVBQUMsRUFBQyxFQUFDLEdBQUcsRUFBRywyRkFBMkYsRUFBQyxJQUFJLEVBQUcsU0FBUyxFQUFDLElBQUksRUFBRyxxQkFBcUIsRUFBQyxDQUFDO1lBQy9XLFFBQVEsRUFBRyxRQUFRO1lBQ25CLFNBQVMsRUFBRyxJQUFJO1lBQ2hCLEdBQUcsRUFBRyxLQUFLO1lBQ1gsR0FBRyxFQUFHLFFBQVE7WUFDZCxNQUFNLEVBQUcsUUFBUTtZQUNqQixjQUFjLEVBQUcsU0FBUztZQUMxQixxQkFBcUIsRUFBRyxJQUFJO1lBQzVCLGdCQUFnQixFQUFHLElBQUk7WUFDdkIsY0FBYyxFQUFHLE1BQU07U0FDeEIsQ0FBQTtRQVlELGVBQVUsR0FBYSxLQUFLLENBQUE7SUF2QzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQTRCRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxFQUFNO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FDNUMsQ0FBQyxHQUFHLEVBQUMsRUFBRTtZQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFBO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO1lBQ3ZCLG1CQUFtQjtRQUNyQixDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUM7OEdBeERVLHFCQUFxQjtrR0FBckIscUJBQXFCLHdLQ2hCbEMsbWpWQXFMQSxrbEhEektZLFlBQVksa1RBQVMsdUJBQXVCOzsyRkFJM0MscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUMsT0FBTyxFQUFDLHVCQUF1QixDQUFDO2dGQU03QyxFQUFFO3NCQUFYLEtBQUs7Z0JBdUNOLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxlQUFlLEVBQUMsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByb3BlcnR5LXZpZXcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxNYXRJY29uLE5neFNrZWxldG9uTG9hZGVyTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Byb3BlcnR5LXZpZXcuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5Vmlld0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpICBpZCA6IGFueVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSlcclxuICB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuaWQpXHJcbiAgICB0aGlzLmdldFByb3BlcnR5RGV0YWlscyh0aGlzLmlkKVxyXG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKCk7XHJcbiAgfVxyXG5cclxuICBwcm9wZXJ0eURldGFpbHMgOiBhbnkgPSB7XHJcbiAgICBwcm9wZXJ0eUltYWdlICA6ICBbXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiLFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIixcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCJdLFxyXG4gICAgcHJvcGVydHlOYW1lIDogXCJBbmFudGEgT25lIC0gQmx1ZSBNb29uXCIsXHJcbiAgICBwcm9wZXJ0eUxvY2F0aW9uIDogXCJSUlIgSHlkZXJhYmFkLCBUZWxhbmdhbmFcIixcclxuICAgIGludmVzdGVkRGF0ZSA6IFwiMTIgSnVuIDIwMjRcIixcclxuICAgIHR5cGUgOiBcIlJlbnRhbFwiLFxyXG4gICAgc2hhcmUgOiBcIjEuNDAlXCIsXHJcbiAgICBkb2N1bWVudHMgOiBbXCJUaXRsZSBkZWVkXCIsXCJQcm9wZXJ0eSBSZWdpc3RyYXRpb24gQ2VydGlmaWNhdGVcIl0sXHJcbiAgICBkZXNjcmlwdGlvbiA6IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICBtYW5hZ2VkQnkgOiBbe2ltZyA6IFwiaHR0cHM6Ly9tZWRpYS5pc3RvY2twaG90by5jb20vaWQvMTQxMDUzODg1My9waG90by95b3VuZy1tYW4taW4tdGhlLXB1YmxpYy1wYXJrLmpwZz9zPTYxMng2MTImdz0wJms9MjAmYz1FdFJKR25OT0ZQSjJIbmlCU0xXS3pzTDlYZjdHSGluSGQ1eTJUeDNkYTBFPVwiLG5hbWUgOiBcIlZpamF5IFNoYW5rYXJcIixyb2xlIDogXCJQcm9wZXJ0eSBNYW5hZ2VyXCJ9LHtpbWcgOiBcImh0dHBzOi8vdDMuZnRjZG4ubmV0L2pwZy8wMS84Ni80MC8xNi8zNjBfRl8xODY0MDE2NTBfNnRYeHdjNXgzcHd1QTliWWpKRzY1bDlwQ0ZSSUF1MDYuanBnXCIsbmFtZSA6IFwiU2FuamFuYVwiLHJvbGUgOiBcIk9wZXJhdGlvbmFsIE1hbmFnZXJcIn1dLFxyXG4gICAgaW52ZXN0ZWQgOiBcIuKCuTQuMSBMXCIsXHJcbiAgICB0b3RhbFNxZnQgOiBcIjMyXCIsXHJcbiAgICBpcnIgOiBcIjEyJVwiLFxyXG4gICAgaW12IDogXCLigrk0LjEgTFwiLFxyXG4gICAgaW5jb21lIDogXCIr4oK5NTIga1wiLFxyXG4gICAgcHJvamVjdGVkVmFsdWUgOiBcIuKCuTUuMjEgTFwiLFxyXG4gICAgcG90ZW50aWFsQXBwZXJjaWF0aW9uIDogXCI4JVwiLFxyXG4gICAgZ3VhcmFudGVlZEdyb3d0aCA6IFwiNSVcIixcclxuICAgIG1hcmtldE1vdmVtZW50IDogXCJIaWdoXCJcclxuICB9XHJcblxyXG5cclxuXHJcbiAgc3JjSGVpZ2h0OiBhbnk7XHJcbiAgc3JjV2lkdGg6IGFueTtcclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJyxbJyRldmVudCddKVxyXG4gIGdldFNjcmVlblNpemUoZXZlbnQ/OmFueSl7XHJcbiAgICB0aGlzLnNyY0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIHRoaXMuc3JjV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHBhZ2VMb2FkZXIgOiBib29sZWFuID0gZmFsc2VcclxuICBnZXRQcm9wZXJ0eURldGFpbHMoaWQ6YW55KXtcclxuICAgIHRoaXMucGFnZUxvYWRlciA9IHRydWVcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0UHJvcGVydHlCeUlkKGlkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXMpPT57XHJcbiAgICAgICAgdGhpcy5wcm9wZXJ0eURldGFpbHMgPSByZXNcclxuICAgICAgICB0aGlzLnBhZ2VMb2FkZXIgPSBmYWxzZVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHJlcylcclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiIHJvdyBtYWluLWNvbnRhaW5lciBnYXAtMTAgXCIgKm5nSWY9XCIhcGFnZUxvYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBjb2wtbWQtNiBsZWZ0LWNvbnRhaW5lciB3LTYwIFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1kZXRhaWwgY29tbW9uLXN0eWxlMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHJvdyBjYXJvdXNlbC0wMVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImNhcm91c2VsRXhhbXBsZUludGVydmFsXCIgY2xhc3M9XCIgY29sLTEyIGNvbC02IGNhcm91c2VsIHNsaWRlIHAtcmVsYXRpdmUgXCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlIG9mIHByb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmltZ1VybDtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbSBhY3RpdmVcIiBbY2xhc3MuYWN0aXZlXT1cImlcIiBkYXRhLWJzLWludGVydmFsPVwiMzAwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJlbGVcIiBjbGFzcz1cImQtYmxvY2sgdy0xMDAgYnItMTBcIiBhbHQ9XCJwcm9wZXJ0eS1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eU5hbWUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnMgYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgcHJvcGVydHlEZXRhaWxzLnByb3BlcnR5LmltZ1VybDtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdGFyZ2V0PVwiI2Nhcm91c2VsRXhhbXBsZUludGVydmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYnMtc2xpZGUtdG9dPVwiaVwiIGNsYXNzPVwiYWN0aXZlIGFkZGl0aW9uYWwtcHJvcGVydGllc1wiIGFyaWEtY3VycmVudD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNsaWRlIDFcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzcmNXaWR0aCA8IDQ3NVwiIGNsYXNzPVwiIGNvbC02IGJvdHRvbS1kZXRhaWxzIGQtZmxleCBnYXAtMTAgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1yaWdodCBkLWZsZXggZ2FwLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+SW52ZXN0ZWQgRGF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj57eyhwcm9wZXJ0eURldGFpbHM/LmVhcmxpZXN0UHVyY2hhc2VEYXRlIHwgZGF0ZSkgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlByb3BlcnR5IFR5cGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+e3twcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5wcm9wZXJ0eVR5cGUgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPk93bmVyc2hpcCBTaGFyZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj57e3Byb3BlcnR5RGV0YWlscz8uc2hhcmUgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzIG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHRvcC1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC0xMiB0b3AtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi10ZXh0XCI+e3twcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5uYW1lID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bhbi10ZXh0XCI+PGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMzg0Mjc1YzE3Mzc2Mjk3Mjk1NDVsb2NhdGlvbl9vbi5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cImxvY2F0aW9uIGltYWdlXCIgY2xhc3M9XCJncmV5LWljb25cIiB3aWR0aD1cIjE1cHhcIj57e3Byb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmxvY2F0aW9uID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzcmNXaWR0aCA+IDQ3NVwiIGNsYXNzPVwiY29sLW1kLTYgdG9wLXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1eS1tb3JlIGNvbW1vbi1zdHlsZTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1eSBNb3JlIFNRRlRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxsIGNvbW1vbi1zdHlsZTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGwgU1FGVFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzcmNXaWR0aCA+IDQ3NVwiIGNsYXNzPVwiYm90dG9tLWRldGFpbHMgZC1mbGV4IGdhcC0xMCBtdC0xMCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPkludmVzdGVkIERhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+e3socHJvcGVydHlEZXRhaWxzPy5lYXJsaWVzdFB1cmNoYXNlRGF0ZSB8IGRhdGUpID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5Qcm9wZXJ0eSBUeXBlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPnt7cHJvcGVydHlEZXRhaWxzPy5wcm9wZXJ0eT8ucHJvcGVydHlUeXBlID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5Pd25lcnNoaXAgU2hhcmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+e3twcm9wZXJ0eURldGFpbHM/LnNoYXJlID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2MtcmVwIGNvbW1vbi1zdHlsZTFcIiAqbmdJZj1cInByb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmRvY3VtZW50cy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+RG9jdW1lbnRzICYgUmVwb3J0czwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgKm5nRm9yPVwibGV0IGVsZSBvZiBwcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5kb2N1bWVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNjc4Mzk0YzE3MzkxODM3MjYxMDdpbWFnZSUyMDkucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwicGRmXCIgY2xhc3M9XCJ3LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvYy10ZXh0IHctNzUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPiB7e2VsZS5sZW5ndGggPiAxNSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZS5zdWJzdHJpbmcoMCwxNSkrJy4uLicgOiBlbGUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTk1NDE0YzE3MzkxODM3Nzk4NDVmaV8zNTAyNDc3LnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cImRvd25sb2FkXCIgY2xhc3M9XCJkb3dubG9hZC1pbWcgdy0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tb24tc3R5bGUxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+QWJvdXQgUHJvcGVydHk8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmRlc2NyaXB0aW9uID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+UHJvcGVydHkgTWFuYWdlZCBieTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFuYWdlZC1jYXJkcyBkLWZsZXggZ2FwLTEwIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250YWluZXIgYnItMTBcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIHByb3BlcnR5RGV0YWlscy5tYW5hZ2VkQnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlLmltZ1wiIGFsdD1cIk1hbmFnZXIgSW1hZ2VcIiBjbGFzcz1cIm1hbmFnZS1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibmFtZS10ZXh0IHRleHQtY2VudGVyIG10LTEwXCI+e3tlbGUubmFtZX19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInJvbGUtdGV4dCB0ZXh0LWNlbnRlclwiPnt7ZWxlLnJvbGV9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCIgY29sLW1kLTYgcmlnaHQtY29udGFpbmVyIHctNDAgXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWhlYWRcIj5Ib2xkaW5ncyBEZXRhaWxzPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob2xkaW5nLWRldGFpbHMgY29tbW9uLXN0eWxlM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1ib3R0b21cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wXCI+4oK5e3twcm9wZXJ0eURldGFpbHM/LnRvdGFsSW52ZXN0ZWRBbW91bnQgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbVwiPkludmVzdGVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtYm90dG9tXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcFwiPnt7cHJvcGVydHlEZXRhaWxzPy50b3RhbFNxRmVldE93bmVkID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5TcS5mdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BcIj57e3Byb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmZpbmFuY2VEZXRhaWxzPy5pbmRpY2F0aXZlTWFya2V0VmFsdWUgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbVwiPkluZGljYXRpdmUgTWFya2V0IFZhbHVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtYm90dG9tXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcFwiPnt7cHJvcGVydHlEZXRhaWxzPy5wcm9wZXJ0eT8uZmluYW5jZURldGFpbHM/LmlyciA/PyBcIk4vQVwifX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tXCI+SW50ZXJuYWwgUmV0dXJucyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmNvbWUgYnItMC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LTFcIj5Qcm9maXQvTG9zczwvZGl2PjxkaXYgY2xhc3M9XCJyaWdodC0xXCI+4oK5e3twcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5maW5hbmNlRGV0YWlscz8uYW5udWFsUmV0dXJuID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWhlYWRcIj5GaW5hbmNpYWwgUHJvamVjdGlvbnM8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbmFuY2lhbC1kZXRhaWxzIGNvbW1vbi1zdHlsZTMgYnItMC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWxlZnQtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LTJcIj5Qcm9qZWN0ZWQgVmFsdWUgKE5leHQgWWVhcik8L2Rpdj48ZGl2IGNsYXNzPVwicmlnaHQtMlwiPnt7cHJvcGVydHlEZXRhaWxzLnByb2plY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWxlZnQtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LTJcIj5Qb3RlbnRpYWwgQXBwcmVjaWF0aW9uPC9kaXY+PGRpdiBjbGFzcz1cInJpZ2h0LTJcIj57e3Byb3BlcnR5RGV0YWlscy5wb3RlbnRpYWxBcHBlcmNpYXRpb259fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtbGVmdC0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtMlwiPkd1YXJhbnRlZWQgR3Jvd3RoPC9kaXY+PGRpdiBjbGFzcz1cInJpZ2h0LTJcIj57e3Byb3BlcnR5RGV0YWlscy5ndWFyYW50ZWVkR3Jvd3RofX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGUtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5vdGU6IEFib3ZlIHByb2plY3Rpb24gYXJlIGJhc2VkIG9uIHBhc3QgcGVyZm9ybWFuY2VcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzcmNXaWR0aCA8IDQ3NVwiIGNsYXNzPVwidG9wLXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV5LW1vcmUgY29tbW9uLXN0eWxlMlwiPlxyXG4gICAgICAgICAgICBCdXkgTW9yZSBTUUZUXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGwgY29tbW9uLXN0eWxlMlwiPlxyXG4gICAgICAgICAgICBTZWxsIFNRRlRcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzZWN0aW9uIGNsYXNzPVwicGFnZWxvYWRlclwiICpuZ0lmPVwicGFnZUxvYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBnYXAtMTAgb3ZlcmZsb3cteS1zY3JvbGxcIiBbY2xhc3MuZmxleC1jb2x1bW5dPVwic3JjV2lkdGggPCA0NzVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jb250YWluZXItMSB3LTYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsLWxvYWRlclwiICpuZ0Zvcj1cImxldCBza2VsIG9mIFsxLDIsNF1cIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzI1dmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRhaW5lci0xIHctNDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWwtbG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aCA6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICczNXZoJyxcclxuICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnR5LXZpZXcvcHJvcGVydHktdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnR5LXZpZXcvcHJvcGVydHktdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBVzlELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFXNUMsb0JBQWUsR0FBUztZQUN0QixhQUFhLEVBQUssQ0FBQyxvR0FBb0csRUFBQyxvR0FBb0csRUFBQyxvR0FBb0csQ0FBQztZQUNsVSxZQUFZLEVBQUcsd0JBQXdCO1lBQ3ZDLGdCQUFnQixFQUFHLDBCQUEwQjtZQUM3QyxZQUFZLEVBQUcsYUFBYTtZQUM1QixJQUFJLEVBQUcsUUFBUTtZQUNmLEtBQUssRUFBRyxPQUFPO1lBQ2YsU0FBUyxFQUFHLENBQUMsWUFBWSxFQUFDLG1DQUFtQyxDQUFDO1lBQzlELFdBQVcsRUFBRyw2TkFBNk47WUFDM08sU0FBUyxFQUFHLENBQUMsRUFBQyxHQUFHLEVBQUcsc0pBQXNKLEVBQUMsSUFBSSxFQUFHLGVBQWUsRUFBQyxJQUFJLEVBQUcsa0JBQWtCLEVBQUMsRUFBQyxFQUFDLEdBQUcsRUFBRywyRkFBMkYsRUFBQyxJQUFJLEVBQUcsU0FBUyxFQUFDLElBQUksRUFBRyxxQkFBcUIsRUFBQyxDQUFDO1lBQy9XLFFBQVEsRUFBRyxRQUFRO1lBQ25CLFNBQVMsRUFBRyxJQUFJO1lBQ2hCLEdBQUcsRUFBRyxLQUFLO1lBQ1gsR0FBRyxFQUFHLFFBQVE7WUFDZCxNQUFNLEVBQUcsUUFBUTtZQUNqQixjQUFjLEVBQUcsU0FBUztZQUMxQixxQkFBcUIsRUFBRyxJQUFJO1lBQzVCLGdCQUFnQixFQUFHLElBQUk7WUFDdkIsY0FBYyxFQUFHLE1BQU07U0FDeEIsQ0FBQTtRQVlELGVBQVUsR0FBYSxLQUFLLENBQUE7SUF2QzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQTRCRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxFQUFNO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FDNUMsQ0FBQyxHQUFHLEVBQUMsRUFBRTtZQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFBO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO1lBQ3ZCLG1CQUFtQjtRQUNyQixDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUM7OEdBeERVLHFCQUFxQjtrR0FBckIscUJBQXFCLHdLQ2hCbEMsbWpWQXFMQSx5bkhEektZLFlBQVksa1RBQVMsdUJBQXVCOzsyRkFJM0MscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUMsT0FBTyxFQUFDLHVCQUF1QixDQUFDO2dGQU03QyxFQUFFO3NCQUFYLEtBQUs7Z0JBdUNOLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxlQUFlLEVBQUMsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByb3BlcnR5LXZpZXcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxNYXRJY29uLE5neFNrZWxldG9uTG9hZGVyTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Byb3BlcnR5LXZpZXcuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5Vmlld0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpICBpZCA6IGFueVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSlcclxuICB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuaWQpXHJcbiAgICB0aGlzLmdldFByb3BlcnR5RGV0YWlscyh0aGlzLmlkKVxyXG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKCk7XHJcbiAgfVxyXG5cclxuICBwcm9wZXJ0eURldGFpbHMgOiBhbnkgPSB7XHJcbiAgICBwcm9wZXJ0eUltYWdlICA6ICBbXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiLFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIixcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCJdLFxyXG4gICAgcHJvcGVydHlOYW1lIDogXCJBbmFudGEgT25lIC0gQmx1ZSBNb29uXCIsXHJcbiAgICBwcm9wZXJ0eUxvY2F0aW9uIDogXCJSUlIgSHlkZXJhYmFkLCBUZWxhbmdhbmFcIixcclxuICAgIGludmVzdGVkRGF0ZSA6IFwiMTIgSnVuIDIwMjRcIixcclxuICAgIHR5cGUgOiBcIlJlbnRhbFwiLFxyXG4gICAgc2hhcmUgOiBcIjEuNDAlXCIsXHJcbiAgICBkb2N1bWVudHMgOiBbXCJUaXRsZSBkZWVkXCIsXCJQcm9wZXJ0eSBSZWdpc3RyYXRpb24gQ2VydGlmaWNhdGVcIl0sXHJcbiAgICBkZXNjcmlwdGlvbiA6IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICBtYW5hZ2VkQnkgOiBbe2ltZyA6IFwiaHR0cHM6Ly9tZWRpYS5pc3RvY2twaG90by5jb20vaWQvMTQxMDUzODg1My9waG90by95b3VuZy1tYW4taW4tdGhlLXB1YmxpYy1wYXJrLmpwZz9zPTYxMng2MTImdz0wJms9MjAmYz1FdFJKR25OT0ZQSjJIbmlCU0xXS3pzTDlYZjdHSGluSGQ1eTJUeDNkYTBFPVwiLG5hbWUgOiBcIlZpamF5IFNoYW5rYXJcIixyb2xlIDogXCJQcm9wZXJ0eSBNYW5hZ2VyXCJ9LHtpbWcgOiBcImh0dHBzOi8vdDMuZnRjZG4ubmV0L2pwZy8wMS84Ni80MC8xNi8zNjBfRl8xODY0MDE2NTBfNnRYeHdjNXgzcHd1QTliWWpKRzY1bDlwQ0ZSSUF1MDYuanBnXCIsbmFtZSA6IFwiU2FuamFuYVwiLHJvbGUgOiBcIk9wZXJhdGlvbmFsIE1hbmFnZXJcIn1dLFxyXG4gICAgaW52ZXN0ZWQgOiBcIuKCuTQuMSBMXCIsXHJcbiAgICB0b3RhbFNxZnQgOiBcIjMyXCIsXHJcbiAgICBpcnIgOiBcIjEyJVwiLFxyXG4gICAgaW12IDogXCLigrk0LjEgTFwiLFxyXG4gICAgaW5jb21lIDogXCIr4oK5NTIga1wiLFxyXG4gICAgcHJvamVjdGVkVmFsdWUgOiBcIuKCuTUuMjEgTFwiLFxyXG4gICAgcG90ZW50aWFsQXBwZXJjaWF0aW9uIDogXCI4JVwiLFxyXG4gICAgZ3VhcmFudGVlZEdyb3d0aCA6IFwiNSVcIixcclxuICAgIG1hcmtldE1vdmVtZW50IDogXCJIaWdoXCJcclxuICB9XHJcblxyXG5cclxuXHJcbiAgc3JjSGVpZ2h0OiBhbnk7XHJcbiAgc3JjV2lkdGg6IGFueTtcclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJyxbJyRldmVudCddKVxyXG4gIGdldFNjcmVlblNpemUoZXZlbnQ/OmFueSl7XHJcbiAgICB0aGlzLnNyY0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIHRoaXMuc3JjV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHBhZ2VMb2FkZXIgOiBib29sZWFuID0gZmFsc2VcclxuICBnZXRQcm9wZXJ0eURldGFpbHMoaWQ6YW55KXtcclxuICAgIHRoaXMucGFnZUxvYWRlciA9IHRydWVcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0UHJvcGVydHlCeUlkKGlkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXMpPT57XHJcbiAgICAgICAgdGhpcy5wcm9wZXJ0eURldGFpbHMgPSByZXNcclxuICAgICAgICB0aGlzLnBhZ2VMb2FkZXIgPSBmYWxzZVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHJlcylcclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiIHJvdyBtYWluLWNvbnRhaW5lciBnYXAtMTAgXCIgKm5nSWY9XCIhcGFnZUxvYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBjb2wtbWQtNiBsZWZ0LWNvbnRhaW5lciB3LTYwIFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1kZXRhaWwgY29tbW9uLXN0eWxlMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHJvdyBjYXJvdXNlbC0wMVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImNhcm91c2VsRXhhbXBsZUludGVydmFsXCIgY2xhc3M9XCIgY29sLTEyIGNvbC02IGNhcm91c2VsIHNsaWRlIHAtcmVsYXRpdmUgXCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlIG9mIHByb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmltZ1VybDtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbSBhY3RpdmVcIiBbY2xhc3MuYWN0aXZlXT1cImlcIiBkYXRhLWJzLWludGVydmFsPVwiMzAwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJlbGVcIiBjbGFzcz1cImQtYmxvY2sgdy0xMDAgYnItMTBcIiBhbHQ9XCJwcm9wZXJ0eS1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eU5hbWUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnMgYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgcHJvcGVydHlEZXRhaWxzLnByb3BlcnR5LmltZ1VybDtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdGFyZ2V0PVwiI2Nhcm91c2VsRXhhbXBsZUludGVydmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYnMtc2xpZGUtdG9dPVwiaVwiIGNsYXNzPVwiYWN0aXZlIGFkZGl0aW9uYWwtcHJvcGVydGllc1wiIGFyaWEtY3VycmVudD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNsaWRlIDFcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzcmNXaWR0aCA8IDQ3NVwiIGNsYXNzPVwiIGNvbC02IGJvdHRvbS1kZXRhaWxzIGQtZmxleCBnYXAtMTAgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1yaWdodCBkLWZsZXggZ2FwLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+SW52ZXN0ZWQgRGF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj57eyhwcm9wZXJ0eURldGFpbHM/LmVhcmxpZXN0UHVyY2hhc2VEYXRlIHwgZGF0ZSkgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlByb3BlcnR5IFR5cGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+e3twcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5wcm9wZXJ0eVR5cGUgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPk93bmVyc2hpcCBTaGFyZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj57e3Byb3BlcnR5RGV0YWlscz8uc2hhcmUgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzIG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHRvcC1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC0xMiB0b3AtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi10ZXh0XCI+e3twcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5uYW1lID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bhbi10ZXh0XCI+PGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMzg0Mjc1YzE3Mzc2Mjk3Mjk1NDVsb2NhdGlvbl9vbi5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cImxvY2F0aW9uIGltYWdlXCIgY2xhc3M9XCJncmV5LWljb25cIiB3aWR0aD1cIjE1cHhcIj57e3Byb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmxvY2F0aW9uID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzcmNXaWR0aCA+IDQ3NVwiIGNsYXNzPVwiY29sLW1kLTYgdG9wLXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1eS1tb3JlIGNvbW1vbi1zdHlsZTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1eSBNb3JlIFNRRlRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxsIGNvbW1vbi1zdHlsZTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGwgU1FGVFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzcmNXaWR0aCA+IDQ3NVwiIGNsYXNzPVwiYm90dG9tLWRldGFpbHMgZC1mbGV4IGdhcC0xMCBtdC0xMCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPkludmVzdGVkIERhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+e3socHJvcGVydHlEZXRhaWxzPy5lYXJsaWVzdFB1cmNoYXNlRGF0ZSB8IGRhdGUpID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5Qcm9wZXJ0eSBUeXBlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPnt7cHJvcGVydHlEZXRhaWxzPy5wcm9wZXJ0eT8ucHJvcGVydHlUeXBlID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5Pd25lcnNoaXAgU2hhcmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+e3twcm9wZXJ0eURldGFpbHM/LnNoYXJlID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2MtcmVwIGNvbW1vbi1zdHlsZTFcIiAqbmdJZj1cInByb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmRvY3VtZW50cy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+RG9jdW1lbnRzICYgUmVwb3J0czwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgKm5nRm9yPVwibGV0IGVsZSBvZiBwcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5kb2N1bWVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNjc4Mzk0YzE3MzkxODM3MjYxMDdpbWFnZSUyMDkucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwicGRmXCIgY2xhc3M9XCJ3LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvYy10ZXh0IHctNzUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPiB7e2VsZS5sZW5ndGggPiAxNSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZS5zdWJzdHJpbmcoMCwxNSkrJy4uLicgOiBlbGUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTk1NDE0YzE3MzkxODM3Nzk4NDVmaV8zNTAyNDc3LnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cImRvd25sb2FkXCIgY2xhc3M9XCJkb3dubG9hZC1pbWcgdy0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tb24tc3R5bGUxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+QWJvdXQgUHJvcGVydHk8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmRlc2NyaXB0aW9uID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+UHJvcGVydHkgTWFuYWdlZCBieTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFuYWdlZC1jYXJkcyBkLWZsZXggZ2FwLTEwIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250YWluZXIgYnItMTBcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIHByb3BlcnR5RGV0YWlscy5tYW5hZ2VkQnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlLmltZ1wiIGFsdD1cIk1hbmFnZXIgSW1hZ2VcIiBjbGFzcz1cIm1hbmFnZS1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibmFtZS10ZXh0IHRleHQtY2VudGVyIG10LTEwXCI+e3tlbGUubmFtZX19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInJvbGUtdGV4dCB0ZXh0LWNlbnRlclwiPnt7ZWxlLnJvbGV9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCIgY29sLW1kLTYgcmlnaHQtY29udGFpbmVyIHctNDAgXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWhlYWRcIj5Ib2xkaW5ncyBEZXRhaWxzPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob2xkaW5nLWRldGFpbHMgY29tbW9uLXN0eWxlM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1ib3R0b21cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wXCI+4oK5e3twcm9wZXJ0eURldGFpbHM/LnRvdGFsSW52ZXN0ZWRBbW91bnQgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbVwiPkludmVzdGVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtYm90dG9tXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcFwiPnt7cHJvcGVydHlEZXRhaWxzPy50b3RhbFNxRmVldE93bmVkID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5TcS5mdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BcIj57e3Byb3BlcnR5RGV0YWlscz8ucHJvcGVydHk/LmZpbmFuY2VEZXRhaWxzPy5pbmRpY2F0aXZlTWFya2V0VmFsdWUgPz8gXCJOL0FcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbVwiPkluZGljYXRpdmUgTWFya2V0IFZhbHVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtYm90dG9tXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcFwiPnt7cHJvcGVydHlEZXRhaWxzPy5wcm9wZXJ0eT8uZmluYW5jZURldGFpbHM/LmlyciA/PyBcIk4vQVwifX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tXCI+SW50ZXJuYWwgUmV0dXJucyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmNvbWUgYnItMC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LTFcIj5Qcm9maXQvTG9zczwvZGl2PjxkaXYgY2xhc3M9XCJyaWdodC0xXCI+4oK5e3twcm9wZXJ0eURldGFpbHM/LnByb3BlcnR5Py5maW5hbmNlRGV0YWlscz8uYW5udWFsUmV0dXJuID8/IFwiTi9BXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWhlYWRcIj5GaW5hbmNpYWwgUHJvamVjdGlvbnM8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbmFuY2lhbC1kZXRhaWxzIGNvbW1vbi1zdHlsZTMgYnItMC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWxlZnQtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LTJcIj5Qcm9qZWN0ZWQgVmFsdWUgKE5leHQgWWVhcik8L2Rpdj48ZGl2IGNsYXNzPVwicmlnaHQtMlwiPnt7cHJvcGVydHlEZXRhaWxzLnByb2plY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWxlZnQtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LTJcIj5Qb3RlbnRpYWwgQXBwcmVjaWF0aW9uPC9kaXY+PGRpdiBjbGFzcz1cInJpZ2h0LTJcIj57e3Byb3BlcnR5RGV0YWlscy5wb3RlbnRpYWxBcHBlcmNpYXRpb259fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtbGVmdC0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtMlwiPkd1YXJhbnRlZWQgR3Jvd3RoPC9kaXY+PGRpdiBjbGFzcz1cInJpZ2h0LTJcIj57e3Byb3BlcnR5RGV0YWlscy5ndWFyYW50ZWVkR3Jvd3RofX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGUtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5vdGU6IEFib3ZlIHByb2plY3Rpb24gYXJlIGJhc2VkIG9uIHBhc3QgcGVyZm9ybWFuY2VcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzcmNXaWR0aCA8IDQ3NVwiIGNsYXNzPVwidG9wLXJpZ2h0IGQtZmxleCBnYXAtMTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV5LW1vcmUgY29tbW9uLXN0eWxlMlwiPlxyXG4gICAgICAgICAgICBCdXkgTW9yZSBTUUZUXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGwgY29tbW9uLXN0eWxlMlwiPlxyXG4gICAgICAgICAgICBTZWxsIFNRRlRcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzZWN0aW9uIGNsYXNzPVwicGFnZWxvYWRlclwiICpuZ0lmPVwicGFnZUxvYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBnYXAtMTAgb3ZlcmZsb3cteS1zY3JvbGxcIiBbY2xhc3MuZmxleC1jb2x1bW5dPVwic3JjV2lkdGggPCA0NzVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jb250YWluZXItMSB3LTYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsLWxvYWRlclwiICpuZ0Zvcj1cImxldCBza2VsIG9mIFsxLDIsNF1cIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzI1dmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRhaW5lci0xIHctNDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWwtbG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aCA6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICczNXZoJyxcclxuICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
@@ -7,7 +7,7 @@ export class FormateAmount {
7
7
  return (Number(value) / 10000000 /* AMOUNT.CRORE */) + 'cr';
8
8
  }
9
9
  else if (Number(value) >= 100000 /* AMOUNT.LAKHS */) {
10
- return (Number(value) / 100000 /* AMOUNT.LAKHS */) + 'lk';
10
+ return (Number(value) / 100000 /* AMOUNT.LAKHS */).toFixed(2) + 'L';
11
11
  }
12
12
  else {
13
13
  return value.toString();
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
32
32
  name: 'formateAmount',
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3BpcGVzL2Ftb3VudC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQWFsRCxNQUFNLE9BQU8sYUFBYTtJQUV0QixTQUFTLENBQUMsS0FBc0IsRUFBRSxTQUF3QixLQUFLO1FBRTNELElBQUksTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2xCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBZ0IsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ2pELENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLDZCQUFnQixFQUFFLENBQUM7Z0JBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUFlLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDakQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxnQ0FBa0IsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNuRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOzhHQW5CUSxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxlQUFlO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuY29uc3QgZW51bSBBTU9VTlQge1xyXG4gICAgTEFLSFMgPSAxMDAwMDAsXHJcbiAgICBDUk9SRSA9IDEwMDAwMDAwLFxyXG4gICAgTUlMTElPTiA9IDEwMDAwMDBcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgbmFtZTogJ2Zvcm1hdGVBbW91bnQnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWF0ZUFtb3VudCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCBzeXN0ZW06IFwiSU5EXCIgfCBcIklOVFwiID0gXCJJTkRcIik6IHN0cmluZyB7XHJcblxyXG4gICAgICAgIGlmIChzeXN0ZW0gPT0gXCJJTkRcIikge1xyXG4gICAgICAgICAgICBpZiAoTnVtYmVyKHZhbHVlKSA+PSBBTU9VTlQuQ1JPUkUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAoTnVtYmVyKHZhbHVlKSAvIEFNT1VOVC5DUk9SRSkgKyAnY3InO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKE51bWJlcih2YWx1ZSkgPj0gQU1PVU5ULkxBS0hTKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKE51bWJlcih2YWx1ZSkgLyBBTU9VTlQuTEFLSFMpICsgJ2xrJztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKE51bWJlcih2YWx1ZSkgPj0gQU1PVU5ULk1JTExJT04pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAoTnVtYmVyKHZhbHVlKSAvIEFNT1VOVC5NSUxMSU9OKSArICdtbic7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3BpcGVzL2Ftb3VudC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQWFsRCxNQUFNLE9BQU8sYUFBYTtJQUV0QixTQUFTLENBQUMsS0FBc0IsRUFBRSxTQUF3QixLQUFLO1FBRTNELElBQUksTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2xCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBZ0IsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ2pELENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLDZCQUFnQixFQUFFLENBQUM7Z0JBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzNELENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWtCLEVBQUUsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQWlCLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDbkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzs4R0FuQlEsYUFBYTs0R0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsZUFBZTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmNvbnN0IGVudW0gQU1PVU5UIHtcclxuICAgIExBS0hTID0gMTAwMDAwLFxyXG4gICAgQ1JPUkUgPSAxMDAwMDAwMCxcclxuICAgIE1JTExJT04gPSAxMDAwMDAwXHJcbn1cclxuXHJcbkBQaXBlKHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIG5hbWU6ICdmb3JtYXRlQW1vdW50JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdGVBbW91bnQgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IG51bWJlciwgc3lzdGVtOiBcIklORFwiIHwgXCJJTlRcIiA9IFwiSU5EXCIpOiBzdHJpbmcge1xyXG5cclxuICAgICAgICBpZiAoc3lzdGVtID09IFwiSU5EXCIpIHtcclxuICAgICAgICAgICAgaWYgKE51bWJlcih2YWx1ZSkgPj0gQU1PVU5ULkNST1JFKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKE51bWJlcih2YWx1ZSkgLyBBTU9VTlQuQ1JPUkUpICsgJ2NyJztcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChOdW1iZXIodmFsdWUpID49IEFNT1VOVC5MQUtIUykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChOdW1iZXIodmFsdWUpIC8gQU1PVU5ULkxBS0hTKS50b0ZpeGVkKDIpICsgJ0wnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoTnVtYmVyKHZhbHVlKSA+PSBBTU9VTlQuTUlMTElPTikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChOdW1iZXIodmFsdWUpIC8gQU1PVU5ULk1JTExJT04pICsgJ21uJztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19