simpo-component-library 2.1.18 → 2.1.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. package/esm2022/lib/components/document/document.component.mjs +34 -0
  2. package/esm2022/lib/components/index.mjs +6 -5
  3. package/esm2022/lib/components/payment-details/payment-details.component.mjs +3 -3
  4. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +3 -3
  5. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +3 -3
  6. package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +3 -3
  7. package/esm2022/lib/sections/registration-form/registration-form.component.mjs +172 -26
  8. package/esm2022/lib/sections/registration-form/registrationForm.model.mjs +2 -0
  9. package/esm2022/lib/services/image-upload-service.service.mjs +39 -0
  10. package/esm2022/lib/services/rest.service.mjs +13 -4
  11. package/fesm2022/simpo-component-library.mjs +358 -143
  12. package/fesm2022/simpo-component-library.mjs.map +1 -1
  13. package/lib/components/document/document.component.d.ts +8 -0
  14. package/lib/components/index.d.ts +2 -1
  15. package/lib/directive/background-directive.d.ts +1 -1
  16. package/lib/directive/button-directive.directive.d.ts +1 -1
  17. package/lib/directive/color.directive.d.ts +1 -1
  18. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  19. package/lib/sections/registration-form/registration-form.component.d.ts +19 -6
  20. package/lib/sections/registration-form/registrationForm.model.d.ts +8 -0
  21. package/lib/services/image-upload-service.service.d.ts +7 -0
  22. package/lib/services/rest.service.d.ts +3 -0
  23. package/package.json +1 -1
  24. package/simpo-component-library-2.1.20.tgz +0 -0
  25. package/simpo-component-library-2.1.18.tgz +0 -0
@@ -0,0 +1,34 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/icon";
7
+ import * as i2 from "@angular/common";
8
+ export class DocumentComponent {
9
+ constructor() {
10
+ this.documentList = [];
11
+ }
12
+ uploadDocument(ev, file) {
13
+ file.file = ev.srcElement.files[0];
14
+ if (file?.file?.type?.includes('video')) {
15
+ file.type = 'VIDEO';
16
+ }
17
+ else if (file?.file?.type?.includes('image')) {
18
+ file.type = 'IMAGE';
19
+ }
20
+ else {
21
+ file.type = 'FILE';
22
+ }
23
+ console.log(file);
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: DocumentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: DocumentComponent, isStandalone: true, selector: "simpo-document", inputs: { documentList: "documentList" }, ngImport: i0, template: "<section class=\"main-section p-2\">\r\n <div class=\"list_tabs heading d-flex align-items-center\">\r\n Required Document\r\n </div>\r\n\r\n <div class=\"document-section\">\r\n <div class=\"document\" *ngFor=\"let document of documentList\">\r\n <div class=\"left-side\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/183907c1734627971492pdf.png\" alt=\"\">\r\n <p>{{document.displayText}}</p>\r\n </div>\r\n <div class=\"right-side\" (click)=\"fileInput.click()\" *ngIf=\"!(document.file || document.url)\">\r\n <div>Upload</div>\r\n </div>\r\n <div class=\"right-side\" *ngIf=\"document.file || document.url\">\r\n <mat-icon>delete</mat-icon>\r\n </div>\r\n\r\n <input id=\"vendorImage\" type=\"file\" name=\"myfile\" hidden\r\n accept=\".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/x-png,image/jpeg,image/jpg,.pdf, video/mp4,video/x-matroska,video/x-msvideo,video/quicktime\"\r\n (change)=\"uploadDocument($event, document)\" class=\"pc-btn\"\r\n id=\"browse_contact_image\" #fileInput />\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".list_tabs{border:1px solid #0000001A;background-color:#ffffffe5;padding:10px;border-radius:6px;gap:10px;height:50px}.heading{font-size:18px;font-weight:500}.align-items-center{align-items:center}.p-2{padding:2rem!important}.document-section{padding-right:2rem;margin-top:2rem;padding-left:2rem;display:flex;flex-direction:column;gap:10px}.document{display:flex;justify-content:space-between;background:#eeecec;padding:1.5rem;border-radius:10px}.left-side{display:flex;align-items:center;gap:20px}.left-side p{margin-bottom:0}.right-side{background:#fff;height:35px;padding-left:30px;padding-right:30px;display:flex;align-items:center;border-radius:8px;font-weight:500}@media screen and (max-width: 475px){.p-2{padding:1rem}.document-section{padding-left:0rem;padding-right:0rem}}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: DocumentComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'simpo-document', standalone: true, imports: [MatIconModule, CommonModule, FormsModule], template: "<section class=\"main-section p-2\">\r\n <div class=\"list_tabs heading d-flex align-items-center\">\r\n Required Document\r\n </div>\r\n\r\n <div class=\"document-section\">\r\n <div class=\"document\" *ngFor=\"let document of documentList\">\r\n <div class=\"left-side\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/183907c1734627971492pdf.png\" alt=\"\">\r\n <p>{{document.displayText}}</p>\r\n </div>\r\n <div class=\"right-side\" (click)=\"fileInput.click()\" *ngIf=\"!(document.file || document.url)\">\r\n <div>Upload</div>\r\n </div>\r\n <div class=\"right-side\" *ngIf=\"document.file || document.url\">\r\n <mat-icon>delete</mat-icon>\r\n </div>\r\n\r\n <input id=\"vendorImage\" type=\"file\" name=\"myfile\" hidden\r\n accept=\".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/x-png,image/jpeg,image/jpg,.pdf, video/mp4,video/x-matroska,video/x-msvideo,video/quicktime\"\r\n (change)=\"uploadDocument($event, document)\" class=\"pc-btn\"\r\n id=\"browse_contact_image\" #fileInput />\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".list_tabs{border:1px solid #0000001A;background-color:#ffffffe5;padding:10px;border-radius:6px;gap:10px;height:50px}.heading{font-size:18px;font-weight:500}.align-items-center{align-items:center}.p-2{padding:2rem!important}.document-section{padding-right:2rem;margin-top:2rem;padding-left:2rem;display:flex;flex-direction:column;gap:10px}.document{display:flex;justify-content:space-between;background:#eeecec;padding:1.5rem;border-radius:10px}.left-side{display:flex;align-items:center;gap:20px}.left-side p{margin-bottom:0}.right-side{background:#fff;height:35px;padding-left:30px;padding-right:30px;display:flex;align-items:center;border-radius:8px;font-weight:500}@media screen and (max-width: 475px){.p-2{padding:1rem}.document-section{padding-left:0rem;padding-right:0rem}}\n"] }]
31
+ }], ctorParameters: () => [], propDecorators: { documentList: [{
32
+ type: Input
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVN2RCxNQUFNLE9BQU8saUJBQWlCO0lBSTVCO1FBRlMsaUJBQVksR0FBVSxFQUFFLENBQUM7SUFFbkIsQ0FBQztJQUVoQixjQUFjLENBQUMsRUFBTyxFQUFFLElBQVM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyxJQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFBO1FBQ3JCLENBQUM7YUFBTSxJQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFBO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUE7UUFDcEIsQ0FBQztRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkIsQ0FBQzs4R0FsQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0hDWjlCLG10Q0F5QkEsdTBCRGpCWSxhQUFhLG1MQUFFLFlBQVksK1BBQUUsV0FBVzs7MkZBSXZDLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQzt3REFNMUMsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tZG9jdW1lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2RvY3VtZW50LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGRvY3VtZW50TGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICB1cGxvYWREb2N1bWVudChldjogYW55LCBmaWxlOiBhbnkpIHtcclxuICAgIGZpbGUuZmlsZSA9IGV2LnNyY0VsZW1lbnQuZmlsZXNbMF07XHJcblxyXG4gICAgaWYoZmlsZT8uZmlsZT8udHlwZT8uaW5jbHVkZXMoJ3ZpZGVvJykpIHtcclxuICAgICAgZmlsZS50eXBlID0gJ1ZJREVPJ1xyXG4gICAgfSBlbHNlIGlmKGZpbGU/LmZpbGU/LnR5cGU/LmluY2x1ZGVzKCdpbWFnZScpKSB7XHJcbiAgICAgIGZpbGUudHlwZSA9ICdJTUFHRSdcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGUudHlwZSA9ICdGSUxFJ1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUubG9nKGZpbGUpXHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwibWFpbi1zZWN0aW9uIHAtMlwiPlxyXG4gIDxkaXYgY2xhc3M9XCJsaXN0X3RhYnMgaGVhZGluZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICBSZXF1aXJlZCBEb2N1bWVudFxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtc2VjdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRvY3VtZW50XCIgKm5nRm9yPVwibGV0IGRvY3VtZW50IG9mIGRvY3VtZW50TGlzdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zaWRlXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MzkwN2MxNzM0NjI3OTcxNDkycGRmLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgIDxwPnt7ZG9jdW1lbnQuZGlzcGxheVRleHR9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1zaWRlXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgKm5nSWY9XCIhKGRvY3VtZW50LmZpbGUgfHwgZG9jdW1lbnQudXJsKVwiPlxyXG4gICAgICAgIDxkaXY+VXBsb2FkPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtc2lkZVwiICpuZ0lmPVwiZG9jdW1lbnQuZmlsZSB8fCBkb2N1bWVudC51cmxcIj5cclxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8aW5wdXQgaWQ9XCJ2ZW5kb3JJbWFnZVwiIHR5cGU9XCJmaWxlXCIgbmFtZT1cIm15ZmlsZVwiIGhpZGRlblxyXG4gICAgICAgICAgICBhY2NlcHQ9XCIuZG9jLC5kb2N4LGFwcGxpY2F0aW9uL21zd29yZCxhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCxpbWFnZS94LXBuZyxpbWFnZS9qcGVnLGltYWdlL2pwZywucGRmLCB2aWRlby9tcDQsdmlkZW8veC1tYXRyb3NrYSx2aWRlby94LW1zdmlkZW8sdmlkZW8vcXVpY2t0aW1lXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGxvYWREb2N1bWVudCgkZXZlbnQsIGRvY3VtZW50KVwiIGNsYXNzPVwicGMtYnRuXCJcclxuICAgICAgICAgICAgaWQ9XCJicm93c2VfY29udGFjdF9pbWFnZVwiICNmaWxlSW5wdXQgLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
@@ -4,17 +4,18 @@ import { DeleteHoverElementComponent } from './delete-hover-element/delete-hover
4
4
  import { InputFieldsComponent } from './input-fields/input-fields.component';
5
5
  import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
6
6
  import { PaymentDetailsComponent } from './payment-details/payment-details.component';
7
+ import { DocumentComponent } from './document/document.component';
7
8
  import * as i0 from "@angular/core";
8
9
  export class SimpoComponentModule {
9
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SimpoComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.4", ngImport: i0, type: SimpoComponentModule, imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent], exports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SimpoComponentModule, imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent, NgxSkeletonLoaderModule] }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.4", ngImport: i0, type: SimpoComponentModule, imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent, DocumentComponent], exports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent, DocumentComponent] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SimpoComponentModule, imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent, DocumentComponent, NgxSkeletonLoaderModule] }); }
12
13
  }
13
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SimpoComponentModule, decorators: [{
14
15
  type: NgModule,
15
16
  args: [{
16
- imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent],
17
- exports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent],
17
+ imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent, DocumentComponent],
18
+ exports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent, NgxSkeletonLoaderModule, PaymentDetailsComponent, DocumentComponent],
18
19
  }]
19
20
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFLdEYsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsWUFIckIsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLGFBQzNILHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QjsrR0FFMUgsb0JBQW9CLFlBSHJCLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUNoRCx1QkFBdUI7OzJGQUVqRyxvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3RJLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDO2lCQUN2SSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tICcuL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLWhvdmVyLWVsZW1lbnQvZGVsZXRlLWhvdmVyLWVsZW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWZpZWxkcy9pbnB1dC1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcclxuaW1wb3J0IHsgUGF5bWVudERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL3BheW1lbnQtZGV0YWlscy9wYXltZW50LWRldGFpbHMuY29tcG9uZW50JztcclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbSG92ZXJFbGVtZW50c0NvbXBvbmVudCwgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50LCBJbnB1dEZpZWxkc0NvbXBvbmVudCwgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUsIFBheW1lbnREZXRhaWxzQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbSG92ZXJFbGVtZW50c0NvbXBvbmVudCwgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50LCBJbnB1dEZpZWxkc0NvbXBvbmVudCwgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUsIFBheW1lbnREZXRhaWxzQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBvQ29tcG9uZW50TW9kdWxlIHt9XHJcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsWUFIckIsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLGFBQzlJLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQjsrR0FFN0ksb0JBQW9CLFlBSHJCLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUNuRSx1QkFBdUI7OzJGQUVqRyxvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3pKLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixDQUFDO2lCQUMxSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tICcuL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLWhvdmVyLWVsZW1lbnQvZGVsZXRlLWhvdmVyLWVsZW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWZpZWxkcy9pbnB1dC1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcclxuaW1wb3J0IHsgUGF5bWVudERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL3BheW1lbnQtZGV0YWlscy9wYXltZW50LWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0hvdmVyRWxlbWVudHNDb21wb25lbnQsIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCwgSW5wdXRGaWVsZHNDb21wb25lbnQsIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLCBQYXltZW50RGV0YWlsc0NvbXBvbmVudCwgRG9jdW1lbnRDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtIb3ZlckVsZW1lbnRzQ29tcG9uZW50LCBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQsIElucHV0RmllbGRzQ29tcG9uZW50LCBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSwgUGF5bWVudERldGFpbHNDb21wb25lbnQsIERvY3VtZW50Q29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBvQ29tcG9uZW50TW9kdWxlIHt9XHJcbiJdfQ==
@@ -138,14 +138,14 @@ export class PaymentDetailsComponent {
138
138
  return response;
139
139
  }
140
140
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PaymentDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PaymentDetailsComponent, isStandalone: true, selector: "simpo-payment-details", inputs: { admissionData: "admissionData", subscriptionsData: "subscriptionsData" }, ngImport: i0, template: "<section class=\"main-section\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"heading left-side\">\r\n Admission Fee\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let configList of Object.keys(feeConfig)\">\r\n <div class=\"heading mb-20\">{{configList}}</div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeConfig[configList]\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let type of Object.keys(subscriptions)\">\r\n <p class=\"heading\">{{type}}</p>\r\n\r\n <table class=\"subscription-table w-100\">\r\n <thead>\r\n <th>Subscription Title</th>\r\n <th>Monthly</th>\r\n <th>Quaterly</th>\r\n <th>Yearly</th>\r\n <th>On Demand</th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of subscriptions[type];let i = index\">\r\n <td>{{data.subName}}</td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['QUARTERLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'MONTHLY'\" (click)=\"toggleSelection(data, 'MONTHLY')\" [checked]=\"data.selectedOption === 'MONTHLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexRadioDefault2\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['MONTHLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['QUARTERLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['MONTHLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'QUARTERLY'\" (click)=\"toggleSelection(data, 'QUARTERLY')\" [checked]=\"data.selectedOption === 'QUARTERLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['QUARTERLY']}}\r\n </label>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['MONTHLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ANNUALLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ANNUALLY'\" (click)=\"toggleSelection(data, 'ANNUALLY')\" [checked]=\"data.selectedOption === 'ANNUALLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ANNUALLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ANNUALLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ONDEMAND']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ONDEMAND'\" (click)=\"toggleSelection(data, 'ONDEMAND')\" [checked]=\"data.selectedOption === 'ONDEMAND'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ONDEMAND']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ONDEMAND']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 right-side\">\r\n <div class=\"heading mb-20\">\r\n Fee Calculation\r\n </div>\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeStructure.feeConfigs\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let subscripition of feeStructure.subscriptionPlans\">\r\n <p class=\"sub-heading mb-0\">{{subscripition.subName}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{subscripition.pricing[subscripition.frequency]}}</p>\r\n </div>\r\n\r\n <div class=\"total-fee\">\r\n <div class=\"heading mb-5\">\r\n Total Fee\r\n </div>\r\n <div class=\"amount\">\r\n \u20B9 {{feeStructure.totalAmount}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".heading{font-size:18px;font-weight:500}.left-side{background:#fafcff99;padding:2rem}.mt-10{margin-top:10px}.justify-space{justify-content:space-between}.sub-heading,.amount{font-size:16px;font-weight:500}.mb-0{margin-bottom:0}.mb-20{margin-bottom:20px}.mb-15{margin-bottom:15px}.subscription-table{width:50%}.subscription-table th{color:#434443;font-weight:400;font-size:16px;font-family:DM SANS}.subscription-table td{font-weight:500;color:#000;font-size:16px;margin-top:67px;padding-top:10px}.right-side{background-color:#fdfbfa;padding:2rem;position:relative}.right-side .sub-heading{font-size:18px}.right-side .amount{font-size:16px}.right-side .heading{font-weight:400}.mb-5{margin-bottom:5px}.total-fee{position:absolute;bottom:20px;width:90%}.total-fee .amount{background:#fff;height:87px;display:flex;align-items:center;justify-content:center;font-size:32px;border-radius:8px}.defaultImage{height:15px;width:15px}\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: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PaymentDetailsComponent, isStandalone: true, selector: "simpo-payment-details", inputs: { admissionData: "admissionData", subscriptionsData: "subscriptionsData" }, ngImport: i0, template: "<section class=\"main-section\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"heading left-side\">\r\n Admission Fee\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let configList of Object.keys(feeConfig)\">\r\n <div class=\"heading mb-20\">{{configList}}</div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeConfig[configList]\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let type of Object.keys(subscriptions)\">\r\n <p class=\"heading\">{{type}}</p>\r\n\r\n <table class=\"subscription-table w-100\">\r\n <thead>\r\n <th>Subscription Title</th>\r\n <th>Monthly</th>\r\n <th>Quaterly</th>\r\n <th>Yearly</th>\r\n <th>On Demand</th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of subscriptions[type];let i = index\">\r\n <td>{{data.subName}}</td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['QUARTERLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'MONTHLY'\" (click)=\"toggleSelection(data, 'MONTHLY')\" [checked]=\"data.selectedOption === 'MONTHLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexRadioDefault2\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['MONTHLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['QUARTERLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['MONTHLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'QUARTERLY'\" (click)=\"toggleSelection(data, 'QUARTERLY')\" [checked]=\"data.selectedOption === 'QUARTERLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['QUARTERLY']}}\r\n </label>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['MONTHLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ANNUALLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ANNUALLY'\" (click)=\"toggleSelection(data, 'ANNUALLY')\" [checked]=\"data.selectedOption === 'ANNUALLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ANNUALLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ANNUALLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ONDEMAND']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ONDEMAND'\" (click)=\"toggleSelection(data, 'ONDEMAND')\" [checked]=\"data.selectedOption === 'ONDEMAND'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ONDEMAND']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ONDEMAND']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 right-side\">\r\n <div class=\"heading mb-20\">\r\n Fee Calculation\r\n </div>\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeStructure.feeConfigs\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let subscripition of feeStructure.subscriptionPlans\">\r\n <p class=\"sub-heading mb-0\">{{subscripition.subName}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{subscripition.pricing[subscripition.frequency]}}</p>\r\n </div>\r\n\r\n <div class=\"total-fee\">\r\n <div class=\"heading mb-5\">\r\n Total Fee\r\n </div>\r\n <div class=\"amount\">\r\n \u20B9 {{feeStructure.totalAmount}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".heading{font-size:18px;font-weight:500}.left-side{background:#fafcff99;padding:2rem}.mt-10{margin-top:10px}.justify-space{justify-content:space-between}.sub-heading,.amount{font-size:16px;font-weight:500}.mb-0{margin-bottom:0}.mb-20{margin-bottom:20px}.mb-15{margin-bottom:15px}.subscription-table{width:50%}.subscription-table th{color:#434443;font-weight:400;font-size:16px;font-family:DM SANS}.subscription-table td{font-weight:500;color:#000;font-size:16px;margin-top:67px;padding-top:10px}.right-side{background-color:#fdfbfa;padding:2rem;position:relative}.right-side .sub-heading{font-size:18px}.right-side .amount{font-size:16px}.right-side .heading{font-weight:400}.mb-5{margin-bottom:5px}.total-fee{position:absolute;bottom:20px;width:90%}.total-fee .amount{background:#fff;height:87px;display:flex;align-items:center;justify-content:center;font-size:32px;border-radius:8px}.defaultImage{height:15px;width:15px}@media screen and (max-width: 475px){.row{margin-left:0;margin-right:0}.total-fee{position:relative;width:100%}}\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: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
142
142
  }
143
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PaymentDetailsComponent, decorators: [{
144
144
  type: Component,
145
- args: [{ selector: 'simpo-payment-details', standalone: true, imports: [CommonModule, FormsModule], template: "<section class=\"main-section\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"heading left-side\">\r\n Admission Fee\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let configList of Object.keys(feeConfig)\">\r\n <div class=\"heading mb-20\">{{configList}}</div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeConfig[configList]\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let type of Object.keys(subscriptions)\">\r\n <p class=\"heading\">{{type}}</p>\r\n\r\n <table class=\"subscription-table w-100\">\r\n <thead>\r\n <th>Subscription Title</th>\r\n <th>Monthly</th>\r\n <th>Quaterly</th>\r\n <th>Yearly</th>\r\n <th>On Demand</th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of subscriptions[type];let i = index\">\r\n <td>{{data.subName}}</td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['QUARTERLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'MONTHLY'\" (click)=\"toggleSelection(data, 'MONTHLY')\" [checked]=\"data.selectedOption === 'MONTHLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexRadioDefault2\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['MONTHLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['QUARTERLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['MONTHLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'QUARTERLY'\" (click)=\"toggleSelection(data, 'QUARTERLY')\" [checked]=\"data.selectedOption === 'QUARTERLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['QUARTERLY']}}\r\n </label>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['MONTHLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ANNUALLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ANNUALLY'\" (click)=\"toggleSelection(data, 'ANNUALLY')\" [checked]=\"data.selectedOption === 'ANNUALLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ANNUALLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ANNUALLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ONDEMAND']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ONDEMAND'\" (click)=\"toggleSelection(data, 'ONDEMAND')\" [checked]=\"data.selectedOption === 'ONDEMAND'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ONDEMAND']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ONDEMAND']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 right-side\">\r\n <div class=\"heading mb-20\">\r\n Fee Calculation\r\n </div>\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeStructure.feeConfigs\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let subscripition of feeStructure.subscriptionPlans\">\r\n <p class=\"sub-heading mb-0\">{{subscripition.subName}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{subscripition.pricing[subscripition.frequency]}}</p>\r\n </div>\r\n\r\n <div class=\"total-fee\">\r\n <div class=\"heading mb-5\">\r\n Total Fee\r\n </div>\r\n <div class=\"amount\">\r\n \u20B9 {{feeStructure.totalAmount}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".heading{font-size:18px;font-weight:500}.left-side{background:#fafcff99;padding:2rem}.mt-10{margin-top:10px}.justify-space{justify-content:space-between}.sub-heading,.amount{font-size:16px;font-weight:500}.mb-0{margin-bottom:0}.mb-20{margin-bottom:20px}.mb-15{margin-bottom:15px}.subscription-table{width:50%}.subscription-table th{color:#434443;font-weight:400;font-size:16px;font-family:DM SANS}.subscription-table td{font-weight:500;color:#000;font-size:16px;margin-top:67px;padding-top:10px}.right-side{background-color:#fdfbfa;padding:2rem;position:relative}.right-side .sub-heading{font-size:18px}.right-side .amount{font-size:16px}.right-side .heading{font-weight:400}.mb-5{margin-bottom:5px}.total-fee{position:absolute;bottom:20px;width:90%}.total-fee .amount{background:#fff;height:87px;display:flex;align-items:center;justify-content:center;font-size:32px;border-radius:8px}.defaultImage{height:15px;width:15px}\n"] }]
145
+ args: [{ selector: 'simpo-payment-details', standalone: true, imports: [CommonModule, FormsModule], template: "<section class=\"main-section\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"heading left-side\">\r\n Admission Fee\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let configList of Object.keys(feeConfig)\">\r\n <div class=\"heading mb-20\">{{configList}}</div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeConfig[configList]\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"left-side mt-10\" *ngFor=\"let type of Object.keys(subscriptions)\">\r\n <p class=\"heading\">{{type}}</p>\r\n\r\n <table class=\"subscription-table w-100\">\r\n <thead>\r\n <th>Subscription Title</th>\r\n <th>Monthly</th>\r\n <th>Quaterly</th>\r\n <th>Yearly</th>\r\n <th>On Demand</th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of subscriptions[type];let i = index\">\r\n <td>{{data.subName}}</td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['QUARTERLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'MONTHLY'\" (click)=\"toggleSelection(data, 'MONTHLY')\" [checked]=\"data.selectedOption === 'MONTHLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexRadioDefault2\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['MONTHLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['QUARTERLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['MONTHLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'QUARTERLY'\" (click)=\"toggleSelection(data, 'QUARTERLY')\" [checked]=\"data.selectedOption === 'QUARTERLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['QUARTERLY']}}\r\n </label>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['MONTHLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ANNUALLY']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ANNUALLY'\" (click)=\"toggleSelection(data, 'ANNUALLY')\" [checked]=\"data.selectedOption === 'ANNUALLY'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ANNUALLY']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ANNUALLY']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n <td>\r\n <div class=\"form-check\" *ngIf=\"data.pricing['ONDEMAND']\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"subscription{{i}}\" [value]=\"'ONDEMAND'\" (click)=\"toggleSelection(data, 'ONDEMAND')\" [checked]=\"data.selectedOption === 'ONDEMAND'\" [(ngModel)]=\"data.selectedOption\" id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n \u20B9 {{data.pricing['ONDEMAND']}}\r\n </label>\r\n </div>\r\n <img class=\"defaultImage\" *ngIf=\"!data.pricing['ONDEMAND']\" [src]=\"defaultImage\" alt=\"\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 right-side\">\r\n <div class=\"heading mb-20\">\r\n Fee Calculation\r\n </div>\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let config of feeStructure.feeConfigs\">\r\n <p class=\"sub-heading mb-0\">{{config.feeHead}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{config.amount}}</p>\r\n </div>\r\n\r\n <div class=\"d-flex justify-space mt-10 mb-15\" *ngFor=\"let subscripition of feeStructure.subscriptionPlans\">\r\n <p class=\"sub-heading mb-0\">{{subscripition.subName}}</p>\r\n <p class=\"amount mb-0\">\u20B9 {{subscripition.pricing[subscripition.frequency]}}</p>\r\n </div>\r\n\r\n <div class=\"total-fee\">\r\n <div class=\"heading mb-5\">\r\n Total Fee\r\n </div>\r\n <div class=\"amount\">\r\n \u20B9 {{feeStructure.totalAmount}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".heading{font-size:18px;font-weight:500}.left-side{background:#fafcff99;padding:2rem}.mt-10{margin-top:10px}.justify-space{justify-content:space-between}.sub-heading,.amount{font-size:16px;font-weight:500}.mb-0{margin-bottom:0}.mb-20{margin-bottom:20px}.mb-15{margin-bottom:15px}.subscription-table{width:50%}.subscription-table th{color:#434443;font-weight:400;font-size:16px;font-family:DM SANS}.subscription-table td{font-weight:500;color:#000;font-size:16px;margin-top:67px;padding-top:10px}.right-side{background-color:#fdfbfa;padding:2rem;position:relative}.right-side .sub-heading{font-size:18px}.right-side .amount{font-size:16px}.right-side .heading{font-weight:400}.mb-5{margin-bottom:5px}.total-fee{position:absolute;bottom:20px;width:90%}.total-fee .amount{background:#fff;height:87px;display:flex;align-items:center;justify-content:center;font-size:32px;border-radius:8px}.defaultImage{height:15px;width:15px}@media screen and (max-width: 475px){.row{margin-left:0;margin-right:0}.total-fee{position:relative;width:100%}}\n"] }]
146
146
  }], ctorParameters: () => [], propDecorators: { admissionData: [{
147
147
  type: Input
148
148
  }], subscriptionsData: [{
149
149
  type: Input
150
150
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYXltZW50LWRldGFpbHMvcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYXltZW50LWRldGFpbHMvcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFTN0MsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQztRQUhTLHNCQUFpQixHQUFVLEVBQUUsQ0FBQTtRQUN0QyxXQUFNLEdBQUcsTUFBTSxDQUFBO1FBSWYsaUJBQVksR0FBUTtZQUNsQixJQUFJLEVBQUUsTUFBTTtZQUNaLGlCQUFpQixFQUFFO2dCQUNqQixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0QsUUFBUSxFQUFFO2dCQUNSO29CQUNFLEtBQUssRUFBRSxNQUFNO29CQUNiLE1BQU0sRUFBRSxVQUFVO2lCQUNuQjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsTUFBTTtvQkFDYixNQUFNLEVBQUUsVUFBVTtpQkFDbkI7YUFDRjtZQUNELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixZQUFZLEVBQUU7Z0JBQ1o7b0JBQ0UsV0FBVyxFQUFFLE9BQU87b0JBQ3BCLFdBQVcsRUFBRSxNQUFNO29CQUNuQixTQUFTLEVBQUUsWUFBWTtvQkFDdkIs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bkMsSUFBSSxRQUFRLEdBQVEsRUFBRSxDQUFDO1FBRXZCLEtBQUksSUFBSSxNQUFNLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUMxQixRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVoQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs4R0ExSlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIscUtDWHBDLGsrSkFnR0EscTlCRHpGWSxZQUFZLCtQQUFFLFdBQVc7OzJGQUl4Qix1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7d0RBSzNCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcGF5bWVudC1kZXRhaWxzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50RGV0YWlsc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgYWRtaXNzaW9uRGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIHN1YnNjcmlwdGlvbnNEYXRhOiBhbnlbXSA9IFtdXHJcbiAgT2JqZWN0ID0gT2JqZWN0XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgZmVlU3RydWN0dXJlOiBhbnkgPSB7XHJcbiAgICBcImlkXCI6ICcxMjM0JyxcclxuICAgIFwiYnVzaW5lc3NEZXRhaWxzXCI6IHtcclxuICAgICAgXCJpZFwiOiAnMTIzNCdcclxuICAgIH0sXHJcbiAgICBcImdyYWRlc1wiOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBcIl9pZFwiOiBcIjEyMzRcIixcclxuICAgICAgICBcIm5hbWVcIjogXCJHcmFkZSBJSVwiXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBcIl9pZFwiOiBcIjEyMzRcIixcclxuICAgICAgICBcIm5hbWVcIjogXCJHcmFkZSBJVlwiXHJcbiAgICAgIH1cclxuICAgIF0sXHJcbiAgICBcImJvYXJkXCI6IFwiU1RBVEVcIixcclxuICAgIFwiYWNhZGVtaWNZZWFyU3RhcnRcIjogMjAyNCxcclxuICAgIFwiYWNhZGVtaWNZZWFyRW5kXCI6IDIwMjUsXHJcbiAgICBcImZlZUNvbmZpZ3NcIjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgXCJmZWVUeXBlSWRcIjogJzEyMzI0JyxcclxuICAgICAgICBcImZlZUhlYWRJZFwiOiAnMTIzNCcsXHJcbiAgICAgICAgXCJmZWVUeXBlXCI6IFwiVHV0aW9uIGZlZVwiLFxyXG4gICAgICAgIFwiZmVlSGVhZFwiOiBcImV4YW0gZmVlXCIsXHJcbiAgICAgICAgXCJhbW91bnRcIjogMzAwLFxyXG4gICAgICAgIFwiZGlzY291bnRBbW91bnRcIjogMCxcclxuICAgICAgICBcImlzRml4ZWRcIjogZmFsc2VcclxuICAgICAgfVxyXG4gICAgXSxcclxuICAgIFwic3Vic2NyaXB0aW9uUGxhbnNcIjogW10sXHJcbiAgICBcInRvdGFsQW1vdW50XCI6IDMwMCxcclxuICAgIFwiY3JlYXRlZFRpbWVzdGFtcFwiOiB7XHJcbiAgICAgIFwiJGRhdGVcIjogXCIyMDI0LTEyLTE1VDA3OjEwOjU0Ljg4OVpcIlxyXG4gICAgfSxcclxuICAgIFwidXBkYXRlZFRpbWVzdGFtcFwiOiB7XHJcbiAgICAgIFwiJGRhdGVcIjogXCIyMDI0LTEyLTE1VDA3OjEwOjU0Ljg4OVpcIlxyXG4gICAgfSxcclxuICAgIFwiYWN0aXZlXCI6IHRydWUsXHJcbiAgfVxyXG5cclxuXHJcbiAgZmVlQ29uZmlnOiBhbnk7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZlZVN0cnVjdHVyZSA9IHRoaXMuYWRtaXNzaW9uRGF0YS5zdHVkZW50RmVlU3RydWN0dXJlO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gdGhpcy5hcnJhbmdlU3Vic2NyaXB0aW9uRm9yQWRtaXNzaW9uKHRoaXMuc3Vic2NyaXB0aW9uc0RhdGEpO1xyXG4gICAgdGhpcy5mZWVDb25maWcgPSB0aGlzLmFycmFuZ2VGZWVDb25maWcodGhpcy5mZWVTdHJ1Y3R1cmUuZmVlQ29uZmlncyk7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsQW1vdW50KCk7XHJcbiAgfVxyXG5cclxuICBkZWZhdWx0SW1hZ2U6IHN0cmluZyA9ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzkxNzA2N2MxNzM0MzM3MjgwMzAzY2FuY2VsLnBuZyc7XHJcbiAgc3Vic2NyaXB0aW9uczogYW55ID0ge1xyXG4gICAgXCJGb29kIEZlZVwiIDogW1xyXG4gICAgICB7XHJcbiAgICAgICAgc3Vic2NyaXB0aW9uVGl0bGUgOiAnQnJlYWtmYXN0JyxcclxuICAgICAgICBwcmljaW5nICA6IHtcclxuICAgICAgICAgIFwiV0VFS0xZXCIgOiAyMDAwLFxyXG4gICAgICAgICAgXCJNT05USExZXCIgIDogMzAwMCxcclxuICAgICAgICAgIFwiWUVBUkxZXCIgOiA0MDAwXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgc3Vic2NyaXB0aW9uVGl0bGUgOiAnTHVuY2gnLFxyXG4gICAgICAgIHByaWNpbmcgIDoge1xyXG4gICAgICAgICAgXCJXRUVLTFlcIiA6IDIwMDAsXHJcbiAgICAgICAgICBcIk1PTlRITFlcIiAgOiAzMDAwLFxyXG4gICAgICAgICAgXCJZRUFSTFlcIiA6IDQwMDBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBzdWJzY3JpcHRpb25UaXRsZSA6ICdTbmFja3MnLFxyXG4gICAgICAgIHByaWNpbmcgIDoge1xyXG4gICAgICAgICAgXCJXRUVLTFlcIiA6IDIwMDAsXHJcbiAgICAgICAgICBcIk1PTlRITFlcIiAgOiAzMDAwLFxyXG4gICAgICAgICAgXCJZRUFSTFlcIiA6IDQwMDBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIF1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdGlvbihzdWJzY3JpcHRpb246IGFueSwgZnJlcXVlbmN5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmKCF0aGlzLmZlZVN0cnVjdHVyZS5zdWJzY3JpcHRpb25QbGFucylcclxuICAgICAgdGhpcy5mZWVTdHJ1Y3R1cmUuc3Vic2NyaXB0aW9uUGxhbnMgPSBbXTtcclxuXHJcbiAgICBsZXQgcmVtb3ZlSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gICAgZm9yKGxldCBpID0gMDtpPHRoaXMuZmVlU3RydWN0dXJlLnN1YnNjcmlwdGlvblBsYW5zLmxlbmd0aDtpKyspIHtcclxuICAgICAgbGV0IHN1YiA9IHRoaXMuZmVlU3RydWN0dXJlLnN1YnNjcmlwdGlvblBsYW5zW2ldO1xyXG5cclxuICAgICAgaWYoc3ViLnN1YklkID09PSBzdWJzY3JpcHRpb24uc3ViSWQpe1xyXG4gICAgICAgIHJlbW92ZUluZGV4ID0gaTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHJlbW92ZUluZGV4ID09IC0xKSB7XHJcbiAgICAgIHRoaXMuZmVlU3RydWN0dXJlLnN1YnNjcmlwdGlvblBsYW5zLnB1c2goey4uLnN1YnNjcmlwdGlvbiwgZnJlcXVlbmN5OiBmcmVxdWVuY3l9KVxyXG4gICAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsQW1vdW50KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZlZVN0cnVjdHVyZS5zdWJzY3JpcHRpb25QbGFucy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpO1xyXG5cclxuICAgIGlmIChzdWJzY3JpcHRpb24uc2VsZWN0ZWRPcHRpb24gPT09IGZyZXF1ZW5jeSkge1xyXG4gICAgICBzdWJzY3JpcHRpb24uc2VsZWN0ZWRPcHRpb24gPSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3Vic2NyaXB0aW9uLnNlbGVjdGVkT3B0aW9uID0gZnJlcXVlbmN5O1xyXG4gICAgICB0aGlzLmZlZVN0cnVjdHVyZS5zdWJzY3JpcHRpb25QbGFucy5wdXNoKHsuLi5zdWJzY3JpcHRpb24sIGZyZXF1ZW5jeTogZnJlcXVlbmN5fSlcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsQW1vdW50KCk7XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVUb3RhbEFtb3VudCgpIHtcclxuICAgIHRoaXMuZmVlU3RydWN0dXJlLnRvdGFsQW1vdW50ID0gMDtcclxuXHJcbiAgICBmb3IobGV0IGNvbmZpZyBvZiB0aGlzLmZlZVN0cnVjdHVyZS5mZWVDb25maWdzKSB7XHJcbiAgICAgIHRoaXMuZmVlU3RydWN0dXJlLnRvdGFsQW1vdW50ICs9IGNvbmZpZy5hbW91bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yKGxldCBzdWJzY3JpcHRpb24gb2YgdGhpcy5mZWVTdHJ1Y3R1cmUuc3Vic2NyaXB0aW9uUGxhbnMpIHtcclxuICAgICAgdGhpcy5mZWVTdHJ1Y3R1cmUudG90YWxBbW91bnQgKz0gc3Vic2NyaXB0aW9uLnByaWNpbmdbc3Vic2NyaXB0aW9uLmZyZXF1ZW5jeV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcnJhbmdlU3Vic2NyaXB0aW9uRm9yQWRtaXNzaW9uKHN1YnNjcmlwdGlvbkxpc3Q6IGFueVtdKSB7XHJcbiAgICBsZXQgcmVzcG9uc2U6IGFueSA9IHt9O1xyXG5cclxuICAgIGZvcihsZXQgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbkxpc3QpIHtcclxuICAgICAgaWYoIXJlc3BvbnNlW3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25UeXBlXSkge1xyXG4gICAgICAgIHJlc3BvbnNlW3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25UeXBlXSA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3BvbnNlW3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25UeXBlXS5wdXNoKHN1YnNjcmlwdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgYXJyYW5nZUZlZUNvbmZpZyhmZWVDb25maWdMaXN0OiBhbnlbXSkge1xyXG4gICAgbGV0IHJlc3BvbnNlOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IobGV0IGNvbmZpZyBvZiBmZWVDb25maWdMaXN0KSB7XHJcbiAgICAgIGlmKCFyZXNwb25zZVtjb25maWcuZmVlVHlwZV0pXHJcbiAgICAgICAgcmVzcG9uc2VbY29uZmlnLmZlZVR5cGVdID0gW107XHJcblxyXG4gICAgICByZXNwb25zZVtjb25maWcuZmVlVHlwZV0ucHVzaChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbGVmdC1zaWRlXCI+XHJcbiAgICAgICAgQWRtaXNzaW9uIEZlZVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXNpZGUgbXQtMTBcIiAqbmdGb3I9XCJsZXQgY29uZmlnTGlzdCBvZiBPYmplY3Qua2V5cyhmZWVDb25maWcpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbWItMjBcIj57e2NvbmZpZ0xpc3R9fTwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2UgbXQtMTAgbWItMTVcIiAqbmdGb3I9XCJsZXQgY29uZmlnIG9mIGZlZUNvbmZpZ1tjb25maWdMaXN0XVwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJzdWItaGVhZGluZyBtYi0wXCI+e3tjb25maWcuZmVlSGVhZH19PC9wPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJhbW91bnQgbWItMFwiPuKCuSB7e2NvbmZpZy5hbW91bnR9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zaWRlIG10LTEwXCIgKm5nRm9yPVwibGV0IHR5cGUgb2YgT2JqZWN0LmtleXMoc3Vic2NyaXB0aW9ucylcIj5cclxuICAgICAgICA8cCBjbGFzcz1cImhlYWRpbmdcIj57e3R5cGV9fTwvcD5cclxuXHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwic3Vic2NyaXB0aW9uLXRhYmxlIHctMTAwXCI+XHJcbiAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0aD5TdWJzY3JpcHRpb24gVGl0bGU8L3RoPlxyXG4gICAgICAgICAgICA8dGg+TW9udGhseTwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5RdWF0ZXJseTwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5ZZWFybHk8L3RoPlxyXG4gICAgICAgICAgICA8dGg+T24gRGVtYW5kPC90aD5cclxuICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzdWJzY3JpcHRpb25zW3R5cGVdO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8dGQ+e3tkYXRhLnN1Yk5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiAqbmdJZj1cImRhdGEucHJpY2luZ1snUVVBUlRFUkxZJ11cIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJzdWJzY3JpcHRpb257e2l9fVwiICBbdmFsdWVdPVwiJ01PTlRITFknXCIgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdGlvbihkYXRhLCAnTU9OVEhMWScpXCIgIFtjaGVja2VkXT1cImRhdGEuc2VsZWN0ZWRPcHRpb24gPT09ICdNT05USExZJ1wiICBbKG5nTW9kZWwpXT1cImRhdGEuc2VsZWN0ZWRPcHRpb25cIiBpZD1cImZsZXhSYWRpb0RlZmF1bHQyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJmbGV4Q2hlY2tDaGVja2VkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAg4oK5IHt7ZGF0YS5wcmljaW5nWydNT05USExZJ119fVxyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZGVmYXVsdEltYWdlXCIgKm5nSWY9XCIhZGF0YS5wcmljaW5nWydRVUFSVEVSTFknXVwiIFtzcmNdPVwiZGVmYXVsdEltYWdlXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiAqbmdJZj1cImRhdGEucHJpY2luZ1snTU9OVEhMWSddXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwic3Vic2NyaXB0aW9ue3tpfX1cIiBbdmFsdWVdPVwiJ1FVQVJURVJMWSdcIiAoY2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uKGRhdGEsICdRVUFSVEVSTFknKVwiICBbY2hlY2tlZF09XCJkYXRhLnNlbGVjdGVkT3B0aW9uID09PSAnUVVBUlRFUkxZJ1wiIFsobmdNb2RlbCldPVwiZGF0YS5zZWxlY3RlZE9wdGlvblwiIGlkPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIOKCuSB7e2RhdGEucHJpY2luZ1snUVVBUlRFUkxZJ119fVxyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZGVmYXVsdEltYWdlXCIgKm5nSWY9XCIhZGF0YS5wcmljaW5nWydNT05USExZJ11cIiBbc3JjXT1cImRlZmF1bHRJbWFnZVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiICpuZ0lmPVwiZGF0YS5wcmljaW5nWydBTk5VQUxMWSddXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwic3Vic2NyaXB0aW9ue3tpfX1cIiBbdmFsdWVdPVwiJ0FOTlVBTExZJ1wiIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb24oZGF0YSwgJ0FOTlVBTExZJylcIiAgW2NoZWNrZWRdPVwiZGF0YS5zZWxlY3RlZE9wdGlvbiA9PT0gJ0FOTlVBTExZJ1wiIFsobmdNb2RlbCldPVwiZGF0YS5zZWxlY3RlZE9wdGlvblwiIGlkPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIOKCuSB7e2RhdGEucHJpY2luZ1snQU5OVUFMTFknXX19XHJcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkZWZhdWx0SW1hZ2VcIiAqbmdJZj1cIiFkYXRhLnByaWNpbmdbJ0FOTlVBTExZJ11cIiBbc3JjXT1cImRlZmF1bHRJbWFnZVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiAqbmdJZj1cImRhdGEucHJpY2luZ1snT05ERU1BTkQnXVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgbmFtZT1cInN1YnNjcmlwdGlvbnt7aX19XCIgW3ZhbHVlXT1cIidPTkRFTUFORCdcIiAoY2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uKGRhdGEsICdPTkRFTUFORCcpXCIgIFtjaGVja2VkXT1cImRhdGEuc2VsZWN0ZWRPcHRpb24gPT09ICdPTkRFTUFORCdcIiBbKG5nTW9kZWwpXT1cImRhdGEuc2VsZWN0ZWRPcHRpb25cIiBpZD1cImZsZXhDaGVja0NoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhDaGVja0NoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICDigrkge3tkYXRhLnByaWNpbmdbJ09OREVNQU5EJ119fVxyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZGVmYXVsdEltYWdlXCIgKm5nSWY9XCIhZGF0YS5wcmljaW5nWydPTkRFTUFORCddXCIgW3NyY109XCJkZWZhdWx0SW1hZ2VcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHJpZ2h0LXNpZGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbWItMjBcIj5cclxuICAgICAgICBGZWUgQ2FsY3VsYXRpb25cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1zcGFjZSBtdC0xMCBtYi0xNVwiICpuZ0Zvcj1cImxldCBjb25maWcgb2YgZmVlU3RydWN0dXJlLmZlZUNvbmZpZ3NcIj5cclxuICAgICAgICA8cCBjbGFzcz1cInN1Yi1oZWFkaW5nIG1iLTBcIj57e2NvbmZpZy5mZWVIZWFkfX08L3A+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJhbW91bnQgbWItMFwiPuKCuSB7e2NvbmZpZy5hbW91bnR9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2UgbXQtMTAgbWItMTVcIiAqbmdGb3I9XCJsZXQgc3Vic2NyaXBpdGlvbiBvZiBmZWVTdHJ1Y3R1cmUuc3Vic2NyaXB0aW9uUGxhbnNcIj5cclxuICAgICAgICA8cCBjbGFzcz1cInN1Yi1oZWFkaW5nIG1iLTBcIj57e3N1YnNjcmlwaXRpb24uc3ViTmFtZX19PC9wPlxyXG4gICAgICAgIDxwIGNsYXNzPVwiYW1vdW50IG1iLTBcIj7igrkge3tzdWJzY3JpcGl0aW9uLnByaWNpbmdbc3Vic2NyaXBpdGlvbi5mcmVxdWVuY3ldfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvdGFsLWZlZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTVcIj5cclxuICAgICAgICAgIFRvdGFsIEZlZVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbW91bnRcIj5cclxuICAgICAgICAgIOKCuSB7e2ZlZVN0cnVjdHVyZS50b3RhbEFtb3VudH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYXltZW50LWRldGFpbHMvcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYXltZW50LWRldGFpbHMvcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFTN0MsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQztRQUhTLHNCQUFpQixHQUFVLEVBQUUsQ0FBQTtRQUN0QyxXQUFNLEdBQUcsTUFBTSxDQUFBO1FBSWYsaUJBQVksR0FBUTtZQUNsQixJQUFJLEVBQUUsTUFBTTtZQUNaLGlCQUFpQixFQUFFO2dCQUNqQixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0QsUUFBUSxFQUFFO2dCQUNSO29CQUNFLEtBQUssRUFBRSxNQUFNO29CQUNiLE1BQU0sRUFBRSxVQUFVO2lCQUNuQjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsTUFBTTtvQkFDYixNQUFNLEVBQUUsVUFBVTtpQkFDbkI7YUFDRjtZQUNELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixZQUFZLEVBQUU7Z0JBQ1o7b0JBQ0UsV0FBVyxFQUFFLE9BQU87b0JBQ3BCLFdBQVcsRUFBRSxNQUFNO29CQUNuQixTQUFTLEVBQUUsWUFBWTtvQkFDdkIsU0FBUyxFQUFFLFVBQVU7b0JBQ3JCLFFBQVEsRUFBRSxHQUFHO29CQUNiLGdCQUFnQixFQUFFLENBQUM7b0JBQ25CLFNBQVMsRUFBRSxLQUFLO2lCQUNqQjthQUNGO1lBQ0QsbUJBQW1CLEVBQUUsRUFBRTtZQUN2QixhQUFhLEVBQUUsR0FBRztZQUNsQixrQkFBa0IsRUFBRTtnQkFDbEIsT0FBTyxFQUFFLDBCQUEwQjthQUNwQztZQUNELGtCQUFrQixFQUFFO2dCQUNsQixPQUFPLEVBQUUsMEJBQTBCO2FBQ3BDO1lBQ0QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFBO1FBV0QsaUJBQVksR0FBVywyRkFBMkYsQ0FBQztRQUNuSCxrQkFBYSxHQUFRO1lBQ25CLFVBQVUsRUFBRztnQkFDWDtvQkFDRSxpQkFBaUIsRUFBRyxXQUFXO29CQUMvQixPQUFPLEVBQUk7d0JBQ1QsUUFBUSxFQUFHLElBQUk7d0JBQ2YsU0FBUyxFQUFJLElBQUk7d0JBQ2pCLFFBQVEsRUFBRyxJQUFJO3FCQUNoQjtpQkFDRjtnQkFDRDtvQkFDRSxpQkFBaUIsRUFBRyxPQUFPO29CQUMzQixPQUFPLEVBQUk7d0JBQ1QsUUFBUSxFQUFHLElBQUk7d0JBQ2YsU0FBUyxFQUFJLElBQUk7d0JBQ2pCLFFBQVEsRUFBRyxJQUFJO3FCQUNoQjtpQkFDRjtnQkFDRDtvQkFDRSxpQkFBaUIsRUFBRyxRQUFRO29CQUM1QixPQUFPLEVBQUk7d0JBQ1QsUUFBUSxFQUFHLElBQUk7d0JBQ2YsU0FBUyxFQUFJLElBQUk7d0JBQ2pCLFFBQVEsRUFBRyxJQUFJO3FCQUNoQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQTtJQS9FYyxDQUFDO0lBNENoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1FBQzNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQWdDRCxlQUFlLENBQUMsWUFBaUIsRUFBRSxTQUFpQjtRQUNsRCxJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUI7WUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFM0MsSUFBSSxXQUFXLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDN0IsS0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDL0QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVqRCxJQUFHLEdBQUcsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBQyxDQUFDO2dCQUNuQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQixNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFHLFdBQVcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7WUFDakYsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFM0QsSUFBSSxZQUFZLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlDLFlBQVksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ04sWUFBWSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUNuRixDQUFDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFFbEMsS0FBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDakQsQ0FBQztRQUVELEtBQUksSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7SUFDSCxDQUFDO0lBRUQsK0JBQStCLENBQUMsZ0JBQXVCO1FBQ3JELElBQUksUUFBUSxHQUFRLEVBQUUsQ0FBQztRQUV2QixLQUFJLElBQUksWUFBWSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDekMsSUFBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxRQUFRLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9DLENBQUM7WUFDRCxRQUFRLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsYUFBb0I7UUFDbkMsSUFBSSxRQUFRLEdBQVEsRUFBRSxDQUFDO1FBRXZCLEtBQUksSUFBSSxNQUFNLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUMxQixRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVoQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs4R0ExSlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIscUtDWHBDLGsrSkFnR0EscWtDRHpGWSxZQUFZLCtQQUFFLFdBQVc7OzJGQUl4Qix1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7d0RBSzNCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcGF5bWVudC1kZXRhaWxzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcGF5bWVudC1kZXRhaWxzLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50RGV0YWlsc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgYWRtaXNzaW9uRGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIHN1YnNjcmlwdGlvbnNEYXRhOiBhbnlbXSA9IFtdXHJcbiAgT2JqZWN0ID0gT2JqZWN0XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgZmVlU3RydWN0dXJlOiBhbnkgPSB7XHJcbiAgICBcImlkXCI6ICcxMjM0JyxcclxuICAgIFwiYnVzaW5lc3NEZXRhaWxzXCI6IHtcclxuICAgICAgXCJpZFwiOiAnMTIzNCdcclxuICAgIH0sXHJcbiAgICBcImdyYWRlc1wiOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBcIl9pZFwiOiBcIjEyMzRcIixcclxuICAgICAgICBcIm5hbWVcIjogXCJHcmFkZSBJSVwiXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBcIl9pZFwiOiBcIjEyMzRcIixcclxuICAgICAgICBcIm5hbWVcIjogXCJHcmFkZSBJVlwiXHJcbiAgICAgIH1cclxuICAgIF0sXHJcbiAgICBcImJvYXJkXCI6IFwiU1RBVEVcIixcclxuICAgIFwiYWNhZGVtaWNZZWFyU3RhcnRcIjogMjAyNCxcclxuICAgIFwiYWNhZGVtaWNZZWFyRW5kXCI6IDIwMjUsXHJcbiAgICBcImZlZUNvbmZpZ3NcIjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgXCJmZWVUeXBlSWRcIjogJzEyMzI0JyxcclxuICAgICAgICBcImZlZUhlYWRJZFwiOiAnMTIzNCcsXHJcbiAgICAgICAgXCJmZWVUeXBlXCI6IFwiVHV0aW9uIGZlZVwiLFxyXG4gICAgICAgIFwiZmVlSGVhZFwiOiBcImV4YW0gZmVlXCIsXHJcbiAgICAgICAgXCJhbW91bnRcIjogMzAwLFxyXG4gICAgICAgIFwiZGlzY291bnRBbW91bnRcIjogMCxcclxuICAgICAgICBcImlzRml4ZWRcIjogZmFsc2VcclxuICAgICAgfVxyXG4gICAgXSxcclxuICAgIFwic3Vic2NyaXB0aW9uUGxhbnNcIjogW10sXHJcbiAgICBcInRvdGFsQW1vdW50XCI6IDMwMCxcclxuICAgIFwiY3JlYXRlZFRpbWVzdGFtcFwiOiB7XHJcbiAgICAgIFwiJGRhdGVcIjogXCIyMDI0LTEyLTE1VDA3OjEwOjU0Ljg4OVpcIlxyXG4gICAgfSxcclxuICAgIFwidXBkYXRlZFRpbWVzdGFtcFwiOiB7XHJcbiAgICAgIFwiJGRhdGVcIjogXCIyMDI0LTEyLTE1VDA3OjEwOjU0Ljg4OVpcIlxyXG4gICAgfSxcclxuICAgIFwiYWN0aXZlXCI6IHRydWUsXHJcbiAgfVxyXG5cclxuXHJcbiAgZmVlQ29uZmlnOiBhbnk7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZlZVN0cnVjdHVyZSA9IHRoaXMuYWRtaXNzaW9uRGF0YS5zdHVkZW50RmVlU3RydWN0dXJlO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gdGhpcy5hcnJhbmdlU3Vic2NyaXB0aW9uRm9yQWRtaXNzaW9uKHRoaXMuc3Vic2NyaXB0aW9uc0RhdGEpO1xyXG4gICAgdGhpcy5mZWVDb25maWcgPSB0aGlzLmFycmFuZ2VGZWVDb25maWcodGhpcy5mZWVTdHJ1Y3R1cmUuZmVlQ29uZmlncyk7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsQW1vdW50KCk7XHJcbiAgfVxyXG5cclxuICBkZWZhdWx0SW1hZ2U6IHN0cmluZyA9ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzkxNzA2N2MxNzM0MzM3MjgwMzAzY2FuY2VsLnBuZyc7XHJcbiAgc3Vic2NyaXB0aW9uczogYW55ID0ge1xyXG4gICAgXCJGb29kIEZlZVwiIDogW1xyXG4gICAgICB7XHJcbiAgICAgICAgc3Vic2NyaXB0aW9uVGl0bGUgOiAnQnJlYWtmYXN0JyxcclxuICAgICAgICBwcmljaW5nICA6IHtcclxuICAgICAgICAgIFwiV0VFS0xZXCIgOiAyMDAwLFxyXG4gICAgICAgICAgXCJNT05USExZXCIgIDogMzAwMCxcclxuICAgICAgICAgIFwiWUVBUkxZXCIgOiA0MDAwXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgc3Vic2NyaXB0aW9uVGl0bGUgOiAnTHVuY2gnLFxyXG4gICAgICAgIHByaWNpbmcgIDoge1xyXG4gICAgICAgICAgXCJXRUVLTFlcIiA6IDIwMDAsXHJcbiAgICAgICAgICBcIk1PTlRITFlcIiAgOiAzMDAwLFxyXG4gICAgICAgICAgXCJZRUFSTFlcIiA6IDQwMDBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBzdWJzY3JpcHRpb25UaXRsZSA6ICdTbmFja3MnLFxyXG4gICAgICAgIHByaWNpbmcgIDoge1xyXG4gICAgICAgICAgXCJXRUVLTFlcIiA6IDIwMDAsXHJcbiAgICAgICAgICBcIk1PTlRITFlcIiAgOiAzMDAwLFxyXG4gICAgICAgICAgXCJZRUFSTFlcIiA6IDQwMDBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIF1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdGlvbihzdWJzY3JpcHRpb246IGFueSwgZnJlcXVlbmN5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmKCF0aGlzLmZlZVN0cnVjdHVyZS5zdWJzY3JpcHRpb25QbGFucylcclxuICAgICAgdGhpcy5mZWVTdHJ1Y3R1cmUuc3Vic2NyaXB0aW9uUGxhbnMgPSBbXTtcclxuXHJcbiAgICBsZXQgcmVtb3ZlSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gICAgZm9yKGxldCBpID0gMDtpPHRoaXMuZmVlU3RydWN0dXJlLnN1YnNjcmlwdGlvblBsYW5zLmxlbmd0aDtpKyspIHtcclxuICAgICAgbGV0IHN1YiA9IHRoaXMuZmVlU3RydWN0dXJlLnN1YnNjcmlwdGlvblBsYW5zW2ldO1xyXG5cclxuICAgICAgaWYoc3ViLnN1YklkID09PSBzdWJzY3JpcHRpb24uc3ViSWQpe1xyXG4gICAgICAgIHJlbW92ZUluZGV4ID0gaTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHJlbW92ZUluZGV4ID09IC0xKSB7XHJcbiAgICAgIHRoaXMuZmVlU3RydWN0dXJlLnN1YnNjcmlwdGlvblBsYW5zLnB1c2goey4uLnN1YnNjcmlwdGlvbiwgZnJlcXVlbmN5OiBmcmVxdWVuY3l9KVxyXG4gICAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsQW1vdW50KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZlZVN0cnVjdHVyZS5zdWJzY3JpcHRpb25QbGFucy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpO1xyXG5cclxuICAgIGlmIChzdWJzY3JpcHRpb24uc2VsZWN0ZWRPcHRpb24gPT09IGZyZXF1ZW5jeSkge1xyXG4gICAgICBzdWJzY3JpcHRpb24uc2VsZWN0ZWRPcHRpb24gPSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3Vic2NyaXB0aW9uLnNlbGVjdGVkT3B0aW9uID0gZnJlcXVlbmN5O1xyXG4gICAgICB0aGlzLmZlZVN0cnVjdHVyZS5zdWJzY3JpcHRpb25QbGFucy5wdXNoKHsuLi5zdWJzY3JpcHRpb24sIGZyZXF1ZW5jeTogZnJlcXVlbmN5fSlcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsQW1vdW50KCk7XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVUb3RhbEFtb3VudCgpIHtcclxuICAgIHRoaXMuZmVlU3RydWN0dXJlLnRvdGFsQW1vdW50ID0gMDtcclxuXHJcbiAgICBmb3IobGV0IGNvbmZpZyBvZiB0aGlzLmZlZVN0cnVjdHVyZS5mZWVDb25maWdzKSB7XHJcbiAgICAgIHRoaXMuZmVlU3RydWN0dXJlLnRvdGFsQW1vdW50ICs9IGNvbmZpZy5hbW91bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yKGxldCBzdWJzY3JpcHRpb24gb2YgdGhpcy5mZWVTdHJ1Y3R1cmUuc3Vic2NyaXB0aW9uUGxhbnMpIHtcclxuICAgICAgdGhpcy5mZWVTdHJ1Y3R1cmUudG90YWxBbW91bnQgKz0gc3Vic2NyaXB0aW9uLnByaWNpbmdbc3Vic2NyaXB0aW9uLmZyZXF1ZW5jeV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcnJhbmdlU3Vic2NyaXB0aW9uRm9yQWRtaXNzaW9uKHN1YnNjcmlwdGlvbkxpc3Q6IGFueVtdKSB7XHJcbiAgICBsZXQgcmVzcG9uc2U6IGFueSA9IHt9O1xyXG5cclxuICAgIGZvcihsZXQgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbkxpc3QpIHtcclxuICAgICAgaWYoIXJlc3BvbnNlW3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25UeXBlXSkge1xyXG4gICAgICAgIHJlc3BvbnNlW3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25UeXBlXSA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3BvbnNlW3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25UeXBlXS5wdXNoKHN1YnNjcmlwdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgYXJyYW5nZUZlZUNvbmZpZyhmZWVDb25maWdMaXN0OiBhbnlbXSkge1xyXG4gICAgbGV0IHJlc3BvbnNlOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IobGV0IGNvbmZpZyBvZiBmZWVDb25maWdMaXN0KSB7XHJcbiAgICAgIGlmKCFyZXNwb25zZVtjb25maWcuZmVlVHlwZV0pXHJcbiAgICAgICAgcmVzcG9uc2VbY29uZmlnLmZlZVR5cGVdID0gW107XHJcblxyXG4gICAgICByZXNwb25zZVtjb25maWcuZmVlVHlwZV0ucHVzaChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbGVmdC1zaWRlXCI+XHJcbiAgICAgICAgQWRtaXNzaW9uIEZlZVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXNpZGUgbXQtMTBcIiAqbmdGb3I9XCJsZXQgY29uZmlnTGlzdCBvZiBPYmplY3Qua2V5cyhmZWVDb25maWcpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbWItMjBcIj57e2NvbmZpZ0xpc3R9fTwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2UgbXQtMTAgbWItMTVcIiAqbmdGb3I9XCJsZXQgY29uZmlnIG9mIGZlZUNvbmZpZ1tjb25maWdMaXN0XVwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJzdWItaGVhZGluZyBtYi0wXCI+e3tjb25maWcuZmVlSGVhZH19PC9wPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJhbW91bnQgbWItMFwiPuKCuSB7e2NvbmZpZy5hbW91bnR9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zaWRlIG10LTEwXCIgKm5nRm9yPVwibGV0IHR5cGUgb2YgT2JqZWN0LmtleXMoc3Vic2NyaXB0aW9ucylcIj5cclxuICAgICAgICA8cCBjbGFzcz1cImhlYWRpbmdcIj57e3R5cGV9fTwvcD5cclxuXHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwic3Vic2NyaXB0aW9uLXRhYmxlIHctMTAwXCI+XHJcbiAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0aD5TdWJzY3JpcHRpb24gVGl0bGU8L3RoPlxyXG4gICAgICAgICAgICA8dGg+TW9udGhseTwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5RdWF0ZXJseTwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5ZZWFybHk8L3RoPlxyXG4gICAgICAgICAgICA8dGg+T24gRGVtYW5kPC90aD5cclxuICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzdWJzY3JpcHRpb25zW3R5cGVdO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8dGQ+e3tkYXRhLnN1Yk5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiAqbmdJZj1cImRhdGEucHJpY2luZ1snUVVBUlRFUkxZJ11cIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJzdWJzY3JpcHRpb257e2l9fVwiICBbdmFsdWVdPVwiJ01PTlRITFknXCIgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdGlvbihkYXRhLCAnTU9OVEhMWScpXCIgIFtjaGVja2VkXT1cImRhdGEuc2VsZWN0ZWRPcHRpb24gPT09ICdNT05USExZJ1wiICBbKG5nTW9kZWwpXT1cImRhdGEuc2VsZWN0ZWRPcHRpb25cIiBpZD1cImZsZXhSYWRpb0RlZmF1bHQyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJmbGV4Q2hlY2tDaGVja2VkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAg4oK5IHt7ZGF0YS5wcmljaW5nWydNT05USExZJ119fVxyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZGVmYXVsdEltYWdlXCIgKm5nSWY9XCIhZGF0YS5wcmljaW5nWydRVUFSVEVSTFknXVwiIFtzcmNdPVwiZGVmYXVsdEltYWdlXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiAqbmdJZj1cImRhdGEucHJpY2luZ1snTU9OVEhMWSddXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwic3Vic2NyaXB0aW9ue3tpfX1cIiBbdmFsdWVdPVwiJ1FVQVJURVJMWSdcIiAoY2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uKGRhdGEsICdRVUFSVEVSTFknKVwiICBbY2hlY2tlZF09XCJkYXRhLnNlbGVjdGVkT3B0aW9uID09PSAnUVVBUlRFUkxZJ1wiIFsobmdNb2RlbCldPVwiZGF0YS5zZWxlY3RlZE9wdGlvblwiIGlkPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIOKCuSB7e2RhdGEucHJpY2luZ1snUVVBUlRFUkxZJ119fVxyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZGVmYXVsdEltYWdlXCIgKm5nSWY9XCIhZGF0YS5wcmljaW5nWydNT05USExZJ11cIiBbc3JjXT1cImRlZmF1bHRJbWFnZVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiICpuZ0lmPVwiZGF0YS5wcmljaW5nWydBTk5VQUxMWSddXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwic3Vic2NyaXB0aW9ue3tpfX1cIiBbdmFsdWVdPVwiJ0FOTlVBTExZJ1wiIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb24oZGF0YSwgJ0FOTlVBTExZJylcIiAgW2NoZWNrZWRdPVwiZGF0YS5zZWxlY3RlZE9wdGlvbiA9PT0gJ0FOTlVBTExZJ1wiIFsobmdNb2RlbCldPVwiZGF0YS5zZWxlY3RlZE9wdGlvblwiIGlkPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleENoZWNrQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIOKCuSB7e2RhdGEucHJpY2luZ1snQU5OVUFMTFknXX19XHJcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkZWZhdWx0SW1hZ2VcIiAqbmdJZj1cIiFkYXRhLnByaWNpbmdbJ0FOTlVBTExZJ11cIiBbc3JjXT1cImRlZmF1bHRJbWFnZVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiAqbmdJZj1cImRhdGEucHJpY2luZ1snT05ERU1BTkQnXVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgbmFtZT1cInN1YnNjcmlwdGlvbnt7aX19XCIgW3ZhbHVlXT1cIidPTkRFTUFORCdcIiAoY2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uKGRhdGEsICdPTkRFTUFORCcpXCIgIFtjaGVja2VkXT1cImRhdGEuc2VsZWN0ZWRPcHRpb24gPT09ICdPTkRFTUFORCdcIiBbKG5nTW9kZWwpXT1cImRhdGEuc2VsZWN0ZWRPcHRpb25cIiBpZD1cImZsZXhDaGVja0NoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhDaGVja0NoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICDigrkge3tkYXRhLnByaWNpbmdbJ09OREVNQU5EJ119fVxyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZGVmYXVsdEltYWdlXCIgKm5nSWY9XCIhZGF0YS5wcmljaW5nWydPTkRFTUFORCddXCIgW3NyY109XCJkZWZhdWx0SW1hZ2VcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHJpZ2h0LXNpZGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbWItMjBcIj5cclxuICAgICAgICBGZWUgQ2FsY3VsYXRpb25cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1zcGFjZSBtdC0xMCBtYi0xNVwiICpuZ0Zvcj1cImxldCBjb25maWcgb2YgZmVlU3RydWN0dXJlLmZlZUNvbmZpZ3NcIj5cclxuICAgICAgICA8cCBjbGFzcz1cInN1Yi1oZWFkaW5nIG1iLTBcIj57e2NvbmZpZy5mZWVIZWFkfX08L3A+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJhbW91bnQgbWItMFwiPuKCuSB7e2NvbmZpZy5hbW91bnR9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2UgbXQtMTAgbWItMTVcIiAqbmdGb3I9XCJsZXQgc3Vic2NyaXBpdGlvbiBvZiBmZWVTdHJ1Y3R1cmUuc3Vic2NyaXB0aW9uUGxhbnNcIj5cclxuICAgICAgICA8cCBjbGFzcz1cInN1Yi1oZWFkaW5nIG1iLTBcIj57e3N1YnNjcmlwaXRpb24uc3ViTmFtZX19PC9wPlxyXG4gICAgICAgIDxwIGNsYXNzPVwiYW1vdW50IG1iLTBcIj7igrkge3tzdWJzY3JpcGl0aW9uLnByaWNpbmdbc3Vic2NyaXBpdGlvbi5mcmVxdWVuY3ldfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvdGFsLWZlZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTVcIj5cclxuICAgICAgICAgIFRvdGFsIEZlZVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbW91bnRcIj5cclxuICAgICAgICAgIOKCuSB7e2ZlZVN0cnVjdHVyZS50b3RhbEFtb3VudH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19