tango-app-ui-manage-stores 3.4.0-beta.21 → 3.4.0-beta.22

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.
@@ -296,15 +296,15 @@ export class ClusterDetailsComponent {
296
296
  });
297
297
  }
298
298
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClusterDetailsComponent, deps: [{ token: i1.GroupService }, { token: i0.ChangeDetectorRef }, { token: i2.GlobalStateService }, { token: i3.NgbModal }, { token: i4.ExcelService }, { token: i5.ToastService }], target: i0.ɵɵFactoryTarget.Component });
299
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ClusterDetailsComponent, selector: "lib-cluster-details", outputs: { dataToParent: "dataToParent" }, viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }], ngImport: i0, template: "<div class=\"card-header border-0 filter\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n<div class=\"card-toolbar\" *ngIf=\"!viewCluster&&!showcreatebutton\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [formControl]=\"searchInput\" class=\"form-control ps-14 me-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n <!-- filter Start -->\r\n <lib-filters-custom *ngIf=\"refreshFilter\" [dataObject]=\"filterOptions\" (AppliedFilters)=\"applyFilter($event)\"></lib-filters-custom>\r\n <!-- filter End -->\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n @if ((gs.userAccess | async)?.Global_Store_isAdd) {\r\n <button type=\"button\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\" (click)=\"createCluster()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create cluster</span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n<div class=\"card mt-10\" *ngIf=\"!viewCluster&&storeList.length >0\">\r\n <div class=\"card-body p-0\">\r\n <ng-container *ngIf=\"!loading && !noData\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead class=\"cursor-pointer\">\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"\" (click)=\"onSort('clusterName')\">Cluster Name\r\n <svg [ngClass]=\"sortColumName === 'clusterName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'clusterName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"\" (click)=\"onSort('stores')\">Stores\r\n <svg [ngClass]=\"sortColumName === 'stores' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'stores' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <!-- <th class=\"\" (click)=\"onSort('users')\">Users\r\n <svg [ngClass]=\"sortColumName === 'users' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'users' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th> -->\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"sortColumName === 'leadName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n\r\n <th style=\"line-height: 21px !important;\" >Lead Email\r\n <!-- <svg [ngClass]=\"sortColumName === 'leademail' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th (click)=\"onSort('description')\"> Description<span>\r\n <svg [ngClass]=\"sortColumName === 'description' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span></th>\r\n <!-- <th (click)=\"onSort('statusDetail')\">Status Detail <svg [ngClass]=\"sortColumName === 'statusDetail' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th> -->\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let store of storeList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>\r\n <div class=\"table-title\">\r\n <span class=\"txt-light-primary\">\r\n {{store?.clusterName}}\r\n </span>\r\n </div>\r\n\r\n </td>\r\n <td>{{store?.stores ? store?.stores :\"--\"}}</td>\r\n <!-- <td>{{ !store?.users.length ? store?.users : \"--\"}}</td> -->\r\n <!-- <td>{{store?.leadName}}<span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length !== 0\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ store?.leadName[0] }}\r\n </span>\r\n <span *ngIf=\"store?.leadName.length > 1\">\r\n +{{ store.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent >\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\" *ngIf=\"store?.leadName.length !== 0\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ store?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\" >\r\n <span>\r\n {{ getMaskedValue(store?.leademail[0],$headerFilters.role) }}\r\n </span>\r\n <span *ngIf=\"store?.leademail.length > 1\">\r\n +{{ store.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{(store?.description) ? store?.description : \"--\"}}\r\n </td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer me-5\" (click)=\"gotoView('view',store)\">\r\n\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10C0.833374 10 4.16671 3.33334 10 3.33334C15.8334 3.33334 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5C11.3808 12.5 12.5 11.3807 12.5 10C12.5 8.6193 11.3808 7.50001 10 7.50001C8.61933 7.50001 7.50004 8.6193 7.50004 10C7.50004 11.3807 8.61933 12.5 10 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"cursor-pointer me-5\" (click)=\"editClusterdata(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"edit-2\" clip-path=\"url(#clip0_2200_4975)\">\r\n <path id=\"Icon\"\r\n d=\"M14.1666 2.49999C14.3855 2.28112 14.6453 2.1075 14.9313 1.98905C15.2173 1.8706 15.5238 1.80963 15.8333 1.80963C16.1428 1.80963 16.4493 1.8706 16.7353 1.98905C17.0213 2.1075 17.2811 2.28112 17.5 2.49999C17.7188 2.71886 17.8924 2.97869 18.0109 3.26466C18.1294 3.55063 18.1903 3.85713 18.1903 4.16665C18.1903 4.47618 18.1294 4.78268 18.0109 5.06865C17.8924 5.35461 17.7188 5.61445 17.5 5.83332L6.24996 17.0833L1.66663 18.3333L2.91663 13.75L14.1666 2.49999Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2200_4975\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"me-5 cursor-pointer\" (click)=\"deleteCluster(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"trash-2\">\r\n <path id=\"Icon\"\r\n d=\"M2.5 4.99999H4.16667M4.16667 4.99999H17.5M4.16667 4.99999V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1577 5.39131 18.3333 5.83333 18.3333H14.1667C14.6087 18.3333 15.0326 18.1577 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V4.99999H4.16667ZM6.66667 4.99999V3.33332C6.66667 2.8913 6.84226 2.46737 7.15482 2.15481C7.46738 1.84225 7.89131 1.66666 8.33333 1.66666H11.6667C12.1087 1.66666 12.5326 1.84225 12.8452 2.15481C13.1577 2.46737 13.3333 2.8913 13.3333 3.33332V4.99999M8.33333 9.16666V14.1667M11.6667 9.16666V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n </div>\r\n </td>\r\n\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n <lib-pagination *ngIf=\"!loading && !noData\" class=\"mt-20\" [itemsPerPage]=\"pagination.limit\"\r\n [currentPage]=\"pagination.offset\" [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n \r\n\r\n \r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n\r\n<div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a cluster</div>\r\n <div class=\"nodata-sub mt-2\">Any cluster created will track here.</div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess | async)?.Global_Store_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createCluster()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create New</button>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewCluster\">\r\n <lib-cluster-view [teamData]=\"this.selectedCluster\"></lib-cluster-view>\r\n</div>", styles: ["th{height:44px;padding:12px 24px;align-items:center;gap:12px;align-self:stretch}td{color:var(--Gray-900, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.img-src{width:25%;height:50%}.filter{position:absolute;top:8px;right:16px;font-size:18px}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck .rotate{rotate:180deg;transition:1s}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}td{line-height:30px}.w-25{width:15%!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i8.FiltersComponent, selector: "lib-filters-custom", inputs: ["dataObject"], outputs: ["AppliedFilters"] }, { kind: "component", type: i9.ClusterViewComponent, selector: "lib-cluster-view", inputs: ["teamData"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }] });
299
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ClusterDetailsComponent, selector: "lib-cluster-details", outputs: { dataToParent: "dataToParent" }, viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }], ngImport: i0, template: "<div class=\"card-header border-0 filter\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n<div class=\"card-toolbar\" *ngIf=\"!viewCluster&&!showcreatebutton\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [formControl]=\"searchInput\" class=\"form-control ps-14 me-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n <!-- filter Start -->\r\n <lib-filters-custom *ngIf=\"refreshFilter\" [dataObject]=\"filterOptions\" (AppliedFilters)=\"applyFilter($event)\"></lib-filters-custom>\r\n <!-- filter End -->\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n @if ((gs.userAccess | async)?.Global_Store_isAdd) {\r\n <button type=\"button\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\" (click)=\"createCluster()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create cluster</span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n<div class=\"card mt-10\" *ngIf=\"!viewCluster&&storeList.length >0\">\r\n <div class=\"card-body p-0\">\r\n <ng-container *ngIf=\"!loading && !noData\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead class=\"cursor-pointer\">\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"\" (click)=\"onSort('clusterName')\">Cluster Name\r\n <svg [ngClass]=\"sortColumName === 'clusterName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'clusterName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"\" (click)=\"onSort('stores')\">Stores\r\n <svg [ngClass]=\"sortColumName === 'stores' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'stores' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <!-- <th class=\"\" (click)=\"onSort('users')\">Users\r\n <svg [ngClass]=\"sortColumName === 'users' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'users' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th> -->\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"sortColumName === 'leadName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n\r\n <th style=\"line-height: 21px !important;\" >Lead Email\r\n <!-- <svg [ngClass]=\"sortColumName === 'leademail' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th (click)=\"onSort('description')\"> Description<span>\r\n <svg [ngClass]=\"sortColumName === 'description' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span></th>\r\n <!-- <th (click)=\"onSort('statusDetail')\">Status Detail <svg [ngClass]=\"sortColumName === 'statusDetail' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th> -->\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let store of storeList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>\r\n <div class=\"table-title\">\r\n <span class=\"txt-light-primary\">\r\n {{store?.clusterName}}\r\n </span>\r\n </div>\r\n\r\n </td>\r\n <td>{{store?.stores ? store?.stores :\"--\"}}</td>\r\n <!-- <td>{{ !store?.users.length ? store?.users : \"--\"}}</td> -->\r\n <!-- <td>{{store?.leadName}}<span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length !== 0\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ store?.leadName[0] }}\r\n </span>\r\n <span *ngIf=\"store?.leadName.length > 1\">\r\n +{{ store.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent >\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\" *ngIf=\"store?.leadName.length !== 0\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ store?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\" >\r\n <span>\r\n {{ getMaskedValue(store?.leademail[0],user.role) }}\r\n </span>\r\n <span *ngIf=\"store?.leademail.length > 1\">\r\n +{{ store.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{(store?.description) ? store?.description : \"--\"}}\r\n </td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer me-5\" (click)=\"gotoView('view',store)\">\r\n\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10C0.833374 10 4.16671 3.33334 10 3.33334C15.8334 3.33334 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5C11.3808 12.5 12.5 11.3807 12.5 10C12.5 8.6193 11.3808 7.50001 10 7.50001C8.61933 7.50001 7.50004 8.6193 7.50004 10C7.50004 11.3807 8.61933 12.5 10 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"cursor-pointer me-5\" (click)=\"editClusterdata(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"edit-2\" clip-path=\"url(#clip0_2200_4975)\">\r\n <path id=\"Icon\"\r\n d=\"M14.1666 2.49999C14.3855 2.28112 14.6453 2.1075 14.9313 1.98905C15.2173 1.8706 15.5238 1.80963 15.8333 1.80963C16.1428 1.80963 16.4493 1.8706 16.7353 1.98905C17.0213 2.1075 17.2811 2.28112 17.5 2.49999C17.7188 2.71886 17.8924 2.97869 18.0109 3.26466C18.1294 3.55063 18.1903 3.85713 18.1903 4.16665C18.1903 4.47618 18.1294 4.78268 18.0109 5.06865C17.8924 5.35461 17.7188 5.61445 17.5 5.83332L6.24996 17.0833L1.66663 18.3333L2.91663 13.75L14.1666 2.49999Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2200_4975\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"me-5 cursor-pointer\" (click)=\"deleteCluster(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"trash-2\">\r\n <path id=\"Icon\"\r\n d=\"M2.5 4.99999H4.16667M4.16667 4.99999H17.5M4.16667 4.99999V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1577 5.39131 18.3333 5.83333 18.3333H14.1667C14.6087 18.3333 15.0326 18.1577 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V4.99999H4.16667ZM6.66667 4.99999V3.33332C6.66667 2.8913 6.84226 2.46737 7.15482 2.15481C7.46738 1.84225 7.89131 1.66666 8.33333 1.66666H11.6667C12.1087 1.66666 12.5326 1.84225 12.8452 2.15481C13.1577 2.46737 13.3333 2.8913 13.3333 3.33332V4.99999M8.33333 9.16666V14.1667M11.6667 9.16666V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n </div>\r\n </td>\r\n\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n <lib-pagination *ngIf=\"!loading && !noData\" class=\"mt-20\" [itemsPerPage]=\"pagination.limit\"\r\n [currentPage]=\"pagination.offset\" [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n \r\n\r\n \r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n\r\n<div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a cluster</div>\r\n <div class=\"nodata-sub mt-2\">Any cluster created will track here.</div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess | async)?.Global_Store_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createCluster()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create New</button>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewCluster\">\r\n <lib-cluster-view [teamData]=\"this.selectedCluster\"></lib-cluster-view>\r\n</div>", styles: ["th{height:44px;padding:12px 24px;align-items:center;gap:12px;align-self:stretch}td{color:var(--Gray-900, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.img-src{width:25%;height:50%}.filter{position:absolute;top:8px;right:16px;font-size:18px}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck .rotate{rotate:180deg;transition:1s}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}td{line-height:30px}.w-25{width:15%!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i8.FiltersComponent, selector: "lib-filters-custom", inputs: ["dataObject"], outputs: ["AppliedFilters"] }, { kind: "component", type: i9.ClusterViewComponent, selector: "lib-cluster-view", inputs: ["teamData"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }] });
300
300
  }
301
301
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClusterDetailsComponent, decorators: [{
302
302
  type: Component,
303
- args: [{ selector: 'lib-cluster-details', template: "<div class=\"card-header border-0 filter\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n<div class=\"card-toolbar\" *ngIf=\"!viewCluster&&!showcreatebutton\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [formControl]=\"searchInput\" class=\"form-control ps-14 me-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n <!-- filter Start -->\r\n <lib-filters-custom *ngIf=\"refreshFilter\" [dataObject]=\"filterOptions\" (AppliedFilters)=\"applyFilter($event)\"></lib-filters-custom>\r\n <!-- filter End -->\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n @if ((gs.userAccess | async)?.Global_Store_isAdd) {\r\n <button type=\"button\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\" (click)=\"createCluster()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create cluster</span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n<div class=\"card mt-10\" *ngIf=\"!viewCluster&&storeList.length >0\">\r\n <div class=\"card-body p-0\">\r\n <ng-container *ngIf=\"!loading && !noData\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead class=\"cursor-pointer\">\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"\" (click)=\"onSort('clusterName')\">Cluster Name\r\n <svg [ngClass]=\"sortColumName === 'clusterName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'clusterName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"\" (click)=\"onSort('stores')\">Stores\r\n <svg [ngClass]=\"sortColumName === 'stores' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'stores' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <!-- <th class=\"\" (click)=\"onSort('users')\">Users\r\n <svg [ngClass]=\"sortColumName === 'users' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'users' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th> -->\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"sortColumName === 'leadName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n\r\n <th style=\"line-height: 21px !important;\" >Lead Email\r\n <!-- <svg [ngClass]=\"sortColumName === 'leademail' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th (click)=\"onSort('description')\"> Description<span>\r\n <svg [ngClass]=\"sortColumName === 'description' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span></th>\r\n <!-- <th (click)=\"onSort('statusDetail')\">Status Detail <svg [ngClass]=\"sortColumName === 'statusDetail' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th> -->\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let store of storeList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>\r\n <div class=\"table-title\">\r\n <span class=\"txt-light-primary\">\r\n {{store?.clusterName}}\r\n </span>\r\n </div>\r\n\r\n </td>\r\n <td>{{store?.stores ? store?.stores :\"--\"}}</td>\r\n <!-- <td>{{ !store?.users.length ? store?.users : \"--\"}}</td> -->\r\n <!-- <td>{{store?.leadName}}<span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length !== 0\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ store?.leadName[0] }}\r\n </span>\r\n <span *ngIf=\"store?.leadName.length > 1\">\r\n +{{ store.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent >\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\" *ngIf=\"store?.leadName.length !== 0\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ store?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\" >\r\n <span>\r\n {{ getMaskedValue(store?.leademail[0],$headerFilters.role) }}\r\n </span>\r\n <span *ngIf=\"store?.leademail.length > 1\">\r\n +{{ store.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{(store?.description) ? store?.description : \"--\"}}\r\n </td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer me-5\" (click)=\"gotoView('view',store)\">\r\n\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10C0.833374 10 4.16671 3.33334 10 3.33334C15.8334 3.33334 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5C11.3808 12.5 12.5 11.3807 12.5 10C12.5 8.6193 11.3808 7.50001 10 7.50001C8.61933 7.50001 7.50004 8.6193 7.50004 10C7.50004 11.3807 8.61933 12.5 10 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"cursor-pointer me-5\" (click)=\"editClusterdata(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"edit-2\" clip-path=\"url(#clip0_2200_4975)\">\r\n <path id=\"Icon\"\r\n d=\"M14.1666 2.49999C14.3855 2.28112 14.6453 2.1075 14.9313 1.98905C15.2173 1.8706 15.5238 1.80963 15.8333 1.80963C16.1428 1.80963 16.4493 1.8706 16.7353 1.98905C17.0213 2.1075 17.2811 2.28112 17.5 2.49999C17.7188 2.71886 17.8924 2.97869 18.0109 3.26466C18.1294 3.55063 18.1903 3.85713 18.1903 4.16665C18.1903 4.47618 18.1294 4.78268 18.0109 5.06865C17.8924 5.35461 17.7188 5.61445 17.5 5.83332L6.24996 17.0833L1.66663 18.3333L2.91663 13.75L14.1666 2.49999Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2200_4975\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"me-5 cursor-pointer\" (click)=\"deleteCluster(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"trash-2\">\r\n <path id=\"Icon\"\r\n d=\"M2.5 4.99999H4.16667M4.16667 4.99999H17.5M4.16667 4.99999V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1577 5.39131 18.3333 5.83333 18.3333H14.1667C14.6087 18.3333 15.0326 18.1577 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V4.99999H4.16667ZM6.66667 4.99999V3.33332C6.66667 2.8913 6.84226 2.46737 7.15482 2.15481C7.46738 1.84225 7.89131 1.66666 8.33333 1.66666H11.6667C12.1087 1.66666 12.5326 1.84225 12.8452 2.15481C13.1577 2.46737 13.3333 2.8913 13.3333 3.33332V4.99999M8.33333 9.16666V14.1667M11.6667 9.16666V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n </div>\r\n </td>\r\n\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n <lib-pagination *ngIf=\"!loading && !noData\" class=\"mt-20\" [itemsPerPage]=\"pagination.limit\"\r\n [currentPage]=\"pagination.offset\" [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n \r\n\r\n \r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n\r\n<div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a cluster</div>\r\n <div class=\"nodata-sub mt-2\">Any cluster created will track here.</div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess | async)?.Global_Store_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createCluster()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create New</button>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewCluster\">\r\n <lib-cluster-view [teamData]=\"this.selectedCluster\"></lib-cluster-view>\r\n</div>", styles: ["th{height:44px;padding:12px 24px;align-items:center;gap:12px;align-self:stretch}td{color:var(--Gray-900, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.img-src{width:25%;height:50%}.filter{position:absolute;top:8px;right:16px;font-size:18px}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck .rotate{rotate:180deg;transition:1s}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}td{line-height:30px}.w-25{width:15%!important}\n"] }]
303
+ args: [{ selector: 'lib-cluster-details', template: "<div class=\"card-header border-0 filter\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n<div class=\"card-toolbar\" *ngIf=\"!viewCluster&&!showcreatebutton\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [formControl]=\"searchInput\" class=\"form-control ps-14 me-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n <!-- filter Start -->\r\n <lib-filters-custom *ngIf=\"refreshFilter\" [dataObject]=\"filterOptions\" (AppliedFilters)=\"applyFilter($event)\"></lib-filters-custom>\r\n <!-- filter End -->\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n @if ((gs.userAccess | async)?.Global_Store_isAdd) {\r\n <button type=\"button\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\" (click)=\"createCluster()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create cluster</span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n<div class=\"card mt-10\" *ngIf=\"!viewCluster&&storeList.length >0\">\r\n <div class=\"card-body p-0\">\r\n <ng-container *ngIf=\"!loading && !noData\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead class=\"cursor-pointer\">\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"\" (click)=\"onSort('clusterName')\">Cluster Name\r\n <svg [ngClass]=\"sortColumName === 'clusterName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'clusterName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"\" (click)=\"onSort('stores')\">Stores\r\n <svg [ngClass]=\"sortColumName === 'stores' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'stores' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <!-- <th class=\"\" (click)=\"onSort('users')\">Users\r\n <svg [ngClass]=\"sortColumName === 'users' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'users' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th> -->\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"sortColumName === 'leadName' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n\r\n <th style=\"line-height: 21px !important;\" >Lead Email\r\n <!-- <svg [ngClass]=\"sortColumName === 'leademail' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th (click)=\"onSort('description')\"> Description<span>\r\n <svg [ngClass]=\"sortColumName === 'description' && sortDirection === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span></th>\r\n <!-- <th (click)=\"onSort('statusDetail')\">Status Detail <svg [ngClass]=\"sortColumName === 'statusDetail' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th> -->\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let store of storeList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>\r\n <div class=\"table-title\">\r\n <span class=\"txt-light-primary\">\r\n {{store?.clusterName}}\r\n </span>\r\n </div>\r\n\r\n </td>\r\n <td>{{store?.stores ? store?.stores :\"--\"}}</td>\r\n <!-- <td>{{ !store?.users.length ? store?.users : \"--\"}}</td> -->\r\n <!-- <td>{{store?.leadName}}<span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length !== 0\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ store?.leadName[0] }}\r\n </span>\r\n <span *ngIf=\"store?.leadName.length > 1\">\r\n +{{ store.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent >\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\" *ngIf=\"store?.leadName.length !== 0\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ store?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\" >\r\n <span>\r\n {{ getMaskedValue(store?.leademail[0],user.role) }}\r\n </span>\r\n <span *ngIf=\"store?.leademail.length > 1\">\r\n +{{ store.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n \r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ store.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"store?.Teamleadcount>0\">+{{store?.Teamleadcount}}</span>\r\n </div>\r\n <div class=\"table-title\" *ngIf=\"store?.leadName.length === 0\">\r\n <span>\r\n --\r\n </span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{(store?.description) ? store?.description : \"--\"}}\r\n </td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer me-5\" (click)=\"gotoView('view',store)\">\r\n\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10C0.833374 10 4.16671 3.33334 10 3.33334C15.8334 3.33334 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5C11.3808 12.5 12.5 11.3807 12.5 10C12.5 8.6193 11.3808 7.50001 10 7.50001C8.61933 7.50001 7.50004 8.6193 7.50004 10C7.50004 11.3807 8.61933 12.5 10 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"cursor-pointer me-5\" (click)=\"editClusterdata(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"edit-2\" clip-path=\"url(#clip0_2200_4975)\">\r\n <path id=\"Icon\"\r\n d=\"M14.1666 2.49999C14.3855 2.28112 14.6453 2.1075 14.9313 1.98905C15.2173 1.8706 15.5238 1.80963 15.8333 1.80963C16.1428 1.80963 16.4493 1.8706 16.7353 1.98905C17.0213 2.1075 17.2811 2.28112 17.5 2.49999C17.7188 2.71886 17.8924 2.97869 18.0109 3.26466C18.1294 3.55063 18.1903 3.85713 18.1903 4.16665C18.1903 4.47618 18.1294 4.78268 18.0109 5.06865C17.8924 5.35461 17.7188 5.61445 17.5 5.83332L6.24996 17.0833L1.66663 18.3333L2.91663 13.75L14.1666 2.49999Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2200_4975\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_Store_isEdit\" class=\"me-5 cursor-pointer\" (click)=\"deleteCluster(store)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"trash-2\">\r\n <path id=\"Icon\"\r\n d=\"M2.5 4.99999H4.16667M4.16667 4.99999H17.5M4.16667 4.99999V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1577 5.39131 18.3333 5.83333 18.3333H14.1667C14.6087 18.3333 15.0326 18.1577 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V4.99999H4.16667ZM6.66667 4.99999V3.33332C6.66667 2.8913 6.84226 2.46737 7.15482 2.15481C7.46738 1.84225 7.89131 1.66666 8.33333 1.66666H11.6667C12.1087 1.66666 12.5326 1.84225 12.8452 2.15481C13.1577 2.46737 13.3333 2.8913 13.3333 3.33332V4.99999M8.33333 9.16666V14.1667M11.6667 9.16666V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n </div>\r\n </td>\r\n\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n <lib-pagination *ngIf=\"!loading && !noData\" class=\"mt-20\" [itemsPerPage]=\"pagination.limit\"\r\n [currentPage]=\"pagination.offset\" [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n \r\n\r\n \r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n\r\n<div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\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 <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a cluster</div>\r\n <div class=\"nodata-sub mt-2\">Any cluster created will track here.</div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess | async)?.Global_Store_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createCluster()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create New</button>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewCluster\">\r\n <lib-cluster-view [teamData]=\"this.selectedCluster\"></lib-cluster-view>\r\n</div>", styles: ["th{height:44px;padding:12px 24px;align-items:center;gap:12px;align-self:stretch}td{color:var(--Gray-900, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.img-src{width:25%;height:50%}.filter{position:absolute;top:8px;right:16px;font-size:18px}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck .rotate{rotate:180deg;transition:1s}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}td{line-height:30px}.w-25{width:15%!important}\n"] }]
304
304
  }], ctorParameters: () => [{ type: i1.GroupService }, { type: i0.ChangeDetectorRef }, { type: i2.GlobalStateService }, { type: i3.NgbModal }, { type: i4.ExcelService }, { type: i5.ToastService }], propDecorators: { dataToParent: [{
305
305
  type: Output
306
306
  }], tooltipContent: [{
307
307
  type: ViewChild,
308
308
  args: ['tooltipContent']
309
309
  }] } });
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zdG9yZXMvc3JjL2xpYi9jb21wb25lbnRzL2NsdXN0ZXItZGV0YWlscy9jbHVzdGVyLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXN0b3Jlcy9zcmMvbGliL2NvbXBvbmVudHMvY2x1c3Rlci1kZXRhaWxzL2NsdXN0ZXItZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQTZCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQVUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXRGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7OztBQVk5RSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJkO0lBQ1Y7SUFDRDtJQUNBO0lBQStCO0lBQzlCO0lBL0JPLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BCLGNBQWMsQ0FBYztJQUN6RCxnQkFBZ0IsR0FBWSxLQUFLLENBQUE7SUFDakMsYUFBYSxDQUFRO0lBQ3JCLFdBQVcsQ0FBTTtJQUNqQixTQUFTLEdBQVUsRUFBRSxDQUFDO0lBQ3RCLGFBQWEsQ0FBTTtJQUNuQixVQUFVLEdBQWU7UUFDdkIsTUFBTSxFQUFFLENBQUM7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QztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFBO2dCQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBSSxLQUFLLENBQUE7WUFDcEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEMsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO1NBRXBCLENBQUMsQ0FBQztJQUNKLENBQUM7d0dBdFJVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHdOQ3RCcEMsb3lrQ0EwYk07OzRGRHBhTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCOytOQU1yQixZQUFZO3NCQUFyQixNQUFNO2dCQUNzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3RvcmVzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3Jlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ3JvdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IENsdXN0ZXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vY2x1c3Rlci12aWV3L2NsdXN0ZXItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCwgTmdiVG9vbHRpcCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQ2x1c3RlckNyZWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY2x1c3Rlci1jcmVhdGlvbi9jbHVzdGVyLWNyZWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhjZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgcGFnaW5hdGlvbiB7XHJcbiAgbGltaXQ6IG51bWJlcjtcclxuICBvZmZzZXQ6IG51bWJlcjtcclxuICB0b3RhbENvdW50OiBudW1iZXI7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2x1c3Rlci1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2x1c3Rlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY2x1c3Rlci1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2x1c3RlckRldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBPdXRwdXQoKSBkYXRhVG9QYXJlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGVudCcpIHRvb2x0aXBDb250ZW50ITogTmdiVG9vbHRpcDtcclxuICBzaG93Y3JlYXRlYnV0dG9uOmJvb2xlYW4gPSAgZmFsc2VcclxuICBmaWx0ZXJPcHRpb25zOiBhbnlbXTtcclxuICBzZWFyY2hWYWx1ZTogYW55O1xyXG4gIHN0b3JlTGlzdDogYW55W10gPSBbXTtcclxuICBzdG9yZUxpc3RfcmVxOiBhbnk7XHJcbiAgcGFnaW5hdGlvbjogcGFnaW5hdGlvbiA9IHtcclxuICAgIG9mZnNldDogMSxcclxuICAgIGxpbWl0OiAxMCxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBub0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb2x1bW5zOiBhbnlbXTtcclxuICBwYWdpbmF0aW9uU2l6ZXM6IG51bWJlcltdID0gWzEwLCAyMCwgMzBdO1xyXG4gIHJlY2VpdmVkRGF0YTogc3RyaW5nID0gXCJzdG9yZXNcIjtcclxuICAkaGVhZGVyRmlsdGVyczogYW55O1xyXG4gIHNlYXJjaElucHV0ID0gbmV3IEZvcm1Db250cm9sKFwiXCIpO1xyXG4gIHVzZXI6IGFueTtcclxuICByZWZyZXNoRmlsdGVyOiBib29sZWFuID0gZmFsc2VcclxuICBzb3J0Q29sdW1OYW1lOiBzdHJpbmc7XHJcbiAgc29ydERpcmVjdGlvbjogbnVtYmVyO1xyXG4gIHNlbGVjdGVkQ2x1c3RlcjogYW55O1xyXG4gIHZpZXdDbHVzdGVyOiBib29sZWFuID0gZmFsc2VcclxuICBwcml2YXRlIGRldGFjaCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncm91cFNlcnZpY2U6IEdyb3VwU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxwcml2YXRlIGV4Y2VsU2VydmljZTogRXhjZWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0czogVG9hc3RTZXJ2aWNlLCkge1xyXG4gICAgdGhpcy5pbml0U2VhcmNoKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cFNlcnZpY2Uuc2V0Vmlld0NsdXN0ZXIoZmFsc2UpO1xyXG4gIFxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRldGFjaCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSB8fCAne30nKVxyXG4gICAgICAgICAgdGhpcy4kaGVhZGVyRmlsdGVycyA9IHVzZXI7XHJcbiAgICAgICAgICB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCA9IHVzZXI/LmNsaWVudElkXHJcbiAgICAgICAgICBpZiAodXNlcj8uY2xpZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3RfcmVxID0ge1xyXG4gICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCxcclxuICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICAgIHNvcnRDb2x1bU5hbWU6IFwiY2x1c3Rlck5hbWVcIixcclxuICAgICAgICAgICAgICBzb3J0Qnk6IC0xLFxyXG4gICAgICAgICAgICAgIHNlYXJjaFZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIGV4cG9ydDogZmFsc2UsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuJGhlYWRlckZpbHRlcnMgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3RfcmVxID0ge1xyXG4gICAgICAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICBzb3J0Q29sdW1OYW1lOiBcImNsdXN0ZXJOYW1lXCIsXHJcbiAgICAgICAgICAgIHNvcnRCeTogLTEsXHJcbiAgICAgICAgICAgIHNlYXJjaFZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICBleHBvcnQ6IGZhbHNlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLnZpZXdDbHVzdGVyJC5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIHRoaXMudmlld0NsdXN0ZXIgPSB2YWx1ZTsgICAgIFxyXG4gICAgICAvLyBpZih2YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5sb2FkVGFibGUoKVxyXG4gICAgICAvLyB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgaW5pdFNlYXJjaCgpIHtcclxuICAgIHRoaXMudXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8ICd7fScpXHJcbiAgICB0aGlzLnNlYXJjaElucHV0LnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdF9yZXEub2Zmc2V0ID0gMVxyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvbi5vZmZzZXQgPSAxO1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5zZWFyY2hWYWx1ZSA9IGU/LnRyaW0oKTtcclxuICAgICAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbG9hZFRhYmxlKCkge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLnRvdGFsQ291bnQgPSAwO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmdyb3VwU2VydmljZS5nZXRDbHVzdGVyTGlzdCh0aGlzLnN0b3JlTGlzdF9yZXEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgaWYgKHJlcy5kYXRhLnJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICAgICAgICBvZmZzZXQ6IHJlcy5kYXRhPy5vZmZzZXRcclxuICAgICAgICAgICAgICAgID8gcmVzPy5kYXRhLm9mZnNldFxyXG4gICAgICAgICAgICAgICAgOiB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0LFxyXG4gICAgICAgICAgICAgIGxpbWl0OiByZXMuZGF0YT8ubGltaXQgPyByZXM/LmRhdGEubGltaXQgOiB0aGlzLnBhZ2luYXRpb24ubGltaXQsXHJcbiAgICAgICAgICAgICAgdG90YWxDb3VudDogcmVzLmRhdGEuY291bnQsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVRvUGFyZW50LmVtaXQoIHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50KTsgXHJcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5jb3VudCA8IDEwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbcmVzLmRhdGEuY291bnRdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd2NyZWF0ZWJ1dHRvbiA9IGZhbHNlXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFUb1BhcmVudC5lbWl0KCAnJyk7IFxyXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICAgIGxpbWl0OiAxMCxcclxuICAgICAgICAgICAgICB0b3RhbENvdW50OiAwLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAvLyB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93Y3JlYXRlYnV0dG9uID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXTtcclxuICAgICAgICAgIHRoaXMuZGF0YVRvUGFyZW50LmVtaXQoICcnKTsgXHJcbiAgICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICB0b3RhbENvdW50OiAwLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIC8vIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWFza2VkVmFsdWUodmFsdWU6IHN0cmluZywgcm9sZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChyb2xlID09PSAnc3VwZXJhZG1pbicpIHJldHVybiB2YWx1ZTtcclxuICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLmluY2x1ZGVzKCdAJykpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBbbG9jYWwsIGRvbWFpbl0gPSB2YWx1ZS5zcGxpdCgnQCcpO1xyXG4gICAgY29uc3QgdmlzaWJsZUxlbmd0aCA9IE1hdGgubWluKDMsIGxvY2FsLmxlbmd0aCk7XHJcbiAgICBjb25zdCB2aXNpYmxlUGFydCA9IGxvY2FsLnNsaWNlKDAsIHZpc2libGVMZW5ndGgpO1xyXG4gICAgY29uc3QgbWFza2VkUGFydCA9ICcqJy5yZXBlYXQobG9jYWwubGVuZ3RoIC0gdmlzaWJsZUxlbmd0aCk7XHJcblxyXG4gICAgcmV0dXJuIGAke3Zpc2libGVQYXJ0fSR7bWFza2VkUGFydH1AJHtkb21haW59YDtcclxuICB9XHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydENvbHVtTmFtZSA9PT0gY29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IHRoaXMuc29ydERpcmVjdGlvbiA9PT0gMSA/IC0xIDogMTtcclxuICAgICAgdGhpcy5zdG9yZUxpc3RfcmVxLnNvcnRCeSA9IHRoaXMuc3RvcmVMaXN0X3JlcS5zb3J0QnkgPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRDb2x1bU5hbWUgPSBjb2x1bW47XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IDE7XHJcbiAgICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5zb3J0Q29sdW1OYW1lID0gY29sdW1uO1xyXG4gICAgICB0aGlzLnN0b3JlTGlzdF9yZXEuc29ydEJ5ID0gMTtcclxuICAgIH1cclxuICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgfVxyXG4gIHBhZ2luYXRpb25TaXplKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uPy50b3RhbENvdW50IDwgMTApIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbi5saW1pdDtcclxuICAgIH1cclxuICB9XHJcbiAgb25QYWdlQ2hhbmdlKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdG9yZUxpc3RfcmVxLm9mZnNldCA9IE51bWJlcihwYWdlT2Zmc2V0KTtcclxuICAgIHRoaXMucGFnaW5hdGlvbi5vZmZzZXQgPSBOdW1iZXIocGFnZU9mZnNldCk7XHJcbiAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0b3JlTGlzdF9yZXEubGltaXQgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoYXBwbGllZEZpbHRlcnM6IGFueSkge1xyXG4gIH1cclxuICBnb3RvVmlldyhvcHRpb246IGFueSwgdmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENsdXN0ZXIgPSB2YWx1ZVxyXG4gICAgdGhpcy52aWV3Q2x1c3RlciA9IHRydWU7XHJcbiAgICB0aGlzLmdyb3VwU2VydmljZS5zZXRWaWV3Q2x1c3Rlcih0cnVlKTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgfVxyXG4gIGNyZWF0ZUNsdXN0ZXIoKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ2x1c3RlckNyZWF0aW9uQ29tcG9uZW50LCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbGcnIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudHlwZSA9ICdjcmVhdGUnO1xyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZihyZXN1bHQpe1xyXG4gICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIGVkaXRDbHVzdGVyZGF0YShkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDbHVzdGVyQ3JlYXRpb25Db21wb25lbnQsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdsZycgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5jbHVzdGVyRGF0YSA9IGRhdGE7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50eXBlID0gJ2VkaXQnO1xyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZihyZXN1bHQpXHJcbiAgICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGRlbGV0ZUNsdXN0ZXIoZGF0YTphbnkpe1xyXG5cclxuICAgIGlmKGRhdGEuaXNEZWZhdWx0cyl7XHJcbiAgICAgIHJldHVybiB0aGlzLnRzLmdldEVycm9yVG9hc3QoXCJZb3UgY2FuJ3QgYWJsZSB0byBkZWxldGUgZGVmYXVsdCBjbHVzdGVyXCIpXHJcbiAgICB9XHJcbiAgICAgIFxyXG5cclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCx7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnLGJhY2tkcm9wOlwic3RhdGljXCIgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5jbHVzdGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZihyZXN1bHQgPT09ICdzdWJtaXQnKXtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmRlbGV0ZUNsdXN0ZXIoe2NsdXN0ZXJJZDpkYXRhLl9pZH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cy5nZXRQcmltYXJ5VG9hc3QoJ0NsdXN0ZXIgRGVsZXRlZCBTdWNjZXNzZnVsbHknKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5vZmZzZXQgPTFcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICAgICAgICBsaW1pdDogMTAsXHJcbiAgICAgICAgICAgICAgICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgICAgICAgICAgICB9fSlcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBleHBvcnRYTFNYKCl7XHJcbiAgICBsZXQgbGltaXQ6IG51bWJlciA9IHRoaXMuc3RvcmVMaXN0X3JlcS5saW1pdDtcclxuICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5zdG9yZUxpc3RfcmVxLmxpbWl0ID0gMTAwMDA7XHJcbiAgICB0aGlzLnN0b3JlTGlzdF9yZXEuZXhwb3J0ID0gdHJ1ZTtcclxuICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmdldENsdXN0ZXJMaXN0RXhwb3J0KHRoaXMuc3RvcmVMaXN0X3JlcSlcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmV4Y2VsU2VydmljZS5zYXZlQXNFeGNlbEZpbGUocmVzLCAnQ2x1c3RlciBWaWV3JylcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdF9yZXEuZXhwb3J0ID0gIGZhbHNlXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIFxyXG4gICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIGZpbHRlclwiPlxyXG4gICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgPC9oMz5cclxuPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiICpuZ0lmPVwiIXZpZXdDbHVzdGVyJiYhc2hvd2NyZWF0ZWJ1dHRvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoSW5wdXRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGZpbHRlciBTdGFydCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWZpbHRlcnMtY3VzdG9tICpuZ0lmPVwicmVmcmVzaEZpbHRlclwiIFtkYXRhT2JqZWN0XT1cImZpbHRlck9wdGlvbnNcIiAoQXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXIoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnMtY3VzdG9tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBmaWx0ZXIgRW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIiAgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsMVwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5HbG9iYWxfU3RvcmVfaXNBZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG14LTIgcm91bmRlZC0zIHRleHQtbm93cmFwXCIgKGNsaWNrKT1cImNyZWF0ZUNsdXN0ZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC4wMDAxIDQuMTY2NjNWMTUuODMzM000LjE2Njc1IDkuOTk5OTZIMTUuODMzNFwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LXdoaXRlXCI+Q3JlYXRlIGNsdXN0ZXI8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjYXJkIG10LTEwXCIgKm5nSWY9XCIhdmlld0NsdXN0ZXImJnN0b3JlTGlzdC5sZW5ndGggPjBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PHNwYW4gY2xhc3M9XCJpbnB1dGNoZWNrXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJcIiAoY2xpY2spPVwib25Tb3J0KCdjbHVzdGVyTmFtZScpXCI+Q2x1c3RlciBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBbbmdDbGFzc109XCJzb3J0Q29sdW1OYW1lID09PSAnY2x1c3Rlck5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsdXN0ZXJOYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZXMnKVwiPlN0b3Jlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlcycgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVzJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0aCBjbGFzcz1cIlwiIChjbGljayk9XCJvblNvcnQoJ3VzZXJzJylcIj5Vc2Vyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ3VzZXJzJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICd1c2VycycgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAgc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiPkxlYWQgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHN2ZyBbbmdDbGFzc109XCJzb3J0Q29sdW1OYW1lID09PSAnbGVhZE5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2xlYWROYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAgc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiID5MZWFkIEVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRDb2x1bU5hbWUgPT09ICdsZWFkZW1haWwnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2xlYWRlbWFpbCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAoY2xpY2spPVwib25Tb3J0KCdkZXNjcmlwdGlvbicpXCI+IERlc2NyaXB0aW9uPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGggKGNsaWNrKT1cIm9uU29ydCgnc3RhdHVzRGV0YWlsJylcIj5TdGF0dXMgRGV0YWlsIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0YXR1c0RldGFpbCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC90aD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiPkFjdGlvbnM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdG9yZSBvZiBzdG9yZUxpc3Q7bGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGQ+PHNwYW4gY2xhc3M9XCJpbnB1dGNoZWNrXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgbXQtMlwiPjwvc3Bhbj48L3RkPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eHQtbGlnaHQtcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c3RvcmU/LmNsdXN0ZXJOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c3RvcmU/LnN0b3JlcyA/IHN0b3JlPy5zdG9yZXMgOlwiLS1cIn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0ZD57eyAhc3RvcmU/LnVzZXJzLmxlbmd0aCA/IHN0b3JlPy51c2VycyA6IFwiLS1cIn19PC90ZD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGQ+e3tzdG9yZT8ubGVhZE5hbWV9fTxzcGFuICAqbmdJZj1cInN0b3JlPy5UZWFtbGVhZGNvdW50PjBcIj4re3tzdG9yZT8uVGVhbWxlYWRjb3VudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48ZGl2IGNsYXNzPVwibXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIiAqbmdJZj1cInN0b3JlPy5sZWFkTmFtZS5sZW5ndGggIT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhc3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN0b3JlPy5sZWFkTmFtZVswXSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN0b3JlPy5sZWFkTmFtZS5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICt7eyBzdG9yZS5sZWFkTmFtZS5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tdG9vbHRpcC1jb250ZW50IHRvb2x0aXAtY29udGVudCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+e3sgc3RvcmUubGVhZE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyLmxlYWRlbWFpbC5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAre3sgdXNlci5sZWFkZW1haWwubGVuZ3RoIC0gMSB9fSBtb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCIgKm5nSWY9XCJzdG9yZT8ubGVhZE5hbWUubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAqbmdJZj1cInN0b3JlPy5sZWFkTmFtZS5sZW5ndGggIT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTM1cHggc3ltYm9sLWNpcmNsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZnMtNCBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IGZ3LW5vcm1hbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3RvcmU/LmxlYWRlbWFpbFswXT8uc3Vic3RyaW5nKDAsIDIpIHwgdXBwZXJjYXNlICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYXN0YXR1c1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldE1hc2tlZFZhbHVlKHN0b3JlPy5sZWFkZW1haWxbMF0sJGhlYWRlckZpbHRlcnMucm9sZSkgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3RvcmU/LmxlYWRlbWFpbC5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK3t7IHN0b3JlLmxlYWRlbWFpbC5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+e3sgc3RvcmUubGVhZGVtYWlsfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3RvcmU/LlRlYW1sZWFkY291bnQ+MFwiPit7e3N0b3JlPy5UZWFtbGVhZGNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIiAqbmdJZj1cInN0b3JlPy5sZWFkTmFtZS5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZGVzY3JpcHRpb25cIj57eyhzdG9yZT8uZGVzY3JpcHRpb24pID8gc3RvcmU/LmRlc2NyaXB0aW9uIDogXCItLVwifX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBtZS01XCIgKGNsaWNrKT1cImdvdG9WaWV3KCd2aWV3JyxzdG9yZSlcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiZXllXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTAuODMzMzc0IDEwQzAuODMzMzc0IDEwIDQuMTY2NzEgMy4zMzMzNCAxMCAzLjMzMzM0QzE1LjgzMzQgMy4zMzMzNCAxOS4xNjY3IDEwIDE5LjE2NjcgMTBDMTkuMTY2NyAxMCAxNS44MzM0IDE2LjY2NjcgMTAgMTYuNjY2N0M0LjE2NjcxIDE2LjY2NjcgMC44MzMzNzQgMTAgMC44MzMzNzQgMTBaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAgMTIuNUMxMS4zODA4IDEyLjUgMTIuNSAxMS4zODA3IDEyLjUgMTBDMTIuNSA4LjYxOTMgMTEuMzgwOCA3LjUwMDAxIDEwIDcuNTAwMDFDOC42MTkzMyA3LjUwMDAxIDcuNTAwMDQgOC42MTkzIDcuNTAwMDQgMTBDNy41MDAwNCAxMS4zODA3IDguNjE5MzMgMTIuNSAxMCAxMi41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfGFzeW5jKT8uR2xvYmFsX1N0b3JlX2lzRWRpdFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgbWUtNVwiIChjbGljayk9XCJlZGl0Q2x1c3RlcmRhdGEoc3RvcmUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiZWRpdC0yXCIgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMjAwXzQ5NzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIkljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMTY2NiAyLjQ5OTk5QzE0LjM4NTUgMi4yODExMiAxNC42NDUzIDIuMTA3NSAxNC45MzEzIDEuOTg5MDVDMTUuMjE3MyAxLjg3MDYgMTUuNTIzOCAxLjgwOTYzIDE1LjgzMzMgMS44MDk2M0MxNi4xNDI4IDEuODA5NjMgMTYuNDQ5MyAxLjg3MDYgMTYuNzM1MyAxLjk4OTA1QzE3LjAyMTMgMi4xMDc1IDE3LjI4MTEgMi4yODExMiAxNy41IDIuNDk5OTlDMTcuNzE4OCAyLjcxODg2IDE3Ljg5MjQgMi45Nzg2OSAxOC4wMTA5IDMuMjY0NjZDMTguMTI5NCAzLjU1MDYzIDE4LjE5MDMgMy44NTcxMyAxOC4xOTAzIDQuMTY2NjVDMTguMTkwMyA0LjQ3NjE4IDE4LjEyOTQgNC43ODI2OCAxOC4wMTA5IDUuMDY4NjVDMTcuODkyNCA1LjM1NDYxIDE3LjcxODggNS42MTQ0NSAxNy41IDUuODMzMzJMNi4yNDk5NiAxNy4wODMzTDEuNjY2NjMgMTguMzMzM0wyLjkxNjYzIDEzLjc1TDE0LjE2NjYgMi40OTk5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjIwMF80OTc1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfGFzeW5jKT8uR2xvYmFsX1N0b3JlX2lzRWRpdFwiIGNsYXNzPVwibWUtNSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJkZWxldGVDbHVzdGVyKHN0b3JlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cInRyYXNoLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiSWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yLjUgNC45OTk5OUg0LjE2NjY3TTQuMTY2NjcgNC45OTk5OUgxNy41TTQuMTY2NjcgNC45OTk5OVYxNi42NjY3QzQuMTY2NjcgMTcuMTA4NyA0LjM0MjI2IDE3LjUzMjYgNC42NTQ4MiAxNy44NDUyQzQuOTY3MzggMTguMTU3NyA1LjM5MTMxIDE4LjMzMzMgNS44MzMzMyAxOC4zMzMzSDE0LjE2NjdDMTQuNjA4NyAxOC4zMzMzIDE1LjAzMjYgMTguMTU3NyAxNS4zNDUyIDE3Ljg0NTJDMTUuNjU3NyAxNy41MzI2IDE1LjgzMzMgMTcuMTA4NyAxNS44MzMzIDE2LjY2NjdWNC45OTk5OUg0LjE2NjY3Wk02LjY2NjY3IDQuOTk5OTlWMy4zMzMzMkM2LjY2NjY3IDIuODkxMyA2Ljg0MjI2IDIuNDY3MzcgNy4xNTQ4MiAyLjE1NDgxQzcuNDY3MzggMS44NDIyNSA3Ljg5MTMxIDEuNjY2NjYgOC4zMzMzMyAxLjY2NjY2SDExLjY2NjdDMTIuMTA4NyAxLjY2NjY2IDEyLjUzMjYgMS44NDIyNSAxMi44NDUyIDIuMTU0ODFDMTMuMTU3NyAyLjQ2NzM3IDEzLjMzMzMgMi44OTEzIDEzLjMzMzMgMy4zMzMzMlY0Ljk5OTk5TTguMzMzMzMgOS4xNjY2NlYxNC4xNjY3TTExLjY2NjcgOS4xNjY2NlYxNC4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGxpYi1wYWdpbmF0aW9uICpuZ0lmPVwiIWxvYWRpbmcgJiYgIW5vRGF0YVwiIGNsYXNzPVwibXQtMjBcIiBbaXRlbXNQZXJQYWdlXT1cInBhZ2luYXRpb24ubGltaXRcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwicGFnaW5hdGlvbi5vZmZzZXRcIiBbdG90YWxJdGVtc109XCJwYWdpbmF0aW9uLnRvdGFsQ291bnRcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiXHJcbiAgICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdpbmF0aW9uU2l6ZSgpXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICBcclxuXHJcbiAgICAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGEmJiFzaG93Y3JlYXRlYnV0dG9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuPGRpdiAqbmdJZj1cInNob3djcmVhdGVidXR0b25cIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1zLTMgIHJpZ2h0LWJhciBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgIDxzdmcgd2lkdGg9XCIxNjBcIiBoZWlnaHQ9XCIxMjBcIiB2aWV3Qm94PVwiMCAwIDE2MCAxMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjgyXCIgY3k9XCI1MlwiIHI9XCI1MlwiIGZpbGw9XCIjRUFFQ0YwXCIgLz5cclxuICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNDcuNzI2NiA3OS4xMDk4TDgwLjk2NTEgNjMuNjEwNEM4Mi42MzM5IDYyLjgzMjIgODMuMzU1OSA2MC44NDg1IDgyLjU3NzcgNTkuMTc5N0w2Mi45NDg0IDE3LjA4NDVMNDkuNjU2MyAxMi4yNDY2TDIyLjQ2MTEgMjQuOTI3OUMyMC43OTIzIDI1LjcwNjEgMjAuMDcwMyAyNy42ODk4IDIwLjg0ODUgMjkuMzU4Nkw0My4yOTU5IDc3LjQ5NzFDNDQuMDc0IDc5LjE2NiA0Ni4wNTc3IDc5Ljg4OCA0Ny43MjY2IDc5LjEwOThaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzEwMzBfNDgwMTYpXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNDkuNjU2NyAxMi4yNDcxTDYyLjk0ODkgMTcuMDg1TDUzLjg4MzggMjEuMzEyMUw0OS42NTY3IDEyLjI0NzFaXCIgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMV9kZF8xMDMwXzQ4MDE2KVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTYzLjYxNjMgNjcuNzgzMUgxMDAuMjkxQzEwMi4xMzIgNjcuNzgzMSAxMDMuNjI1IDY2LjI5MDQgMTAzLjYyNSA2NC40NDkxVjE4LjAwMjJMOTMuNjIyOCA4SDYzLjYxNjNDNjEuNzc0OSA4IDYwLjI4MjIgOS40OTI3MSA2MC4yODIyIDExLjMzNDFWNjQuNDQ5MUM2MC4yODIyIDY2LjI5MDQgNjEuNzc0OSA2Ny43ODMxIDYzLjYxNjMgNjcuNzgzMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MV9saW5lYXJfMTAzMF80ODAxNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk05My42MjI2IDhMMTAzLjYyNSAxOC4wMDIySDkzLjYyMjZWOFpcIiBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIyX2RkXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNODIuNDc0NSA2My41OTA5TDExNS43MTMgNzkuMDkwM0MxMTcuMzgyIDc5Ljg2ODUgMTE5LjM2NiA3OS4xNDY1IDEyMC4xNDQgNzcuNDc3N0wxMzkuNzczIDM1LjM4MjVMMTM0LjkzNSAyMi4wOTAzTDEwNy43NCA5LjQwOTAzQzEwNi4wNzEgOC42MzA4NSAxMDQuMDg3IDkuMzUyODYgMTAzLjMwOSAxMS4wMjE3TDgwLjg2MTkgNTkuMTYwMkM4MC4wODM3IDYwLjgyOTEgODAuODA1NyA2Mi44MTI4IDgyLjQ3NDUgNjMuNTkwOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50Ml9saW5lYXJfMTAzMF80ODAxNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMzQuOTM2IDIyLjA4OThMMTM5Ljc3MyAzNS4zODJMMTMwLjcwOCAzMS4xNTQ5TDEzNC45MzYgMjIuMDg5OFpcIiBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjI3XCIgY3k9XCIxMVwiIHI9XCI1XCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMjRcIiBjeT1cIjEwOVwiIHI9XCI3XCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTUxXCIgY3k9XCIzNVwiIHI9XCI3XCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTQwXCIgY3k9XCI4XCIgcj1cIjRcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyM19iXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNThcIiB5PVwiNjJcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgZmlsbD1cIiMzNDQwNTRcIiBmaWxsLW9wYWNpdHk9XCIwLjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTc0LjUgODEuNjgxNkM3Mi44NDI1IDgxLjY4MTYgNzEuNSA4MC4yMTMzIDcxLjUgNzguNDAwNEM3MS41IDc2LjU4NzUgNzIuODQyNSA3NS4xMTkxIDc0LjUgNzUuMTE5MUM3Ni4xNTc1IDc1LjExOTEgNzcuNSA3Ni41ODc1IDc3LjUgNzguNDAwNEM3Ny41IDgwLjIxMzMgNzYuMTU3NSA4MS42ODE2IDc0LjUgODEuNjgxNlpNODkuNjQ4MyA4MS42ODE2Qzg3Ljk5MDggODEuNjgxNiA4Ni42NDgzIDgwLjIxMzMgODYuNjQ4MyA3OC40MDA0Qzg2LjY0ODMgNzYuNTg3NSA4Ny45OTA4IDc1LjExOTEgODkuNjQ4MyA3NS4xMTkxQzkxLjMwNTggNzUuMTE5MSA5Mi42NDgzIDc2LjU4NzUgOTIuNjQ4MyA3OC40MDA0QzkyLjY0ODMgODAuMjEzMyA5MS4zMDU4IDgxLjY4MTYgODkuNjQ4MyA4MS42ODE2Wk04NS41MDkgODQuMzA2NkM4NS41MDkgODYuNDgwNSA4My44OTY1IDg4LjI0NDEgODEuOTA5IDg4LjI0NDFDNzkuOTIxNSA4OC4yNDQxIDc4LjMwOSA4Ni40ODA1IDc4LjMwOSA4NC4zMDY2Qzc4LjMwOSA4Mi4xMzI4IDc5LjkyMTUgODAuMzY5MSA4MS45MDkgODAuMzY5MUM4My44OTY1IDgwLjM2OTEgODUuNTA5IDgyLjEzMjggODUuNTA5IDg0LjMwNjZaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTc0LjAwMTMgODMuNzU1OUM3MS43OTI1IDgzLjc1NTkgNzAgODUuNzE2NCA3MCA4OC4xMzIyQzcwIDg4LjYxMjEgNzAuMzYgODkuMDA1OSA3MC43OTg4IDg5LjAwNTlINzguODAxM0g3OC44Mjc1Qzc3LjgzMzggODguMDQyIDc3LjIwMzggODYuNjM1MiA3Ny4yMDM4IDg1LjA2ODRDNzcuMjAzOCA4NC43NTY2IDc3LjIyNjMgODQuNDQ5IDc3LjI3NSA4NC4xNTM3Qzc2Ljc2NSA4My44OTk0IDc2LjE5ODggODMuNzU1OSA3NS42MDI1IDgzLjc1NTlINzQuMDAxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk04NS4xNzI1IDg5LjAwNTlIODUuMTk4N0g5My4yMDEyQzkzLjY0IDg5LjAwNTkgOTQgODguNjE2MiA5NCA4OC4xMzIyQzk0IDg1LjcxNjQgOTIuMjA3NSA4My43NTU5IDg5Ljk5ODcgODMuNzU1OUg4OC4zOTc1Qzg3LjgwMTIgODMuNzU1OSA4Ny4yMzUgODMuODk1MyA4Ni43MjUgODQuMTUzN0M4Ni43NyA4NC40NTMxIDg2Ljc5NjMgODQuNzU2NiA4Ni43OTYzIDg1LjA2ODRDODYuNzk2MyA4Ni42MzUyIDg2LjE3IDg4LjA0MiA4NS4xNzI1IDg5LjAwNTlaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNzkuNzk4OCA5MC4zMTgzQzc3LjAzODggOTAuMzE4MyA3NC44IDkyLjc2NyA3NC44IDk1Ljc4NTdDNzQuOCA5Ni4zOTI4IDc1LjI1IDk2Ljg4MDkgNzUuODAxMyA5Ni44ODA5SDg4LjE5ODdDODguNzUzNyA5Ni44ODA5IDg5LjIgOTYuMzg4NyA4OS4yIDk1Ljc4NTdDODkuMiA5Mi43NjcgODYuOTYxMyA5MC4zMTgzIDg0LjIwMTMgOTAuMzE4M0g3OS43OTg4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfMTAzMF80ODAxNlwiIHg9XCItMC41NjA1NDdcIiB5PVwiOC4wMTk1M1wiIHdpZHRoPVwiMTA0LjU0N1wiIGhlaWdodD1cIjExMi40OTlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZXJvZGVcIiBpbj1cIlNvdXJjZUFscGhhXCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjAzIDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wOCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMV9kZF8xMDMwXzQ4MDE2XCIgeD1cIjQwLjI4MjJcIiB5PVwiOFwiIHdpZHRoPVwiODMuMzQyOFwiIGhlaWdodD1cIjk5Ljc4MzJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZXJvZGVcIiBpbj1cIlNvdXJjZUFscGhhXCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjAzIDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wOCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMl9kZF8xMDMwXzQ4MDE2XCIgeD1cIjU5LjQ1MjZcIiB5PVwiOFwiIHdpZHRoPVwiMTA0LjU0N1wiIGhlaWdodD1cIjExMi40OTlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZXJvZGVcIiBpbj1cIlNvdXJjZUFscGhhXCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjAzIDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wOCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyM19iXzEwMzBfNDgwMTZcIiB4PVwiNTBcIiB5PVwiNTRcIiB3aWR0aD1cIjY0XCIgaGVpZ2h0PVwiNjRcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBpbj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHN0ZERldmlhdGlvbj1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9XCJTb3VyY2VBbHBoYVwiIG9wZXJhdG9yPVwiaW5cIiByZXN1bHQ9XCJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MF9saW5lYXJfMTAzMF80ODAxNlwiIHgxPVwiNDUuNzczOFwiIHkxPVwiNzkuMjM5NlwiIHgyPVwiMTkuMjg1M1wiIHkyPVwiMzEuNDUyM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNFNEU3RUNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI0Y5RkFGQlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQxX2xpbmVhcl8xMDMwXzQ4MDE2XCIgeDE9XCI2MS43OTE2XCIgeTE9XCI2Ny4wNzU1XCIgeDI9XCI1Ny45ODA3XCIgeTI9XCIxMi41NzFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRTRFN0VDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNGOUZBRkJcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50Ml9saW5lYXJfMTAzMF80ODAxNlwiIHgxPVwiODEuMTE5OVwiIHkxPVwiNjIuMTc4NVwiIHgyPVwiMTAwLjcwMVwiIHkyPVwiMTEuMTdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRTRFN0VDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNGOUZBRkJcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5TdGFydCBieSBjcmVhdGluZyBhIGNsdXN0ZXI8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YiBtdC0yXCI+QW55IGNsdXN0ZXIgY3JlYXRlZCB3aWxsIHRyYWNrIGhlcmUuPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIG10LTMgbWItMTBcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMjUgbWUtM1wiPkhvdyB0byBjcmVhdGU/PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIShncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5HbG9iYWxfU3RvcmVfaXNBZGRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTI1IG1zLTNcIiBpZD1cImFsZXJ0LXRvYXN0XCIgKGNsaWNrKT1cImNyZWF0ZUNsdXN0ZXIoKVwiPjxzcGFuIGNsYXNzPVwibXgtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05Ljk5OTg0IDQuMTY2OTlWMTUuODMzN000LjE2NjUgMTAuMDAwM0gxNS44MzMyXCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5DcmVhdGUgTmV3PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwidmlld0NsdXN0ZXJcIj5cclxuICAgIDxsaWItY2x1c3Rlci12aWV3IFt0ZWFtRGF0YV09XCJ0aGlzLnNlbGVjdGVkQ2x1c3RlclwiPjwvbGliLWNsdXN0ZXItdmlldz5cclxuPC9kaXY+Il19
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zdG9yZXMvc3JjL2xpYi9jb21wb25lbnRzL2NsdXN0ZXItZGV0YWlscy9jbHVzdGVyLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXN0b3Jlcy9zcmMvbGliL2NvbXBvbmVudHMvY2x1c3Rlci1kZXRhaWxzL2NsdXN0ZXItZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQTZCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQVUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXRGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7OztBQVk5RSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJkO0lBQ1Y7SUFDRDtJQUNBO0lBQStCO0lBQzlCO0lBL0JPLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BCLGNBQWMsQ0FBYztJQUN6RCxnQkFBZ0IsR0FBWSxLQUFLLENBQUE7SUFDakMsYUFBYSxDQUFRO0lBQ3JCLFdBQVcsQ0FBTTtJQUNqQixTQUFTLEdBQVUsRUFBRSxDQUFDO0lBQ3RCLGFBQWEsQ0FBTTtJQUNuQixVQUFVLEdBQWU7UUFDdkIsTUFBTSxFQUFFLENBQUM7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QztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFBO2dCQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBSSxLQUFLLENBQUE7WUFDcEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEMsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO1NBRXBCLENBQUMsQ0FBQztJQUNKLENBQUM7d0dBdFJVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHdOQ3RCcEMsMHhrQ0EwYk07OzRGRHBhTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCOytOQU1yQixZQUFZO3NCQUFyQixNQUFNO2dCQUNzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3RvcmVzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3Jlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ3JvdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IENsdXN0ZXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vY2x1c3Rlci12aWV3L2NsdXN0ZXItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCwgTmdiVG9vbHRpcCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQ2x1c3RlckNyZWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY2x1c3Rlci1jcmVhdGlvbi9jbHVzdGVyLWNyZWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhjZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgcGFnaW5hdGlvbiB7XHJcbiAgbGltaXQ6IG51bWJlcjtcclxuICBvZmZzZXQ6IG51bWJlcjtcclxuICB0b3RhbENvdW50OiBudW1iZXI7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2x1c3Rlci1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2x1c3Rlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY2x1c3Rlci1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2x1c3RlckRldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBPdXRwdXQoKSBkYXRhVG9QYXJlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGVudCcpIHRvb2x0aXBDb250ZW50ITogTmdiVG9vbHRpcDtcclxuICBzaG93Y3JlYXRlYnV0dG9uOmJvb2xlYW4gPSAgZmFsc2VcclxuICBmaWx0ZXJPcHRpb25zOiBhbnlbXTtcclxuICBzZWFyY2hWYWx1ZTogYW55O1xyXG4gIHN0b3JlTGlzdDogYW55W10gPSBbXTtcclxuICBzdG9yZUxpc3RfcmVxOiBhbnk7XHJcbiAgcGFnaW5hdGlvbjogcGFnaW5hdGlvbiA9IHtcclxuICAgIG9mZnNldDogMSxcclxuICAgIGxpbWl0OiAxMCxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBub0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb2x1bW5zOiBhbnlbXTtcclxuICBwYWdpbmF0aW9uU2l6ZXM6IG51bWJlcltdID0gWzEwLCAyMCwgMzBdO1xyXG4gIHJlY2VpdmVkRGF0YTogc3RyaW5nID0gXCJzdG9yZXNcIjtcclxuICAkaGVhZGVyRmlsdGVyczogYW55O1xyXG4gIHNlYXJjaElucHV0ID0gbmV3IEZvcm1Db250cm9sKFwiXCIpO1xyXG4gIHVzZXI6IGFueTtcclxuICByZWZyZXNoRmlsdGVyOiBib29sZWFuID0gZmFsc2VcclxuICBzb3J0Q29sdW1OYW1lOiBzdHJpbmc7XHJcbiAgc29ydERpcmVjdGlvbjogbnVtYmVyO1xyXG4gIHNlbGVjdGVkQ2x1c3RlcjogYW55O1xyXG4gIHZpZXdDbHVzdGVyOiBib29sZWFuID0gZmFsc2VcclxuICBwcml2YXRlIGRldGFjaCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncm91cFNlcnZpY2U6IEdyb3VwU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxwcml2YXRlIGV4Y2VsU2VydmljZTogRXhjZWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0czogVG9hc3RTZXJ2aWNlLCkge1xyXG4gICAgdGhpcy5pbml0U2VhcmNoKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cFNlcnZpY2Uuc2V0Vmlld0NsdXN0ZXIoZmFsc2UpO1xyXG4gIFxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRldGFjaCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSB8fCAne30nKVxyXG4gICAgICAgICAgdGhpcy4kaGVhZGVyRmlsdGVycyA9IHVzZXI7XHJcbiAgICAgICAgICB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCA9IHVzZXI/LmNsaWVudElkXHJcbiAgICAgICAgICBpZiAodXNlcj8uY2xpZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3RfcmVxID0ge1xyXG4gICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCxcclxuICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICAgIHNvcnRDb2x1bU5hbWU6IFwiY2x1c3Rlck5hbWVcIixcclxuICAgICAgICAgICAgICBzb3J0Qnk6IC0xLFxyXG4gICAgICAgICAgICAgIHNlYXJjaFZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIGV4cG9ydDogZmFsc2UsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuJGhlYWRlckZpbHRlcnMgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3RfcmVxID0ge1xyXG4gICAgICAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICBzb3J0Q29sdW1OYW1lOiBcImNsdXN0ZXJOYW1lXCIsXHJcbiAgICAgICAgICAgIHNvcnRCeTogLTEsXHJcbiAgICAgICAgICAgIHNlYXJjaFZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICBleHBvcnQ6IGZhbHNlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLnZpZXdDbHVzdGVyJC5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIHRoaXMudmlld0NsdXN0ZXIgPSB2YWx1ZTsgICAgIFxyXG4gICAgICAvLyBpZih2YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5sb2FkVGFibGUoKVxyXG4gICAgICAvLyB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgaW5pdFNlYXJjaCgpIHtcclxuICAgIHRoaXMudXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8ICd7fScpXHJcbiAgICB0aGlzLnNlYXJjaElucHV0LnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdF9yZXEub2Zmc2V0ID0gMVxyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvbi5vZmZzZXQgPSAxO1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5zZWFyY2hWYWx1ZSA9IGU/LnRyaW0oKTtcclxuICAgICAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbG9hZFRhYmxlKCkge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLnRvdGFsQ291bnQgPSAwO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmdyb3VwU2VydmljZS5nZXRDbHVzdGVyTGlzdCh0aGlzLnN0b3JlTGlzdF9yZXEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgaWYgKHJlcy5kYXRhLnJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICAgICAgICBvZmZzZXQ6IHJlcy5kYXRhPy5vZmZzZXRcclxuICAgICAgICAgICAgICAgID8gcmVzPy5kYXRhLm9mZnNldFxyXG4gICAgICAgICAgICAgICAgOiB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0LFxyXG4gICAgICAgICAgICAgIGxpbWl0OiByZXMuZGF0YT8ubGltaXQgPyByZXM/LmRhdGEubGltaXQgOiB0aGlzLnBhZ2luYXRpb24ubGltaXQsXHJcbiAgICAgICAgICAgICAgdG90YWxDb3VudDogcmVzLmRhdGEuY291bnQsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVRvUGFyZW50LmVtaXQoIHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50KTsgXHJcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5jb3VudCA8IDEwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbcmVzLmRhdGEuY291bnRdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd2NyZWF0ZWJ1dHRvbiA9IGZhbHNlXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFUb1BhcmVudC5lbWl0KCAnJyk7IFxyXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICAgIGxpbWl0OiAxMCxcclxuICAgICAgICAgICAgICB0b3RhbENvdW50OiAwLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAvLyB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93Y3JlYXRlYnV0dG9uID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXTtcclxuICAgICAgICAgIHRoaXMuZGF0YVRvUGFyZW50LmVtaXQoICcnKTsgXHJcbiAgICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICB0b3RhbENvdW50OiAwLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIC8vIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWFza2VkVmFsdWUodmFsdWU6IHN0cmluZywgcm9sZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChyb2xlID09PSAnc3VwZXJhZG1pbicpIHJldHVybiB2YWx1ZTtcclxuICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLmluY2x1ZGVzKCdAJykpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBbbG9jYWwsIGRvbWFpbl0gPSB2YWx1ZS5zcGxpdCgnQCcpO1xyXG4gICAgY29uc3QgdmlzaWJsZUxlbmd0aCA9IE1hdGgubWluKDMsIGxvY2FsLmxlbmd0aCk7XHJcbiAgICBjb25zdCB2aXNpYmxlUGFydCA9IGxvY2FsLnNsaWNlKDAsIHZpc2libGVMZW5ndGgpO1xyXG4gICAgY29uc3QgbWFza2VkUGFydCA9ICcqJy5yZXBlYXQobG9jYWwubGVuZ3RoIC0gdmlzaWJsZUxlbmd0aCk7XHJcblxyXG4gICAgcmV0dXJuIGAke3Zpc2libGVQYXJ0fSR7bWFza2VkUGFydH1AJHtkb21haW59YDtcclxuICB9XHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydENvbHVtTmFtZSA9PT0gY29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IHRoaXMuc29ydERpcmVjdGlvbiA9PT0gMSA/IC0xIDogMTtcclxuICAgICAgdGhpcy5zdG9yZUxpc3RfcmVxLnNvcnRCeSA9IHRoaXMuc3RvcmVMaXN0X3JlcS5zb3J0QnkgPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRDb2x1bU5hbWUgPSBjb2x1bW47XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IDE7XHJcbiAgICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5zb3J0Q29sdW1OYW1lID0gY29sdW1uO1xyXG4gICAgICB0aGlzLnN0b3JlTGlzdF9yZXEuc29ydEJ5ID0gMTtcclxuICAgIH1cclxuICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgfVxyXG4gIHBhZ2luYXRpb25TaXplKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uPy50b3RhbENvdW50IDwgMTApIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbi5saW1pdDtcclxuICAgIH1cclxuICB9XHJcbiAgb25QYWdlQ2hhbmdlKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdG9yZUxpc3RfcmVxLm9mZnNldCA9IE51bWJlcihwYWdlT2Zmc2V0KTtcclxuICAgIHRoaXMucGFnaW5hdGlvbi5vZmZzZXQgPSBOdW1iZXIocGFnZU9mZnNldCk7XHJcbiAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0b3JlTGlzdF9yZXEubGltaXQgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoYXBwbGllZEZpbHRlcnM6IGFueSkge1xyXG4gIH1cclxuICBnb3RvVmlldyhvcHRpb246IGFueSwgdmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENsdXN0ZXIgPSB2YWx1ZVxyXG4gICAgdGhpcy52aWV3Q2x1c3RlciA9IHRydWU7XHJcbiAgICB0aGlzLmdyb3VwU2VydmljZS5zZXRWaWV3Q2x1c3Rlcih0cnVlKTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgfVxyXG4gIGNyZWF0ZUNsdXN0ZXIoKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ2x1c3RlckNyZWF0aW9uQ29tcG9uZW50LCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbGcnIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudHlwZSA9ICdjcmVhdGUnO1xyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZihyZXN1bHQpe1xyXG4gICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIGVkaXRDbHVzdGVyZGF0YShkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDbHVzdGVyQ3JlYXRpb25Db21wb25lbnQsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdsZycgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5jbHVzdGVyRGF0YSA9IGRhdGE7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50eXBlID0gJ2VkaXQnO1xyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZihyZXN1bHQpXHJcbiAgICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGRlbGV0ZUNsdXN0ZXIoZGF0YTphbnkpe1xyXG5cclxuICAgIGlmKGRhdGEuaXNEZWZhdWx0cyl7XHJcbiAgICAgIHJldHVybiB0aGlzLnRzLmdldEVycm9yVG9hc3QoXCJZb3UgY2FuJ3QgYWJsZSB0byBkZWxldGUgZGVmYXVsdCBjbHVzdGVyXCIpXHJcbiAgICB9XHJcbiAgICAgIFxyXG5cclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCx7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnLGJhY2tkcm9wOlwic3RhdGljXCIgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5jbHVzdGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZihyZXN1bHQgPT09ICdzdWJtaXQnKXtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmRlbGV0ZUNsdXN0ZXIoe2NsdXN0ZXJJZDpkYXRhLl9pZH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cy5nZXRQcmltYXJ5VG9hc3QoJ0NsdXN0ZXIgRGVsZXRlZCBTdWNjZXNzZnVsbHknKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5vZmZzZXQgPTFcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICAgICAgICBsaW1pdDogMTAsXHJcbiAgICAgICAgICAgICAgICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgICAgICAgICAgICB9fSlcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBleHBvcnRYTFNYKCl7XHJcbiAgICBsZXQgbGltaXQ6IG51bWJlciA9IHRoaXMuc3RvcmVMaXN0X3JlcS5saW1pdDtcclxuICAgIHRoaXMuc3RvcmVMaXN0X3JlcS5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5zdG9yZUxpc3RfcmVxLmxpbWl0ID0gMTAwMDA7XHJcbiAgICB0aGlzLnN0b3JlTGlzdF9yZXEuZXhwb3J0ID0gdHJ1ZTtcclxuICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmdldENsdXN0ZXJMaXN0RXhwb3J0KHRoaXMuc3RvcmVMaXN0X3JlcSlcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmV4Y2VsU2VydmljZS5zYXZlQXNFeGNlbEZpbGUocmVzLCAnQ2x1c3RlciBWaWV3JylcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdF9yZXEuZXhwb3J0ID0gIGZhbHNlXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIFxyXG4gICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIGZpbHRlclwiPlxyXG4gICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgPC9oMz5cclxuPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiICpuZ0lmPVwiIXZpZXdDbHVzdGVyJiYhc2hvd2NyZWF0ZWJ1dHRvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoSW5wdXRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGZpbHRlciBTdGFydCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWZpbHRlcnMtY3VzdG9tICpuZ0lmPVwicmVmcmVzaEZpbHRlclwiIFtkYXRhT2JqZWN0XT1cImZpbHRlck9wdGlvbnNcIiAoQXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXIoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnMtY3VzdG9tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBmaWx0ZXIgRW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIiAgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsMVwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5HbG9iYWxfU3RvcmVfaXNBZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG14LTIgcm91bmRlZC0zIHRleHQtbm93cmFwXCIgKGNsaWNrKT1cImNyZWF0ZUNsdXN0ZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC4wMDAxIDQuMTY2NjNWMTUuODMzM000LjE2Njc1IDkuOTk5OTZIMTUuODMzNFwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LXdoaXRlXCI+Q3JlYXRlIGNsdXN0ZXI8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjYXJkIG10LTEwXCIgKm5nSWY9XCIhdmlld0NsdXN0ZXImJnN0b3JlTGlzdC5sZW5ndGggPjBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PHNwYW4gY2xhc3M9XCJpbnB1dGNoZWNrXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJcIiAoY2xpY2spPVwib25Tb3J0KCdjbHVzdGVyTmFtZScpXCI+Q2x1c3RlciBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBbbmdDbGFzc109XCJzb3J0Q29sdW1OYW1lID09PSAnY2x1c3Rlck5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsdXN0ZXJOYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZXMnKVwiPlN0b3Jlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlcycgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVzJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0aCBjbGFzcz1cIlwiIChjbGljayk9XCJvblNvcnQoJ3VzZXJzJylcIj5Vc2Vyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ3VzZXJzJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICd1c2VycycgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAgc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiPkxlYWQgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHN2ZyBbbmdDbGFzc109XCJzb3J0Q29sdW1OYW1lID09PSAnbGVhZE5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2xlYWROYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAgc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiID5MZWFkIEVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRDb2x1bU5hbWUgPT09ICdsZWFkZW1haWwnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2xlYWRlbWFpbCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAoY2xpY2spPVwib25Tb3J0KCdkZXNjcmlwdGlvbicpXCI+IERlc2NyaXB0aW9uPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGggKGNsaWNrKT1cIm9uU29ydCgnc3RhdHVzRGV0YWlsJylcIj5TdGF0dXMgRGV0YWlsIDxzdmcgW25nQ2xhc3NdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0YXR1c0RldGFpbCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC90aD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiPkFjdGlvbnM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdG9yZSBvZiBzdG9yZUxpc3Q7bGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGQ+PHNwYW4gY2xhc3M9XCJpbnB1dGNoZWNrXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgbXQtMlwiPjwvc3Bhbj48L3RkPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eHQtbGlnaHQtcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c3RvcmU/LmNsdXN0ZXJOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c3RvcmU/LnN0b3JlcyA/IHN0b3JlPy5zdG9yZXMgOlwiLS1cIn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0ZD57eyAhc3RvcmU/LnVzZXJzLmxlbmd0aCA/IHN0b3JlPy51c2VycyA6IFwiLS1cIn19PC90ZD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGQ+e3tzdG9yZT8ubGVhZE5hbWV9fTxzcGFuICAqbmdJZj1cInN0b3JlPy5UZWFtbGVhZGNvdW50PjBcIj4re3tzdG9yZT8uVGVhbWxlYWRjb3VudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48ZGl2IGNsYXNzPVwibXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIiAqbmdJZj1cInN0b3JlPy5sZWFkTmFtZS5sZW5ndGggIT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhc3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN0b3JlPy5sZWFkTmFtZVswXSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN0b3JlPy5sZWFkTmFtZS5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICt7eyBzdG9yZS5sZWFkTmFtZS5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tdG9vbHRpcC1jb250ZW50IHRvb2x0aXAtY29udGVudCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+e3sgc3RvcmUubGVhZE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyLmxlYWRlbWFpbC5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAre3sgdXNlci5sZWFkZW1haWwubGVuZ3RoIC0gMSB9fSBtb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCIgKm5nSWY9XCJzdG9yZT8ubGVhZE5hbWUubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAqbmdJZj1cInN0b3JlPy5sZWFkTmFtZS5sZW5ndGggIT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTM1cHggc3ltYm9sLWNpcmNsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZnMtNCBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IGZ3LW5vcm1hbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3RvcmU/LmxlYWRlbWFpbFswXT8uc3Vic3RyaW5nKDAsIDIpIHwgdXBwZXJjYXNlICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYXN0YXR1c1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldE1hc2tlZFZhbHVlKHN0b3JlPy5sZWFkZW1haWxbMF0sdXNlci5yb2xlKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdG9yZT8ubGVhZGVtYWlsLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAre3sgc3RvcmUubGVhZGVtYWlsLmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLXRlbXBsYXRlICN0b29sdGlwQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tdG9vbHRpcC1jb250ZW50IHRvb2x0aXAtY29udGVudCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj57eyBzdG9yZS5sZWFkZW1haWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdG9yZT8uVGVhbWxlYWRjb3VudD4wXCI+K3t7c3RvcmU/LlRlYW1sZWFkY291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiICpuZ0lmPVwic3RvcmU/LmxlYWROYW1lLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7KHN0b3JlPy5kZXNjcmlwdGlvbikgPyBzdG9yZT8uZGVzY3JpcHRpb24gOiBcIi0tXCJ9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyIG1lLTVcIiAoY2xpY2spPVwiZ290b1ZpZXcoJ3ZpZXcnLHN0b3JlKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJleWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiSWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzMzNzQgMTBDMC44MzMzNzQgMTAgNC4xNjY3MSAzLjMzMzM0IDEwIDMuMzMzMzRDMTUuODMzNCAzLjMzMzM0IDE5LjE2NjcgMTAgMTkuMTY2NyAxMEMxOS4xNjY3IDEwIDE1LjgzMzQgMTYuNjY2NyAxMCAxNi42NjY3QzQuMTY2NzEgMTYuNjY2NyAwLjgzMzM3NCAxMCAwLjgzMzM3NCAxMFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMCAxMi41QzExLjM4MDggMTIuNSAxMi41IDExLjM4MDcgMTIuNSAxMEMxMi41IDguNjE5MyAxMS4zODA4IDcuNTAwMDEgMTAgNy41MDAwMUM4LjYxOTMzIDcuNTAwMDEgNy41MDAwNCA4LjYxOTMgNy41MDAwNCAxMEM3LjUwMDA0IDExLjM4MDcgOC42MTkzMyAxMi41IDEwIDEyLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8YXN5bmMpPy5HbG9iYWxfU3RvcmVfaXNFZGl0XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBtZS01XCIgKGNsaWNrKT1cImVkaXRDbHVzdGVyZGF0YShzdG9yZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJlZGl0LTJcIiBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIyMDBfNDk3NSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiSWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC4xNjY2IDIuNDk5OTlDMTQuMzg1NSAyLjI4MTEyIDE0LjY0NTMgMi4xMDc1IDE0LjkzMTMgMS45ODkwNUMxNS4yMTczIDEuODcwNiAxNS41MjM4IDEuODA5NjMgMTUuODMzMyAxLjgwOTYzQzE2LjE0MjggMS44MDk2MyAxNi40NDkzIDEuODcwNiAxNi43MzUzIDEuOTg5MDVDMTcuMDIxMyAyLjEwNzUgMTcuMjgxMSAyLjI4MTEyIDE3LjUgMi40OTk5OUMxNy43MTg4IDIuNzE4ODYgMTcuODkyNCAyLjk3ODY5IDE4LjAxMDkgMy4yNjQ2NkMxOC4xMjk0IDMuNTUwNjMgMTguMTkwMyAzLjg1NzEzIDE4LjE5MDMgNC4xNjY2NUMxOC4xOTAzIDQuNDc2MTggMTguMTI5NCA0Ljc4MjY4IDE4LjAxMDkgNS4wNjg2NUMxNy44OTI0IDUuMzU0NjEgMTcuNzE4OCA1LjYxNDQ1IDE3LjUgNS44MzMzMkw2LjI0OTk2IDE3LjA4MzNMMS42NjY2MyAxOC4zMzMzTDIuOTE2NjMgMTMuNzVMMTQuMTY2NiAyLjQ5OTk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMjAwXzQ5NzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8YXN5bmMpPy5HbG9iYWxfU3RvcmVfaXNFZGl0XCIgY2xhc3M9XCJtZS01IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImRlbGV0ZUNsdXN0ZXIoc3RvcmUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwidHJhc2gtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJJY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIuNSA0Ljk5OTk5SDQuMTY2NjdNNC4xNjY2NyA0Ljk5OTk5SDE3LjVNNC4xNjY2NyA0Ljk5OTk5VjE2LjY2NjdDNC4xNjY2NyAxNy4xMDg3IDQuMzQyMjYgMTcuNTMyNiA0LjY1NDgyIDE3Ljg0NTJDNC45NjczOCAxOC4xNTc3IDUuMzkxMzEgMTguMzMzMyA1LjgzMzMzIDE4LjMzMzNIMTQuMTY2N0MxNC42MDg3IDE4LjMzMzMgMTUuMDMyNiAxOC4xNTc3IDE1LjM0NTIgMTcuODQ1MkMxNS42NTc3IDE3LjUzMjYgMTUuODMzMyAxNy4xMDg3IDE1LjgzMzMgMTYuNjY2N1Y0Ljk5OTk5SDQuMTY2NjdaTTYuNjY2NjcgNC45OTk5OVYzLjMzMzMyQzYuNjY2NjcgMi44OTEzIDYuODQyMjYgMi40NjczNyA3LjE1NDgyIDIuMTU0ODFDNy40NjczOCAxLjg0MjI1IDcuODkxMzEgMS42NjY2NiA4LjMzMzMzIDEuNjY2NjZIMTEuNjY2N0MxMi4xMDg3IDEuNjY2NjYgMTIuNTMyNiAxLjg0MjI1IDEyLjg0NTIgMi4xNTQ4MUMxMy4xNTc3IDIuNDY3MzcgMTMuMzMzMyAyLjg5MTMgMTMuMzMzMyAzLjMzMzMyVjQuOTk5OTlNOC4zMzMzMyA5LjE2NjY2VjE0LjE2NjdNMTEuNjY2NyA5LjE2NjY2VjE0LjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bGliLXBhZ2luYXRpb24gKm5nSWY9XCIhbG9hZGluZyAmJiAhbm9EYXRhXCIgY2xhc3M9XCJtdC0yMFwiIFtpdGVtc1BlclBhZ2VdPVwicGFnaW5hdGlvbi5saW1pdFwiXHJcbiAgICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJwYWdpbmF0aW9uLm9mZnNldFwiIFt0b3RhbEl0ZW1zXT1cInBhZ2luYXRpb24udG90YWxDb3VudFwiIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzXCJcclxuICAgICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2luYXRpb25TaXplKClcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgIFxyXG5cclxuICAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YSYmIXNob3djcmVhdGVidXR0b25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG48ZGl2ICpuZ0lmPVwic2hvd2NyZWF0ZWJ1dHRvblwiIGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXMtMyAgcmlnaHQtYmFyIHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjE2MFwiIGhlaWdodD1cIjEyMFwiIHZpZXdCb3g9XCIwIDAgMTYwIDEyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiODJcIiBjeT1cIjUyXCIgcj1cIjUyXCIgZmlsbD1cIiNFQUVDRjBcIiAvPlxyXG4gICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfMTAzMF80ODAxNilcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk00Ny43MjY2IDc5LjEwOThMODAuOTY1MSA2My42MTA0QzgyLjYzMzkgNjIuODMyMiA4My4zNTU5IDYwLjg0ODUgODIuNTc3NyA1OS4xNzk3TDYyLjk0ODQgMTcuMDg0NUw0OS42NTYzIDEyLjI0NjZMMjIuNDYxMSAyNC45Mjc5QzIwLjc5MjMgMjUuNzA2MSAyMC4wNzAzIDI3LjY4OTggMjAuODQ4NSAyOS4zNTg2TDQzLjI5NTkgNzcuNDk3MUM0NC4wNzQgNzkuMTY2IDQ2LjA1NzcgNzkuODg4IDQ3LjcyNjYgNzkuMTA5OFpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MF9saW5lYXJfMTAzMF80ODAxNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk00OS42NTY3IDEyLjI0NzFMNjIuOTQ4OSAxNy4wODVMNTMuODgzOCAyMS4zMTIxTDQ5LjY1NjcgMTIuMjQ3MVpcIiBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIxX2RkXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNjMuNjE2MyA2Ny43ODMxSDEwMC4yOTFDMTAyLjEzMiA2Ny43ODMxIDEwMy42MjUgNjYuMjkwNCAxMDMuNjI1IDY0LjQ0OTFWMTguMDAyMkw5My42MjI4IDhINjMuNjE2M0M2MS43NzQ5IDggNjAuMjgyMiA5LjQ5MjcxIDYwLjI4MjIgMTEuMzM0MVY2NC40NDkxQzYwLjI4MjIgNjYuMjkwNCA2MS43NzQ5IDY3Ljc4MzEgNjMuNjE2MyA2Ny43ODMxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cInVybCgjcGFpbnQxX2xpbmVhcl8xMDMwXzQ4MDE2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkzLjYyMjYgOEwxMDMuNjI1IDE4LjAwMjJIOTMuNjIyNlY4WlwiIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjJfZGRfMTAzMF80ODAxNilcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk04Mi40NzQ1IDYzLjU5MDlMMTE1LjcxMyA3OS4wOTAzQzExNy4zODIgNzkuODY4NSAxMTkuMzY2IDc5LjE0NjUgMTIwLjE0NCA3Ny40Nzc3TDEzOS43NzMgMzUuMzgyNUwxMzQuOTM1IDIyLjA5MDNMMTA3Ljc0IDkuNDA5MDNDMTA2LjA3MSA4LjYzMDg1IDEwNC4wODcgOS4zNTI4NiAxMDMuMzA5IDExLjAyMTdMODAuODYxOSA1OS4xNjAyQzgwLjA4MzcgNjAuODI5MSA4MC44MDU3IDYyLjgxMjggODIuNDc0NSA2My41OTA5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cInVybCgjcGFpbnQyX2xpbmVhcl8xMDMwXzQ4MDE2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzNC45MzYgMjIuMDg5OEwxMzkuNzczIDM1LjM4MkwxMzAuNzA4IDMxLjE1NDlMMTM0LjkzNiAyMi4wODk4WlwiIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMjdcIiBjeT1cIjExXCIgcj1cIjVcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIyNFwiIGN5PVwiMTA5XCIgcj1cIjdcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxNTFcIiBjeT1cIjM1XCIgcj1cIjdcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxNDBcIiBjeT1cIjhcIiByPVwiNFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIzX2JfMTAzMF80ODAxNilcIj5cclxuICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI1OFwiIHk9XCI2MlwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiIzM0NDA1NFwiIGZpbGwtb3BhY2l0eT1cIjAuNFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNzQuNSA4MS42ODE2QzcyLjg0MjUgODEuNjgxNiA3MS41IDgwLjIxMzMgNzEuNSA3OC40MDA0QzcxLjUgNzYuNTg3NSA3Mi44NDI1IDc1LjExOTEgNzQuNSA3NS4xMTkxQzc2LjE1NzUgNzUuMTE5MSA3Ny41IDc2LjU4NzUgNzcuNSA3OC40MDA0Qzc3LjUgODAuMjEzMyA3Ni4xNTc1IDgxLjY4MTYgNzQuNSA4MS42ODE2Wk04OS42NDgzIDgxLjY4MTZDODcuOTkwOCA4MS42ODE2IDg2LjY0ODMgODAuMjEzMyA4Ni42NDgzIDc4LjQwMDRDODYuNjQ4MyA3Ni41ODc1IDg3Ljk5MDggNzUuMTE5MSA4OS42NDgzIDc1LjExOTFDOTEuMzA1OCA3NS4xMTkxIDkyLjY0ODMgNzYuNTg3NSA5Mi42NDgzIDc4LjQwMDRDOTIuNjQ4MyA4MC4yMTMzIDkxLjMwNTggODEuNjgxNiA4OS42NDgzIDgxLjY4MTZaTTg1LjUwOSA4NC4zMDY2Qzg1LjUwOSA4Ni40ODA1IDgzLjg5NjUgODguMjQ0MSA4MS45MDkgODguMjQ0MUM3OS45MjE1IDg4LjI0NDEgNzguMzA5IDg2LjQ4MDUgNzguMzA5IDg0LjMwNjZDNzguMzA5IDgyLjEzMjggNzkuOTIxNSA4MC4zNjkxIDgxLjkwOSA4MC4zNjkxQzgzLjg5NjUgODAuMzY5MSA4NS41MDkgODIuMTMyOCA4NS41MDkgODQuMzA2NlpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNzQuMDAxMyA4My43NTU5QzcxLjc5MjUgODMuNzU1OSA3MCA4NS43MTY0IDcwIDg4LjEzMjJDNzAgODguNjEyMSA3MC4zNiA4OS4wMDU5IDcwLjc5ODggODkuMDA1OUg3OC44MDEzSDc4LjgyNzVDNzcuODMzOCA4OC4wNDIgNzcuMjAzOCA4Ni42MzUyIDc3LjIwMzggODUuMDY4NEM3Ny4yMDM4IDg0Ljc1NjYgNzcuMjI2MyA4NC40NDkgNzcuMjc1IDg0LjE1MzdDNzYuNzY1IDgzLjg5OTQgNzYuMTk4OCA4My43NTU5IDc1LjYwMjUgODMuNzU1OUg3NC4wMDEzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTg1LjE3MjUgODkuMDA1OUg4NS4xOTg3SDkzLjIwMTJDOTMuNjQgODkuMDA1OSA5NCA4OC42MTYyIDk0IDg4LjEzMjJDOTQgODUuNzE2NCA5Mi4yMDc1IDgzLjc1NTkgODkuOTk4NyA4My43NTU5SDg4LjM5NzVDODcuODAxMiA4My43NTU5IDg3LjIzNSA4My44OTUzIDg2LjcyNSA4NC4xNTM3Qzg2Ljc3IDg0LjQ1MzEgODYuNzk2MyA4NC43NTY2IDg2Ljc5NjMgODUuMDY4NEM4Ni43OTYzIDg2LjYzNTIgODYuMTcgODguMDQyIDg1LjE3MjUgODkuMDA1OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk03OS43OTg4IDkwLjMxODNDNzcuMDM4OCA5MC4zMTgzIDc0LjggOTIuNzY3IDc0LjggOTUuNzg1N0M3NC44IDk2LjM5MjggNzUuMjUgOTYuODgwOSA3NS44MDEzIDk2Ljg4MDlIODguMTk4N0M4OC43NTM3IDk2Ljg4MDkgODkuMiA5Ni4zODg3IDg5LjIgOTUuNzg1N0M4OS4yIDkyLjc2NyA4Ni45NjEzIDkwLjMxODMgODQuMjAxMyA5MC4zMTgzSDc5Ljc5ODhaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kZF8xMDMwXzQ4MDE2XCIgeD1cIi0wLjU2MDU0N1wiIHk9XCI4LjAxOTUzXCIgd2lkdGg9XCIxMDQuNTQ3XCIgaGVpZ2h0PVwiMTEyLjQ5OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDMgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIyMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA4IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIxX2RkXzEwMzBfNDgwMTZcIiB4PVwiNDAuMjgyMlwiIHk9XCI4XCIgd2lkdGg9XCI4My4zNDI4XCIgaGVpZ2h0PVwiOTkuNzgzMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDMgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIyMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA4IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIyX2RkXzEwMzBfNDgwMTZcIiB4PVwiNTkuNDUyNlwiIHk9XCI4XCIgd2lkdGg9XCIxMDQuNTQ3XCIgaGVpZ2h0PVwiMTEyLjQ5OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDMgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIyMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA4IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIzX2JfMTAzMF80ODAxNlwiIHg9XCI1MFwiIHk9XCI1NFwiIHdpZHRoPVwiNjRcIiBoZWlnaHQ9XCI2NFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIGluPVwiQmFja2dyb3VuZEltYWdlRml4XCIgc3RkRGV2aWF0aW9uPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj1cIlNvdXJjZUFscGhhXCIgb3BlcmF0b3I9XCJpblwiIHJlc3VsdD1cImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfMTAzMF80ODAxNlwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQwX2xpbmVhcl8xMDMwXzQ4MDE2XCIgeDE9XCI0NS43NzM4XCIgeTE9XCI3OS4yMzk2XCIgeDI9XCIxOS4yODUzXCIgeTI9XCIzMS40NTIzXCJcclxuICAgICAgICAgICAgICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0U0RTdFQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjRjlGQUZCXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDFfbGluZWFyXzEwMzBfNDgwMTZcIiB4MT1cIjYxLjc5MTZcIiB5MT1cIjY3LjA3NTVcIiB4Mj1cIjU3Ljk4MDdcIiB5Mj1cIjEyLjU3MVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNFNEU3RUNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI0Y5RkFGQlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQyX2xpbmVhcl8xMDMwXzQ4MDE2XCIgeDE9XCI4MS4xMTk5XCIgeTE9XCI2Mi4xNzg1XCIgeDI9XCIxMDAuNzAxXCIgeTI9XCIxMS4xN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNFNEU3RUNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI0Y5RkFGQlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPlN0YXJ0IGJ5IGNyZWF0aW5nIGEgY2x1c3RlcjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViIG10LTJcIj5BbnkgY2x1c3RlciBjcmVhdGVkIHdpbGwgdHJhY2sgaGVyZS48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMyBtYi0xMFwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgdy0yNSBtZS0zXCI+SG93IHRvIGNyZWF0ZT88L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lkdsb2JhbF9TdG9yZV9pc0FkZFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMjUgbXMtM1wiIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwiY3JlYXRlQ2x1c3RlcigpXCI+PHNwYW4gY2xhc3M9XCJteC0yXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuOTk5ODQgNC4xNjY5OVYxNS44MzM3TTQuMTY2NSAxMC4wMDAzSDE1LjgzMzJcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPkNyZWF0ZSBOZXc8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJ2aWV3Q2x1c3RlclwiPlxyXG4gICAgPGxpYi1jbHVzdGVyLXZpZXcgW3RlYW1EYXRhXT1cInRoaXMuc2VsZWN0ZWRDbHVzdGVyXCI+PC9saWItY2x1c3Rlci12aWV3PlxyXG48L2Rpdj4iXX0=