simpo-component-library 2.2.0 → 2.2.3

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 (63) hide show
  1. package/esm2022/lib/elements/index.mjs +6 -6
  2. package/esm2022/lib/elements/portfolio/portfolio.component.mjs +3 -3
  3. package/esm2022/lib/elements/property/property.component.mjs +41 -0
  4. package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +10 -30
  5. package/esm2022/lib/sections/property-component/property-component.component.mjs +7 -78
  6. package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
  7. package/esm2022/lib/sections/property-list/property-list.component.mjs +48 -101
  8. package/esm2022/lib/services/events.service.mjs +1 -2
  9. package/esm2022/lib/services/rest.service.mjs +5 -61
  10. package/esm2022/lib/styles/index.mjs +1 -5
  11. package/esm2022/public-api.mjs +1 -4
  12. package/fesm2022/simpo-component-library.mjs +5019 -5915
  13. package/fesm2022/simpo-component-library.mjs.map +1 -1
  14. package/lib/directive/background-directive.d.ts +1 -1
  15. package/lib/directive/button-directive.directive.d.ts +1 -1
  16. package/lib/directive/color.directive.d.ts +1 -1
  17. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
  18. package/lib/elements/index.d.ts +3 -3
  19. package/lib/elements/property/property.component.d.ts +8 -0
  20. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
  21. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  22. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  23. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
  24. package/lib/sections/navbar-section/navbar-section.component.d.ts +1 -7
  25. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  26. package/lib/sections/property-component/property-component.component.d.ts +4 -24
  27. package/lib/sections/property-component/property-component.modal.d.ts +18 -11
  28. package/lib/sections/property-list/property-list.component.d.ts +1 -7
  29. package/lib/services/events.service.d.ts +0 -1
  30. package/lib/services/rest.service.d.ts +0 -15
  31. package/lib/styles/index.d.ts +0 -3
  32. package/package.json +1 -1
  33. package/public-api.d.ts +0 -3
  34. package/simpo-component-library-2.2.3.tgz +0 -0
  35. package/esm2022/lib/elements/my-documents/my-documents.component.mjs +0 -11
  36. package/esm2022/lib/elements/my-orders/my-orders.component.mjs +0 -64
  37. package/esm2022/lib/elements/my-statement/my-statement.component.mjs +0 -26
  38. package/esm2022/lib/elements/need-help/need-help.component.mjs +0 -11
  39. package/esm2022/lib/elements/payment-confirmation/payment-confirmation.component.mjs +0 -59
  40. package/esm2022/lib/elements/properties/properties.component.mjs +0 -70
  41. package/esm2022/lib/elements/property-view/property-view.component.mjs +0 -42
  42. package/esm2022/lib/sections/kyc-details/kyc-details.component.mjs +0 -125
  43. package/esm2022/lib/sections/profile-section/profile-section.component.mjs +0 -47
  44. package/esm2022/lib/sections/profile-section/profile-section.modal.mjs +0 -2
  45. package/esm2022/lib/sections/property-detail/property-detail.component.mjs +0 -121
  46. package/esm2022/lib/sections/property-detail/property-detail.model.mjs +0 -2
  47. package/esm2022/lib/sections/signup-signin/signup-signin.component.mjs +0 -272
  48. package/esm2022/lib/sections/signup-signin/signup-signin.model.mjs +0 -2
  49. package/lib/elements/my-documents/my-documents.component.d.ts +0 -5
  50. package/lib/elements/my-orders/my-orders.component.d.ts +0 -10
  51. package/lib/elements/my-statement/my-statement.component.d.ts +0 -8
  52. package/lib/elements/need-help/need-help.component.d.ts +0 -5
  53. package/lib/elements/payment-confirmation/payment-confirmation.component.d.ts +0 -20
  54. package/lib/elements/properties/properties.component.d.ts +0 -12
  55. package/lib/elements/property-view/property-view.component.d.ts +0 -8
  56. package/lib/sections/kyc-details/kyc-details.component.d.ts +0 -29
  57. package/lib/sections/profile-section/profile-section.component.d.ts +0 -15
  58. package/lib/sections/profile-section/profile-section.modal.d.ts +0 -5
  59. package/lib/sections/property-detail/property-detail.component.d.ts +0 -32
  60. package/lib/sections/property-detail/property-detail.model.d.ts +0 -5
  61. package/lib/sections/signup-signin/signup-signin.component.d.ts +0 -48
  62. package/lib/sections/signup-signin/signup-signin.model.d.ts +0 -10
  63. package/simpo-component-library-2.2.0.tgz +0 -0
@@ -1,59 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Inject } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/dialog";
8
- import * as i2 from "../../services/rest.service";
9
- import * as i3 from "@angular/material/icon";
10
- import * as i4 from "@angular/forms";
11
- export class PaymentConfirmationComponent {
12
- constructor(dialogRef, data, restService) {
13
- this.dialogRef = dialogRef;
14
- this.data = data;
15
- this.restService = restService;
16
- this.sqFeetArea = 0;
17
- this.payload = {
18
- totalAmount: 0,
19
- totalTax: 0
20
- };
21
- }
22
- ngOnInit() {
23
- this.propertyDetails = this.data.details;
24
- this.sqFeetArea = this.data.totalArea;
25
- this.addOrRemoveProperty();
26
- }
27
- close() {
28
- this.dialogRef.close();
29
- }
30
- addOrRemoveProperty() {
31
- this.payload.totalAmount = Number(Number((this.propertyDetails?.financeDetails?.pricePerSqFeet || 0) * this.sqFeetArea).toFixed(2));
32
- this.payload.totalTax = Number(Number((0.28) * this.payload.totalAmount).toFixed(2));
33
- }
34
- addSqFeet() {
35
- this.sqFeetArea++;
36
- this.addOrRemoveProperty();
37
- }
38
- removeSqFeet() {
39
- this.sqFeetArea--;
40
- this.addOrRemoveProperty();
41
- }
42
- purchaseProperty() {
43
- this.restService.purchaseProperty(this.payload).subscribe((res) => {
44
- });
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PaymentConfirmationComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.RestService }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PaymentConfirmationComponent, isStandalone: true, selector: "simpo-payment-confirmation", ngImport: i0, template: "<section>\r\n <div class=\"header\">\r\n <p>Payment Confirmation</p>\r\n <mat-icon (click)=\"close()\">close</mat-icon>\r\n </div>\r\n\r\n <div class=\"body\">\r\n <div class=\"property\">\r\n <div class=\"left-side\">\r\n <img [src]=\"propertyDetails.imgUrl[0]\"\r\n alt=\"\">\r\n <div>\r\n <p class=\"property-name\">{{propertyDetails.name}}</p>\r\n <p class=\"location\">{{propertyDetails.location}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-side\">\r\n <p class=\"Price-text\">Price/Sq.ft</p>\r\n <p class=\"perSqFtAmount\">\u20B9 {{propertyDetails.financeDetails.pricePerSqFeet}}/Sq.ft</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"price-detail\">\r\n <div class=\"d-flex justify-space mb-30\">\r\n <div class=\"price-left-side\">\r\n Quantity\r\n </div>\r\n <div class=\"price-right-side\">\r\n <div class=\"quantity\">\r\n <div class=\"add\" (click)=\"addSqFeet()\"><mat-icon>add</mat-icon></div>\r\n <input type=\"number\" [(ngModel)]=\"sqFeetArea\" (ngModelChange)=\"addOrRemoveProperty()\">\r\n <div class=\"remove\" (click)=\"removeSqFeet()\"><mat-icon>remove</mat-icon></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n Total Price\r\n </div>\r\n <div class=\"price-right-side\">\r\n \u20B9{{payload.totalAmount}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n Property Tax\r\n </div>\r\n <div class=\"price-text\">\r\n \u20B9 0\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n GST(28%)\r\n </div>\r\n <div class=\"price-text\">\r\n \u20B9 {{payload.totalTax}}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n Total Payable\r\n </div>\r\n <div class=\"price-text\">\r\n \u20B9 {{payload.totalAmount + payload.totalTax}}\r\n </div>\r\n </div>\r\n <button class=\"buy-btn\">Buy Now</button>\r\n </div>\r\n </div>\r\n\r\n</section>\r\n", styles: [".header{display:flex;height:60px;justify-content:space-between;align-items:center;padding-left:20px;padding-right:20px;border-bottom:1px solid rgba(14,35,60,.16)}.header P{font-size:20px;font-weight:700;font-family:DM SANS}.body{padding:20px;background:#fcfcfc;border:10px}.property{display:flex;justify-content:space-between;background:#fff;padding:15px}.left-side{display:flex;gap:15px;width:70%}.left-side img{height:77px;width:97px;border-radius:8px}.property-name{margin-bottom:10px!important;font-size:16px;font-weight:600;color:#0009;font-family:DM SANS}.location{font-size:14px;color:#0000004d;font-family:DM SANS;font-weight:600}.perSqFtAmount{font-size:20px;color:#494949;font-weight:700;font-family:DM SANS}.Price-text{font-size:13px;font-weight:600;font-family:DM SANS;margin-bottom:10px!important;color:#393838}p{margin-bottom:0!important}.price-detail{margin-top:15px;background:#fff;padding:15px;border-radius:10px}.mb-15{margin-bottom:15px}.justify-space{justify-content:space-between}.price-left-side{font-size:16px;font-weight:700;font-family:DM SANS}.price-right-side{font-size:18px;font-weight:700;font-family:DM SANS}.price-text{font-size:17px;font-weight:600;font-family:DM SANS}.footer{margin-top:20px}.buy-btn{background:#122335;border:1px solid rgba(18,35,53,1);border-radius:7px;color:#fff;padding:5px;font-size:17px!important;font-family:DM SANS}.quantity{display:flex;gap:10px;justify-content:end}.quantity .add{background:#122335;color:#fff;display:flex;display:display;align-items:center;justify-content:center;border-radius:7px;cursor:pointer}.quantity input{background:#f8a938;border:1px solid rgba(248,169,56,1);border-radius:7px;outline:none;width:30%;padding-left:10px;color:#fff;text-align:center}.quantity .remove{background:#122335;color:#fff;display:flex;display:display;align-items:center;justify-content:center;border-radius:7px;cursor:pointer}.mb-30{margin-bottom:30px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }] }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PaymentConfirmationComponent, decorators: [{
50
- type: Component,
51
- args: [{ selector: 'simpo-payment-confirmation', standalone: true, imports: [MatIconModule,
52
- FormsModule,
53
- CommonModule
54
- ], template: "<section>\r\n <div class=\"header\">\r\n <p>Payment Confirmation</p>\r\n <mat-icon (click)=\"close()\">close</mat-icon>\r\n </div>\r\n\r\n <div class=\"body\">\r\n <div class=\"property\">\r\n <div class=\"left-side\">\r\n <img [src]=\"propertyDetails.imgUrl[0]\"\r\n alt=\"\">\r\n <div>\r\n <p class=\"property-name\">{{propertyDetails.name}}</p>\r\n <p class=\"location\">{{propertyDetails.location}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-side\">\r\n <p class=\"Price-text\">Price/Sq.ft</p>\r\n <p class=\"perSqFtAmount\">\u20B9 {{propertyDetails.financeDetails.pricePerSqFeet}}/Sq.ft</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"price-detail\">\r\n <div class=\"d-flex justify-space mb-30\">\r\n <div class=\"price-left-side\">\r\n Quantity\r\n </div>\r\n <div class=\"price-right-side\">\r\n <div class=\"quantity\">\r\n <div class=\"add\" (click)=\"addSqFeet()\"><mat-icon>add</mat-icon></div>\r\n <input type=\"number\" [(ngModel)]=\"sqFeetArea\" (ngModelChange)=\"addOrRemoveProperty()\">\r\n <div class=\"remove\" (click)=\"removeSqFeet()\"><mat-icon>remove</mat-icon></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n Total Price\r\n </div>\r\n <div class=\"price-right-side\">\r\n \u20B9{{payload.totalAmount}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n Property Tax\r\n </div>\r\n <div class=\"price-text\">\r\n \u20B9 0\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n GST(28%)\r\n </div>\r\n <div class=\"price-text\">\r\n \u20B9 {{payload.totalTax}}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <div class=\"d-flex justify-space mb-15\">\r\n <div class=\"price-left-side\">\r\n Total Payable\r\n </div>\r\n <div class=\"price-text\">\r\n \u20B9 {{payload.totalAmount + payload.totalTax}}\r\n </div>\r\n </div>\r\n <button class=\"buy-btn\">Buy Now</button>\r\n </div>\r\n </div>\r\n\r\n</section>\r\n", styles: [".header{display:flex;height:60px;justify-content:space-between;align-items:center;padding-left:20px;padding-right:20px;border-bottom:1px solid rgba(14,35,60,.16)}.header P{font-size:20px;font-weight:700;font-family:DM SANS}.body{padding:20px;background:#fcfcfc;border:10px}.property{display:flex;justify-content:space-between;background:#fff;padding:15px}.left-side{display:flex;gap:15px;width:70%}.left-side img{height:77px;width:97px;border-radius:8px}.property-name{margin-bottom:10px!important;font-size:16px;font-weight:600;color:#0009;font-family:DM SANS}.location{font-size:14px;color:#0000004d;font-family:DM SANS;font-weight:600}.perSqFtAmount{font-size:20px;color:#494949;font-weight:700;font-family:DM SANS}.Price-text{font-size:13px;font-weight:600;font-family:DM SANS;margin-bottom:10px!important;color:#393838}p{margin-bottom:0!important}.price-detail{margin-top:15px;background:#fff;padding:15px;border-radius:10px}.mb-15{margin-bottom:15px}.justify-space{justify-content:space-between}.price-left-side{font-size:16px;font-weight:700;font-family:DM SANS}.price-right-side{font-size:18px;font-weight:700;font-family:DM SANS}.price-text{font-size:17px;font-weight:600;font-family:DM SANS}.footer{margin-top:20px}.buy-btn{background:#122335;border:1px solid rgba(18,35,53,1);border-radius:7px;color:#fff;padding:5px;font-size:17px!important;font-family:DM SANS}.quantity{display:flex;gap:10px;justify-content:end}.quantity .add{background:#122335;color:#fff;display:flex;display:display;align-items:center;justify-content:center;border-radius:7px;cursor:pointer}.quantity input{background:#f8a938;border:1px solid rgba(248,169,56,1);border-radius:7px;outline:none;width:30%;padding-left:10px;color:#fff;text-align:center}.quantity .remove{background:#122335;color:#fff;display:flex;display:display;align-items:center;justify-content:center;border-radius:7px;cursor:pointer}.mb-30{margin-bottom:30px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
55
- }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
56
- type: Inject,
57
- args: [MAT_DIALOG_DATA]
58
- }] }, { type: i2.RestService }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lbGVtZW50cy9wYXltZW50LWNvbmZpcm1hdGlvbi9wYXltZW50LWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3BheW1lbnQtY29uZmlybWF0aW9uL3BheW1lbnQtY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQWF2RCxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW1CLFNBQXFELEVBQ3RDLElBQVMsRUFDakMsV0FBd0I7UUFGZixjQUFTLEdBQVQsU0FBUyxDQUE0QztRQUN0QyxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSWxDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsWUFBTyxHQUFRO1lBQ2IsV0FBVyxFQUFFLENBQUM7WUFDZCxRQUFRLEVBQUUsQ0FBQztTQUNaLENBQUE7SUFQRSxDQUFDO0lBU0osUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUV0QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7UUFFdkUsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzhHQTVDVSw0QkFBNEIsOENBRzdCLGVBQWU7a0dBSGQsNEJBQTRCLHNGQ2pCekMsKzdFQTRFQSxxaEVEbEVZLGFBQWEsbUxBQ3JCLFdBQVcsZ3hCQUNYLFlBQVk7OzJGQUtILDRCQUE0QjtrQkFWeEMsU0FBUzsrQkFDRSw0QkFBNEIsY0FDMUIsSUFBSSxXQUNQLENBQUMsYUFBYTt3QkFDckIsV0FBVzt3QkFDWCxZQUFZO3FCQUNiOzswQkFPRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcGF5bWVudC1jb25maXJtYXRpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BheW1lbnQtY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcGF5bWVudC1jb25maXJtYXRpb24uY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBheW1lbnRDb25maXJtYXRpb25Db21wb25lbnQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UGF5bWVudENvbmZpcm1hdGlvbkNvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcclxuICAgIHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBwcm9wZXJ0eURldGFpbHM6IGFueTtcclxuICBzcUZlZXRBcmVhOiBudW1iZXIgPSAwO1xyXG4gIHBheWxvYWQ6IGFueSA9IHtcclxuICAgIHRvdGFsQW1vdW50OiAwLFxyXG4gICAgdG90YWxUYXg6IDBcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5wcm9wZXJ0eURldGFpbHMgPSB0aGlzLmRhdGEuZGV0YWlscztcclxuICAgIHRoaXMuc3FGZWV0QXJlYSA9IHRoaXMuZGF0YS50b3RhbEFyZWE7XHJcblxyXG4gICAgdGhpcy5hZGRPclJlbW92ZVByb3BlcnR5KCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBhZGRPclJlbW92ZVByb3BlcnR5KCkge1xyXG4gICAgdGhpcy5wYXlsb2FkLnRvdGFsQW1vdW50ID0gTnVtYmVyKE51bWJlcigodGhpcy5wcm9wZXJ0eURldGFpbHM/LmZpbmFuY2VEZXRhaWxzPy5wcmljZVBlclNxRmVldCB8fCAwKSAqIHRoaXMuc3FGZWV0QXJlYSkudG9GaXhlZCgyKSk7XHJcbiAgICB0aGlzLnBheWxvYWQudG90YWxUYXggPSBOdW1iZXIoTnVtYmVyKCgwLjI4KSAqIHRoaXMucGF5bG9hZC50b3RhbEFtb3VudCkudG9GaXhlZCgyKSk7XHJcbiAgfVxyXG5cclxuICBhZGRTcUZlZXQoKSB7XHJcbiAgICB0aGlzLnNxRmVldEFyZWErKztcclxuICAgIHRoaXMuYWRkT3JSZW1vdmVQcm9wZXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlU3FGZWV0KCkge1xyXG4gICAgdGhpcy5zcUZlZXRBcmVhLS07XHJcbiAgICB0aGlzLmFkZE9yUmVtb3ZlUHJvcGVydHkoKTtcclxuICB9XHJcblxyXG4gIHB1cmNoYXNlUHJvcGVydHkoKSB7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnB1cmNoYXNlUHJvcGVydHkodGhpcy5wYXlsb2FkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcblxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgPHA+UGF5bWVudCBDb25maXJtYXRpb248L3A+XHJcbiAgICA8bWF0LWljb24gKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxlZnQtc2lkZVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJwcm9wZXJ0eURldGFpbHMuaW1nVXJsWzBdXCJcclxuICAgICAgICAgIGFsdD1cIlwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInByb3BlcnR5LW5hbWVcIj57e3Byb3BlcnR5RGV0YWlscy5uYW1lfX08L3A+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImxvY2F0aW9uXCI+e3twcm9wZXJ0eURldGFpbHMubG9jYXRpb259fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1zaWRlXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJQcmljZS10ZXh0XCI+UHJpY2UvU3EuZnQ8L3A+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJwZXJTcUZ0QW1vdW50XCI+4oK5IHt7cHJvcGVydHlEZXRhaWxzLmZpbmFuY2VEZXRhaWxzLnByaWNlUGVyU3FGZWV0fX0vU3EuZnQ8L3A+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInByaWNlLWRldGFpbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2UgbWItMzBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtbGVmdC1zaWRlXCI+XHJcbiAgICAgICAgICBRdWFudGl0eVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1yaWdodC1zaWRlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVhbnRpdHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZFwiIChjbGljayk9XCJhZGRTcUZlZXQoKVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIFsobmdNb2RlbCldPVwic3FGZWV0QXJlYVwiIChuZ01vZGVsQ2hhbmdlKT1cImFkZE9yUmVtb3ZlUHJvcGVydHkoKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZVNxRmVldCgpXCI+PG1hdC1pY29uPnJlbW92ZTwvbWF0LWljb24+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1zcGFjZSBtYi0xNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1sZWZ0LXNpZGVcIj5cclxuICAgICAgICAgIFRvdGFsIFByaWNlXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXJpZ2h0LXNpZGVcIj5cclxuICAgICAgICAgIOKCuXt7cGF5bG9hZC50b3RhbEFtb3VudH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2UgbWItMTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtbGVmdC1zaWRlXCI+XHJcbiAgICAgICAgICBQcm9wZXJ0eSBUYXhcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdGV4dFwiPlxyXG4gICAgICAgICAg4oK5IDBcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1zcGFjZSBtYi0xNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1sZWZ0LXNpZGVcIj5cclxuICAgICAgICAgIEdTVCgyOCUpXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXRleHRcIj5cclxuICAgICAgICAgIOKCuSB7e3BheWxvYWQudG90YWxUYXh9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1zcGFjZSBtYi0xNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1sZWZ0LXNpZGVcIj5cclxuICAgICAgICAgIFRvdGFsIFBheWFibGVcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtdGV4dFwiPlxyXG4gICAgICAgICAg4oK5IHt7cGF5bG9hZC50b3RhbEFtb3VudCArIHBheWxvYWQudG90YWxUYXh9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1eS1idG5cIj5CdXkgTm93PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvc2VjdGlvbj5cclxuIl19
@@ -1,70 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { MatIcon } from '@angular/material/icon';
4
- import { PropertyViewComponent } from '../property-view/property-view.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- export class PropertiesComponent {
8
- constructor() {
9
- this.investments = [
10
- {
11
- name: "SQFT Investment",
12
- details: [
13
- { name: "Total Sq.ft Owned", value: "43" },
14
- { name: "Amount Invested", value: "₹5.73 L" },
15
- { name: "Indicative Market Value", value: "₹6.21 L", spanValue: "+2.1%" },
16
- { name: "IRR", value: "14%" },
17
- ]
18
- },
19
- {
20
- name: "Private Investment ",
21
- details: [
22
- { name: "Properties Owned", value: "2" },
23
- { name: "Properties Sq.ft", value: "3092" },
24
- { name: "Invested Value", value: "₹32.41 L", spanValue: "+2.1%" },
25
- { name: "Indicative Market Value", value: "₹38.59 L" },
26
- ]
27
- }
28
- ];
29
- this.activeTab = "ALL_PROPERTIES";
30
- this.tabs = [
31
- { viewValue: "All Properties", value: "ALL_PROPERTIES" },
32
- { viewValue: "My SQFT", value: "SQFT" },
33
- { viewValue: "Private Investments", value: "PRIVATE" },
34
- ];
35
- this.propertyDetails = [{
36
- propertyImage: ["https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png", "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png", "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png"],
37
- propertyName: "Real Estate Debt Investment - Blue Moon",
38
- propertyLocation: "RRR Hyderabad, Telangana",
39
- propertyType: "SQFT",
40
- propertyDetail: [
41
- { textValue: "Invested", value: "₹4.1 L" },
42
- { textValue: "Sq.ft", value: "32" },
43
- { textValue: "Indicative Market Value", value: "₹4.1 L" },
44
- { textValue: "Profit/Loss", value: "+₹4.1 L" },
45
- ]
46
- },
47
- {
48
- propertyImage: ["https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png", "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png", "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png"],
49
- propertyName: "Real Estate Debt Investment - Blue Moon",
50
- propertyLocation: "RRR Hyderabad, Telangana",
51
- propertyType: "Private Investment",
52
- propertyDetail: [
53
- { textValue: "Invested", value: "₹4.1 L" },
54
- { textValue: "Sq.ft", value: "32" },
55
- { textValue: "Indicative Market Value", value: "₹4.1 L" },
56
- { textValue: "Profit/Loss", value: "+₹4.1 L" },
57
- ]
58
- }];
59
- this.viewTab = false;
60
- }
61
- ngOnInit() {
62
- }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertiesComponent, isStandalone: true, selector: "simpo-properties", ngImport: i0, template: "<section class=\"main-container\" *ngIf=\"!viewTab\">\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\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35\" data-bs-ride=\"carousel\">\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=\"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.propertyName}}</div>\r\n <div class=\"property-location\"><img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\" alt=\"location image\">{{ele.propertyLocation}}</div>\r\n </div>\r\n <div class=\"head-right\">\r\n <div class=\"type text-center\">{{ele.propertyType}}</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 w-75\">\r\n <div class=\"details\" *ngFor=\"let x of ele.propertyDetail;let i = index\"\r\n [class.lst-div]=\"i == ele.propertyDetail.length - 1\">\r\n <div class=\"top-detail text-center\">{{x.value}}</div>\r\n <div class=\"bottom-detail text-center\">{{x.textValue}}</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\"><p class=\"my-text mb-0 common-style\" (click)=\"viewTab = false\">My Properties</p><mat-icon class=\"my-text\">keyboard_arrow_right</mat-icon>\r\n <p class=\"prty-text mb-0 common-style\">Property Details</p></div>\r\n </div>\r\n <simpo-property-view [text]=\"'Hello'\"></simpo-property-view>\r\n</section>\r\n", 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:30vh}.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:14px;font-weight:500;line-height:24px;color:#ffffffb3}.head-left{padding:10px}.head-right{padding:10px 0}.lst-div{border:unset!important}.w-75{width:75%!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}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PropertyViewComponent, selector: "simpo-property-view", inputs: ["text"] }] }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertiesComponent, decorators: [{
67
- type: Component,
68
- args: [{ selector: 'simpo-properties', standalone: true, imports: [CommonModule, MatIcon, PropertyViewComponent], template: "<section class=\"main-container\" *ngIf=\"!viewTab\">\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\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35\" data-bs-ride=\"carousel\">\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=\"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.propertyName}}</div>\r\n <div class=\"property-location\"><img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\" alt=\"location image\">{{ele.propertyLocation}}</div>\r\n </div>\r\n <div class=\"head-right\">\r\n <div class=\"type text-center\">{{ele.propertyType}}</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 w-75\">\r\n <div class=\"details\" *ngFor=\"let x of ele.propertyDetail;let i = index\"\r\n [class.lst-div]=\"i == ele.propertyDetail.length - 1\">\r\n <div class=\"top-detail text-center\">{{x.value}}</div>\r\n <div class=\"bottom-detail text-center\">{{x.textValue}}</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\"><p class=\"my-text mb-0 common-style\" (click)=\"viewTab = false\">My Properties</p><mat-icon class=\"my-text\">keyboard_arrow_right</mat-icon>\r\n <p class=\"prty-text mb-0 common-style\">Property Details</p></div>\r\n </div>\r\n <simpo-property-view [text]=\"'Hello'\"></simpo-property-view>\r\n</section>\r\n", 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:30vh}.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:14px;font-weight:500;line-height:24px;color:#ffffffb3}.head-left{padding:10px}.head-right{padding:10px 0}.lst-div{border:unset!important}.w-75{width:75%!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}\n"] }]
69
- }], ctorParameters: () => [] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQVNqRixNQUFNLE9BQU8sbUJBQW1CO0lBRTlCO1FBUUEsZ0JBQVcsR0FBUztZQUNsQjtnQkFDRSxJQUFJLEVBQUcsaUJBQWlCO2dCQUN4QixPQUFPLEVBQUc7b0JBQ1IsRUFBQyxJQUFJLEVBQUcsbUJBQW1CLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQztvQkFDdkMsRUFBQyxJQUFJLEVBQUcsaUJBQWlCLEVBQUMsS0FBSyxFQUFDLFNBQVMsRUFBQztvQkFDMUMsRUFBQyxJQUFJLEVBQUcseUJBQXlCLEVBQUMsS0FBSyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUcsT0FBTyxFQUFDO29CQUN0RSxFQUFDLElBQUksRUFBRyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQztpQkFDM0I7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRyxxQkFBcUI7Z0JBQzVCLE9BQU8sRUFBRztvQkFDUixFQUFDLElBQUksRUFBRyxrQkFBa0IsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDO29CQUNyQyxFQUFDLElBQUksRUFBRyxrQkFBa0IsRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDO29CQUN4QyxFQUFDLElBQUksRUFBRyxnQkFBZ0IsRUFBQyxLQUFLLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBRyxPQUFPLEVBQUM7b0JBQzlELEVBQUMsSUFBSSxFQUFHLHlCQUF5QixFQUFDLEtBQUssRUFBQyxVQUFVLEVBQUM7aUJBQ3BEO2FBQ0Y7U0FDRixDQUFBO1FBRUQsY0FBUyxHQUFTLGdCQUFnQixDQUFBO1FBRWxDLFNBQUksR0FBUztZQUNYLEVBQUMsU0FBUyxFQUFHLGdCQUFnQixFQUFHLEtBQUssRUFBRyxnQkFBZ0IsRUFBQztZQUN6RCxFQUFDLFNBQVMsRUFBRyxTQUFTLEVBQUcsS0FBSyxFQUFHLE1BQU0sRUFBQztZQUN4QyxFQUFDLFNBQVMsRUFBRyxxQkFBcUIsRUFBRyxLQUFLLEVBQUcsU0FBUyxFQUFDO1NBQ3hELENBQUE7UUFFRCxvQkFBZSxHQUFTLENBQUM7Z0JBQ3ZCLGFBQWEsRUFBRyxDQUFDLG9HQUFvRyxFQUFDLG9HQUFvRyxFQUFDLG9HQUFvRyxDQUFDO2dCQUNoVSxZQUFZLEVBQUcseUNBQXlDO2dCQUN4RCxnQkFBZ0IsRUFBRywwQkFBMEI7Z0JBQzdDLFlBQVksRUFBRyxNQUFNO2dCQUNyQixjQUFjLEVBQUc7b0JBQ2YsRUFBQyxTQUFTLEVBQUcsVUFBVSxFQUFDLEtBQUssRUFBRyxRQUFRLEVBQUM7b0JBQ3pDLEVBQUMsU0FBUyxFQUFHLE9BQU8sRUFBQyxLQUFLLEVBQUcsSUFBSSxFQUFDO29CQUNsQyxFQUFDLFNBQVMsRUFBRyx5QkFBeUIsRUFBQyxLQUFLLEVBQUcsUUFBUSxFQUFDO29CQUN4RCxFQUFDLFNBQVMsRUFBRyxhQUFhLEVBQUMsS0FBSyxFQUFHLFNBQVMsRUFBQztpQkFDOUM7YUFDRjtZQUNEO2dCQUNFLGFBQWEsRUFBRyxDQUFDLG9HQUFvRyxFQUFDLG9HQUFvRyxFQUFDLG9HQUFvRyxDQUFDO2dCQUNoVSxZQUFZLEVBQUcseUNBQXlDO2dCQUN4RCxnQkFBZ0IsRUFBRywwQkFBMEI7Z0JBQzdDLFlBQVksRUFBRyxvQkFBb0I7Z0JBQ25DLGNBQWMsRUFBRTtvQkFDZCxFQUFDLFNBQVMsRUFBRyxVQUFVLEVBQUMsS0FBSyxFQUFHLFFBQVEsRUFBQztvQkFDekMsRUFBQyxTQUFTLEVBQUcsT0FBTyxFQUFDLEtBQUssRUFBRyxJQUFJLEVBQUM7b0JBQ2xDLEVBQUMsU0FBUyxFQUFHLHlCQUF5QixFQUFDLEtBQUssRUFBRyxRQUFRLEVBQUM7b0JBQ3hELEVBQUMsU0FBUyxFQUFHLGFBQWEsRUFBQyxLQUFLLEVBQUcsU0FBUyxFQUFDO2lCQUM5QzthQUNGLENBQUMsQ0FBQTtRQUVGLFlBQU8sR0FBYSxLQUFLLENBQUE7SUE1RHpCLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQzs4R0FSVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw0RUNaaEMsb2tKQXVFQSxnNkVEL0RZLFlBQVksZ1FBQUMsT0FBTywySUFBQyxxQkFBcUI7OzJGQUl6QyxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBQyxPQUFPLEVBQUMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eVZpZXdDb21wb25lbnQgfSBmcm9tICcuLi9wcm9wZXJ0eS12aWV3L3Byb3BlcnR5LXZpZXcuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvcGVydGllcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLE1hdEljb24sUHJvcGVydHlWaWV3Q29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Byb3BlcnRpZXMuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3BlcnRpZXNDb21wb25lbnQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcigpe1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcblxyXG4gIH1cclxuXHJcbiAgaW52ZXN0bWVudHMgOiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWUgOiBcIlNRRlQgSW52ZXN0bWVudFwiLFxyXG4gICAgICBkZXRhaWxzIDogW1xyXG4gICAgICAgIHtuYW1lIDogXCJUb3RhbCBTcS5mdCBPd25lZFwiLHZhbHVlOlwiNDNcIn0sXHJcbiAgICAgICAge25hbWUgOiBcIkFtb3VudCBJbnZlc3RlZFwiLHZhbHVlOlwi4oK5NS43MyBMXCJ9LFxyXG4gICAgICAgIHtuYW1lIDogXCJJbmRpY2F0aXZlIE1hcmtldCBWYWx1ZVwiLHZhbHVlOlwi4oK5Ni4yMSBMXCIsc3BhblZhbHVlIDogXCIrMi4xJVwifSxcclxuICAgICAgICB7bmFtZSA6IFwiSVJSXCIsdmFsdWU6XCIxNCVcIn0sXHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWUgOiBcIlByaXZhdGUgSW52ZXN0bWVudCBcIixcclxuICAgICAgZGV0YWlscyA6IFtcclxuICAgICAgICB7bmFtZSA6IFwiUHJvcGVydGllcyBPd25lZFwiLHZhbHVlOlwiMlwifSxcclxuICAgICAgICB7bmFtZSA6IFwiUHJvcGVydGllcyBTcS5mdFwiLHZhbHVlOlwiMzA5MlwifSxcclxuICAgICAgICB7bmFtZSA6IFwiSW52ZXN0ZWQgVmFsdWVcIix2YWx1ZTpcIuKCuTMyLjQxIExcIixzcGFuVmFsdWUgOiBcIisyLjElXCJ9LFxyXG4gICAgICAgIHtuYW1lIDogXCJJbmRpY2F0aXZlIE1hcmtldCBWYWx1ZVwiLHZhbHVlOlwi4oK5MzguNTkgTFwifSxcclxuICAgICAgXVxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgYWN0aXZlVGFiIDogYW55ID0gXCJBTExfUFJPUEVSVElFU1wiXHJcblxyXG4gIHRhYnMgOiBhbnkgPSBbXHJcbiAgICB7dmlld1ZhbHVlIDogXCJBbGwgUHJvcGVydGllc1wiICwgdmFsdWUgOiBcIkFMTF9QUk9QRVJUSUVTXCJ9LFxyXG4gICAge3ZpZXdWYWx1ZSA6IFwiTXkgU1FGVFwiICwgdmFsdWUgOiBcIlNRRlRcIn0sXHJcbiAgICB7dmlld1ZhbHVlIDogXCJQcml2YXRlIEludmVzdG1lbnRzXCIgLCB2YWx1ZSA6IFwiUFJJVkFURVwifSwgICAgXHJcbiAgXVxyXG5cclxuICBwcm9wZXJ0eURldGFpbHMgOiBhbnkgPSBbe1xyXG4gICAgcHJvcGVydHlJbWFnZSA6IFtcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCIsXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiLFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIl0sXHJcbiAgICBwcm9wZXJ0eU5hbWUgOiBcIlJlYWwgRXN0YXRlIERlYnQgSW52ZXN0bWVudCAtIEJsdWUgTW9vblwiLFxyXG4gICAgcHJvcGVydHlMb2NhdGlvbiA6IFwiUlJSIEh5ZGVyYWJhZCwgVGVsYW5nYW5hXCIsXHJcbiAgICBwcm9wZXJ0eVR5cGUgOiBcIlNRRlRcIixcclxuICAgIHByb3BlcnR5RGV0YWlsIDogW1xyXG4gICAgICB7dGV4dFZhbHVlIDogXCJJbnZlc3RlZFwiLHZhbHVlIDogXCLigrk0LjEgTFwifSxcclxuICAgICAge3RleHRWYWx1ZSA6IFwiU3EuZnRcIix2YWx1ZSA6IFwiMzJcIn0sXHJcbiAgICAgIHt0ZXh0VmFsdWUgOiBcIkluZGljYXRpdmUgTWFya2V0IFZhbHVlXCIsdmFsdWUgOiBcIuKCuTQuMSBMXCJ9LFxyXG4gICAgICB7dGV4dFZhbHVlIDogXCJQcm9maXQvTG9zc1wiLHZhbHVlIDogXCIr4oK5NC4xIExcIn0sXHJcbiAgICBdXHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm9wZXJ0eUltYWdlIDogW1wiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIixcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCIsXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiXSxcclxuICAgIHByb3BlcnR5TmFtZSA6IFwiUmVhbCBFc3RhdGUgRGVidCBJbnZlc3RtZW50IC0gQmx1ZSBNb29uXCIsXHJcbiAgICBwcm9wZXJ0eUxvY2F0aW9uIDogXCJSUlIgSHlkZXJhYmFkLCBUZWxhbmdhbmFcIixcclxuICAgIHByb3BlcnR5VHlwZSA6IFwiUHJpdmF0ZSBJbnZlc3RtZW50XCIsXHJcbiAgICBwcm9wZXJ0eURldGFpbDogW1xyXG4gICAgICB7dGV4dFZhbHVlIDogXCJJbnZlc3RlZFwiLHZhbHVlIDogXCLigrk0LjEgTFwifSxcclxuICAgICAge3RleHRWYWx1ZSA6IFwiU3EuZnRcIix2YWx1ZSA6IFwiMzJcIn0sXHJcbiAgICAgIHt0ZXh0VmFsdWUgOiBcIkluZGljYXRpdmUgTWFya2V0IFZhbHVlXCIsdmFsdWUgOiBcIuKCuTQuMSBMXCJ9LFxyXG4gICAgICB7dGV4dFZhbHVlIDogXCJQcm9maXQvTG9zc1wiLHZhbHVlIDogXCIr4oK5NC4xIExcIn0sXHJcbiAgICBdXHJcbiAgfV1cclxuXHJcbiAgdmlld1RhYiA6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCIgKm5nSWY9XCIhdmlld1RhYlwiPlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC1zZWN0aW9uIGQtZmxleCBnYXAtMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkc1wiICpuZ0Zvcj1cImxldCBlbGUgb2YgaW52ZXN0bWVudHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRcIj57e2VsZS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbmktY2FyZHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLWNhcmRcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIGVsZS5kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj57e2VsZS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibnVtYmVyIGQtZmxleFwiPnt7ZWxlLnZhbHVlfX0mbmJzcDsmbmJzcDs8c3BhbiAqbmdJZj1cImVsZT8uc3BhblZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3Bhbi10ZXh0IGQtZmxleFwiPjxtYXQtaWNvbj5hcnJvd19kcm9wX3VwPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlLnNwYW5WYWx1ZX19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktdGFicyBkLWZsZXggZ2FwLTEwIG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFiXCIgKm5nRm9yPVwibGV0IGVsZSBvZiB0YWJzXCIgKGNsaWNrKT1cImFjdGl2ZVRhYiA9IGVsZS52YWx1ZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy50YWJBY3RpdmVdPVwiYWN0aXZlVGFiID09IGVsZS52YWx1ZVwiPnt7ZWxlLnZpZXdWYWx1ZX19PC9kaXY+XHJcbiAgICA8L2Rpdj4gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktY2FyZHNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgcHJvcGVydHlEZXRhaWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1jYXJkIHctMTAwIGQtZmxleCBnYXAtMTBcIiAoY2xpY2spPVwidmlld1RhYiA9IHRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiIGNsYXNzPVwiY2Fyb3VzZWwgc2xpZGUgcC1yZWxhdGl2ZSB3LTM1XCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlIG9mIGVsZS5wcm9wZXJ0eUltYWdlO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtIGFjdGl2ZVwiIFtjbGFzcy5hY3RpdmVdPVwiaVwiIGRhdGEtYnMtaW50ZXJ2YWw9XCIzMDAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZVwiIGNsYXNzPVwiZC1ibG9jayB3LTEwMCBoZWlnaHQtMzAgYnItMTBcIiBhbHQ9XCJwcm9wZXJ0eS1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eU5hbWUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgcC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9ycyBhZGRpdGlvbmFsLXByb3BlcnRpZXMtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZSBvZiBlbGUucHJvcGVydHlJbWFnZTtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdGFyZ2V0PVwiI2Nhcm91c2VsRXhhbXBsZUludGVydmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYnMtc2xpZGUtdG9dPVwiaVwiIGNsYXNzPVwiYWN0aXZlIGFkZGl0aW9uYWwtcHJvcGVydGllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9XCJ0cnVlXCIgYXJpYS1sYWJlbD1cIlNsaWRlIDFcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtdG9wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHluYW1lXCI+e3tlbGUucHJvcGVydHlOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1sb2NhdGlvblwiPjxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8zODQyNzVjMTczNzYyOTcyOTU0NWxvY2F0aW9uX29uLnBuZ1wiIGFsdD1cImxvY2F0aW9uIGltYWdlXCI+e3tlbGUucHJvcGVydHlMb2NhdGlvbn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR5cGUgdGV4dC1jZW50ZXJcIj57e2VsZS5wcm9wZXJ0eVR5cGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82Mzc5ODNjMTczOTg1NTcxNTE4OFZlY3RvciUyMDEyJTIwJTI4MSUyOS5wbmdcIiBjbGFzcz1cImN1cnZlLWltZ1wiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtYm90dG9tIGQtZmxleCBnYXAtMTAgdy03NVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiICpuZ0Zvcj1cImxldCB4IG9mIGVsZS5wcm9wZXJ0eURldGFpbDtsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5sc3QtZGl2XT1cImkgPT0gZWxlLnByb3BlcnR5RGV0YWlsLmxlbmd0aCAtIDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtZGV0YWlsIHRleHQtY2VudGVyXCI+e3t4LnZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGV0YWlsIHRleHQtY2VudGVyXCI+e3t4LnRleHRWYWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPHNlY3Rpb24gY2xhc3M9XCJ2aWV3LWNvbnRhaW5lclwiICpuZ0lmPVwidmlld1RhYlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJhY2tcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmFjay10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48cCBjbGFzcz1cIm15LXRleHQgbWItMCBjb21tb24tc3R5bGVcIiAoY2xpY2spPVwidmlld1RhYiA9IGZhbHNlXCI+TXkgUHJvcGVydGllczwvcD48bWF0LWljb24gY2xhc3M9XCJteS10ZXh0XCI+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICAgIDxwIGNsYXNzPVwicHJ0eS10ZXh0IG1iLTAgY29tbW9uLXN0eWxlXCI+UHJvcGVydHkgRGV0YWlsczwvcD48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNpbXBvLXByb3BlcnR5LXZpZXcgW3RleHRdPVwiJ0hlbGxvJ1wiPjwvc2ltcG8tcHJvcGVydHktdmlldz5cclxuPC9zZWN0aW9uPlxyXG4iXX0=
@@ -1,42 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { MatIcon } from '@angular/material/icon';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class PropertyViewComponent {
7
- constructor() {
8
- this.text = "";
9
- this.propertyDetails = {
10
- propertyImage: ["https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png", "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png", "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png"],
11
- propertyName: "Ananta One - Blue Moon",
12
- propertyLocation: "RRR Hyderabad, Telangana",
13
- investedDate: "12 Jun 2024",
14
- type: "Rental",
15
- share: "1.40%",
16
- documents: ["Title deed", "Property Registration Certificate"],
17
- description: "Ananta one Apartments is a premium residential development located in the bustling heart of hyderabad. It offers modern amenities and a luxurious lifestyle designed to meet the needs of urban families and professionals.",
18
- managedBy: [{ img: "https://media.istockphoto.com/id/1410538853/photo/young-man-in-the-public-park.jpg?s=612x612&w=0&k=20&c=EtRJGnNOFPJ2HniBSLWKzsL9Xf7GHinHd5y2Tx3da0E=", name: "Vijay Shankar", role: "Property Manager" }, { img: "https://t3.ftcdn.net/jpg/01/86/40/16/360_F_186401650_6tXxwc5x3pwuA9bYjJG65l9pCFRIAu06.jpg", name: "Sanjana", role: "Operational Manager" }],
19
- invested: "₹4.1 L",
20
- totalSqft: "32",
21
- irr: "12%",
22
- imv: "₹4.1 L",
23
- income: "+₹52 k",
24
- projectedValue: "₹5.21 L",
25
- potentialApperciation: "8%",
26
- guaranteedGrowth: "5%",
27
- marketMovement: "High"
28
- };
29
- }
30
- ngOnInit() {
31
- console.log(this.text);
32
- }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyViewComponent, isStandalone: true, selector: "simpo-property-view", inputs: { text: "text" }, ngImport: i0, template: "<div class=\"main-container w-100 d-flex gap-10\">\r\n <div class=\"left-container w-60\">\r\n <div class=\"property-detail common-style1\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35\" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of propertyDetails.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\">\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.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\" 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 class=\"details mt-10\">\r\n <div class=\"top-details d-flex justify-content-between\">\r\n <div class=\"top-left\">\r\n <div class=\"main-text\">{{propertyDetails.propertyName}}</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\" width=\"15px\">RRR Hyderabad, Telangana</div>\r\n </div>\r\n <div 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 <div 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.investedDate}}</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.type}}</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}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"common-style1\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex justify-content-between gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of propertyDetails.documents\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\">\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\">\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.description}}</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=\"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\">{{propertyDetails.invested}}</div>\r\n <div class=\"bottom\">Invested</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails.totalSqft}}</div>\r\n <div class=\"bottom\">Sq.ft</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails.irr}}</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.imv}}</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\">{{propertyDetails.income}}</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>", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.main-container{padding:10px}.left-container,.right-container{height:75vh;overflow-y:scroll}.w-60{width:60%}.w-40{width:40%}.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:10px;border-radius:10px;font-size:14px;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;width:50%}.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}.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}.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}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyViewComponent, decorators: [{
37
- type: Component,
38
- args: [{ selector: 'simpo-property-view', standalone: true, imports: [CommonModule, MatIcon], template: "<div class=\"main-container w-100 d-flex gap-10\">\r\n <div class=\"left-container w-60\">\r\n <div class=\"property-detail common-style1\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative w-35\" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <ng-container *ngFor=\"let ele of propertyDetails.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\">\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.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\" 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 class=\"details mt-10\">\r\n <div class=\"top-details d-flex justify-content-between\">\r\n <div class=\"top-left\">\r\n <div class=\"main-text\">{{propertyDetails.propertyName}}</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\" width=\"15px\">RRR Hyderabad, Telangana</div>\r\n </div>\r\n <div 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 <div 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.investedDate}}</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.type}}</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}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"common-style1\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex justify-content-between gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of propertyDetails.documents\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\">\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\">\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.description}}</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=\"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\">{{propertyDetails.invested}}</div>\r\n <div class=\"bottom\">Invested</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails.totalSqft}}</div>\r\n <div class=\"bottom\">Sq.ft</div>\r\n </div>\r\n <div class=\"top-bottom\">\r\n <div class=\"top\">{{propertyDetails.irr}}</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.imv}}</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\">{{propertyDetails.income}}</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>", styles: ["*{font-family:DM Sans!important}mat-icon{font-family:Material Icons!important}.main-container{padding:10px}.left-container,.right-container{height:75vh;overflow-y:scroll}.w-60{width:60%}.w-40{width:40%}.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:10px;border-radius:10px;font-size:14px;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;width:50%}.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}.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}.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}\n"] }]
39
- }], propDecorators: { text: [{
40
- type: Input
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnR5LXZpZXcvcHJvcGVydHktdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3Byb3BlcnR5LXZpZXcvcHJvcGVydHktdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFTakQsTUFBTSxPQUFPLHFCQUFxQjtJQVBsQztRQVNZLFNBQUksR0FBWSxFQUFFLENBQUE7UUFNNUIsb0JBQWUsR0FBUztZQUN0QixhQUFhLEVBQUssQ0FBQyxvR0FBb0csRUFBQyxvR0FBb0csRUFBQyxvR0FBb0csQ0FBQztZQUNsVSxZQUFZLEVBQUcsd0JBQXdCO1lBQ3ZDLGdCQUFnQixFQUFHLDBCQUEwQjtZQUM3QyxZQUFZLEVBQUcsYUFBYTtZQUM1QixJQUFJLEVBQUcsUUFBUTtZQUNmLEtBQUssRUFBRyxPQUFPO1lBQ2YsU0FBUyxFQUFHLENBQUMsWUFBWSxFQUFDLG1DQUFtQyxDQUFDO1lBQzlELFdBQVcsRUFBRyw2TkFBNk47WUFDM08sU0FBUyxFQUFHLENBQUMsRUFBQyxHQUFHLEVBQUcsc0pBQXNKLEVBQUMsSUFBSSxFQUFHLGVBQWUsRUFBQyxJQUFJLEVBQUcsa0JBQWtCLEVBQUMsRUFBQyxFQUFDLEdBQUcsRUFBRywyRkFBMkYsRUFBQyxJQUFJLEVBQUcsU0FBUyxFQUFDLElBQUksRUFBRyxxQkFBcUIsRUFBQyxDQUFDO1lBQy9XLFFBQVEsRUFBRyxRQUFRO1lBQ25CLFNBQVMsRUFBRyxJQUFJO1lBQ2hCLEdBQUcsRUFBRyxLQUFLO1lBQ1gsR0FBRyxFQUFHLFFBQVE7WUFDZCxNQUFNLEVBQUcsUUFBUTtZQUNqQixjQUFjLEVBQUcsU0FBUztZQUMxQixxQkFBcUIsRUFBRyxJQUFJO1lBQzVCLGdCQUFnQixFQUFHLElBQUk7WUFDdkIsY0FBYyxFQUFHLE1BQU07U0FDeEIsQ0FBQTtLQUlGO0lBM0JDLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDOzhHQU5VLHFCQUFxQjtrR0FBckIscUJBQXFCLHlHQ1hsQyw0clBBbUlNLDh0RkQ1SE0sWUFBWTs7MkZBSVgscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUMsT0FBTyxDQUFDOzhCQU1yQixJQUFJO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvcGVydHktdmlldycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLE1hdEljb25dLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJvcGVydHktdmlldy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvcGVydHlWaWV3Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgIHRleHQgOiBzdHJpbmcgPSBcIlwiXHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnRleHQpXHJcbiAgfVxyXG5cclxuICBwcm9wZXJ0eURldGFpbHMgOiBhbnkgPSB7XHJcbiAgICBwcm9wZXJ0eUltYWdlICA6ICBbXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiLFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIixcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCJdLFxyXG4gICAgcHJvcGVydHlOYW1lIDogXCJBbmFudGEgT25lIC0gQmx1ZSBNb29uXCIsXHJcbiAgICBwcm9wZXJ0eUxvY2F0aW9uIDogXCJSUlIgSHlkZXJhYmFkLCBUZWxhbmdhbmFcIixcclxuICAgIGludmVzdGVkRGF0ZSA6IFwiMTIgSnVuIDIwMjRcIixcclxuICAgIHR5cGUgOiBcIlJlbnRhbFwiLFxyXG4gICAgc2hhcmUgOiBcIjEuNDAlXCIsXHJcbiAgICBkb2N1bWVudHMgOiBbXCJUaXRsZSBkZWVkXCIsXCJQcm9wZXJ0eSBSZWdpc3RyYXRpb24gQ2VydGlmaWNhdGVcIl0sXHJcbiAgICBkZXNjcmlwdGlvbiA6IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICBtYW5hZ2VkQnkgOiBbe2ltZyA6IFwiaHR0cHM6Ly9tZWRpYS5pc3RvY2twaG90by5jb20vaWQvMTQxMDUzODg1My9waG90by95b3VuZy1tYW4taW4tdGhlLXB1YmxpYy1wYXJrLmpwZz9zPTYxMng2MTImdz0wJms9MjAmYz1FdFJKR25OT0ZQSjJIbmlCU0xXS3pzTDlYZjdHSGluSGQ1eTJUeDNkYTBFPVwiLG5hbWUgOiBcIlZpamF5IFNoYW5rYXJcIixyb2xlIDogXCJQcm9wZXJ0eSBNYW5hZ2VyXCJ9LHtpbWcgOiBcImh0dHBzOi8vdDMuZnRjZG4ubmV0L2pwZy8wMS84Ni80MC8xNi8zNjBfRl8xODY0MDE2NTBfNnRYeHdjNXgzcHd1QTliWWpKRzY1bDlwQ0ZSSUF1MDYuanBnXCIsbmFtZSA6IFwiU2FuamFuYVwiLHJvbGUgOiBcIk9wZXJhdGlvbmFsIE1hbmFnZXJcIn1dLFxyXG4gICAgaW52ZXN0ZWQgOiBcIuKCuTQuMSBMXCIsXHJcbiAgICB0b3RhbFNxZnQgOiBcIjMyXCIsXHJcbiAgICBpcnIgOiBcIjEyJVwiLFxyXG4gICAgaW12IDogXCLigrk0LjEgTFwiLFxyXG4gICAgaW5jb21lIDogXCIr4oK5NTIga1wiLFxyXG4gICAgcHJvamVjdGVkVmFsdWUgOiBcIuKCuTUuMjEgTFwiLFxyXG4gICAgcG90ZW50aWFsQXBwZXJjaWF0aW9uIDogXCI4JVwiLFxyXG4gICAgZ3VhcmFudGVlZEdyb3d0aCA6IFwiNSVcIixcclxuICAgIG1hcmtldE1vdmVtZW50IDogXCJIaWdoXCJcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1haW4tY29udGFpbmVyIHctMTAwIGQtZmxleCBnYXAtMTBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNvbnRhaW5lciB3LTYwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LWRldGFpbCBjb21tb24tc3R5bGUxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiIGNsYXNzPVwiY2Fyb3VzZWwgc2xpZGUgcC1yZWxhdGl2ZSB3LTM1XCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZSBvZiBwcm9wZXJ0eURldGFpbHMucHJvcGVydHlJbWFnZTtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtIGFjdGl2ZVwiIFtjbGFzcy5hY3RpdmVdPVwiaVwiIGRhdGEtYnMtaW50ZXJ2YWw9XCIzMDAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlXCIgY2xhc3M9XCJkLWJsb2NrIHctMTAwIGhlaWdodC0zMCBici0xMFwiIGFsdD1cInByb3BlcnR5LWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHlOYW1lIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9ycyBhZGRpdGlvbmFsLXByb3BlcnRpZXMtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlIG9mIHByb3BlcnR5RGV0YWlscy5wcm9wZXJ0eUltYWdlO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRhcmdldD1cIiNjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYnMtc2xpZGUtdG9dPVwiaVwiIGNsYXNzPVwiYWN0aXZlIGFkZGl0aW9uYWwtcHJvcGVydGllc1wiIGFyaWEtY3VycmVudD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2xpZGUgMVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscyBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1kZXRhaWxzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi10ZXh0XCI+e3twcm9wZXJ0eURldGFpbHMucHJvcGVydHlOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwYW4tdGV4dFwiPjxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzM4NDI3NWMxNzM3NjI5NzI5NTQ1bG9jYXRpb25fb24ucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJsb2NhdGlvbiBpbWFnZVwiIHdpZHRoPVwiMTVweFwiPlJSUiBIeWRlcmFiYWQsIFRlbGFuZ2FuYTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV5LW1vcmUgY29tbW9uLXN0eWxlMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQnV5IE1vcmUgU1FGVFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGwgY29tbW9uLXN0eWxlMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsbCBTUUZUXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRldGFpbHMgZC1mbGV4IGdhcC0xMCBtdC0xMCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtcmlnaHQgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPkludmVzdGVkIERhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+e3twcm9wZXJ0eURldGFpbHMuaW52ZXN0ZWREYXRlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1yaWdodCBkLWZsZXggZ2FwLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+UHJvcGVydHkgVHlwZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj57e3Byb3BlcnR5RGV0YWlscy50eXBlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1yaWdodCBkLWZsZXggZ2FwLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+T3duZXJzaGlwIFNoYXJlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPnt7cHJvcGVydHlEZXRhaWxzLnNoYXJlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbW9uLXN0eWxlMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1hYm91dC1wcm9wZXJ0eVwiPkRvY3VtZW50cyAmIFJlcG9ydHM8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0Zvcj1cImxldCBlbGUgb2YgcHJvcGVydHlEZXRhaWxzLmRvY3VtZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82NzgzOTRjMTczOTE4MzcyNjEwN2ltYWdlJTIwOS5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJwZGZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jLXRleHQgdy03NSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+IHt7ZWxlLmxlbmd0aCA+IDE1ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlLnN1YnN0cmluZygwLDE1KSsnLi4uJyA6IGVsZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xOTU0MTRjMTczOTE4Mzc3OTg0NWZpXzM1MDI0NzcucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiZG93bmxvYWRcIiBjbGFzcz1cImRvd25sb2FkLWltZ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tb24tc3R5bGUxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+QWJvdXQgUHJvcGVydHk8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscy5kZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+UHJvcGVydHkgTWFuYWdlZCBieTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFuYWdlZC1jYXJkcyBkLWZsZXggZ2FwLTEwIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250YWluZXIgYnItMTBcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIHByb3BlcnR5RGV0YWlscy5tYW5hZ2VkQnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlLmltZ1wiIGFsdD1cIk1hbmFnZXIgSW1hZ2VcIiBjbGFzcz1cIm1hbmFnZS1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibmFtZS10ZXh0IHRleHQtY2VudGVyIG10LTEwXCI+e3tlbGUubmFtZX19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInJvbGUtdGV4dCB0ZXh0LWNlbnRlclwiPnt7ZWxlLnJvbGV9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRhaW5lciB3LTQwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWhlYWRcIj5Ib2xkaW5ncyBEZXRhaWxzPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob2xkaW5nLWRldGFpbHMgY29tbW9uLXN0eWxlM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1ib3R0b21cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wXCI+e3twcm9wZXJ0eURldGFpbHMuaW52ZXN0ZWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5JbnZlc3RlZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BcIj57e3Byb3BlcnR5RGV0YWlscy50b3RhbFNxZnR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5TcS5mdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BcIj57e3Byb3BlcnR5RGV0YWlscy5pcnJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5JbmRpY2F0aXZlIE1hcmtldCBWYWx1ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BcIj57e3Byb3BlcnR5RGV0YWlscy5pbXZ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5JbnRlcm5hbCBSZXR1cm5zIFJhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluY29tZSBici0wLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1yaWdodC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtMVwiPlByb2ZpdC9Mb3NzPC9kaXY+PGRpdiBjbGFzcz1cInJpZ2h0LTFcIj57e3Byb3BlcnR5RGV0YWlscy5pbmNvbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1oZWFkXCI+RmluYW5jaWFsIFByb2plY3Rpb25zPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaW5hbmNpYWwtZGV0YWlscyBjb21tb24tc3R5bGUzIGJyLTAtMTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1sZWZ0LTEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC0yXCI+UHJvamVjdGVkIFZhbHVlIChOZXh0IFllYXIpPC9kaXY+PGRpdiBjbGFzcz1cInJpZ2h0LTJcIj57e3Byb3BlcnR5RGV0YWlscy5wcm9qZWN0ZWRWYWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1sZWZ0LTEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC0yXCI+UG90ZW50aWFsIEFwcHJlY2lhdGlvbjwvZGl2PjxkaXYgY2xhc3M9XCJyaWdodC0yXCI+e3twcm9wZXJ0eURldGFpbHMucG90ZW50aWFsQXBwZXJjaWF0aW9ufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWxlZnQtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LTJcIj5HdWFyYW50ZWVkIEdyb3d0aDwvZGl2PjxkaXYgY2xhc3M9XCJyaWdodC0yXCI+e3twcm9wZXJ0eURldGFpbHMuZ3VhcmFudGVlZEdyb3d0aH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3RlLXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICBOb3RlOiBBYm92ZSBwcm9qZWN0aW9uIGFyZSBiYXNlZCBvbiBwYXN0IHBlcmZvcm1hbmNlXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -1,125 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MessageService } from 'primeng/api';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../services/rest.service";
8
- import * as i2 from "primeng/api";
9
- import * as i3 from "@angular/material/icon";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@angular/forms";
12
- export class KycDetailsComponent {
13
- constructor(restService, messageService) {
14
- this.restService = restService;
15
- this.messageService = messageService;
16
- this.panRequest = {
17
- panNumber: ''
18
- };
19
- this.aadharRequest = {
20
- aadhaarNumber: ''
21
- };
22
- this.verifyAadharRequest = {
23
- otp: '',
24
- refId: '',
25
- aadhaarNumber: ''
26
- };
27
- this.aadharOtpArray = new Array(6).fill('');
28
- this.isPanVerified = false;
29
- this.isAadharverified = false;
30
- this.aadharOtpSent = false;
31
- }
32
- ngOnInit() {
33
- this.getKycDetails();
34
- }
35
- ngOnDestroy() {
36
- this.kycDetailsSubscription?.unsubscribe();
37
- }
38
- getKycDetails() {
39
- this.kycDetailsSubscription = this.restService.getKycDetails().subscribe((res) => {
40
- if (res.message) {
41
- this.isPanVerified = res.message.panVerified === 'VALID';
42
- this.isAadharverified = res.message.aadhaarVerified === 'VALID';
43
- this.aadharRequest.aadhaarNumber = res.message.aadharNo;
44
- this.panRequest.panNumber = res.message.panNo;
45
- }
46
- }, (err) => {
47
- });
48
- }
49
- verifyPanNumber() {
50
- if (!this.validatePan()) {
51
- this.messageService.add({
52
- severity: 'error',
53
- summary: 'Pan Number',
54
- detail: 'Enter valid PAN number'
55
- });
56
- return;
57
- }
58
- this.restService.verifyPan(this.panRequest).subscribe((res) => {
59
- this.isPanVerified = true;
60
- this.restService.kycDetails = null;
61
- this.checkKycVerification();
62
- });
63
- }
64
- validatePan() {
65
- const panRegex = /^[A-Z]{5}[0-9]{4}[A-Z]$/;
66
- return panRegex.test(this.panRequest.panNumber);
67
- }
68
- sendAadharOtp() {
69
- if (!this.validateAadhaar()) {
70
- this.messageService.add({
71
- severity: 'error',
72
- summary: 'Aadhar Number',
73
- detail: 'Enter valid Aadhar number'
74
- });
75
- return;
76
- }
77
- this.restService.sendAadharOtp(this.aadharRequest).subscribe((res) => {
78
- this.aadharOtpSent = true;
79
- this.messageService.add({
80
- severity: 'success',
81
- summary: 'OTP Sent',
82
- detail: 'AAdhar OTP Sent in registered mobile number'
83
- });
84
- this.verifyAadharRequest.refId = res.message?.ref_id;
85
- });
86
- }
87
- verifyAadharOtp() {
88
- this.verifyAadharRequest.otp = "";
89
- this.aadharOtpArray.forEach((otp) => {
90
- this.verifyAadharRequest.otp += otp;
91
- });
92
- this.verifyAadharRequest.aadhaarNumber = this.aadharRequest.aadhaarNumber;
93
- this.restService.verifyAadharOtp(this.verifyAadharRequest).subscribe((res) => {
94
- this.isAadharverified = true;
95
- this.restService.kycDetails = null;
96
- this.checkKycVerification();
97
- });
98
- }
99
- validateAadhaar() {
100
- const aadhaarRegex = /^[2-9]{1}[0-9]{11}$/;
101
- return aadhaarRegex.test(this.aadharRequest.aadhaarNumber);
102
- }
103
- moveAadharOtpCursor(event, idx) {
104
- if (isNaN(Number(event.key)) && event.code != "Backspace")
105
- return;
106
- if (event.code != "Backspace") {
107
- this.aadharOtpArray[idx] = event.key;
108
- document.getElementById("aadharOtp_" + (idx + 1))?.focus();
109
- }
110
- if (event.code == "Backspace" && !this.aadharOtpArray[idx]) {
111
- document.getElementById("aadharOtp_" + (idx - 1))?.focus();
112
- }
113
- }
114
- checkKycVerification() {
115
- if (this.isAadharverified && this.isPanVerified)
116
- document.getElementById('closeKycCanvas')?.click();
117
- }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: KycDetailsComponent, deps: [{ token: i1.RestService }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: KycDetailsComponent, isStandalone: true, selector: "simpo-kyc-details", providers: [MessageService], ngImport: i0, template: "<section class=\"main-section\" *ngIf=\"!(isPanVerified && isAadharverified)\">\r\n <img class=\"img\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/970332c1740030187726kyc.png\" alt=\"\">\r\n <div class=\"text-group\">\r\n <p class=\"heading\">Complete Your KYC to start Investing</p>\r\n <p class=\"desc\">Before you can invest, we need to verify your identity, simply upload your documents,\r\n <br> submit your KYC, and let us handle the rest\r\n </p>\r\n </div>\r\n <button class=\"submit-btn\" type=\"button\" data-bs-toggle=\"offcanvas\" data-bs-target=\"#offcanvasRight\"\r\n aria-controls=\"offcanvasRight\">Submit KYC Now</button>\r\n</section>\r\n\r\n<div class=\"offcanvas offcanvas-end\" tabindex=\"-1\" id=\"offcanvasRight\" aria-labelledby=\"offcanvasRightLabel\">\r\n <div class=\"header\">\r\n <p>KYC Details</p>\r\n </div>\r\n <div class=\"middle-section\">\r\n <div class=\"body\">\r\n <div class=\"secured\">\r\n <mat-icon>security</mat-icon>\r\n <p>Your Data is Safe & Secure</p>\r\n </div>\r\n\r\n <div class=\"mt-2\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">PAN Number</label>\r\n <p class=\"verify-text\" (click)=\"verifyPanNumber()\" *ngIf=\"!isPanVerified\">Verify</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.panNumber\" [disabled]=\"isPanVerified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"isPanVerified\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <!-- <div class=\"mt-1\">\r\n <label for=\"\">Name on PAN</label>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.name\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\">check_circle</mat-icon>\r\n </div>\r\n </div> -->\r\n <div class=\"mt-1\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">Aadhar Number</label>\r\n <p class=\"verify-text\" (click)=\"sendAadharOtp()\" *ngIf=\"!aadharOtpSent\">Send OTP</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"aadharRequest.aadhaarNumber\" [disabled]=\"isAadharverified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"aadharOtpSent\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <label for=\"\">Enter OTP</label>\r\n\r\n <div id=\"otp\" class=\"otp-input\">\r\n <ng-container *ngFor=\"let otp of [1,2,3,4,5,6]; let idx = index\">\r\n <input type=\"number\" max=\"9\" class=\"otp-input\"\r\n [(ngModel)]=\"aadharOtpArray[idx]\" (keyup)=\"moveAadharOtpCursor($event, idx)\" [id]=\"'aadharOtp_'+idx\"/>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"footer\">\r\n <button class=\"cancel-btn\" data-bs-dismiss=\"offcanvas\" id=\"closeKycCanvas\">Cancel</button>\r\n <button class=\"submit-btn\" *ngIf=\"aadharOtpSent\" (click)=\"verifyAadharOtp()\">Verify</button>\r\n </div>\r\n</div>\r\n", styles: [".main-section{height:100%;background:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.img{width:35%}.text-group{text-align:center;margin-top:3rem;margin-bottom:2rem}.heading{font-size:14px;font-family:DM SANS;font-weight:700;color:#000}.desc{font-size:14px;color:#0009;font-family:DM SANS;font-weight:500}.submit-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:#f8a938;color:#fff;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.cancel-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:transparent;color:#f8a938;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.header{padding:20px;border:1px solid rgba(14,35,60,.16);height:60px}.header p{font-size:17px;margin-bottom:0;font-weight:600;font-family:Inter}.middle-section{height:calc(100vh - 120px);overflow:scroll;background:#fcfcfc}.footer{position:absolute;bottom:0;height:60px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid rgba(14,35,60,.16);width:100%;padding:20px;gap:14px}.offcanvas{width:40%;z-index:100000000}.body{background:#fff;margin:2.5rem;padding:2rem;border-radius:10px}.body label{font-size:14px;font-family:DM SANS;color:#434443;font-weight:400}.secured{display:flex;justify-content:center;gap:10px}.secured p{font-size:15px;font-family:DM SANS;font-weight:400;color:#0009}.secured mat-icon{display:flex;font-size:18px;color:#00dd80;align-items:center;justify-content:center}.input-box{width:100%;display:flex;justify-content:space-between;padding:10px;border:1px solid rgba(208,213,221,1);border-radius:7px;margin-top:8px}.input-box input{width:90%;border:none;outline:none;font-size:16px;font-family:DM SANS}.verified{color:#1ac100}p{margin-bottom:0}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.otp-input{display:flex;gap:20px;margin-top:8px}.otp-input input{width:59px;border:1px solid rgba(208,213,221,1);height:54px;border-radius:8px;outline:none;justify-content:center;text-align:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.justify-space{justify-content:space-between}.verify-text{font-size:13px;font-family:DM SANS;color:#f8a938;cursor:pointer}@media screen and (max-width: 475px){.offcanvas{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
120
- }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: KycDetailsComponent, decorators: [{
122
- type: Component,
123
- args: [{ selector: 'simpo-kyc-details', standalone: true, imports: [MatIconModule, CommonModule, FormsModule], providers: [MessageService], template: "<section class=\"main-section\" *ngIf=\"!(isPanVerified && isAadharverified)\">\r\n <img class=\"img\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/970332c1740030187726kyc.png\" alt=\"\">\r\n <div class=\"text-group\">\r\n <p class=\"heading\">Complete Your KYC to start Investing</p>\r\n <p class=\"desc\">Before you can invest, we need to verify your identity, simply upload your documents,\r\n <br> submit your KYC, and let us handle the rest\r\n </p>\r\n </div>\r\n <button class=\"submit-btn\" type=\"button\" data-bs-toggle=\"offcanvas\" data-bs-target=\"#offcanvasRight\"\r\n aria-controls=\"offcanvasRight\">Submit KYC Now</button>\r\n</section>\r\n\r\n<div class=\"offcanvas offcanvas-end\" tabindex=\"-1\" id=\"offcanvasRight\" aria-labelledby=\"offcanvasRightLabel\">\r\n <div class=\"header\">\r\n <p>KYC Details</p>\r\n </div>\r\n <div class=\"middle-section\">\r\n <div class=\"body\">\r\n <div class=\"secured\">\r\n <mat-icon>security</mat-icon>\r\n <p>Your Data is Safe & Secure</p>\r\n </div>\r\n\r\n <div class=\"mt-2\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">PAN Number</label>\r\n <p class=\"verify-text\" (click)=\"verifyPanNumber()\" *ngIf=\"!isPanVerified\">Verify</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.panNumber\" [disabled]=\"isPanVerified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"isPanVerified\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <!-- <div class=\"mt-1\">\r\n <label for=\"\">Name on PAN</label>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.name\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\">check_circle</mat-icon>\r\n </div>\r\n </div> -->\r\n <div class=\"mt-1\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">Aadhar Number</label>\r\n <p class=\"verify-text\" (click)=\"sendAadharOtp()\" *ngIf=\"!aadharOtpSent\">Send OTP</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"aadharRequest.aadhaarNumber\" [disabled]=\"isAadharverified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"aadharOtpSent\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <label for=\"\">Enter OTP</label>\r\n\r\n <div id=\"otp\" class=\"otp-input\">\r\n <ng-container *ngFor=\"let otp of [1,2,3,4,5,6]; let idx = index\">\r\n <input type=\"number\" max=\"9\" class=\"otp-input\"\r\n [(ngModel)]=\"aadharOtpArray[idx]\" (keyup)=\"moveAadharOtpCursor($event, idx)\" [id]=\"'aadharOtp_'+idx\"/>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"footer\">\r\n <button class=\"cancel-btn\" data-bs-dismiss=\"offcanvas\" id=\"closeKycCanvas\">Cancel</button>\r\n <button class=\"submit-btn\" *ngIf=\"aadharOtpSent\" (click)=\"verifyAadharOtp()\">Verify</button>\r\n </div>\r\n</div>\r\n", styles: [".main-section{height:100%;background:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.img{width:35%}.text-group{text-align:center;margin-top:3rem;margin-bottom:2rem}.heading{font-size:14px;font-family:DM SANS;font-weight:700;color:#000}.desc{font-size:14px;color:#0009;font-family:DM SANS;font-weight:500}.submit-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:#f8a938;color:#fff;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.cancel-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:transparent;color:#f8a938;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.header{padding:20px;border:1px solid rgba(14,35,60,.16);height:60px}.header p{font-size:17px;margin-bottom:0;font-weight:600;font-family:Inter}.middle-section{height:calc(100vh - 120px);overflow:scroll;background:#fcfcfc}.footer{position:absolute;bottom:0;height:60px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid rgba(14,35,60,.16);width:100%;padding:20px;gap:14px}.offcanvas{width:40%;z-index:100000000}.body{background:#fff;margin:2.5rem;padding:2rem;border-radius:10px}.body label{font-size:14px;font-family:DM SANS;color:#434443;font-weight:400}.secured{display:flex;justify-content:center;gap:10px}.secured p{font-size:15px;font-family:DM SANS;font-weight:400;color:#0009}.secured mat-icon{display:flex;font-size:18px;color:#00dd80;align-items:center;justify-content:center}.input-box{width:100%;display:flex;justify-content:space-between;padding:10px;border:1px solid rgba(208,213,221,1);border-radius:7px;margin-top:8px}.input-box input{width:90%;border:none;outline:none;font-size:16px;font-family:DM SANS}.verified{color:#1ac100}p{margin-bottom:0}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.otp-input{display:flex;gap:20px;margin-top:8px}.otp-input input{width:59px;border:1px solid rgba(208,213,221,1);height:54px;border-radius:8px;outline:none;justify-content:center;text-align:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.justify-space{justify-content:space-between}.verify-text{font-size:13px;font-family:DM SANS;color:#f8a938;cursor:pointer}@media screen and (max-width: 475px){.offcanvas{width:100%}}\n"] }]
124
- }], ctorParameters: () => [{ type: i1.RestService }, { type: i2.MessageService }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ljLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9reWMtZGV0YWlscy9reWMtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2t5Yy1kZXRhaWxzL2t5Yy1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVc3QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLFdBQXdCLEVBQ3pCLGNBQThCO1FBRDdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUdqRCxlQUFVLEdBQVE7WUFDaEIsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFBO1FBRUQsa0JBQWEsR0FBUTtZQUNuQixhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFBO1FBRUQsd0JBQW1CLEdBQVE7WUFDekIsR0FBRyxFQUFFLEVBQUU7WUFDUCxLQUFLLEVBQUUsRUFBRTtZQUNULGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUE7UUFDRCxtQkFBYyxHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0QyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsa0JBQWEsR0FBWSxLQUFLLENBQUM7SUFsQjVCLENBQUM7SUFxQkosUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3BGLElBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssT0FBTyxDQUFDO2dCQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtnQkFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDaEQsQ0FBQztRQUNILENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBRVgsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixNQUFNLEVBQUUsd0JBQXdCO2FBQ2pDLENBQUMsQ0FBQztZQUNILE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUcseUJBQXlCLENBQUM7UUFDM0MsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3RCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsTUFBTSxFQUFFLDJCQUEyQjthQUNwQyxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN4RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixNQUFNLEVBQUUsNkNBQTZDO2FBQ3RELENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRTFFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ25DLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQztRQUMzQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVSxFQUFFLEdBQVc7UUFFekMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksV0FBVztZQUN2RCxPQUFPO1FBRVQsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNyQyxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNELFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGFBQWE7WUFDNUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQ3RELENBQUM7OEdBM0hVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGdFQUpuQixDQUFDLGNBQWMsQ0FBQywwQkNaN0IsbXFHQW1FQSxnN0VEeERZLGFBQWEsbUxBQUUsWUFBWSwrUEFBRSxXQUFXOzsyRkFLdkMsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxhQUN4QyxDQUFDLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8ta3ljLWRldGFpbHMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4va3ljLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9reWMtZGV0YWlscy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ljRGV0YWlsc0NvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcGFuUmVxdWVzdDogYW55ID0ge1xyXG4gICAgcGFuTnVtYmVyOiAnJ1xyXG4gIH1cclxuXHJcbiAgYWFkaGFyUmVxdWVzdDogYW55ID0ge1xyXG4gICAgYWFkaGFhck51bWJlcjogJydcclxuICB9XHJcblxyXG4gIHZlcmlmeUFhZGhhclJlcXVlc3Q6IGFueSA9IHtcclxuICAgIG90cDogJycsXHJcbiAgICByZWZJZDogJycsXHJcbiAgICBhYWRoYWFyTnVtYmVyOiAnJ1xyXG4gIH1cclxuICBhYWRoYXJPdHBBcnJheSA9IG5ldyBBcnJheSg2KS5maWxsKCcnKVxyXG4gIGlzUGFuVmVyaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc0FhZGhhcnZlcmlmaWVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWFkaGFyT3RwU2VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGt5Y0RldGFpbHNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRLeWNEZXRhaWxzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMua3ljRGV0YWlsc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGdldEt5Y0RldGFpbHMoKSB7XHJcbiAgICB0aGlzLmt5Y0RldGFpbHNTdWJzY3JpcHRpb24gPSB0aGlzLnJlc3RTZXJ2aWNlLmdldEt5Y0RldGFpbHMoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlcy5tZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5pc1BhblZlcmlmaWVkID0gcmVzLm1lc3NhZ2UucGFuVmVyaWZpZWQgPT09ICdWQUxJRCc7XHJcbiAgICAgICAgdGhpcy5pc0FhZGhhcnZlcmlmaWVkID0gcmVzLm1lc3NhZ2UuYWFkaGFhclZlcmlmaWVkID09PSAnVkFMSUQnO1xyXG4gICAgICAgIHRoaXMuYWFkaGFyUmVxdWVzdC5hYWRoYWFyTnVtYmVyID0gcmVzLm1lc3NhZ2UuYWFkaGFyTm9cclxuICAgICAgICB0aGlzLnBhblJlcXVlc3QucGFuTnVtYmVyID0gcmVzLm1lc3NhZ2UucGFuTm87XHJcbiAgICAgIH1cclxuICAgIH0sIChlcnIpID0+IHtcclxuXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdmVyaWZ5UGFuTnVtYmVyKCkge1xyXG4gICAgaWYoIXRoaXMudmFsaWRhdGVQYW4oKSkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcbiAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXHJcbiAgICAgICAgc3VtbWFyeTogJ1BhbiBOdW1iZXInLFxyXG4gICAgICAgIGRldGFpbDogJ0VudGVyIHZhbGlkIFBBTiBudW1iZXInXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnZlcmlmeVBhbih0aGlzLnBhblJlcXVlc3QpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5pc1BhblZlcmlmaWVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZXN0U2VydmljZS5reWNEZXRhaWxzID0gbnVsbDtcclxuICAgICAgdGhpcy5jaGVja0t5Y1ZlcmlmaWNhdGlvbigpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlUGFuKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGFuUmVnZXggPSAvXltBLVpdezV9WzAtOV17NH1bQS1aXSQvO1xyXG4gICAgcmV0dXJuIHBhblJlZ2V4LnRlc3QodGhpcy5wYW5SZXF1ZXN0LnBhbk51bWJlcik7XHJcbiAgfVxyXG5cclxuICBzZW5kQWFkaGFyT3RwKCkge1xyXG4gICAgaWYoIXRoaXMudmFsaWRhdGVBYWRoYWFyKCkpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxyXG4gICAgICAgIHN1bW1hcnk6ICdBYWRoYXIgTnVtYmVyJyxcclxuICAgICAgICBkZXRhaWw6ICdFbnRlciB2YWxpZCBBYWRoYXIgbnVtYmVyJ1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVzdFNlcnZpY2Uuc2VuZEFhZGhhck90cCh0aGlzLmFhZGhhclJlcXVlc3QpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5hYWRoYXJPdHBTZW50ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgIHNldmVyaXR5OiAnc3VjY2VzcycsXHJcbiAgICAgICAgc3VtbWFyeTogJ09UUCBTZW50JyxcclxuICAgICAgICBkZXRhaWw6ICdBQWRoYXIgT1RQIFNlbnQgaW4gcmVnaXN0ZXJlZCBtb2JpbGUgbnVtYmVyJ1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52ZXJpZnlBYWRoYXJSZXF1ZXN0LnJlZklkID0gcmVzLm1lc3NhZ2U/LnJlZl9pZDtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB2ZXJpZnlBYWRoYXJPdHAoKSB7XHJcbiAgICB0aGlzLnZlcmlmeUFhZGhhclJlcXVlc3Qub3RwID0gXCJcIjtcclxuICAgIHRoaXMuYWFkaGFyT3RwQXJyYXkuZm9yRWFjaCgob3RwKSA9PiB7XHJcbiAgICAgIHRoaXMudmVyaWZ5QWFkaGFyUmVxdWVzdC5vdHAgKz0gb3RwXHJcbiAgICB9KVxyXG4gICAgdGhpcy52ZXJpZnlBYWRoYXJSZXF1ZXN0LmFhZGhhYXJOdW1iZXIgPSB0aGlzLmFhZGhhclJlcXVlc3QuYWFkaGFhck51bWJlcjtcclxuXHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnZlcmlmeUFhZGhhck90cCh0aGlzLnZlcmlmeUFhZGhhclJlcXVlc3QpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5pc0FhZGhhcnZlcmlmaWVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZXN0U2VydmljZS5reWNEZXRhaWxzID0gbnVsbDtcclxuICAgICAgdGhpcy5jaGVja0t5Y1ZlcmlmaWNhdGlvbigpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlQWFkaGFhcigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFhZGhhYXJSZWdleCA9IC9eWzItOV17MX1bMC05XXsxMX0kLztcclxuICAgIHJldHVybiBhYWRoYWFyUmVnZXgudGVzdCh0aGlzLmFhZGhhclJlcXVlc3QuYWFkaGFhck51bWJlcik7XHJcbiAgfVxyXG5cclxuICBtb3ZlQWFkaGFyT3RwQ3Vyc29yKGV2ZW50OiBhbnksIGlkeDogbnVtYmVyKSB7XHJcblxyXG4gICAgaWYgKGlzTmFOKE51bWJlcihldmVudC5rZXkpKSAmJiBldmVudC5jb2RlICE9IFwiQmFja3NwYWNlXCIpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAoZXZlbnQuY29kZSAhPSBcIkJhY2tzcGFjZVwiKSB7XHJcbiAgICAgIHRoaXMuYWFkaGFyT3RwQXJyYXlbaWR4XSA9IGV2ZW50LmtleTtcclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhYWRoYXJPdHBfXCIgKyAoaWR4ICsgMSkpPy5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LmNvZGUgPT0gXCJCYWNrc3BhY2VcIiAmJiAhdGhpcy5hYWRoYXJPdHBBcnJheVtpZHhdKSB7XHJcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYWFkaGFyT3RwX1wiICsgKGlkeCAtIDEpKT8uZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrS3ljVmVyaWZpY2F0aW9uKCkge1xyXG4gICAgaWYodGhpcy5pc0FhZGhhcnZlcmlmaWVkICYmIHRoaXMuaXNQYW5WZXJpZmllZClcclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nsb3NlS3ljQ2FudmFzJyk/LmNsaWNrKClcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb25cIiAqbmdJZj1cIiEoaXNQYW5WZXJpZmllZCAmJiBpc0FhZGhhcnZlcmlmaWVkKVwiPlxyXG4gIDxpbWcgY2xhc3M9XCJpbWdcIiBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzk3MDMzMmMxNzQwMDMwMTg3NzI2a3ljLnBuZ1wiIGFsdD1cIlwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyb3VwXCI+XHJcbiAgICA8cCBjbGFzcz1cImhlYWRpbmdcIj5Db21wbGV0ZSBZb3VyIEtZQyB0byBzdGFydCBJbnZlc3Rpbmc8L3A+XHJcbiAgICA8cCBjbGFzcz1cImRlc2NcIj5CZWZvcmUgeW91IGNhbiBpbnZlc3QsIHdlIG5lZWQgdG8gdmVyaWZ5IHlvdXIgaWRlbnRpdHksIHNpbXBseSB1cGxvYWQgeW91ciBkb2N1bWVudHMsXHJcbiAgICAgIDxicj4gc3VibWl0IHlvdXIgS1lDLCBhbmQgbGV0IHVzIGhhbmRsZSB0aGUgcmVzdFxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxidXR0b24gY2xhc3M9XCJzdWJtaXQtYnRuXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwib2ZmY2FudmFzXCIgZGF0YS1icy10YXJnZXQ9XCIjb2ZmY2FudmFzUmlnaHRcIlxyXG4gICAgYXJpYS1jb250cm9scz1cIm9mZmNhbnZhc1JpZ2h0XCI+U3VibWl0IEtZQyBOb3c8L2J1dHRvbj5cclxuPC9zZWN0aW9uPlxyXG5cclxuPGRpdiBjbGFzcz1cIm9mZmNhbnZhcyBvZmZjYW52YXMtZW5kXCIgdGFiaW5kZXg9XCItMVwiIGlkPVwib2ZmY2FudmFzUmlnaHRcIiBhcmlhLWxhYmVsbGVkYnk9XCJvZmZjYW52YXNSaWdodExhYmVsXCI+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgPHA+S1lDIERldGFpbHM8L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1pZGRsZS1zZWN0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdXJlZFwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5zZWN1cml0eTwvbWF0LWljb24+XHJcbiAgICAgICAgPHA+WW91ciBEYXRhIGlzIFNhZmUgJiBTZWN1cmU8L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2VcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5QQU4gTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwidmVyaWZ5LXRleHRcIiAoY2xpY2spPVwidmVyaWZ5UGFuTnVtYmVyKClcIiAqbmdJZj1cIiFpc1BhblZlcmlmaWVkXCI+VmVyaWZ5PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3hcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicGFuUmVxdWVzdC5wYW5OdW1iZXJcIiBbZGlzYWJsZWRdPVwiaXNQYW5WZXJpZmllZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidmVyaWZpZWRcIiB0aXRsZT1cIk9UUCBWZXJpZmllZFwiICpuZ0lmPVwiaXNQYW5WZXJpZmllZFwiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJtdC0xXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cIlwiPk5hbWUgb24gUEFOPC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInBhblJlcXVlc3QubmFtZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidmVyaWZpZWRcIiB0aXRsZT1cIk9UUCBWZXJpZmllZFwiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2VcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5BYWRoYXIgTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwidmVyaWZ5LXRleHRcIiAoY2xpY2spPVwic2VuZEFhZGhhck90cCgpXCIgKm5nSWY9XCIhYWFkaGFyT3RwU2VudFwiPlNlbmQgT1RQPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3hcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiYWFkaGFyUmVxdWVzdC5hYWRoYWFyTnVtYmVyXCIgW2Rpc2FibGVkXT1cImlzQWFkaGFydmVyaWZpZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInZlcmlmaWVkXCIgdGl0bGU9XCJPVFAgVmVyaWZpZWRcIiAqbmdJZj1cImFhZGhhck90cFNlbnRcIj5jaGVja19jaXJjbGU8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiXCI+RW50ZXIgT1RQPC9sYWJlbD5cclxuXHJcbiAgICAgICAgPGRpdiBpZD1cIm90cFwiIGNsYXNzPVwib3RwLWlucHV0XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvdHAgb2YgWzEsMiwzLDQsNSw2XTsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWF4PVwiOVwiIGNsYXNzPVwib3RwLWlucHV0XCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhYWRoYXJPdHBBcnJheVtpZHhdXCIgKGtleXVwKT1cIm1vdmVBYWRoYXJPdHBDdXJzb3IoJGV2ZW50LCBpZHgpXCIgW2lkXT1cIidhYWRoYXJPdHBfJytpZHhcIi8+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ0blwiIGRhdGEtYnMtZGlzbWlzcz1cIm9mZmNhbnZhc1wiIGlkPVwiY2xvc2VLeWNDYW52YXNcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXQtYnRuXCIgKm5nSWY9XCJhYWRoYXJPdHBTZW50XCIgKGNsaWNrKT1cInZlcmlmeUFhZGhhck90cCgpXCI+VmVyaWZ5PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=