tango-app-ui-manage-settings 3.4.0-beta.13 → 3.4.0-beta.14

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.
@@ -143,13 +143,13 @@ export class BrandInfoComponent {
143
143
  return (k == 8 || k == 32 || (k >= 48 && k <= 57));
144
144
  }
145
145
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BrandInfoComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i3.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BrandInfoComponent, selector: "lib-brand-info", viewQueries: [{ propertyName: "uploadInput", first: true, predicate: ["imageInput"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"brandInfoForm\" >\r\n<div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.Global_Configuration_isEdit \">\r\n <div *ngIf=\"brandInfoForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button (click)=\"brandInfoForm.disabled ? brandInfoForm.enable() : brandInfoForm.disable()\" type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n <div class=\"col-md-2 mb-5\">\r\n <label for=\"Brand\" class=\"form-label\">Brand Logo <span class=\"alert-required\"></span></label>\r\n <input #imageInput accept=\".png, .jpg, .jpeg\" (change)=\"onFileSelect($event)\" [disabled]=\"brandInfoForm.disabled\" style=\"display: none;\" type=\"file\">\r\n <div class=\"upload-container\">\r\n <img [src]=\"brandLogo\" alt=\"\">\r\n <svg (click)=\"triggerFileInput()\" class=\"upload-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"46\" viewBox=\"0 0 48 46\"\r\n fill=\"none\">\r\n <g filter=\"url(#filter0_d_2_41755)\">\r\n <rect x=\"10\" y=\"10\" width=\"27.8037\" height=\"25.9501\" rx=\"12.9751\" fill=\"white\" />\r\n </g>\r\n <path d=\"M17.9434 26.2175V28.5348H20.4262L27.7521 21.6972L25.2693 19.3799L17.9434 26.2175Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M29.6671 19.0377L28.1211 17.5948C27.8629 17.3538 27.4425 17.3538 27.1843 17.5948L25.9727 18.7257L28.4555 21.0429L29.6671 19.9121C29.9253 19.6711 29.9253 19.2787 29.6671 19.0377Z\"\r\n fill=\"#98A2B3\" />\r\n <defs>\r\n <filter id=\"filter0_d_2_41755\" x=\"0\" y=\"0\" width=\"47.8037\" height=\"45.9502\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset />\r\n <feGaussianBlur stdDeviation=\"5\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.288333 0 0 0 0 0.3129 0 0 0 0 0.4 0 0 0 0.14 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_41755\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_41755\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"!brandLogo\" class=\"upload-placeholder\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\">\r\n <path d=\"M3.5 32C2.57174 32 1.6815 31.6313 1.02513 30.9749C0.368749 30.3185 0 29.4283 0 28.5L0 3.5C0 1.568 1.568 0 3.5 0H20.5C22.432 0 24 1.568 24 3.5V28.5C24 28.67 23.988 28.836 23.964 29H28.5C28.6326 29 28.7598 28.9473 28.8536 28.8536C28.9473 28.7598 29 28.6326 29 28.5V16.57C29.0001 16.4877 28.9798 16.4068 28.9411 16.3342C28.9024 16.2616 28.8464 16.1997 28.778 16.154L26.668 14.748C26.5041 14.6387 26.3633 14.4983 26.2537 14.3346C26.1441 14.1709 26.0678 13.9873 26.0292 13.7942C25.9906 13.601 25.9904 13.4021 26.0286 13.2089C26.0668 13.0157 26.1427 12.8319 26.252 12.668C26.3613 12.5041 26.5017 12.3633 26.6654 12.2537C26.8291 12.1441 27.0127 12.0678 27.2058 12.0292C27.399 11.9906 27.5979 11.9904 27.7911 12.0286C27.9843 12.0668 28.1681 12.1427 28.332 12.252L30.442 13.658C31.416 14.308 32 15.4 32 16.57V28.5C32 29.4283 31.6313 30.3185 30.9749 30.9749C30.3185 31.6313 29.4283 32 28.5 32H21.5C21.367 31.9998 21.2345 31.9824 21.106 31.948C20.908 31.982 20.706 32 20.5 32H14.5C14.1022 32 13.7206 31.842 13.4393 31.5607C13.158 31.2794 13 30.8978 13 30.5V28H11V30.5C11 30.8978 10.842 31.2794 10.5607 31.5607C10.2794 31.842 9.89783 32 9.5 32H3.5ZM3 28.5C3 28.776 3.224 29 3.5 29H8V26.5C8 26.1022 8.15804 25.7206 8.43934 25.4393C8.72064 25.158 9.10218 25 9.5 25H14.5C14.8978 25 15.2794 25.158 15.5607 25.4393C15.842 25.7206 16 26.1022 16 26.5V29H20.5C20.6326 29 20.7598 28.9473 20.8536 28.8536C20.9473 28.7598 21 28.6326 21 28.5V3.5C21 3.36739 20.9473 3.24022 20.8536 3.14645C20.7598 3.05268 20.6326 3 20.5 3H3.5C3.36739 3 3.24022 3.05268 3.14645 3.14645C3.05268 3.24022 3 3.36739 3 3.5V28.5ZM7.5 12H8.5C8.89782 12 9.27936 12.158 9.56066 12.4393C9.84196 12.7206 10 13.1022 10 13.5C10 13.8978 9.84196 14.2794 9.56066 14.5607C9.27936 14.842 8.89782 15 8.5 15H7.5C7.10218 15 6.72064 14.842 6.43934 14.5607C6.15804 14.2794 6 13.8978 6 13.5C6 13.1022 6.15804 12.7206 6.43934 12.4393C6.72064 12.158 7.10218 12 7.5 12ZM6 7.5C6 7.10218 6.15804 6.72064 6.43934 6.43934C6.72064 6.15804 7.10218 6 7.5 6H8.5C8.89782 6 9.27936 6.15804 9.56066 6.43934C9.84196 6.72064 10 7.10218 10 7.5C10 7.89782 9.84196 8.27936 9.56066 8.56066C9.27936 8.84196 8.89782 9 8.5 9H7.5C7.10218 9 6.72064 8.84196 6.43934 8.56066C6.15804 8.27936 6 7.89782 6 7.5ZM14 13.5C14 13.1022 14.158 12.7206 14.4393 12.4393C14.7206 12.158 15.1022 12 15.5 12H16.5C16.8978 12 17.2794 12.158 17.5607 12.4393C17.842 12.7206 18 13.1022 18 13.5C18 13.8978 17.842 14.2794 17.5607 14.5607C17.2794 14.842 16.8978 15 16.5 15H15.5C15.1022 15 14.7206 14.842 14.4393 14.5607C14.158 14.2794 14 13.8978 14 13.5ZM15.5 6H16.5C16.8978 6 17.2794 6.15804 17.5607 6.43934C17.842 6.72064 18 7.10218 18 7.5C18 7.89782 17.842 8.27936 17.5607 8.56066C17.2794 8.84196 16.8978 9 16.5 9H15.5C15.1022 9 14.7206 8.84196 14.4393 8.56066C14.158 8.27936 14 7.89782 14 7.5C14 7.10218 14.158 6.72064 14.4393 6.43934C14.7206 6.15804 15.1022 6 15.5 6ZM6 19.5C6 19.1022 6.15804 18.7206 6.43934 18.4393C6.72064 18.158 7.10218 18 7.5 18H8.5C8.89782 18 9.27936 18.158 9.56066 18.4393C9.84196 18.7206 10 19.1022 10 19.5C10 19.8978 9.84196 20.2794 9.56066 20.5607C9.27936 20.842 8.89782 21 8.5 21H7.5C7.10218 21 6.72064 20.842 6.43934 20.5607C6.15804 20.2794 6 19.8978 6 19.5ZM15.5 18H16.5C16.8978 18 17.2794 18.158 17.5607 18.4393C17.842 18.7206 18 19.1022 18 19.5C18 19.8978 17.842 20.2794 17.5607 20.5607C17.2794 20.842 16.8978 21 16.5 21H15.5C15.1022 21 14.7206 20.842 14.4393 20.5607C14.158 20.2794 14 19.8978 14 19.5C14 19.1022 14.158 18.7206 14.4393 18.4393C14.7206 18.158 15.1022 18 15.5 18Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-md-10\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">Brand Name <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"brandName\" type=\"type\" class=\"form-control disabled-input\" id=\"brandName\" autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredCompanyName\" class=\"form-label\">Registered Company Name <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredCompanyName\" type=\"type\" class=\"form-control\" id=\"registeredCompanyName\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"industry\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"industry\" [label]=\"'Industry Type'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"clientType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"clientType\" [label]=\"'Firm Type'\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredEmail\" class=\"form-label\">Registered Email <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"corporateEmail\" type=\"type\" class=\"form-control disabled-input\" id=\"registeredEmail\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"contactNumber\" class=\"form-label\">Contact number <span class=\"alert-required\"></span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-4 col-xl-4\">\r\n \r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown ps-3 pe-8\" \r\n id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country.phonecode\">{{country.name}}<span class=\"text-muted\">({{ country.phonecode\r\n }})</span></option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-8 col-xl-8\">\r\n\r\n <input formControlName=\"mobileNumber\" type=\"text\" class=\"form-control mobile-number-input \" (keypress)=\"omit_special_char($event)\" \r\n id=\"phonenumber\" autocomplete=\"off\" minlength=\"7\" maxlength=\"15\">\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"input-group \">\r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown disabled-input\" id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country?.phonecode\">{{country?.isoCode}}</option>\r\n </select>\r\n <input disabled class=\"form-control country-code-input disabled-input\" [value]=\"brandInfoForm.get('countryCode')?.value ? brandInfoForm.get('countryCode')?.value : ''\" readonly>\r\n <input formControlName=\"mobileNumber\" type=\"number\" class=\"form-control mobile-number-input disabled-input ps-0\"\r\n id=\"contactNumber\" autocomplete=\"off\">\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredAddress\" class=\"form-label\">Registered Address <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredAddress\" type=\"type\" class=\"form-control\" id=\"registeredAddress\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"headQuarters\" class=\"form-label\">Head Quarters <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"headQuarters\" type=\"type\" class=\"form-control\" id=\"headQuarters\" autocomplete=\"off\">\r\n\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"companyWebsite\" class=\"form-label\">Company Website <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"website\" type=\"type\" class=\"form-control\" id=\"companyWebsite\" autocomplete=\"off\">\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"status\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"status\" [label]=\"'Processing Status'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"averageTransactionValue\" class=\"form-label\">Average Transaction Value <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"averageTransactionValue\" type=\"type\" class=\"form-control\" id=\"averageTransactionValue\" autocomplete=\"off\">\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"brandInfoForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n</div>\r\n\r\n</form>", styles: [".upload-container{height:120px;width:130px;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--Gray-100, #F2F4F7);background:var(--Gray-50, #F9FAFB)}.upload-container .upload-icon{position:absolute;right:-20px;top:-20px;cursor:pointer}.upload-container img,.upload-container .upload-placeholder{border-radius:5px;overflow:hidden}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.country-text-dropdown{padding:0 0 0 14px;background-color:#f9fafb}.country-code-input{padding:0;border-radius:0!important;max-width:45px;border-right:0px!important;border-left:0px!important;background-color:#f9fafb!important}.mobile-number-input{background-color:#f9fafb!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.disabled-input{pointer-events:none;background-color:#f9fafb!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
146
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BrandInfoComponent, selector: "lib-brand-info", viewQueries: [{ propertyName: "uploadInput", first: true, predicate: ["imageInput"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"brandInfoForm\" >\r\n<div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.Global_Configuration_isEdit \">\r\n <div *ngIf=\"brandInfoForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button (click)=\"brandInfoForm.disabled ? brandInfoForm.enable() : brandInfoForm.disable()\" type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n <div class=\"col-md-2 mb-5\">\r\n <label for=\"Brand\" class=\"form-label\">Brand Logo <span class=\"alert-required\"></span></label>\r\n <input #imageInput accept=\".png, .jpg, .jpeg\" (change)=\"onFileSelect($event)\" [disabled]=\"brandInfoForm.disabled\" style=\"display: none;\" type=\"file\">\r\n <div class=\"upload-container\">\r\n <img class=\"img-upload\" [src]=\"brandLogo\" alt=\"\">\r\n <svg (click)=\"triggerFileInput()\" class=\"upload-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"46\" viewBox=\"0 0 48 46\"\r\n fill=\"none\">\r\n <g filter=\"url(#filter0_d_2_41755)\">\r\n <rect x=\"10\" y=\"10\" width=\"27.8037\" height=\"25.9501\" rx=\"12.9751\" fill=\"white\" />\r\n </g>\r\n <path d=\"M17.9434 26.2175V28.5348H20.4262L27.7521 21.6972L25.2693 19.3799L17.9434 26.2175Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M29.6671 19.0377L28.1211 17.5948C27.8629 17.3538 27.4425 17.3538 27.1843 17.5948L25.9727 18.7257L28.4555 21.0429L29.6671 19.9121C29.9253 19.6711 29.9253 19.2787 29.6671 19.0377Z\"\r\n fill=\"#98A2B3\" />\r\n <defs>\r\n <filter id=\"filter0_d_2_41755\" x=\"0\" y=\"0\" width=\"47.8037\" height=\"45.9502\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset />\r\n <feGaussianBlur stdDeviation=\"5\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.288333 0 0 0 0 0.3129 0 0 0 0 0.4 0 0 0 0.14 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_41755\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_41755\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"!brandLogo\" class=\"upload-placeholder\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\">\r\n <path d=\"M3.5 32C2.57174 32 1.6815 31.6313 1.02513 30.9749C0.368749 30.3185 0 29.4283 0 28.5L0 3.5C0 1.568 1.568 0 3.5 0H20.5C22.432 0 24 1.568 24 3.5V28.5C24 28.67 23.988 28.836 23.964 29H28.5C28.6326 29 28.7598 28.9473 28.8536 28.8536C28.9473 28.7598 29 28.6326 29 28.5V16.57C29.0001 16.4877 28.9798 16.4068 28.9411 16.3342C28.9024 16.2616 28.8464 16.1997 28.778 16.154L26.668 14.748C26.5041 14.6387 26.3633 14.4983 26.2537 14.3346C26.1441 14.1709 26.0678 13.9873 26.0292 13.7942C25.9906 13.601 25.9904 13.4021 26.0286 13.2089C26.0668 13.0157 26.1427 12.8319 26.252 12.668C26.3613 12.5041 26.5017 12.3633 26.6654 12.2537C26.8291 12.1441 27.0127 12.0678 27.2058 12.0292C27.399 11.9906 27.5979 11.9904 27.7911 12.0286C27.9843 12.0668 28.1681 12.1427 28.332 12.252L30.442 13.658C31.416 14.308 32 15.4 32 16.57V28.5C32 29.4283 31.6313 30.3185 30.9749 30.9749C30.3185 31.6313 29.4283 32 28.5 32H21.5C21.367 31.9998 21.2345 31.9824 21.106 31.948C20.908 31.982 20.706 32 20.5 32H14.5C14.1022 32 13.7206 31.842 13.4393 31.5607C13.158 31.2794 13 30.8978 13 30.5V28H11V30.5C11 30.8978 10.842 31.2794 10.5607 31.5607C10.2794 31.842 9.89783 32 9.5 32H3.5ZM3 28.5C3 28.776 3.224 29 3.5 29H8V26.5C8 26.1022 8.15804 25.7206 8.43934 25.4393C8.72064 25.158 9.10218 25 9.5 25H14.5C14.8978 25 15.2794 25.158 15.5607 25.4393C15.842 25.7206 16 26.1022 16 26.5V29H20.5C20.6326 29 20.7598 28.9473 20.8536 28.8536C20.9473 28.7598 21 28.6326 21 28.5V3.5C21 3.36739 20.9473 3.24022 20.8536 3.14645C20.7598 3.05268 20.6326 3 20.5 3H3.5C3.36739 3 3.24022 3.05268 3.14645 3.14645C3.05268 3.24022 3 3.36739 3 3.5V28.5ZM7.5 12H8.5C8.89782 12 9.27936 12.158 9.56066 12.4393C9.84196 12.7206 10 13.1022 10 13.5C10 13.8978 9.84196 14.2794 9.56066 14.5607C9.27936 14.842 8.89782 15 8.5 15H7.5C7.10218 15 6.72064 14.842 6.43934 14.5607C6.15804 14.2794 6 13.8978 6 13.5C6 13.1022 6.15804 12.7206 6.43934 12.4393C6.72064 12.158 7.10218 12 7.5 12ZM6 7.5C6 7.10218 6.15804 6.72064 6.43934 6.43934C6.72064 6.15804 7.10218 6 7.5 6H8.5C8.89782 6 9.27936 6.15804 9.56066 6.43934C9.84196 6.72064 10 7.10218 10 7.5C10 7.89782 9.84196 8.27936 9.56066 8.56066C9.27936 8.84196 8.89782 9 8.5 9H7.5C7.10218 9 6.72064 8.84196 6.43934 8.56066C6.15804 8.27936 6 7.89782 6 7.5ZM14 13.5C14 13.1022 14.158 12.7206 14.4393 12.4393C14.7206 12.158 15.1022 12 15.5 12H16.5C16.8978 12 17.2794 12.158 17.5607 12.4393C17.842 12.7206 18 13.1022 18 13.5C18 13.8978 17.842 14.2794 17.5607 14.5607C17.2794 14.842 16.8978 15 16.5 15H15.5C15.1022 15 14.7206 14.842 14.4393 14.5607C14.158 14.2794 14 13.8978 14 13.5ZM15.5 6H16.5C16.8978 6 17.2794 6.15804 17.5607 6.43934C17.842 6.72064 18 7.10218 18 7.5C18 7.89782 17.842 8.27936 17.5607 8.56066C17.2794 8.84196 16.8978 9 16.5 9H15.5C15.1022 9 14.7206 8.84196 14.4393 8.56066C14.158 8.27936 14 7.89782 14 7.5C14 7.10218 14.158 6.72064 14.4393 6.43934C14.7206 6.15804 15.1022 6 15.5 6ZM6 19.5C6 19.1022 6.15804 18.7206 6.43934 18.4393C6.72064 18.158 7.10218 18 7.5 18H8.5C8.89782 18 9.27936 18.158 9.56066 18.4393C9.84196 18.7206 10 19.1022 10 19.5C10 19.8978 9.84196 20.2794 9.56066 20.5607C9.27936 20.842 8.89782 21 8.5 21H7.5C7.10218 21 6.72064 20.842 6.43934 20.5607C6.15804 20.2794 6 19.8978 6 19.5ZM15.5 18H16.5C16.8978 18 17.2794 18.158 17.5607 18.4393C17.842 18.7206 18 19.1022 18 19.5C18 19.8978 17.842 20.2794 17.5607 20.5607C17.2794 20.842 16.8978 21 16.5 21H15.5C15.1022 21 14.7206 20.842 14.4393 20.5607C14.158 20.2794 14 19.8978 14 19.5C14 19.1022 14.158 18.7206 14.4393 18.4393C14.7206 18.158 15.1022 18 15.5 18Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-md-10\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">Brand Name <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"brandName\" type=\"type\" class=\"form-control disabled-input\" id=\"brandName\" autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredCompanyName\" class=\"form-label\">Registered Company Name <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredCompanyName\" type=\"type\" class=\"form-control\" id=\"registeredCompanyName\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"industry\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"industry\" [label]=\"'Industry Type'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"clientType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"clientType\" [label]=\"'Firm Type'\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredEmail\" class=\"form-label\">Registered Email <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"corporateEmail\" type=\"type\" class=\"form-control disabled-input\" id=\"registeredEmail\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"contactNumber\" class=\"form-label\">Contact number <span class=\"alert-required\"></span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-4 col-xl-4\">\r\n \r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown ps-3 pe-8\" \r\n id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country.phonecode\">{{country.name}}<span class=\"text-muted\">({{ country.phonecode\r\n }})</span></option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-8 col-xl-8\">\r\n\r\n <input formControlName=\"mobileNumber\" type=\"text\" class=\"form-control mobile-number-input \" (keypress)=\"omit_special_char($event)\" \r\n id=\"phonenumber\" autocomplete=\"off\" minlength=\"7\" maxlength=\"15\">\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"input-group \">\r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown disabled-input\" id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country?.phonecode\">{{country?.isoCode}}</option>\r\n </select>\r\n <input disabled class=\"form-control country-code-input disabled-input\" [value]=\"brandInfoForm.get('countryCode')?.value ? brandInfoForm.get('countryCode')?.value : ''\" readonly>\r\n <input formControlName=\"mobileNumber\" type=\"number\" class=\"form-control mobile-number-input disabled-input ps-0\"\r\n id=\"contactNumber\" autocomplete=\"off\">\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredAddress\" class=\"form-label\">Registered Address <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredAddress\" type=\"type\" class=\"form-control\" id=\"registeredAddress\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"headQuarters\" class=\"form-label\">Head Quarters <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"headQuarters\" type=\"type\" class=\"form-control\" id=\"headQuarters\" autocomplete=\"off\">\r\n\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"companyWebsite\" class=\"form-label\">Company Website <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"website\" type=\"type\" class=\"form-control\" id=\"companyWebsite\" autocomplete=\"off\">\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"status\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"status\" [label]=\"'Processing Status'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"averageTransactionValue\" class=\"form-label\">Average Transaction Value <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"averageTransactionValue\" type=\"type\" class=\"form-control\" id=\"averageTransactionValue\" autocomplete=\"off\">\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"brandInfoForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n</div>\r\n\r\n</form>", styles: [".upload-container{height:120px;width:130px;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--Gray-100, #F2F4F7);background:var(--Gray-50, #F9FAFB)}.upload-container .upload-icon{position:absolute;right:-20px;top:-20px;cursor:pointer}.upload-container img,.upload-container .upload-placeholder{border-radius:5px;overflow:hidden}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.country-text-dropdown{padding:0 0 0 14px;background-color:#f9fafb}.country-code-input{padding:0;border-radius:0!important;max-width:45px;border-right:0px!important;border-left:0px!important;background-color:#f9fafb!important}.mobile-number-input{background-color:#f9fafb!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.disabled-input{pointer-events:none;background-color:#f9fafb!important}.img-upload{height:120px;width:130px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
147
147
  }
148
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BrandInfoComponent, decorators: [{
149
149
  type: Component,
150
- args: [{ selector: 'lib-brand-info', template: "<form [formGroup]=\"brandInfoForm\" >\r\n<div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.Global_Configuration_isEdit \">\r\n <div *ngIf=\"brandInfoForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button (click)=\"brandInfoForm.disabled ? brandInfoForm.enable() : brandInfoForm.disable()\" type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n <div class=\"col-md-2 mb-5\">\r\n <label for=\"Brand\" class=\"form-label\">Brand Logo <span class=\"alert-required\"></span></label>\r\n <input #imageInput accept=\".png, .jpg, .jpeg\" (change)=\"onFileSelect($event)\" [disabled]=\"brandInfoForm.disabled\" style=\"display: none;\" type=\"file\">\r\n <div class=\"upload-container\">\r\n <img [src]=\"brandLogo\" alt=\"\">\r\n <svg (click)=\"triggerFileInput()\" class=\"upload-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"46\" viewBox=\"0 0 48 46\"\r\n fill=\"none\">\r\n <g filter=\"url(#filter0_d_2_41755)\">\r\n <rect x=\"10\" y=\"10\" width=\"27.8037\" height=\"25.9501\" rx=\"12.9751\" fill=\"white\" />\r\n </g>\r\n <path d=\"M17.9434 26.2175V28.5348H20.4262L27.7521 21.6972L25.2693 19.3799L17.9434 26.2175Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M29.6671 19.0377L28.1211 17.5948C27.8629 17.3538 27.4425 17.3538 27.1843 17.5948L25.9727 18.7257L28.4555 21.0429L29.6671 19.9121C29.9253 19.6711 29.9253 19.2787 29.6671 19.0377Z\"\r\n fill=\"#98A2B3\" />\r\n <defs>\r\n <filter id=\"filter0_d_2_41755\" x=\"0\" y=\"0\" width=\"47.8037\" height=\"45.9502\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset />\r\n <feGaussianBlur stdDeviation=\"5\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.288333 0 0 0 0 0.3129 0 0 0 0 0.4 0 0 0 0.14 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_41755\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_41755\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"!brandLogo\" class=\"upload-placeholder\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\">\r\n <path d=\"M3.5 32C2.57174 32 1.6815 31.6313 1.02513 30.9749C0.368749 30.3185 0 29.4283 0 28.5L0 3.5C0 1.568 1.568 0 3.5 0H20.5C22.432 0 24 1.568 24 3.5V28.5C24 28.67 23.988 28.836 23.964 29H28.5C28.6326 29 28.7598 28.9473 28.8536 28.8536C28.9473 28.7598 29 28.6326 29 28.5V16.57C29.0001 16.4877 28.9798 16.4068 28.9411 16.3342C28.9024 16.2616 28.8464 16.1997 28.778 16.154L26.668 14.748C26.5041 14.6387 26.3633 14.4983 26.2537 14.3346C26.1441 14.1709 26.0678 13.9873 26.0292 13.7942C25.9906 13.601 25.9904 13.4021 26.0286 13.2089C26.0668 13.0157 26.1427 12.8319 26.252 12.668C26.3613 12.5041 26.5017 12.3633 26.6654 12.2537C26.8291 12.1441 27.0127 12.0678 27.2058 12.0292C27.399 11.9906 27.5979 11.9904 27.7911 12.0286C27.9843 12.0668 28.1681 12.1427 28.332 12.252L30.442 13.658C31.416 14.308 32 15.4 32 16.57V28.5C32 29.4283 31.6313 30.3185 30.9749 30.9749C30.3185 31.6313 29.4283 32 28.5 32H21.5C21.367 31.9998 21.2345 31.9824 21.106 31.948C20.908 31.982 20.706 32 20.5 32H14.5C14.1022 32 13.7206 31.842 13.4393 31.5607C13.158 31.2794 13 30.8978 13 30.5V28H11V30.5C11 30.8978 10.842 31.2794 10.5607 31.5607C10.2794 31.842 9.89783 32 9.5 32H3.5ZM3 28.5C3 28.776 3.224 29 3.5 29H8V26.5C8 26.1022 8.15804 25.7206 8.43934 25.4393C8.72064 25.158 9.10218 25 9.5 25H14.5C14.8978 25 15.2794 25.158 15.5607 25.4393C15.842 25.7206 16 26.1022 16 26.5V29H20.5C20.6326 29 20.7598 28.9473 20.8536 28.8536C20.9473 28.7598 21 28.6326 21 28.5V3.5C21 3.36739 20.9473 3.24022 20.8536 3.14645C20.7598 3.05268 20.6326 3 20.5 3H3.5C3.36739 3 3.24022 3.05268 3.14645 3.14645C3.05268 3.24022 3 3.36739 3 3.5V28.5ZM7.5 12H8.5C8.89782 12 9.27936 12.158 9.56066 12.4393C9.84196 12.7206 10 13.1022 10 13.5C10 13.8978 9.84196 14.2794 9.56066 14.5607C9.27936 14.842 8.89782 15 8.5 15H7.5C7.10218 15 6.72064 14.842 6.43934 14.5607C6.15804 14.2794 6 13.8978 6 13.5C6 13.1022 6.15804 12.7206 6.43934 12.4393C6.72064 12.158 7.10218 12 7.5 12ZM6 7.5C6 7.10218 6.15804 6.72064 6.43934 6.43934C6.72064 6.15804 7.10218 6 7.5 6H8.5C8.89782 6 9.27936 6.15804 9.56066 6.43934C9.84196 6.72064 10 7.10218 10 7.5C10 7.89782 9.84196 8.27936 9.56066 8.56066C9.27936 8.84196 8.89782 9 8.5 9H7.5C7.10218 9 6.72064 8.84196 6.43934 8.56066C6.15804 8.27936 6 7.89782 6 7.5ZM14 13.5C14 13.1022 14.158 12.7206 14.4393 12.4393C14.7206 12.158 15.1022 12 15.5 12H16.5C16.8978 12 17.2794 12.158 17.5607 12.4393C17.842 12.7206 18 13.1022 18 13.5C18 13.8978 17.842 14.2794 17.5607 14.5607C17.2794 14.842 16.8978 15 16.5 15H15.5C15.1022 15 14.7206 14.842 14.4393 14.5607C14.158 14.2794 14 13.8978 14 13.5ZM15.5 6H16.5C16.8978 6 17.2794 6.15804 17.5607 6.43934C17.842 6.72064 18 7.10218 18 7.5C18 7.89782 17.842 8.27936 17.5607 8.56066C17.2794 8.84196 16.8978 9 16.5 9H15.5C15.1022 9 14.7206 8.84196 14.4393 8.56066C14.158 8.27936 14 7.89782 14 7.5C14 7.10218 14.158 6.72064 14.4393 6.43934C14.7206 6.15804 15.1022 6 15.5 6ZM6 19.5C6 19.1022 6.15804 18.7206 6.43934 18.4393C6.72064 18.158 7.10218 18 7.5 18H8.5C8.89782 18 9.27936 18.158 9.56066 18.4393C9.84196 18.7206 10 19.1022 10 19.5C10 19.8978 9.84196 20.2794 9.56066 20.5607C9.27936 20.842 8.89782 21 8.5 21H7.5C7.10218 21 6.72064 20.842 6.43934 20.5607C6.15804 20.2794 6 19.8978 6 19.5ZM15.5 18H16.5C16.8978 18 17.2794 18.158 17.5607 18.4393C17.842 18.7206 18 19.1022 18 19.5C18 19.8978 17.842 20.2794 17.5607 20.5607C17.2794 20.842 16.8978 21 16.5 21H15.5C15.1022 21 14.7206 20.842 14.4393 20.5607C14.158 20.2794 14 19.8978 14 19.5C14 19.1022 14.158 18.7206 14.4393 18.4393C14.7206 18.158 15.1022 18 15.5 18Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-md-10\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">Brand Name <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"brandName\" type=\"type\" class=\"form-control disabled-input\" id=\"brandName\" autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredCompanyName\" class=\"form-label\">Registered Company Name <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredCompanyName\" type=\"type\" class=\"form-control\" id=\"registeredCompanyName\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"industry\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"industry\" [label]=\"'Industry Type'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"clientType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"clientType\" [label]=\"'Firm Type'\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredEmail\" class=\"form-label\">Registered Email <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"corporateEmail\" type=\"type\" class=\"form-control disabled-input\" id=\"registeredEmail\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"contactNumber\" class=\"form-label\">Contact number <span class=\"alert-required\"></span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-4 col-xl-4\">\r\n \r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown ps-3 pe-8\" \r\n id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country.phonecode\">{{country.name}}<span class=\"text-muted\">({{ country.phonecode\r\n }})</span></option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-8 col-xl-8\">\r\n\r\n <input formControlName=\"mobileNumber\" type=\"text\" class=\"form-control mobile-number-input \" (keypress)=\"omit_special_char($event)\" \r\n id=\"phonenumber\" autocomplete=\"off\" minlength=\"7\" maxlength=\"15\">\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"input-group \">\r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown disabled-input\" id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country?.phonecode\">{{country?.isoCode}}</option>\r\n </select>\r\n <input disabled class=\"form-control country-code-input disabled-input\" [value]=\"brandInfoForm.get('countryCode')?.value ? brandInfoForm.get('countryCode')?.value : ''\" readonly>\r\n <input formControlName=\"mobileNumber\" type=\"number\" class=\"form-control mobile-number-input disabled-input ps-0\"\r\n id=\"contactNumber\" autocomplete=\"off\">\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredAddress\" class=\"form-label\">Registered Address <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredAddress\" type=\"type\" class=\"form-control\" id=\"registeredAddress\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"headQuarters\" class=\"form-label\">Head Quarters <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"headQuarters\" type=\"type\" class=\"form-control\" id=\"headQuarters\" autocomplete=\"off\">\r\n\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"companyWebsite\" class=\"form-label\">Company Website <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"website\" type=\"type\" class=\"form-control\" id=\"companyWebsite\" autocomplete=\"off\">\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"status\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"status\" [label]=\"'Processing Status'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"averageTransactionValue\" class=\"form-label\">Average Transaction Value <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"averageTransactionValue\" type=\"type\" class=\"form-control\" id=\"averageTransactionValue\" autocomplete=\"off\">\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"brandInfoForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n</div>\r\n\r\n</form>", styles: [".upload-container{height:120px;width:130px;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--Gray-100, #F2F4F7);background:var(--Gray-50, #F9FAFB)}.upload-container .upload-icon{position:absolute;right:-20px;top:-20px;cursor:pointer}.upload-container img,.upload-container .upload-placeholder{border-radius:5px;overflow:hidden}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.country-text-dropdown{padding:0 0 0 14px;background-color:#f9fafb}.country-code-input{padding:0;border-radius:0!important;max-width:45px;border-right:0px!important;border-left:0px!important;background-color:#f9fafb!important}.mobile-number-input{background-color:#f9fafb!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.disabled-input{pointer-events:none;background-color:#f9fafb!important}\n"] }]
150
+ args: [{ selector: 'lib-brand-info', template: "<form [formGroup]=\"brandInfoForm\" >\r\n<div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.Global_Configuration_isEdit \">\r\n <div *ngIf=\"brandInfoForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button (click)=\"brandInfoForm.disabled ? brandInfoForm.enable() : brandInfoForm.disable()\" type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n <div class=\"col-md-2 mb-5\">\r\n <label for=\"Brand\" class=\"form-label\">Brand Logo <span class=\"alert-required\"></span></label>\r\n <input #imageInput accept=\".png, .jpg, .jpeg\" (change)=\"onFileSelect($event)\" [disabled]=\"brandInfoForm.disabled\" style=\"display: none;\" type=\"file\">\r\n <div class=\"upload-container\">\r\n <img class=\"img-upload\" [src]=\"brandLogo\" alt=\"\">\r\n <svg (click)=\"triggerFileInput()\" class=\"upload-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"46\" viewBox=\"0 0 48 46\"\r\n fill=\"none\">\r\n <g filter=\"url(#filter0_d_2_41755)\">\r\n <rect x=\"10\" y=\"10\" width=\"27.8037\" height=\"25.9501\" rx=\"12.9751\" fill=\"white\" />\r\n </g>\r\n <path d=\"M17.9434 26.2175V28.5348H20.4262L27.7521 21.6972L25.2693 19.3799L17.9434 26.2175Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M29.6671 19.0377L28.1211 17.5948C27.8629 17.3538 27.4425 17.3538 27.1843 17.5948L25.9727 18.7257L28.4555 21.0429L29.6671 19.9121C29.9253 19.6711 29.9253 19.2787 29.6671 19.0377Z\"\r\n fill=\"#98A2B3\" />\r\n <defs>\r\n <filter id=\"filter0_d_2_41755\" x=\"0\" y=\"0\" width=\"47.8037\" height=\"45.9502\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset />\r\n <feGaussianBlur stdDeviation=\"5\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.288333 0 0 0 0 0.3129 0 0 0 0 0.4 0 0 0 0.14 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_41755\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_41755\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"!brandLogo\" class=\"upload-placeholder\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\">\r\n <path d=\"M3.5 32C2.57174 32 1.6815 31.6313 1.02513 30.9749C0.368749 30.3185 0 29.4283 0 28.5L0 3.5C0 1.568 1.568 0 3.5 0H20.5C22.432 0 24 1.568 24 3.5V28.5C24 28.67 23.988 28.836 23.964 29H28.5C28.6326 29 28.7598 28.9473 28.8536 28.8536C28.9473 28.7598 29 28.6326 29 28.5V16.57C29.0001 16.4877 28.9798 16.4068 28.9411 16.3342C28.9024 16.2616 28.8464 16.1997 28.778 16.154L26.668 14.748C26.5041 14.6387 26.3633 14.4983 26.2537 14.3346C26.1441 14.1709 26.0678 13.9873 26.0292 13.7942C25.9906 13.601 25.9904 13.4021 26.0286 13.2089C26.0668 13.0157 26.1427 12.8319 26.252 12.668C26.3613 12.5041 26.5017 12.3633 26.6654 12.2537C26.8291 12.1441 27.0127 12.0678 27.2058 12.0292C27.399 11.9906 27.5979 11.9904 27.7911 12.0286C27.9843 12.0668 28.1681 12.1427 28.332 12.252L30.442 13.658C31.416 14.308 32 15.4 32 16.57V28.5C32 29.4283 31.6313 30.3185 30.9749 30.9749C30.3185 31.6313 29.4283 32 28.5 32H21.5C21.367 31.9998 21.2345 31.9824 21.106 31.948C20.908 31.982 20.706 32 20.5 32H14.5C14.1022 32 13.7206 31.842 13.4393 31.5607C13.158 31.2794 13 30.8978 13 30.5V28H11V30.5C11 30.8978 10.842 31.2794 10.5607 31.5607C10.2794 31.842 9.89783 32 9.5 32H3.5ZM3 28.5C3 28.776 3.224 29 3.5 29H8V26.5C8 26.1022 8.15804 25.7206 8.43934 25.4393C8.72064 25.158 9.10218 25 9.5 25H14.5C14.8978 25 15.2794 25.158 15.5607 25.4393C15.842 25.7206 16 26.1022 16 26.5V29H20.5C20.6326 29 20.7598 28.9473 20.8536 28.8536C20.9473 28.7598 21 28.6326 21 28.5V3.5C21 3.36739 20.9473 3.24022 20.8536 3.14645C20.7598 3.05268 20.6326 3 20.5 3H3.5C3.36739 3 3.24022 3.05268 3.14645 3.14645C3.05268 3.24022 3 3.36739 3 3.5V28.5ZM7.5 12H8.5C8.89782 12 9.27936 12.158 9.56066 12.4393C9.84196 12.7206 10 13.1022 10 13.5C10 13.8978 9.84196 14.2794 9.56066 14.5607C9.27936 14.842 8.89782 15 8.5 15H7.5C7.10218 15 6.72064 14.842 6.43934 14.5607C6.15804 14.2794 6 13.8978 6 13.5C6 13.1022 6.15804 12.7206 6.43934 12.4393C6.72064 12.158 7.10218 12 7.5 12ZM6 7.5C6 7.10218 6.15804 6.72064 6.43934 6.43934C6.72064 6.15804 7.10218 6 7.5 6H8.5C8.89782 6 9.27936 6.15804 9.56066 6.43934C9.84196 6.72064 10 7.10218 10 7.5C10 7.89782 9.84196 8.27936 9.56066 8.56066C9.27936 8.84196 8.89782 9 8.5 9H7.5C7.10218 9 6.72064 8.84196 6.43934 8.56066C6.15804 8.27936 6 7.89782 6 7.5ZM14 13.5C14 13.1022 14.158 12.7206 14.4393 12.4393C14.7206 12.158 15.1022 12 15.5 12H16.5C16.8978 12 17.2794 12.158 17.5607 12.4393C17.842 12.7206 18 13.1022 18 13.5C18 13.8978 17.842 14.2794 17.5607 14.5607C17.2794 14.842 16.8978 15 16.5 15H15.5C15.1022 15 14.7206 14.842 14.4393 14.5607C14.158 14.2794 14 13.8978 14 13.5ZM15.5 6H16.5C16.8978 6 17.2794 6.15804 17.5607 6.43934C17.842 6.72064 18 7.10218 18 7.5C18 7.89782 17.842 8.27936 17.5607 8.56066C17.2794 8.84196 16.8978 9 16.5 9H15.5C15.1022 9 14.7206 8.84196 14.4393 8.56066C14.158 8.27936 14 7.89782 14 7.5C14 7.10218 14.158 6.72064 14.4393 6.43934C14.7206 6.15804 15.1022 6 15.5 6ZM6 19.5C6 19.1022 6.15804 18.7206 6.43934 18.4393C6.72064 18.158 7.10218 18 7.5 18H8.5C8.89782 18 9.27936 18.158 9.56066 18.4393C9.84196 18.7206 10 19.1022 10 19.5C10 19.8978 9.84196 20.2794 9.56066 20.5607C9.27936 20.842 8.89782 21 8.5 21H7.5C7.10218 21 6.72064 20.842 6.43934 20.5607C6.15804 20.2794 6 19.8978 6 19.5ZM15.5 18H16.5C16.8978 18 17.2794 18.158 17.5607 18.4393C17.842 18.7206 18 19.1022 18 19.5C18 19.8978 17.842 20.2794 17.5607 20.5607C17.2794 20.842 16.8978 21 16.5 21H15.5C15.1022 21 14.7206 20.842 14.4393 20.5607C14.158 20.2794 14 19.8978 14 19.5C14 19.1022 14.158 18.7206 14.4393 18.4393C14.7206 18.158 15.1022 18 15.5 18Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-md-10\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">Brand Name <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"brandName\" type=\"type\" class=\"form-control disabled-input\" id=\"brandName\" autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredCompanyName\" class=\"form-label\">Registered Company Name <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredCompanyName\" type=\"type\" class=\"form-control\" id=\"registeredCompanyName\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"industry\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"industry\" [label]=\"'Industry Type'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"clientType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"clientType\" [label]=\"'Firm Type'\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredEmail\" class=\"form-label\">Registered Email <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"corporateEmail\" type=\"type\" class=\"form-control disabled-input\" id=\"registeredEmail\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"contactNumber\" class=\"form-label\">Contact number <span class=\"alert-required\"></span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-4 col-xl-4\">\r\n \r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown ps-3 pe-8\" \r\n id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country.phonecode\">{{country.name}}<span class=\"text-muted\">({{ country.phonecode\r\n }})</span></option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-8 col-xl-8\">\r\n\r\n <input formControlName=\"mobileNumber\" type=\"text\" class=\"form-control mobile-number-input \" (keypress)=\"omit_special_char($event)\" \r\n id=\"phonenumber\" autocomplete=\"off\" minlength=\"7\" maxlength=\"15\">\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"input-group \">\r\n <select formControlName=\"countryCode\" class=\"form-select country-text-dropdown disabled-input\" id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country?.phonecode\">{{country?.isoCode}}</option>\r\n </select>\r\n <input disabled class=\"form-control country-code-input disabled-input\" [value]=\"brandInfoForm.get('countryCode')?.value ? brandInfoForm.get('countryCode')?.value : ''\" readonly>\r\n <input formControlName=\"mobileNumber\" type=\"number\" class=\"form-control mobile-number-input disabled-input ps-0\"\r\n id=\"contactNumber\" autocomplete=\"off\">\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"registeredAddress\" class=\"form-label\">Registered Address <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"registeredAddress\" type=\"type\" class=\"form-control\" id=\"registeredAddress\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"headQuarters\" class=\"form-label\">Head Quarters <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"headQuarters\" type=\"type\" class=\"form-control\" id=\"headQuarters\" autocomplete=\"off\">\r\n\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"companyWebsite\" class=\"form-label\">Company Website <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"website\" type=\"type\" class=\"form-control\" id=\"companyWebsite\" autocomplete=\"off\">\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <lib-reactive-select formControlName=\"status\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"status\" [label]=\"'Processing Status'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"averageTransactionValue\" class=\"form-label\">Average Transaction Value <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"averageTransactionValue\" type=\"type\" class=\"form-control\" id=\"averageTransactionValue\" autocomplete=\"off\">\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"brandInfoForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n</div>\r\n\r\n</form>", styles: [".upload-container{height:120px;width:130px;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--Gray-100, #F2F4F7);background:var(--Gray-50, #F9FAFB)}.upload-container .upload-icon{position:absolute;right:-20px;top:-20px;cursor:pointer}.upload-container img,.upload-container .upload-placeholder{border-radius:5px;overflow:hidden}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.country-text-dropdown{padding:0 0 0 14px;background-color:#f9fafb}.country-code-input{padding:0;border-radius:0!important;max-width:45px;border-right:0px!important;border-left:0px!important;background-color:#f9fafb!important}.mobile-number-input{background-color:#f9fafb!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.disabled-input{pointer-events:none;background-color:#f9fafb!important}.img-upload{height:120px;width:130px}\n"] }]
151
151
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i0.ChangeDetectorRef }, { type: i3.GlobalStateService }], propDecorators: { uploadInput: [{
152
152
  type: ViewChild,
153
153
  args: ['imageInput']
154
154
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2JyYW5kLWRldGFpbHMvYnJhbmQtaW5mby9icmFuZC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9icmFuZC1pbmZvL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVExQyxNQUFNLE9BQU8sa0JBQWtCO0lBaURUO0lBQXlCO0lBQXNDO0lBQThCO0lBL0NqSCxhQUFhLENBQVc7SUFDQyxXQUFXLENBQTBCO0lBQzlELFNBQVMsQ0FBSztJQUNkLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDTCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxRQUFRLENBQU87SUFDZixRQUFRLEdBQUc7UUFDVCxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUN0QyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7UUFDdEQsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1FBQ2hFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO1FBQzlDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFF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SlUsa0JBQWtCOzRGQUFsQixrQkFBa0IsaUtDWC9CLGt6YUE4SU87OzRGRG5JTSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2dMQU9ELFdBQVc7c0JBQW5DLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1icmFuZC1pbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JyYW5kLWluZm8uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFuZEluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBicmFuZEluZm9Gb3JtOiBGb3JtR3JvdXBcclxuICBAVmlld0NoaWxkKCdpbWFnZUlucHV0JykgdXBsb2FkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIGJyYW5kTG9nbzogYW55XHJcbiAgY291bnRyeUxpc3Q6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGxvZ29GaWxlOiBGaWxlO1xyXG4gIGluZHVzdHJ5ID0gW1xyXG4gICAgeyB2YWx1ZTogXCJhcHBhcmVsXCIsIGxhYmVsOiBcIkFwcGFyZWxcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJiYWdzYW5kbHVnZ2FnZVwiLCBsYWJlbDogXCJCYWdzIGFuZCBMdWdnYWdlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiY2FmZXNhbmRyZXN0YXVyYW50c1wiLCBsYWJlbDogXCJDYWZlcyBhbmQgUmVzdGF1cmFudHNcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJlbGVjdHJvbmljc1wiLCBsYWJlbDogXCJFbGVjdHJvbmljc1wiIH0sXHJcbiAgICB7IHZhbHVlOiBcImV2XCIsIGxhYmVsOiBcIkVWXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZXlld2VhclwiLCBsYWJlbDogXCJFeWV3ZWFyXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZmFzaGlvbmFjY2Vzc29yaWVzXCIsIGxhYmVsOiBcIkZhc2hpb24gQWNjZXNzb3JpZXNcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmYXNoaW9uYW5kbGlmZXN0eWxlXCIsIGxhYmVsOiBcIkZhc2hpb24gQW5kIExpZmVzdHlsZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImZpbnRlY2hcIiwgbGFiZWw6IFwiRmludGVjaFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImZvb2RhbmRiZXZlcmFnZVwiLCBsYWJlbDogXCJGb29kIGFuZCBCZXZlcmFnZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImZvb3R3ZWFyXCIsIGxhYmVsOiBcIkZvb3R3ZWFyXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZnVybml0dXJlXCIsIGxhYmVsOiBcIkZ1cm5pdHVyZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImdhbWluZ2NlbnRyZVwiLCBsYWJlbDogXCJHYW1pbmcgQ2VudHJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZ291cm1ldFwiLCBsYWJlbDogXCJHb3VybWV0XCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZ3Jvb21pbmdcIiwgbGFiZWw6IFwiR3Jvb21pbmdcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJob3NwaXRhbFwiLCBsYWJlbDogXCJIb3NwaXRhbFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImludGVyaW9yZGVzaWduXCIsIGxhYmVsOiBcIkludGVyaW9yIERlc2lnblwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImxlYXRoZXJcIiwgbGFiZWw6IFwiTGVhdGhlclwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIm1hdHRyZXNzXCIsIGxhYmVsOiBcIk1hdHRyZXNzXCIgfSxcclxuICAgIHsgdmFsdWU6IFwibnV0cml0aW9uXCIsIGxhYmVsOiBcIk51dHJpdGlvblwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInBlcmZ1bWVcIiwgbGFiZWw6IFwiUGVyZnVtZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInNraW5jYXJlXCIsIGxhYmVsOiBcIlNraW5jYXJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwidGVjaHN0YXJ0dXBcIiwgbGFiZWw6IFwiVGVjaCBTdGFydHVwXCIgfVxyXG4gIF1cclxuXHJcbiAgY2xpZW50VHlwZSA9IFtcclxuICAgIHsgdmFsdWU6IFwicGFydG5lcnNoaXBcIiwgbGFiZWw6IFwiUGFydG5lcnNoaXBcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJwcm9wcmlldG9yc2hpcFwiLCBsYWJlbDogXCJQcm9wcmlldG9yc2hpcFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInB2dGx0ZFwiLCBsYWJlbDogXCJQdnQuIEx0ZFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInBlcnNvblwiLCBsYWJlbDogXCJQZXJzb25cIiB9LFxyXG4gIF1cclxuXHJcbiAgc3RhdHVzID0gW1xyXG4gICAgeyB2YWx1ZTogXCJhY3RpdmVcIiwgbGFiZWw6IFwiQWN0aXZlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiaG9sZFwiLCBsYWJlbDogXCJIb2xkXCIgfSxcclxuICAgIHsgdmFsdWU6IFwic3VzcGVuZGVkXCIsIGxhYmVsOiBcIlN1c3BlbmRcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJkZWFjdGl2ZVwiLCBsYWJlbDogXCJEZWFjdGl2ZVwiIH0sXHJcbiAgXVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXBpU2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmluaXRGb3JtKClcclxuICAgIHRoaXMuZ2V0Q291bnRyeUNvZGVzKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIGlmIChyZXMudHlwZSA9PT0gJ2lucHV0JyAmJiByZXMuZm9ybSA9PT0gJ2JyYW5kLWluZm8nKSB7XHJcbiAgICAgICAgICB0aGlzLnBhdGNoRm9ybShyZXMudmFsdWUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgYnJhbmROYW1lOiBbJyddLFxyXG4gICAgICByZWdpc3RlcmVkQ29tcGFueU5hbWU6IFsnJ10sXHJcbiAgICAgIGluZHVzdHJ5OiBbJyddLFxyXG4gICAgICBjbGllbnRUeXBlOiBbJyddLFxyXG4gICAgICBjb3Jwb3JhdGVFbWFpbDogWycnXSxcclxuICAgICAgY291bnRyeUNvZGU6IFsnJ10sXHJcbiAgICAgIG1vYmlsZU51bWJlcjogWycnXSxcclxuICAgICAgcmVnaXN0ZXJlZEFkZHJlc3M6IFsnJ10sXHJcbiAgICAgIGhlYWRRdWFydGVyczogWycnXSxcclxuICAgICAgd2Vic2l0ZTogWycnXSxcclxuICAgICAgc3RhdHVzOiBbJyddLFxyXG4gICAgICBhdmVyYWdlVHJhbnNhY3Rpb25WYWx1ZTpbJyddLFxyXG4gICAgICBsb2dvOiBbJyddXHJcbiAgICB9KTtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybS5kaXNhYmxlKClcclxuICB9XHJcblxyXG4gIGdldENvdW50cnlDb2RlcygpIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXRBbGxDb3VudHJpZXMoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5TGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcGF0Y2hGb3JtKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5icmFuZEluZm9Gb3JtLnBhdGNoVmFsdWUoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5kYXRhXHJcbiAgICAgIH1cclxuICAgIClcclxuXHJcbiAgICB0aGlzLmJyYW5kTG9nbyA9IGRhdGEubG9nb1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICB9XHJcblxyXG4gIHRyaWdnZXJGaWxlSW5wdXQoKSB7XHJcbiAgICB0aGlzLnVwbG9hZElucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKVxyXG4gIH1cclxuXHJcbiAgb25GaWxlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50YXJnZXQuZmlsZXMgJiYgZXZlbnQudGFyZ2V0LmZpbGVzWzBdKSB7XHJcbiAgICAgIGxldCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xyXG4gICAgICB0aGlzLmxvZ29GaWxlID0gZmlsZVxyXG4gICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmJyYW5kTG9nbyA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGV2ZW50LnRhcmdldC5maWxlc1swXSk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0uZGlzYWJsZSgpXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnY2FuY2VsJywgZm9ybTogJ2JyYW5kLWluZm8nIH0pXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGlmICh0aGlzLmxvZ29GaWxlKSB7XHJcbiAgICAgIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5sb2dvID0gdGhpcy5sb2dvRmlsZVxyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuYnJhbmROYW1lXHJcbiAgICBkZWxldGUgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLmNvcnBvcmF0ZUVtYWlsXHJcbiAgICBkZWxldGUgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLmNvdW50cnlDb2RlXHJcbiAgICBkZWxldGUgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLm1vYmlsZU51bWJlclxyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLCB0eXBlOiAnc3VibWl0JywgZm9ybTogJ2JyYW5kLWluZm8nIH0pXHJcbiAgfVxyXG4gIG9taXRfc3BlY2lhbF9jaGFyKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBrO1xyXG4gICAgayA9IGV2ZW50LmNoYXJDb2RlO1xyXG4gICAgcmV0dXJuIChrID09IDggfHwgayA9PSAzMiB8fCAoayA+PSA0OCAmJiBrIDw9IDU3KSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImJyYW5kSW5mb0Zvcm1cIiA+XHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uR2xvYmFsX0NvbmZpZ3VyYXRpb25faXNFZGl0IFwiPlxyXG4gICAgPGRpdiAqbmdJZj1cImJyYW5kSW5mb0Zvcm0uZGlzYWJsZWRcIiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJicmFuZEluZm9Gb3JtLmRpc2FibGVkID8gYnJhbmRJbmZvRm9ybS5lbmFibGUoKSA6IGJyYW5kSW5mb0Zvcm0uZGlzYWJsZSgpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI1NzlfMjUxMjUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMTY3IDIuNDk5OTNDMTQuMzg1OSAyLjI4MTA2IDE0LjY0NTcgMi4xMDc0NCAxNC45MzE3IDEuOTg4OTlDMTUuMjE3NiAxLjg3MDU0IDE1LjUyNDEgMS44MDk1NyAxNS44MzM3IDEuODA5NTdDMTYuMTQzMiAxLjgwOTU3IDE2LjQ0OTcgMS44NzA1NCAxNi43MzU3IDEuOTg4OTlDMTcuMDIxNiAyLjEwNzQ0IDE3LjI4MTUgMi4yODEwNiAxNy41MDAzIDIuNDk5OTNDMTcuNzE5MiAyLjcxODggMTcuODkyOCAyLjk3ODYzIDE4LjAxMTMgMy4yNjQ2QzE4LjEyOTcgMy41NTA1NyAxOC4xOTA3IDMuODU3MDYgMTguMTkwNyA0LjE2NjU5QzE4LjE5MDcgNC40NzYxMiAxOC4xMjk3IDQuNzgyNjIgMTguMDExMyA1LjA2ODU5QzE3Ljg5MjggNS4zNTQ1NSAxNy43MTkyIDUuNjE0MzkgMTcuNTAwMyA1LjgzMzI2TDYuMjUwMzMgMTcuMDgzM0wxLjY2Njk5IDE4LjMzMzNMMi45MTY5OSAxMy43NDk5TDE0LjE2NyAyLjQ5OTkzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjU3OV8yNTEyNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPkVkaXQgRGV0YWlsczwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+ICAgICAgICBcclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cIkJyYW5kXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QnJhbmQgTG9nbyA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0ICNpbWFnZUlucHV0IGFjY2VwdD1cIi5wbmcsIC5qcGcsIC5qcGVnXCIgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3QoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJicmFuZEluZm9Gb3JtLmRpc2FibGVkXCIgIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiB0eXBlPVwiZmlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJicmFuZExvZ29cIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgPHN2ZyAoY2xpY2spPVwidHJpZ2dlckZpbGVJbnB1dCgpXCIgY2xhc3M9XCJ1cGxvYWQtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDQ4IDQ2XCJcclxuICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yXzQxNzU1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIxMFwiIHk9XCIxMFwiIHdpZHRoPVwiMjcuODAzN1wiIGhlaWdodD1cIjI1Ljk1MDFcIiByeD1cIjEyLjk3NTFcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy45NDM0IDI2LjIxNzVWMjguNTM0OEgyMC40MjYyTDI3Ljc1MjEgMjEuNjk3MkwyNS4yNjkzIDE5LjM3OTlMMTcuOTQzNCAyNi4yMTc1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTI5LjY2NzEgMTkuMDM3N0wyOC4xMjExIDE3LjU5NDhDMjcuODYyOSAxNy4zNTM4IDI3LjQ0MjUgMTcuMzUzOCAyNy4xODQzIDE3LjU5NDhMMjUuOTcyNyAxOC43MjU3TDI4LjQ1NTUgMjEuMDQyOUwyOS42NjcxIDE5LjkxMjFDMjkuOTI1MyAxOS42NzExIDI5LjkyNTMgMTkuMjc4NyAyOS42NjcxIDE5LjAzNzdaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzJfNDE3NTVcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0Ny44MDM3XCIgaGVpZ2h0PVwiNDUuOTUwMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4yODgzMzMgMCAwIDAgMCAwLjMxMjkgMCAwIDAgMCAwLjQgMCAwIDAgMC4xNCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yXzQxNzU1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18yXzQxNzU1XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFicmFuZExvZ29cIiBjbGFzcz1cInVwbG9hZC1wbGFjZWhvbGRlclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy41IDMyQzIuNTcxNzQgMzIgMS42ODE1IDMxLjYzMTMgMS4wMjUxMyAzMC45NzQ5QzAuMzY4NzQ5IDMwLjMxODUgMCAyOS40MjgzIDAgMjguNUwwIDMuNUMwIDEuNTY4IDEuNTY4IDAgMy41IDBIMjAuNUMyMi40MzIgMCAyNCAxLjU2OCAyNCAzLjVWMjguNUMyNCAyOC42NyAyMy45ODggMjguODM2IDIzLjk2NCAyOUgyOC41QzI4LjYzMjYgMjkgMjguNzU5OCAyOC45NDczIDI4Ljg1MzYgMjguODUzNkMyOC45NDczIDI4Ljc1OTggMjkgMjguNjMyNiAyOSAyOC41VjE2LjU3QzI5LjAwMDEgMTYuNDg3NyAyOC45Nzk4IDE2LjQwNjggMjguOTQxMSAxNi4zMzQyQzI4LjkwMjQgMTYuMjYxNiAyOC44NDY0IDE2LjE5OTcgMjguNzc4IDE2LjE1NEwyNi42NjggMTQuNzQ4QzI2LjUwNDEgMTQuNjM4NyAyNi4zNjMzIDE0LjQ5ODMgMjYuMjUzNyAxNC4zMzQ2QzI2LjE0NDEgMTQuMTcwOSAyNi4wNjc4IDEzLjk4NzMgMjYuMDI5MiAxMy43OTQyQzI1Ljk5MDYgMTMuNjAxIDI1Ljk5MDQgMTMuNDAyMSAyNi4wMjg2IDEzLjIwODlDMjYuMDY2OCAxMy4wMTU3IDI2LjE0MjcgMTIuODMxOSAyNi4yNTIgMTIuNjY4QzI2LjM2MTMgMTIuNTA0MSAyNi41MDE3IDEyLjM2MzMgMjYuNjY1NCAxMi4yNTM3QzI2LjgyOTEgMTIuMTQ0MSAyNy4wMTI3IDEyLjA2NzggMjcuMjA1OCAxMi4wMjkyQzI3LjM5OSAxMS45OTA2IDI3LjU5NzkgMTEuOTkwNCAyNy43OTExIDEyLjAyODZDMjcuOTg0MyAxMi4wNjY4IDI4LjE2ODEgMTIuMTQyNyAyOC4zMzIgMTIuMjUyTDMwLjQ0MiAxMy42NThDMzEuNDE2IDE0LjMwOCAzMiAxNS40IDMyIDE2LjU3VjI4LjVDMzIgMjkuNDI4MyAzMS42MzEzIDMwLjMxODUgMzAuOTc0OSAzMC45NzQ5QzMwLjMxODUgMzEuNjMxMyAyOS40MjgzIDMyIDI4LjUgMzJIMjEuNUMyMS4zNjcgMzEuOTk5OCAyMS4yMzQ1IDMxLjk4MjQgMjEuMTA2IDMxLjk0OEMyMC45MDggMzEuOTgyIDIwLjcwNiAzMiAyMC41IDMySDE0LjVDMTQuMTAyMiAzMiAxMy43MjA2IDMxLjg0MiAxMy40MzkzIDMxLjU2MDdDMTMuMTU4IDMxLjI3OTQgMTMgMzAuODk3OCAxMyAzMC41VjI4SDExVjMwLjVDMTEgMzAuODk3OCAxMC44NDIgMzEuMjc5NCAxMC41NjA3IDMxLjU2MDdDMTAuMjc5NCAzMS44NDIgOS44OTc4MyAzMiA5LjUgMzJIMy41Wk0zIDI4LjVDMyAyOC43NzYgMy4yMjQgMjkgMy41IDI5SDhWMjYuNUM4IDI2LjEwMjIgOC4xNTgwNCAyNS43MjA2IDguNDM5MzQgMjUuNDM5M0M4LjcyMDY0IDI1LjE1OCA5LjEwMjE4IDI1IDkuNSAyNUgxNC41QzE0Ljg5NzggMjUgMTUuMjc5NCAyNS4xNTggMTUuNTYwNyAyNS40MzkzQzE1Ljg0MiAyNS43MjA2IDE2IDI2LjEwMjIgMTYgMjYuNVYyOUgyMC41QzIwLjYzMjYgMjkgMjAuNzU5OCAyOC45NDczIDIwLjg1MzYgMjguODUzNkMyMC45NDczIDI4Ljc1OTggMjEgMjguNjMyNiAyMSAyOC41VjMuNUMyMSAzLjM2NzM5IDIwLjk0NzMgMy4yNDAyMiAyMC44NTM2IDMuMTQ2NDVDMjAuNzU5OCAzLjA1MjY4IDIwLjYzMjYgMyAyMC41IDNIMy41QzMuMzY3MzkgMyAzLjI0MDIyIDMuMDUyNjggMy4xNDY0NSAzLjE0NjQ1QzMuMDUyNjggMy4yNDAyMiAzIDMuMzY3MzkgMyAzLjVWMjguNVpNNy41IDEySDguNUM4Ljg5NzgyIDEyIDkuMjc5MzYgMTIuMTU4IDkuNTYwNjYgMTIuNDM5M0M5Ljg0MTk2IDEyLjcyMDYgMTAgMTMuMTAyMiAxMCAxMy41QzEwIDEzLjg5NzggOS44NDE5NiAxNC4yNzk0IDkuNTYwNjYgMTQuNTYwN0M5LjI3OTM2IDE0Ljg0MiA4Ljg5NzgyIDE1IDguNSAxNUg3LjVDNy4xMDIxOCAxNSA2LjcyMDY0IDE0Ljg0MiA2LjQzOTM0IDE0LjU2MDdDNi4xNTgwNCAxNC4yNzk0IDYgMTMuODk3OCA2IDEzLjVDNiAxMy4xMDIyIDYuMTU4MDQgMTIuNzIwNiA2LjQzOTM0IDEyLjQzOTNDNi43MjA2NCAxMi4xNTggNy4xMDIxOCAxMiA3LjUgMTJaTTYgNy41QzYgNy4xMDIxOCA2LjE1ODA0IDYuNzIwNjQgNi40MzkzNCA2LjQzOTM0QzYuNzIwNjQgNi4xNTgwNCA3LjEwMjE4IDYgNy41IDZIOC41QzguODk3ODIgNiA5LjI3OTM2IDYuMTU4MDQgOS41NjA2NiA2LjQzOTM0QzkuODQxOTYgNi43MjA2NCAxMCA3LjEwMjE4IDEwIDcuNUMxMCA3Ljg5NzgyIDkuODQxOTYgOC4yNzkzNiA5LjU2MDY2IDguNTYwNjZDOS4yNzkzNiA4Ljg0MTk2IDguODk3ODIgOSA4LjUgOUg3LjVDNy4xMDIxOCA5IDYuNzIwNjQgOC44NDE5NiA2LjQzOTM0IDguNTYwNjZDNi4xNTgwNCA4LjI3OTM2IDYgNy44OTc4MiA2IDcuNVpNMTQgMTMuNUMxNCAxMy4xMDIyIDE0LjE1OCAxMi43MjA2IDE0LjQzOTMgMTIuNDM5M0MxNC43MjA2IDEyLjE1OCAxNS4xMDIyIDEyIDE1LjUgMTJIMTYuNUMxNi44OTc4IDEyIDE3LjI3OTQgMTIuMTU4IDE3LjU2MDcgMTIuNDM5M0MxNy44NDIgMTIuNzIwNiAxOCAxMy4xMDIyIDE4IDEzLjVDMTggMTMuODk3OCAxNy44NDIgMTQuMjc5NCAxNy41NjA3IDE0LjU2MDdDMTcuMjc5NCAxNC44NDIgMTYuODk3OCAxNSAxNi41IDE1SDE1LjVDMTUuMTAyMiAxNSAxNC43MjA2IDE0Ljg0MiAxNC40MzkzIDE0LjU2MDdDMTQuMTU4IDE0LjI3OTQgMTQgMTMuODk3OCAxNCAxMy41Wk0xNS41IDZIMTYuNUMxNi44OTc4IDYgMTcuMjc5NCA2LjE1ODA0IDE3LjU2MDcgNi40MzkzNEMxNy44NDIgNi43MjA2NCAxOCA3LjEwMjE4IDE4IDcuNUMxOCA3Ljg5NzgyIDE3Ljg0MiA4LjI3OTM2IDE3LjU2MDcgOC41NjA2NkMxNy4yNzk0IDguODQxOTYgMTYuODk3OCA5IDE2LjUgOUgxNS41QzE1LjEwMjIgOSAxNC43MjA2IDguODQxOTYgMTQuNDM5MyA4LjU2MDY2QzE0LjE1OCA4LjI3OTM2IDE0IDcuODk3ODIgMTQgNy41QzE0IDcuMTAyMTggMTQuMTU4IDYuNzIwNjQgMTQuNDM5MyA2LjQzOTM0QzE0LjcyMDYgNi4xNTgwNCAxNS4xMDIyIDYgMTUuNSA2Wk02IDE5LjVDNiAxOS4xMDIyIDYuMTU4MDQgMTguNzIwNiA2LjQzOTM0IDE4LjQzOTNDNi43MjA2NCAxOC4xNTggNy4xMDIxOCAxOCA3LjUgMThIOC41QzguODk3ODIgMTggOS4yNzkzNiAxOC4xNTggOS41NjA2NiAxOC40MzkzQzkuODQxOTYgMTguNzIwNiAxMCAxOS4xMDIyIDEwIDE5LjVDMTAgMTkuODk3OCA5Ljg0MTk2IDIwLjI3OTQgOS41NjA2NiAyMC41NjA3QzkuMjc5MzYgMjAuODQyIDguODk3ODIgMjEgOC41IDIxSDcuNUM3LjEwMjE4IDIxIDYuNzIwNjQgMjAuODQyIDYuNDM5MzQgMjAuNTYwN0M2LjE1ODA0IDIwLjI3OTQgNiAxOS44OTc4IDYgMTkuNVpNMTUuNSAxOEgxNi41QzE2Ljg5NzggMTggMTcuMjc5NCAxOC4xNTggMTcuNTYwNyAxOC40MzkzQzE3Ljg0MiAxOC43MjA2IDE4IDE5LjEwMjIgMTggMTkuNUMxOCAxOS44OTc4IDE3Ljg0MiAyMC4yNzk0IDE3LjU2MDcgMjAuNTYwN0MxNy4yNzk0IDIwLjg0MiAxNi44OTc4IDIxIDE2LjUgMjFIMTUuNUMxNS4xMDIyIDIxIDE0LjcyMDYgMjAuODQyIDE0LjQzOTMgMjAuNTYwN0MxNC4xNTggMjAuMjc5NCAxNCAxOS44OTc4IDE0IDE5LjVDMTQgMTkuMTAyMiAxNC4xNTggMTguNzIwNiAxNC40MzkzIDE4LjQzOTNDMTQuNzIwNiAxOC4xNTggMTUuMTAyMiAxOCAxNS41IDE4WlwiIGZpbGw9XCIjOThBMkIzXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiYnJhbmROYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QnJhbmQgTmFtZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImJyYW5kTmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZGlzYWJsZWQtaW5wdXRcIiBpZD1cImJyYW5kTmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgQ29tcGFueSBOYW1lIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kdXN0cnlcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiaW5kdXN0cnlcIiBbbGFiZWxdPVwiJ0luZHVzdHJ5IFR5cGUnXCIgPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNsaWVudFR5cGVcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiY2xpZW50VHlwZVwiIFtsYWJlbF09XCInRmlybSBUeXBlJ1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lzdGVyZWRFbWFpbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgRW1haWwgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb3Jwb3JhdGVFbWFpbFwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZGlzYWJsZWQtaW5wdXRcIiBpZD1cInJlZ2lzdGVyZWRFbWFpbFwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi03XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImNvbnRhY3ROdW1iZXJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db250YWN0IG51bWJlciA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy00IGNvbC14bC00XCI+XHJcbiAgICAgICBcclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRyeUNvZGVcIiBjbGFzcz1cImZvcm0tc2VsZWN0IGNvdW50cnktdGV4dC1kcm9wZG93biBwcy0zIHBlLThcIiBcclxuICAgICAgICAgICAgICAgICAgICBpZD1cImlucHV0R3JvdXBTZWxlY3QwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIiBjbGFzcz1cIm14LTJcIiBbdmFsdWVdPVwiY291bnRyeS5waG9uZWNvZGVcIj57e2NvdW50cnkubmFtZX19PHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkXCI+KHt7IGNvdW50cnkucGhvbmVjb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgfX0pPC9zcGFuPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy04IGNvbC14bC04XCI+XHJcblxyXG4gICAgICAgICAgICA8aW5wdXQgIGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZU51bWJlclwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbW9iaWxlLW51bWJlci1pbnB1dCBcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwaG9uZW51bWJlclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG1pbmxlbmd0aD1cIjdcIiBtYXhsZW5ndGg9XCIxNVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBcIj5cclxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5Q29kZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgY291bnRyeS10ZXh0LWRyb3Bkb3duIGRpc2FibGVkLWlucHV0XCIgaWQ9XCJpbnB1dEdyb3VwU2VsZWN0MDFcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIiBjbGFzcz1cIm14LTJcIiBbdmFsdWVdPVwiY291bnRyeT8ucGhvbmVjb2RlXCI+e3tjb3VudHJ5Py5pc29Db2RlfX08L29wdGlvbj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxpbnB1dCBkaXNhYmxlZCBjbGFzcz1cImZvcm0tY29udHJvbCBjb3VudHJ5LWNvZGUtaW5wdXQgZGlzYWJsZWQtaW5wdXRcIiBbdmFsdWVdPVwiYnJhbmRJbmZvRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnZhbHVlID8gYnJhbmRJbmZvRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnZhbHVlIDogJydcIiByZWFkb25seT5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZU51bWJlclwiIHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtb2JpbGUtbnVtYmVyLWlucHV0IGRpc2FibGVkLWlucHV0IHBzLTBcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJjb250YWN0TnVtYmVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgQWRkcmVzcyA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInJlZ2lzdGVyZWRBZGRyZXNzXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiaGVhZFF1YXJ0ZXJzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+SGVhZCBRdWFydGVycyA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImhlYWRRdWFydGVyc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImhlYWRRdWFydGVyc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJjb21wYW55V2Vic2l0ZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbXBhbnkgV2Vic2l0ZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIndlYnNpdGVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJjb21wYW55V2Vic2l0ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInN0YXR1c1wiIFtsYWJlbF09XCInUHJvY2Vzc2luZyBTdGF0dXMnXCIgPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJhdmVyYWdlVHJhbnNhY3Rpb25WYWx1ZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkF2ZXJhZ2UgVHJhbnNhY3Rpb24gVmFsdWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJhdmVyYWdlVHJhbnNhY3Rpb25WYWx1ZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImF2ZXJhZ2VUcmFuc2FjdGlvblZhbHVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiYnJhbmRJbmZvRm9ybS5lbmFibGVkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItNSB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbXQtMSBtZS00XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5DYW5jZWw8L2E+XHJcbiAgICAgICAgPGEgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIj48c3Bhbj5TYXZlIENoYW5nZXM8L3NwYW4+PC9hPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPC9mb3JtPiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2JyYW5kLWRldGFpbHMvYnJhbmQtaW5mby9icmFuZC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9icmFuZC1pbmZvL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVExQyxNQUFNLE9BQU8sa0JBQWtCO0lBaURUO0lBQXlCO0lBQXNDO0lBQThCO0lBL0NqSCxhQUFhLENBQVc7SUFDQyxXQUFXLENBQTBCO0lBQzlELFNBQVMsQ0FBSztJQUNkLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDTCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxRQUFRLENBQU87SUFDZixRQUFRLEdBQUc7UUFDVCxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUN0QyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7UUFDdEQsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1FBQ2hFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO1FBQzlDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFF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SlUsa0JBQWtCOzRGQUFsQixrQkFBa0IsaUtDWC9CLHUwYUE4SU87OzRGRG5JTSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2dMQU9ELFdBQVc7c0JBQW5DLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1icmFuZC1pbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JyYW5kLWluZm8uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFuZEluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBicmFuZEluZm9Gb3JtOiBGb3JtR3JvdXBcclxuICBAVmlld0NoaWxkKCdpbWFnZUlucHV0JykgdXBsb2FkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIGJyYW5kTG9nbzogYW55XHJcbiAgY291bnRyeUxpc3Q6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGxvZ29GaWxlOiBGaWxlO1xyXG4gIGluZHVzdHJ5ID0gW1xyXG4gICAgeyB2YWx1ZTogXCJhcHBhcmVsXCIsIGxhYmVsOiBcIkFwcGFyZWxcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJiYWdzYW5kbHVnZ2FnZVwiLCBsYWJlbDogXCJCYWdzIGFuZCBMdWdnYWdlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiY2FmZXNhbmRyZXN0YXVyYW50c1wiLCBsYWJlbDogXCJDYWZlcyBhbmQgUmVzdGF1cmFudHNcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJlbGVjdHJvbmljc1wiLCBsYWJlbDogXCJFbGVjdHJvbmljc1wiIH0sXHJcbiAgICB7IHZhbHVlOiBcImV2XCIsIGxhYmVsOiBcIkVWXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZXlld2VhclwiLCBsYWJlbDogXCJFeWV3ZWFyXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZmFzaGlvbmFjY2Vzc29yaWVzXCIsIGxhYmVsOiBcIkZhc2hpb24gQWNjZXNzb3JpZXNcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmYXNoaW9uYW5kbGlmZXN0eWxlXCIsIGxhYmVsOiBcIkZhc2hpb24gQW5kIExpZmVzdHlsZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImZpbnRlY2hcIiwgbGFiZWw6IFwiRmludGVjaFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImZvb2RhbmRiZXZlcmFnZVwiLCBsYWJlbDogXCJGb29kIGFuZCBCZXZlcmFnZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImZvb3R3ZWFyXCIsIGxhYmVsOiBcIkZvb3R3ZWFyXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZnVybml0dXJlXCIsIGxhYmVsOiBcIkZ1cm5pdHVyZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImdhbWluZ2NlbnRyZVwiLCBsYWJlbDogXCJHYW1pbmcgQ2VudHJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZ291cm1ldFwiLCBsYWJlbDogXCJHb3VybWV0XCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZ3Jvb21pbmdcIiwgbGFiZWw6IFwiR3Jvb21pbmdcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJob3NwaXRhbFwiLCBsYWJlbDogXCJIb3NwaXRhbFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImludGVyaW9yZGVzaWduXCIsIGxhYmVsOiBcIkludGVyaW9yIERlc2lnblwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImxlYXRoZXJcIiwgbGFiZWw6IFwiTGVhdGhlclwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIm1hdHRyZXNzXCIsIGxhYmVsOiBcIk1hdHRyZXNzXCIgfSxcclxuICAgIHsgdmFsdWU6IFwibnV0cml0aW9uXCIsIGxhYmVsOiBcIk51dHJpdGlvblwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInBlcmZ1bWVcIiwgbGFiZWw6IFwiUGVyZnVtZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInNraW5jYXJlXCIsIGxhYmVsOiBcIlNraW5jYXJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwidGVjaHN0YXJ0dXBcIiwgbGFiZWw6IFwiVGVjaCBTdGFydHVwXCIgfVxyXG4gIF1cclxuXHJcbiAgY2xpZW50VHlwZSA9IFtcclxuICAgIHsgdmFsdWU6IFwicGFydG5lcnNoaXBcIiwgbGFiZWw6IFwiUGFydG5lcnNoaXBcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJwcm9wcmlldG9yc2hpcFwiLCBsYWJlbDogXCJQcm9wcmlldG9yc2hpcFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInB2dGx0ZFwiLCBsYWJlbDogXCJQdnQuIEx0ZFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInBlcnNvblwiLCBsYWJlbDogXCJQZXJzb25cIiB9LFxyXG4gIF1cclxuXHJcbiAgc3RhdHVzID0gW1xyXG4gICAgeyB2YWx1ZTogXCJhY3RpdmVcIiwgbGFiZWw6IFwiQWN0aXZlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiaG9sZFwiLCBsYWJlbDogXCJIb2xkXCIgfSxcclxuICAgIHsgdmFsdWU6IFwic3VzcGVuZGVkXCIsIGxhYmVsOiBcIlN1c3BlbmRcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJkZWFjdGl2ZVwiLCBsYWJlbDogXCJEZWFjdGl2ZVwiIH0sXHJcbiAgXVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXBpU2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmluaXRGb3JtKClcclxuICAgIHRoaXMuZ2V0Q291bnRyeUNvZGVzKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIGlmIChyZXMudHlwZSA9PT0gJ2lucHV0JyAmJiByZXMuZm9ybSA9PT0gJ2JyYW5kLWluZm8nKSB7XHJcbiAgICAgICAgICB0aGlzLnBhdGNoRm9ybShyZXMudmFsdWUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgYnJhbmROYW1lOiBbJyddLFxyXG4gICAgICByZWdpc3RlcmVkQ29tcGFueU5hbWU6IFsnJ10sXHJcbiAgICAgIGluZHVzdHJ5OiBbJyddLFxyXG4gICAgICBjbGllbnRUeXBlOiBbJyddLFxyXG4gICAgICBjb3Jwb3JhdGVFbWFpbDogWycnXSxcclxuICAgICAgY291bnRyeUNvZGU6IFsnJ10sXHJcbiAgICAgIG1vYmlsZU51bWJlcjogWycnXSxcclxuICAgICAgcmVnaXN0ZXJlZEFkZHJlc3M6IFsnJ10sXHJcbiAgICAgIGhlYWRRdWFydGVyczogWycnXSxcclxuICAgICAgd2Vic2l0ZTogWycnXSxcclxuICAgICAgc3RhdHVzOiBbJyddLFxyXG4gICAgICBhdmVyYWdlVHJhbnNhY3Rpb25WYWx1ZTpbJyddLFxyXG4gICAgICBsb2dvOiBbJyddXHJcbiAgICB9KTtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybS5kaXNhYmxlKClcclxuICB9XHJcblxyXG4gIGdldENvdW50cnlDb2RlcygpIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXRBbGxDb3VudHJpZXMoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5TGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcGF0Y2hGb3JtKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5icmFuZEluZm9Gb3JtLnBhdGNoVmFsdWUoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5kYXRhXHJcbiAgICAgIH1cclxuICAgIClcclxuXHJcbiAgICB0aGlzLmJyYW5kTG9nbyA9IGRhdGEubG9nb1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICB9XHJcblxyXG4gIHRyaWdnZXJGaWxlSW5wdXQoKSB7XHJcbiAgICB0aGlzLnVwbG9hZElucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKVxyXG4gIH1cclxuXHJcbiAgb25GaWxlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50YXJnZXQuZmlsZXMgJiYgZXZlbnQudGFyZ2V0LmZpbGVzWzBdKSB7XHJcbiAgICAgIGxldCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xyXG4gICAgICB0aGlzLmxvZ29GaWxlID0gZmlsZVxyXG4gICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmJyYW5kTG9nbyA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGV2ZW50LnRhcmdldC5maWxlc1swXSk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0uZGlzYWJsZSgpXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnY2FuY2VsJywgZm9ybTogJ2JyYW5kLWluZm8nIH0pXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGlmICh0aGlzLmxvZ29GaWxlKSB7XHJcbiAgICAgIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5sb2dvID0gdGhpcy5sb2dvRmlsZVxyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuYnJhbmROYW1lXHJcbiAgICBkZWxldGUgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLmNvcnBvcmF0ZUVtYWlsXHJcbiAgICBkZWxldGUgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLmNvdW50cnlDb2RlXHJcbiAgICBkZWxldGUgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLm1vYmlsZU51bWJlclxyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLCB0eXBlOiAnc3VibWl0JywgZm9ybTogJ2JyYW5kLWluZm8nIH0pXHJcbiAgfVxyXG4gIG9taXRfc3BlY2lhbF9jaGFyKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBrO1xyXG4gICAgayA9IGV2ZW50LmNoYXJDb2RlO1xyXG4gICAgcmV0dXJuIChrID09IDggfHwgayA9PSAzMiB8fCAoayA+PSA0OCAmJiBrIDw9IDU3KSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImJyYW5kSW5mb0Zvcm1cIiA+XHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uR2xvYmFsX0NvbmZpZ3VyYXRpb25faXNFZGl0IFwiPlxyXG4gICAgPGRpdiAqbmdJZj1cImJyYW5kSW5mb0Zvcm0uZGlzYWJsZWRcIiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJicmFuZEluZm9Gb3JtLmRpc2FibGVkID8gYnJhbmRJbmZvRm9ybS5lbmFibGUoKSA6IGJyYW5kSW5mb0Zvcm0uZGlzYWJsZSgpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI1NzlfMjUxMjUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMTY3IDIuNDk5OTNDMTQuMzg1OSAyLjI4MTA2IDE0LjY0NTcgMi4xMDc0NCAxNC45MzE3IDEuOTg4OTlDMTUuMjE3NiAxLjg3MDU0IDE1LjUyNDEgMS44MDk1NyAxNS44MzM3IDEuODA5NTdDMTYuMTQzMiAxLjgwOTU3IDE2LjQ0OTcgMS44NzA1NCAxNi43MzU3IDEuOTg4OTlDMTcuMDIxNiAyLjEwNzQ0IDE3LjI4MTUgMi4yODEwNiAxNy41MDAzIDIuNDk5OTNDMTcuNzE5MiAyLjcxODggMTcuODkyOCAyLjk3ODYzIDE4LjAxMTMgMy4yNjQ2QzE4LjEyOTcgMy41NTA1NyAxOC4xOTA3IDMuODU3MDYgMTguMTkwNyA0LjE2NjU5QzE4LjE5MDcgNC40NzYxMiAxOC4xMjk3IDQuNzgyNjIgMTguMDExMyA1LjA2ODU5QzE3Ljg5MjggNS4zNTQ1NSAxNy43MTkyIDUuNjE0MzkgMTcuNTAwMyA1LjgzMzI2TDYuMjUwMzMgMTcuMDgzM0wxLjY2Njk5IDE4LjMzMzNMMi45MTY5OSAxMy43NDk5TDE0LjE2NyAyLjQ5OTkzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjU3OV8yNTEyNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPkVkaXQgRGV0YWlsczwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+ICAgICAgICBcclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cIkJyYW5kXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QnJhbmQgTG9nbyA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0ICNpbWFnZUlucHV0IGFjY2VwdD1cIi5wbmcsIC5qcGcsIC5qcGVnXCIgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3QoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJicmFuZEluZm9Gb3JtLmRpc2FibGVkXCIgIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiB0eXBlPVwiZmlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctdXBsb2FkXCIgW3NyY109XCJicmFuZExvZ29cIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgPHN2ZyAoY2xpY2spPVwidHJpZ2dlckZpbGVJbnB1dCgpXCIgY2xhc3M9XCJ1cGxvYWQtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDQ4IDQ2XCJcclxuICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yXzQxNzU1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIxMFwiIHk9XCIxMFwiIHdpZHRoPVwiMjcuODAzN1wiIGhlaWdodD1cIjI1Ljk1MDFcIiByeD1cIjEyLjk3NTFcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy45NDM0IDI2LjIxNzVWMjguNTM0OEgyMC40MjYyTDI3Ljc1MjEgMjEuNjk3MkwyNS4yNjkzIDE5LjM3OTlMMTcuOTQzNCAyNi4yMTc1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTI5LjY2NzEgMTkuMDM3N0wyOC4xMjExIDE3LjU5NDhDMjcuODYyOSAxNy4zNTM4IDI3LjQ0MjUgMTcuMzUzOCAyNy4xODQzIDE3LjU5NDhMMjUuOTcyNyAxOC43MjU3TDI4LjQ1NTUgMjEuMDQyOUwyOS42NjcxIDE5LjkxMjFDMjkuOTI1MyAxOS42NzExIDI5LjkyNTMgMTkuMjc4NyAyOS42NjcxIDE5LjAzNzdaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzJfNDE3NTVcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0Ny44MDM3XCIgaGVpZ2h0PVwiNDUuOTUwMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4yODgzMzMgMCAwIDAgMCAwLjMxMjkgMCAwIDAgMCAwLjQgMCAwIDAgMC4xNCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yXzQxNzU1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18yXzQxNzU1XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFicmFuZExvZ29cIiBjbGFzcz1cInVwbG9hZC1wbGFjZWhvbGRlclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy41IDMyQzIuNTcxNzQgMzIgMS42ODE1IDMxLjYzMTMgMS4wMjUxMyAzMC45NzQ5QzAuMzY4NzQ5IDMwLjMxODUgMCAyOS40MjgzIDAgMjguNUwwIDMuNUMwIDEuNTY4IDEuNTY4IDAgMy41IDBIMjAuNUMyMi40MzIgMCAyNCAxLjU2OCAyNCAzLjVWMjguNUMyNCAyOC42NyAyMy45ODggMjguODM2IDIzLjk2NCAyOUgyOC41QzI4LjYzMjYgMjkgMjguNzU5OCAyOC45NDczIDI4Ljg1MzYgMjguODUzNkMyOC45NDczIDI4Ljc1OTggMjkgMjguNjMyNiAyOSAyOC41VjE2LjU3QzI5LjAwMDEgMTYuNDg3NyAyOC45Nzk4IDE2LjQwNjggMjguOTQxMSAxNi4zMzQyQzI4LjkwMjQgMTYuMjYxNiAyOC44NDY0IDE2LjE5OTcgMjguNzc4IDE2LjE1NEwyNi42NjggMTQuNzQ4QzI2LjUwNDEgMTQuNjM4NyAyNi4zNjMzIDE0LjQ5ODMgMjYuMjUzNyAxNC4zMzQ2QzI2LjE0NDEgMTQuMTcwOSAyNi4wNjc4IDEzLjk4NzMgMjYuMDI5MiAxMy43OTQyQzI1Ljk5MDYgMTMuNjAxIDI1Ljk5MDQgMTMuNDAyMSAyNi4wMjg2IDEzLjIwODlDMjYuMDY2OCAxMy4wMTU3IDI2LjE0MjcgMTIuODMxOSAyNi4yNTIgMTIuNjY4QzI2LjM2MTMgMTIuNTA0MSAyNi41MDE3IDEyLjM2MzMgMjYuNjY1NCAxMi4yNTM3QzI2LjgyOTEgMTIuMTQ0MSAyNy4wMTI3IDEyLjA2NzggMjcuMjA1OCAxMi4wMjkyQzI3LjM5OSAxMS45OTA2IDI3LjU5NzkgMTEuOTkwNCAyNy43OTExIDEyLjAyODZDMjcuOTg0MyAxMi4wNjY4IDI4LjE2ODEgMTIuMTQyNyAyOC4zMzIgMTIuMjUyTDMwLjQ0MiAxMy42NThDMzEuNDE2IDE0LjMwOCAzMiAxNS40IDMyIDE2LjU3VjI4LjVDMzIgMjkuNDI4MyAzMS42MzEzIDMwLjMxODUgMzAuOTc0OSAzMC45NzQ5QzMwLjMxODUgMzEuNjMxMyAyOS40MjgzIDMyIDI4LjUgMzJIMjEuNUMyMS4zNjcgMzEuOTk5OCAyMS4yMzQ1IDMxLjk4MjQgMjEuMTA2IDMxLjk0OEMyMC45MDggMzEuOTgyIDIwLjcwNiAzMiAyMC41IDMySDE0LjVDMTQuMTAyMiAzMiAxMy43MjA2IDMxLjg0MiAxMy40MzkzIDMxLjU2MDdDMTMuMTU4IDMxLjI3OTQgMTMgMzAuODk3OCAxMyAzMC41VjI4SDExVjMwLjVDMTEgMzAuODk3OCAxMC44NDIgMzEuMjc5NCAxMC41NjA3IDMxLjU2MDdDMTAuMjc5NCAzMS44NDIgOS44OTc4MyAzMiA5LjUgMzJIMy41Wk0zIDI4LjVDMyAyOC43NzYgMy4yMjQgMjkgMy41IDI5SDhWMjYuNUM4IDI2LjEwMjIgOC4xNTgwNCAyNS43MjA2IDguNDM5MzQgMjUuNDM5M0M4LjcyMDY0IDI1LjE1OCA5LjEwMjE4IDI1IDkuNSAyNUgxNC41QzE0Ljg5NzggMjUgMTUuMjc5NCAyNS4xNTggMTUuNTYwNyAyNS40MzkzQzE1Ljg0MiAyNS43MjA2IDE2IDI2LjEwMjIgMTYgMjYuNVYyOUgyMC41QzIwLjYzMjYgMjkgMjAuNzU5OCAyOC45NDczIDIwLjg1MzYgMjguODUzNkMyMC45NDczIDI4Ljc1OTggMjEgMjguNjMyNiAyMSAyOC41VjMuNUMyMSAzLjM2NzM5IDIwLjk0NzMgMy4yNDAyMiAyMC44NTM2IDMuMTQ2NDVDMjAuNzU5OCAzLjA1MjY4IDIwLjYzMjYgMyAyMC41IDNIMy41QzMuMzY3MzkgMyAzLjI0MDIyIDMuMDUyNjggMy4xNDY0NSAzLjE0NjQ1QzMuMDUyNjggMy4yNDAyMiAzIDMuMzY3MzkgMyAzLjVWMjguNVpNNy41IDEySDguNUM4Ljg5NzgyIDEyIDkuMjc5MzYgMTIuMTU4IDkuNTYwNjYgMTIuNDM5M0M5Ljg0MTk2IDEyLjcyMDYgMTAgMTMuMTAyMiAxMCAxMy41QzEwIDEzLjg5NzggOS44NDE5NiAxNC4yNzk0IDkuNTYwNjYgMTQuNTYwN0M5LjI3OTM2IDE0Ljg0MiA4Ljg5NzgyIDE1IDguNSAxNUg3LjVDNy4xMDIxOCAxNSA2LjcyMDY0IDE0Ljg0MiA2LjQzOTM0IDE0LjU2MDdDNi4xNTgwNCAxNC4yNzk0IDYgMTMuODk3OCA2IDEzLjVDNiAxMy4xMDIyIDYuMTU4MDQgMTIuNzIwNiA2LjQzOTM0IDEyLjQzOTNDNi43MjA2NCAxMi4xNTggNy4xMDIxOCAxMiA3LjUgMTJaTTYgNy41QzYgNy4xMDIxOCA2LjE1ODA0IDYuNzIwNjQgNi40MzkzNCA2LjQzOTM0QzYuNzIwNjQgNi4xNTgwNCA3LjEwMjE4IDYgNy41IDZIOC41QzguODk3ODIgNiA5LjI3OTM2IDYuMTU4MDQgOS41NjA2NiA2LjQzOTM0QzkuODQxOTYgNi43MjA2NCAxMCA3LjEwMjE4IDEwIDcuNUMxMCA3Ljg5NzgyIDkuODQxOTYgOC4yNzkzNiA5LjU2MDY2IDguNTYwNjZDOS4yNzkzNiA4Ljg0MTk2IDguODk3ODIgOSA4LjUgOUg3LjVDNy4xMDIxOCA5IDYuNzIwNjQgOC44NDE5NiA2LjQzOTM0IDguNTYwNjZDNi4xNTgwNCA4LjI3OTM2IDYgNy44OTc4MiA2IDcuNVpNMTQgMTMuNUMxNCAxMy4xMDIyIDE0LjE1OCAxMi43MjA2IDE0LjQzOTMgMTIuNDM5M0MxNC43MjA2IDEyLjE1OCAxNS4xMDIyIDEyIDE1LjUgMTJIMTYuNUMxNi44OTc4IDEyIDE3LjI3OTQgMTIuMTU4IDE3LjU2MDcgMTIuNDM5M0MxNy44NDIgMTIuNzIwNiAxOCAxMy4xMDIyIDE4IDEzLjVDMTggMTMuODk3OCAxNy44NDIgMTQuMjc5NCAxNy41NjA3IDE0LjU2MDdDMTcuMjc5NCAxNC44NDIgMTYuODk3OCAxNSAxNi41IDE1SDE1LjVDMTUuMTAyMiAxNSAxNC43MjA2IDE0Ljg0MiAxNC40MzkzIDE0LjU2MDdDMTQuMTU4IDE0LjI3OTQgMTQgMTMuODk3OCAxNCAxMy41Wk0xNS41IDZIMTYuNUMxNi44OTc4IDYgMTcuMjc5NCA2LjE1ODA0IDE3LjU2MDcgNi40MzkzNEMxNy44NDIgNi43MjA2NCAxOCA3LjEwMjE4IDE4IDcuNUMxOCA3Ljg5NzgyIDE3Ljg0MiA4LjI3OTM2IDE3LjU2MDcgOC41NjA2NkMxNy4yNzk0IDguODQxOTYgMTYuODk3OCA5IDE2LjUgOUgxNS41QzE1LjEwMjIgOSAxNC43MjA2IDguODQxOTYgMTQuNDM5MyA4LjU2MDY2QzE0LjE1OCA4LjI3OTM2IDE0IDcuODk3ODIgMTQgNy41QzE0IDcuMTAyMTggMTQuMTU4IDYuNzIwNjQgMTQuNDM5MyA2LjQzOTM0QzE0LjcyMDYgNi4xNTgwNCAxNS4xMDIyIDYgMTUuNSA2Wk02IDE5LjVDNiAxOS4xMDIyIDYuMTU4MDQgMTguNzIwNiA2LjQzOTM0IDE4LjQzOTNDNi43MjA2NCAxOC4xNTggNy4xMDIxOCAxOCA3LjUgMThIOC41QzguODk3ODIgMTggOS4yNzkzNiAxOC4xNTggOS41NjA2NiAxOC40MzkzQzkuODQxOTYgMTguNzIwNiAxMCAxOS4xMDIyIDEwIDE5LjVDMTAgMTkuODk3OCA5Ljg0MTk2IDIwLjI3OTQgOS41NjA2NiAyMC41NjA3QzkuMjc5MzYgMjAuODQyIDguODk3ODIgMjEgOC41IDIxSDcuNUM3LjEwMjE4IDIxIDYuNzIwNjQgMjAuODQyIDYuNDM5MzQgMjAuNTYwN0M2LjE1ODA0IDIwLjI3OTQgNiAxOS44OTc4IDYgMTkuNVpNMTUuNSAxOEgxNi41QzE2Ljg5NzggMTggMTcuMjc5NCAxOC4xNTggMTcuNTYwNyAxOC40MzkzQzE3Ljg0MiAxOC43MjA2IDE4IDE5LjEwMjIgMTggMTkuNUMxOCAxOS44OTc4IDE3Ljg0MiAyMC4yNzk0IDE3LjU2MDcgMjAuNTYwN0MxNy4yNzk0IDIwLjg0MiAxNi44OTc4IDIxIDE2LjUgMjFIMTUuNUMxNS4xMDIyIDIxIDE0LjcyMDYgMjAuODQyIDE0LjQzOTMgMjAuNTYwN0MxNC4xNTggMjAuMjc5NCAxNCAxOS44OTc4IDE0IDE5LjVDMTQgMTkuMTAyMiAxNC4xNTggMTguNzIwNiAxNC40MzkzIDE4LjQzOTNDMTQuNzIwNiAxOC4xNTggMTUuMTAyMiAxOCAxNS41IDE4WlwiIGZpbGw9XCIjOThBMkIzXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiYnJhbmROYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QnJhbmQgTmFtZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImJyYW5kTmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZGlzYWJsZWQtaW5wdXRcIiBpZD1cImJyYW5kTmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgQ29tcGFueSBOYW1lIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kdXN0cnlcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiaW5kdXN0cnlcIiBbbGFiZWxdPVwiJ0luZHVzdHJ5IFR5cGUnXCIgPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNsaWVudFR5cGVcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiY2xpZW50VHlwZVwiIFtsYWJlbF09XCInRmlybSBUeXBlJ1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lzdGVyZWRFbWFpbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgRW1haWwgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb3Jwb3JhdGVFbWFpbFwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZGlzYWJsZWQtaW5wdXRcIiBpZD1cInJlZ2lzdGVyZWRFbWFpbFwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi03XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImNvbnRhY3ROdW1iZXJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db250YWN0IG51bWJlciA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy00IGNvbC14bC00XCI+XHJcbiAgICAgICBcclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRyeUNvZGVcIiBjbGFzcz1cImZvcm0tc2VsZWN0IGNvdW50cnktdGV4dC1kcm9wZG93biBwcy0zIHBlLThcIiBcclxuICAgICAgICAgICAgICAgICAgICBpZD1cImlucHV0R3JvdXBTZWxlY3QwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIiBjbGFzcz1cIm14LTJcIiBbdmFsdWVdPVwiY291bnRyeS5waG9uZWNvZGVcIj57e2NvdW50cnkubmFtZX19PHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkXCI+KHt7IGNvdW50cnkucGhvbmVjb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgfX0pPC9zcGFuPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy04IGNvbC14bC04XCI+XHJcblxyXG4gICAgICAgICAgICA8aW5wdXQgIGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZU51bWJlclwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbW9iaWxlLW51bWJlci1pbnB1dCBcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwaG9uZW51bWJlclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG1pbmxlbmd0aD1cIjdcIiBtYXhsZW5ndGg9XCIxNVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBcIj5cclxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5Q29kZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgY291bnRyeS10ZXh0LWRyb3Bkb3duIGRpc2FibGVkLWlucHV0XCIgaWQ9XCJpbnB1dEdyb3VwU2VsZWN0MDFcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIiBjbGFzcz1cIm14LTJcIiBbdmFsdWVdPVwiY291bnRyeT8ucGhvbmVjb2RlXCI+e3tjb3VudHJ5Py5pc29Db2RlfX08L29wdGlvbj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxpbnB1dCBkaXNhYmxlZCBjbGFzcz1cImZvcm0tY29udHJvbCBjb3VudHJ5LWNvZGUtaW5wdXQgZGlzYWJsZWQtaW5wdXRcIiBbdmFsdWVdPVwiYnJhbmRJbmZvRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnZhbHVlID8gYnJhbmRJbmZvRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnZhbHVlIDogJydcIiByZWFkb25seT5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZU51bWJlclwiIHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtb2JpbGUtbnVtYmVyLWlucHV0IGRpc2FibGVkLWlucHV0IHBzLTBcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJjb250YWN0TnVtYmVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgQWRkcmVzcyA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInJlZ2lzdGVyZWRBZGRyZXNzXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiaGVhZFF1YXJ0ZXJzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+SGVhZCBRdWFydGVycyA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImhlYWRRdWFydGVyc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImhlYWRRdWFydGVyc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJjb21wYW55V2Vic2l0ZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbXBhbnkgV2Vic2l0ZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIndlYnNpdGVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJjb21wYW55V2Vic2l0ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInN0YXR1c1wiIFtsYWJlbF09XCInUHJvY2Vzc2luZyBTdGF0dXMnXCIgPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJhdmVyYWdlVHJhbnNhY3Rpb25WYWx1ZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkF2ZXJhZ2UgVHJhbnNhY3Rpb24gVmFsdWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJhdmVyYWdlVHJhbnNhY3Rpb25WYWx1ZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImF2ZXJhZ2VUcmFuc2FjdGlvblZhbHVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiYnJhbmRJbmZvRm9ybS5lbmFibGVkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItNSB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbXQtMSBtZS00XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5DYW5jZWw8L2E+XHJcbiAgICAgICAgPGEgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIj48c3Bhbj5TYXZlIENoYW5nZXM8L3NwYW4+PC9hPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPC9mb3JtPiJdfQ==
@@ -97,6 +97,8 @@ export class ConfigurationsComponent {
97
97
  isNormalized: data?.featureConfigs?.isNormalized,
98
98
  isPasserByData: data?.featureConfigs?.isPasserByData,
99
99
  isFootfallDirectory: data?.featureConfigs?.isFootfallDirectory,
100
+ isFootfallDirectoryAudit: data?.featureConfigs?.isFootfallDirectoryAudit,
101
+ isFootfallDirectoryLimit: data?.featureConfigs?.isFootfallDirectoryLimit,
100
102
  isExcludedArea: data?.featureConfigs?.isExcludedArea,
101
103
  isCameraDisabled: data?.featureConfigs?.isCameraDisabled,
102
104
  isbillingDisabled: data?.featureConfigs?.isbillingDisabled,
@@ -215,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
215
217
  type: ViewChild,
216
218
  args: ['accordion', { static: true }]
217
219
  }] } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVExQyxNQUFNLE9BQU8sdUJBQXVCO0lBWWQ7SUFBcUM7SUFBOEI7SUFYdkYsVUFBVSxDQUFNO0lBQ0MsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDMUMsc0JBQXNCLENBQU07SUFDNUIsdUJBQXVCLENBQU07SUFDN0Isc0JBQXNCLENBQU07SUFDNUIsb0JBQW9CLENBQU07SUFDMUIsUUFBUSxDQUFPO0lBQzJCLFNBQVMsQ0FBTTtJQUl6RCxZQUFvQixTQUEyQixFQUFVLE9BQXFCLEVBQVMsRUFBcUI7UUFBeEYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDMUcsTUFBTSxJQUFJLEdBQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFBO1FBRXZDLElBQUksQ0FB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LEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDckM7aUJBQ0o7cUJBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQzt3R0FuTlksdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0xDWHBDLDAvUEFnS1U7OzRGRHJKRyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usb0JBQW9CO2lKQVlZLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb25maWd1cmF0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY29uZmlndXJhdGlvbnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpY2tldENvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBmZWF0dXJlQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIGRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICB1c2VyQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIHVzZXJSb2xlOnN0cmluZ1xyXG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIGFjY29yZGlvbjogYW55O1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50QXBpOiBDbGllbnRBcGlTZXJ2aWNlLCBwcml2YXRlIHRvYXN0ZXI6IFRvYXN0U2VydmljZSwgcHVibGljIGdzOkdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgY29uc3QgdXNlcjphbnkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJylcclxuICAgIHRoaXMudXNlclJvbGUgID0gSlNPTi5wYXJzZSh1c2VyKT8ucm9sZVxyXG4gICAgXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlLnR5cGUgPT09ICdzdWJtaXQnKSB7XHJcbiAgICAgICAgdGhpcy5zdWJtaXRGb3JtKGUpXHJcbiAgICAgIH0gZWxzZSBpZiAoZS50eXBlID09PSAnY2FuY2VsJykge1xyXG4gICAgICAgIHRoaXMucmVzZXRGb3JtKGUpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50RGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbnREYXRhID0gZVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKGUpXHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKGUpXHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlVXNlckNvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgb3Blbkl0ZW0oKSB7XHJcbiAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgdGhpcy5wb3B1bGF0ZVVzZXJDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGluc3RhbGxhdGlvblJlQXNzaWduOiBkYXRhPy50aWNrZXRDb25maWdzPy5pbnN0YWxsYXRpb25SZUFzc2lnbixcclxuICAgICAgc2VuZFRvQWRtaW46IGRhdGE/LnRpY2tldENvbmZpZ3M/LmFsZXJ0U2VudFRvPy5hZG1pbixcclxuICAgICAgc2VuZFRvVXNlcjogZGF0YT8udGlja2V0Q29uZmlncz8uYWxlcnRTZW50VG8/LnVzZXIsXHJcbiAgICAgIGRvd25UaW1lVHlwZTogZGF0YT8udGlja2V0Q29uZmlncz8uZG93blRpbWVUeXBlLFxyXG4gICAgICBpbmZyYURvd25UaW1lOiBkYXRhPy50aWNrZXRDb25maWdzPy5pbmZyYURvd25UaW1lLFxyXG4gICAgICBNaW5GaWxlc0NvdW50OiBkYXRhPy50aWNrZXRDb25maWdzPy5NaW5GaWxlc0NvdW50LFxyXG4gICAgICBpc1JjYVRpY2tldEFzc2lnbjogZGF0YT8udGlja2V0Q29uZmlncz8uaXNSY2FUaWNrZXRBc3NpZ24sXHJcbiAgICAgIHJjYVRpY2tldEFzc2lnbjogZGF0YT8udGlja2V0Q29uZmlncz8ucmNhVGlja2V0QXNzaWduLFxyXG4gICAgICBpc1JlZnJlc2hBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8uaXNSZWZyZXNoQWxlcnQsXHJcbiAgICAgIHJlZnJlc2hBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8ucmVmcmVzaEFsZXJ0LFxyXG4gICAgICBpc1N0YXR1c0NoZWNrQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmlzU3RhdHVzQ2hlY2tBbGVydCxcclxuICAgICAgc3RhdHVzQ2hlY2tBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8uc3RhdHVzQ2hlY2tBbGVydCxcclxuICAgICAgcmVUcmFpbjogZGF0YT8udGlja2V0Q29uZmlncz8ucmVUcmFpbixcclxuICAgICAgYWNjdXJhY3lQZXJjZW50YWdlOiBkYXRhPy50aWNrZXRDb25maWdzPy5hY2N1cmFjeVBlcmNlbnRhZ2UsXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aWNrZXRDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAndGlja2V0LWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgb3BlbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm9wZW4sXHJcbiAgICAgIGNsb3NlOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY2xvc2UsXHJcbiAgICAgIGluZnJhQWxlcnRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pbmZyYUFsZXJ0Py5jb25kaXRpb24sXHJcbiAgICAgIGluZnJhQWxlcnRWYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmluZnJhQWxlcnQ/LnZhbHVlLFxyXG4gICAgICBib3VuY2VkTGltaXRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LmNvbmRpdGlvbixcclxuICAgICAgYm91bmNlZExpbWl0VmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlLFxyXG4gICAgICBjb252ZXJzaW9uQ29uZGl0aW9uOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbj8uY29uZGl0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uVmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSxcclxuICAgICAgYmlsbGFibGVDYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJpbGxhYmxlQ2FsY3VsYXRpb24sXHJcbiAgICAgIG1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uQ2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24sXHJcbiAgICAgIGlzTm9ybWFsaXplZDogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZCxcclxuICAgICAgaXNQYXNzZXJCeURhdGE6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1Bhc3NlckJ5RGF0YSxcclxuICAgICAgaXNGb290ZmFsbERpcmVjdG9yeTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxEaXJlY3RvcnksXHJcbiAgICAgIGlzRXhjbHVkZWRBcmVhOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0V4Y2x1ZGVkQXJlYSxcclxuICAgICAgaXNDYW1lcmFEaXNhYmxlZDogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzQ2FtZXJhRGlzYWJsZWQsXHJcbiAgICAgIGlzYmlsbGluZ0Rpc2FibGVkOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc2JpbGxpbmdEaXNhYmxlZCxcclxuICAgICAgaXNOZXdEYXNoYm9hcmQ6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTmV3RGFzaGJvYXJkLFxyXG4gICAgICB1cGRhdGVGZWF0dXJlQ29uZmlnOmRhdGE/LmZlYXR1cmVDb25maWdzPy51cGRhdGVGZWF0dXJlQ29uZmlnLFxyXG4gICAgICBpc0Zvb3RmYWxsQXVkaXRTdG9yZXM6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxBdWRpdFN0b3JlcyxcclxuICAgICAgaXNOZXdUcmFmZmljOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld1RyYWZmaWMsXHJcbiAgICAgIGlzTmV3Wm9uZTpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOZXdab25lLFxyXG4gICAgICBpc05ld1JlcG9ydHM6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTmV3UmVwb3J0cyxcclxuICAgICAgaXNOZXdab25lVjI6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld1pvbmVWMixcclxuICAgICAgaXNOT0I6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05PQixcclxuICAgICAgaXNUcmF4OmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1RyYXhcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZlYXR1cmVDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICdmZWF0dXJlLWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImNsaWVudC1kZXRhaWxzXCIsIEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgZG9tYWluTmFtZTogZGF0YT8uZG9tYWluQ29uZmlnPy5zc29Mb2dpbj8uZG9tYWluTmFtZSxcclxuICAgICAgaXNFbmFibGU6IGRhdGE/LmRvbWFpbkNvbmZpZz8uc3NvTG9naW4/LmlzRW5hYmxlLFxyXG4gICAgICBlbmFibGVXaGl0ZWxpc3Rpbmc6IGRhdGE/LmRvbWFpbkNvbmZpZz8uaXBXaGl0ZWxpc3Rpbmc/LmVuYWJsZVdoaXRlbGlzdGluZyxcclxuICAgICAgYWxsb3dlZElwczogZGF0YT8uZG9tYWluQ29uZmlnPy5pcFdoaXRlbGlzdGluZz8uYWxsb3dlZElwcyxcclxuICAgICAgZW5hYmxlT3RwOiBkYXRhPy5kb21haW5Db25maWc/LmVuYWJsZU90cCxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICdkb21haW4tZGV0YWlscycgfSlcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGNzbTogZGF0YT8uYXNzaWduZWRVc2Vycz8uY3NtLFxyXG4gICAgICBvcHM6IGRhdGE/LmFzc2lnbmVkVXNlcnM/Lm9wcyxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVzZXJDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAndXNlci1jb25maWd1cmF0aW9uJyB9KVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBzdWJtaXRGb3JtKGU6IGFueSkge1xyXG4gICAgaWYgKGUuZm9ybSA9PT0gJ3RpY2tldC1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICBjb25zdCBkYXRhID0gIHRoaXMuZ2V0RGlmZmVyZW50RW50cmllcyh0aGlzLnRpY2tldENvbmZpZ1ByZXZWYWx1ZXMsIGUudmFsdWUpICAgICBcclxuICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KGUuZGF0YT8ucmVzdWx0KVxyXG4gICAgICAgICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnc3VibWl0dGVkJywgZm9ybTogJ251bGwnIH0pXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KGUuZXJyb3I/LmVycm9yKVxyXG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuXHJcbiAgICB9IGVsc2VcclxuICAgICAgaWYgKGUuZm9ybSA9PT0gJ2ZlYXR1cmUtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gIHRoaXMuZ2V0RGlmZmVyZW50RW50cmllcyh0aGlzLmZlYXR1cmVDb25maWdQcmV2VmFsdWVzLCBlLnZhbHVlKVxyXG4gICAgICAgIHRoaXMuY2xpZW50QXBpLnVwZGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YS5jbGllbnRJZCwgZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KGUuZGF0YT8ucmVzdWx0KVxyXG4gICAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgIH0gZWxzZVxyXG4gICAgICAgIGlmIChlLmZvcm0gPT09ICdkb21haW4tZGV0YWlscycpIHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSAgdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMuZG9tYWluQ29uZmlnUHJldlZhbHVlcywgZS52YWx1ZSkgICAgIFxyXG4gICAgICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoZS5kYXRhPy5yZXN1bHQpXHJcbiAgICAgICAgICAgICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnc3VibWl0dGVkJywgZm9ybTogJ251bGwnIH0pXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KGUuZXJyb3I/LmVycm9yKVxyXG4gICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybShlOiBhbnkpIHtcclxuICAgIGlmIChlLmZvcm0gPT09ICd0aWNrZXQtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgfSBlbHNlXHJcbiAgICAgIGlmIChlLmZvcm0gPT09ICdmZWF0dXJlLWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgfSBlbHNlXHJcbiAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ2RvbWFpbi1kZXRhaWxzJykge1xyXG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ3VzZXItY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZVVzZXJDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLmFjY29yZGlvbi5jb2xsYXBzZUFsbCgpXHJcblxyXG4gIH1cclxuXHJcbiBnZXREaWZmZXJlbnRFbnRyaWVzKG9iajE6IFJlY29yZDxzdHJpbmcsIGFueT4sIG9iajI6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIGNvbnN0IGRpZmZlcmVudEVudHJpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iajIpIHtcclxuICAgICAgICBpZiAob2JqMS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iajFba2V5XSkgJiYgQXJyYXkuaXNBcnJheShvYmoyW2tleV0pKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkob2JqMVtrZXldKSAhPT0gSlNPTi5zdHJpbmdpZnkob2JqMltrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpZmZlcmVudEVudHJpZXNba2V5XSA9IG9iajJba2V5XTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChvYmoxW2tleV0gIT09IG9iajJba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgZGlmZmVyZW50RW50cmllc1trZXldID0gb2JqMltrZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpZmZlcmVudEVudHJpZXM7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uICNhY2NvcmRpb249XCJuZ2JBY2NvcmRpb25cIiBbY2xvc2VPdGhlcnNdPVwidHJ1ZVwiIFtkZXN0cm95T25IaWRlXT1cInRydWVcIiAgKHNob3cpPVwib3Blbkl0ZW0oKVwiID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTYgXCIgIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5BdWRpdCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYXVkaXQtY29uZmlndXJhdGlvbj48L2xpYi1hdWRpdC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5FbXBsb3llZSBUcmFpbmluZzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZW1wbG95ZWUtdHJhaW5pbmc+PC9saWItZW1wbG95ZWUtdHJhaW5pbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlRpY2tldCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItdGlja2V0LWNvbmZpZ3VyYXRpb24+PC9saWItdGlja2V0LWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkVtYWlsIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWVtYWlsLWNvbmZpZ3VyYXRpb24+PC9saWItZW1haWwtY29uZmlndXJhdGlvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1lbWFpbC1zY2hlZHVsZXI+PC9saWItZW1haWwtc2NoZWR1bGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5SZXBvcnQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlcG9ydC1jb25maWd1cmF0aW9uPjwvbGliLXJlcG9ydC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5Vc2VyIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi11c2VyLWNvbmZpZ3VyYXRpb24+PC9saWItdXNlci1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlclJvbGUgIT09ICd1c2VyJ1wiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiICBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+U2VjdXJpdHkgRmVhdHVyZXM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLWRvbWFpbi1kZXRhaWxzPjwvbGliLWRvbWFpbi1kZXRhaWxzPiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkZlYXR1cmUgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWZlYXR1cmUtY29uZmlndXJhdGlvbj48L2xpYi1mZWF0dXJlLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkRhc2hib2FyZCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZGFzaGJvYXJkLWNvbmZpZ3VyYXRpb24+PC9saWItZGFzaGJvYXJkLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+Il19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVExQyxNQUFNLE9BQU8sdUJBQXVCO0lBWWQ7SUFBcUM7SUFBOEI7SUFYdkYsVUFBVSxDQUFNO0lBQ0MsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDMUMsc0JBQXNCLENBQU07SUFDNUIsdUJBQXVCLENBQU07SUFDN0Isc0JBQXNCLENBQU07SUFDNUIsb0JBQW9CLENBQU07SUFDMUIsUUFBUSxDQUFPO0lBQzJCLFNBQVMsQ0FBTTtJQUl6RCxZQUFvQixTQUEyQixFQUFVLE9BQXFCLEVBQVMsRUFBcUI7UUFBeEYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDMUcsTUFBTSxJQUFJLEdBQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFBO1FBRXZDLElBQUksQ0FB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QyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7d0JBQ3pELGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDckM7aUJBQ0o7cUJBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQzt3R0FyTlksdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0xDWHBDLDAvUEFnS1U7OzRGRHJKRyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usb0JBQW9CO2lKQVlZLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb25maWd1cmF0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY29uZmlndXJhdGlvbnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpY2tldENvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBmZWF0dXJlQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIGRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICB1c2VyQ29uZmlnUHJldlZhbHVlczogYW55O1xyXG4gIHVzZXJSb2xlOnN0cmluZ1xyXG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIGFjY29yZGlvbjogYW55O1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50QXBpOiBDbGllbnRBcGlTZXJ2aWNlLCBwcml2YXRlIHRvYXN0ZXI6IFRvYXN0U2VydmljZSwgcHVibGljIGdzOkdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgY29uc3QgdXNlcjphbnkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJylcclxuICAgIHRoaXMudXNlclJvbGUgID0gSlNPTi5wYXJzZSh1c2VyKT8ucm9sZVxyXG4gICAgXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlLnR5cGUgPT09ICdzdWJtaXQnKSB7XHJcbiAgICAgICAgdGhpcy5zdWJtaXRGb3JtKGUpXHJcbiAgICAgIH0gZWxzZSBpZiAoZS50eXBlID09PSAnY2FuY2VsJykge1xyXG4gICAgICAgIHRoaXMucmVzZXRGb3JtKGUpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50RGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbnREYXRhID0gZVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKGUpXHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKGUpXHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlVXNlckNvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgb3Blbkl0ZW0oKSB7XHJcbiAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgdGhpcy5wb3B1bGF0ZVVzZXJDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGluc3RhbGxhdGlvblJlQXNzaWduOiBkYXRhPy50aWNrZXRDb25maWdzPy5pbnN0YWxsYXRpb25SZUFzc2lnbixcclxuICAgICAgc2VuZFRvQWRtaW46IGRhdGE/LnRpY2tldENvbmZpZ3M/LmFsZXJ0U2VudFRvPy5hZG1pbixcclxuICAgICAgc2VuZFRvVXNlcjogZGF0YT8udGlja2V0Q29uZmlncz8uYWxlcnRTZW50VG8/LnVzZXIsXHJcbiAgICAgIGRvd25UaW1lVHlwZTogZGF0YT8udGlja2V0Q29uZmlncz8uZG93blRpbWVUeXBlLFxyXG4gICAgICBpbmZyYURvd25UaW1lOiBkYXRhPy50aWNrZXRDb25maWdzPy5pbmZyYURvd25UaW1lLFxyXG4gICAgICBNaW5GaWxlc0NvdW50OiBkYXRhPy50aWNrZXRDb25maWdzPy5NaW5GaWxlc0NvdW50LFxyXG4gICAgICBpc1JjYVRpY2tldEFzc2lnbjogZGF0YT8udGlja2V0Q29uZmlncz8uaXNSY2FUaWNrZXRBc3NpZ24sXHJcbiAgICAgIHJjYVRpY2tldEFzc2lnbjogZGF0YT8udGlja2V0Q29uZmlncz8ucmNhVGlja2V0QXNzaWduLFxyXG4gICAgICBpc1JlZnJlc2hBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8uaXNSZWZyZXNoQWxlcnQsXHJcbiAgICAgIHJlZnJlc2hBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8ucmVmcmVzaEFsZXJ0LFxyXG4gICAgICBpc1N0YXR1c0NoZWNrQWxlcnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmlzU3RhdHVzQ2hlY2tBbGVydCxcclxuICAgICAgc3RhdHVzQ2hlY2tBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8uc3RhdHVzQ2hlY2tBbGVydCxcclxuICAgICAgcmVUcmFpbjogZGF0YT8udGlja2V0Q29uZmlncz8ucmVUcmFpbixcclxuICAgICAgYWNjdXJhY3lQZXJjZW50YWdlOiBkYXRhPy50aWNrZXRDb25maWdzPy5hY2N1cmFjeVBlcmNlbnRhZ2UsXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aWNrZXRDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAndGlja2V0LWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgb3BlbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm9wZW4sXHJcbiAgICAgIGNsb3NlOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY2xvc2UsXHJcbiAgICAgIGluZnJhQWxlcnRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pbmZyYUFsZXJ0Py5jb25kaXRpb24sXHJcbiAgICAgIGluZnJhQWxlcnRWYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmluZnJhQWxlcnQ/LnZhbHVlLFxyXG4gICAgICBib3VuY2VkTGltaXRDb25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LmNvbmRpdGlvbixcclxuICAgICAgYm91bmNlZExpbWl0VmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlLFxyXG4gICAgICBjb252ZXJzaW9uQ29uZGl0aW9uOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbj8uY29uZGl0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uVmFsdWU6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSxcclxuICAgICAgYmlsbGFibGVDYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJpbGxhYmxlQ2FsY3VsYXRpb24sXHJcbiAgICAgIG1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uLFxyXG4gICAgICBjb252ZXJzaW9uQ2FsY3VsYXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24sXHJcbiAgICAgIGlzTm9ybWFsaXplZDogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZCxcclxuICAgICAgaXNQYXNzZXJCeURhdGE6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1Bhc3NlckJ5RGF0YSxcclxuICAgICAgaXNGb290ZmFsbERpcmVjdG9yeTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxEaXJlY3RvcnksXHJcbiAgICAgIGlzRm9vdGZhbGxEaXJlY3RvcnlBdWRpdCA6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsRGlyZWN0b3J5QXVkaXQsXHJcbiAgICAgIGlzRm9vdGZhbGxEaXJlY3RvcnlMaW1pdCA6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsRGlyZWN0b3J5TGltaXQsXHJcbiAgICAgIGlzRXhjbHVkZWRBcmVhOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc0V4Y2x1ZGVkQXJlYSxcclxuICAgICAgaXNDYW1lcmFEaXNhYmxlZDogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzQ2FtZXJhRGlzYWJsZWQsXHJcbiAgICAgIGlzYmlsbGluZ0Rpc2FibGVkOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc2JpbGxpbmdEaXNhYmxlZCxcclxuICAgICAgaXNOZXdEYXNoYm9hcmQ6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTmV3RGFzaGJvYXJkLFxyXG4gICAgICB1cGRhdGVGZWF0dXJlQ29uZmlnOmRhdGE/LmZlYXR1cmVDb25maWdzPy51cGRhdGVGZWF0dXJlQ29uZmlnLFxyXG4gICAgICBpc0Zvb3RmYWxsQXVkaXRTdG9yZXM6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxBdWRpdFN0b3JlcyxcclxuICAgICAgaXNOZXdUcmFmZmljOmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld1RyYWZmaWMsXHJcbiAgICAgIGlzTmV3Wm9uZTpkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOZXdab25lLFxyXG4gICAgICBpc05ld1JlcG9ydHM6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTmV3UmVwb3J0cyxcclxuICAgICAgaXNOZXdab25lVjI6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05ld1pvbmVWMixcclxuICAgICAgaXNOT0I6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5pc05PQixcclxuICAgICAgaXNUcmF4OmRhdGE/LmZlYXR1cmVDb25maWdzPy5pc1RyYXhcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZlYXR1cmVDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICdmZWF0dXJlLWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImNsaWVudC1kZXRhaWxzXCIsIEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgZG9tYWluTmFtZTogZGF0YT8uZG9tYWluQ29uZmlnPy5zc29Mb2dpbj8uZG9tYWluTmFtZSxcclxuICAgICAgaXNFbmFibGU6IGRhdGE/LmRvbWFpbkNvbmZpZz8uc3NvTG9naW4/LmlzRW5hYmxlLFxyXG4gICAgICBlbmFibGVXaGl0ZWxpc3Rpbmc6IGRhdGE/LmRvbWFpbkNvbmZpZz8uaXBXaGl0ZWxpc3Rpbmc/LmVuYWJsZVdoaXRlbGlzdGluZyxcclxuICAgICAgYWxsb3dlZElwczogZGF0YT8uZG9tYWluQ29uZmlnPy5pcFdoaXRlbGlzdGluZz8uYWxsb3dlZElwcyxcclxuICAgICAgZW5hYmxlT3RwOiBkYXRhPy5kb21haW5Db25maWc/LmVuYWJsZU90cCxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICdkb21haW4tZGV0YWlscycgfSlcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbihkYXRhOiBhbnkpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGNzbTogZGF0YT8uYXNzaWduZWRVc2Vycz8uY3NtLFxyXG4gICAgICBvcHM6IGRhdGE/LmFzc2lnbmVkVXNlcnM/Lm9wcyxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVzZXJDb25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAndXNlci1jb25maWd1cmF0aW9uJyB9KVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBzdWJtaXRGb3JtKGU6IGFueSkge1xyXG4gICAgaWYgKGUuZm9ybSA9PT0gJ3RpY2tldC1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICBjb25zdCBkYXRhID0gIHRoaXMuZ2V0RGlmZmVyZW50RW50cmllcyh0aGlzLnRpY2tldENvbmZpZ1ByZXZWYWx1ZXMsIGUudmFsdWUpICAgICBcclxuICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KGUuZGF0YT8ucmVzdWx0KVxyXG4gICAgICAgICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnc3VibWl0dGVkJywgZm9ybTogJ251bGwnIH0pXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KGUuZXJyb3I/LmVycm9yKVxyXG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuXHJcbiAgICB9IGVsc2VcclxuICAgICAgaWYgKGUuZm9ybSA9PT0gJ2ZlYXR1cmUtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gIHRoaXMuZ2V0RGlmZmVyZW50RW50cmllcyh0aGlzLmZlYXR1cmVDb25maWdQcmV2VmFsdWVzLCBlLnZhbHVlKVxyXG4gICAgICAgIHRoaXMuY2xpZW50QXBpLnVwZGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YS5jbGllbnRJZCwgZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KGUuZGF0YT8ucmVzdWx0KVxyXG4gICAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgIH0gZWxzZVxyXG4gICAgICAgIGlmIChlLmZvcm0gPT09ICdkb21haW4tZGV0YWlscycpIHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSAgdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMuZG9tYWluQ29uZmlnUHJldlZhbHVlcywgZS52YWx1ZSkgICAgIFxyXG4gICAgICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoZS5kYXRhPy5yZXN1bHQpXHJcbiAgICAgICAgICAgICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnc3VibWl0dGVkJywgZm9ybTogJ251bGwnIH0pXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KGUuZXJyb3I/LmVycm9yKVxyXG4gICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybShlOiBhbnkpIHtcclxuICAgIGlmIChlLmZvcm0gPT09ICd0aWNrZXQtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgfSBlbHNlXHJcbiAgICAgIGlmIChlLmZvcm0gPT09ICdmZWF0dXJlLWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgfSBlbHNlXHJcbiAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ2RvbWFpbi1kZXRhaWxzJykge1xyXG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ3VzZXItY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZVVzZXJDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLmFjY29yZGlvbi5jb2xsYXBzZUFsbCgpXHJcblxyXG4gIH1cclxuXHJcbiBnZXREaWZmZXJlbnRFbnRyaWVzKG9iajE6IFJlY29yZDxzdHJpbmcsIGFueT4sIG9iajI6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIGNvbnN0IGRpZmZlcmVudEVudHJpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iajIpIHtcclxuICAgICAgICBpZiAob2JqMS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iajFba2V5XSkgJiYgQXJyYXkuaXNBcnJheShvYmoyW2tleV0pKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkob2JqMVtrZXldKSAhPT0gSlNPTi5zdHJpbmdpZnkob2JqMltrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpZmZlcmVudEVudHJpZXNba2V5XSA9IG9iajJba2V5XTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChvYmoxW2tleV0gIT09IG9iajJba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgZGlmZmVyZW50RW50cmllc1trZXldID0gb2JqMltrZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpZmZlcmVudEVudHJpZXM7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uICNhY2NvcmRpb249XCJuZ2JBY2NvcmRpb25cIiBbY2xvc2VPdGhlcnNdPVwidHJ1ZVwiIFtkZXN0cm95T25IaWRlXT1cInRydWVcIiAgKHNob3cpPVwib3Blbkl0ZW0oKVwiID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTYgXCIgIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5BdWRpdCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYXVkaXQtY29uZmlndXJhdGlvbj48L2xpYi1hdWRpdC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5FbXBsb3llZSBUcmFpbmluZzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZW1wbG95ZWUtdHJhaW5pbmc+PC9saWItZW1wbG95ZWUtdHJhaW5pbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlRpY2tldCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItdGlja2V0LWNvbmZpZ3VyYXRpb24+PC9saWItdGlja2V0LWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkVtYWlsIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWVtYWlsLWNvbmZpZ3VyYXRpb24+PC9saWItZW1haWwtY29uZmlndXJhdGlvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1lbWFpbC1zY2hlZHVsZXI+PC9saWItZW1haWwtc2NoZWR1bGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5SZXBvcnQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlcG9ydC1jb25maWd1cmF0aW9uPjwvbGliLXJlcG9ydC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5Vc2VyIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi11c2VyLWNvbmZpZ3VyYXRpb24+PC9saWItdXNlci1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlclJvbGUgIT09ICd1c2VyJ1wiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiICBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+U2VjdXJpdHkgRmVhdHVyZXM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLWRvbWFpbi1kZXRhaWxzPjwvbGliLWRvbWFpbi1kZXRhaWxzPiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkZlYXR1cmUgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWZlYXR1cmUtY29uZmlndXJhdGlvbj48L2xpYi1mZWF0dXJlLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkRhc2hib2FyZCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZGFzaGJvYXJkLWNvbmZpZ3VyYXRpb24+PC9saWItZGFzaGJvYXJkLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+Il19